get pet count per 2sencond and publish ICL02Sport_V26_202106201445_release
authorTrillGates <williamtrillgates@gmail.com>
Sun, 20 Jun 2021 06:47:26 +0000 (14:47 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Sun, 20 Jun 2021 06:47:26 +0000 (14:47 +0800)
app/release/release/ICL02Sport_V26_202106201445_release.apk [moved from app/release/release/ICL02Sport_V25_202106030958_release.apk with 55% similarity]
app/release/release/output.json
app/src/main/java/com/ic/sport/fragment/pedometer/PedMainFragment.java
app/src/main/java/com/ic/sport/fragment/pedometer/PedRecordFragment.java
app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java
app/src/main/res/layout/fragment_ped_main.xml
app/version_code.properties

similarity index 55%
rename from app/release/release/ICL02Sport_V25_202106030958_release.apk
rename to app/release/release/ICL02Sport_V26_202106201445_release.apk
index 392c6c0..94867a6 100644 (file)
Binary files a/app/release/release/ICL02Sport_V25_202106030958_release.apk and b/app/release/release/ICL02Sport_V26_202106201445_release.apk differ
index 1ba905c..dafa093 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":25,"versionName":"202106030958","enabled":true,"outputFile":"ICL02Sport_V25_202106030958_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Sport_V25_202106030958_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":26,"versionName":"202106201445","enabled":true,"outputFile":"ICL02Sport_V26_202106201445_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Sport_V26_202106201445_release.apk","properties":{}}]
\ No newline at end of file
index 496abfb..c41b7ac 100644 (file)
@@ -13,6 +13,8 @@ import androidx.annotation.NonNull;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.Fragment;
 
+import android.os.Handler;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -33,10 +35,17 @@ import java.util.List;
  */
 public class PedMainFragment extends Fragment {
 
+    private static final String TAG = "PedMainFragment";
+    private final Handler mHandler;
+
     public interface QueryPedometerCountListener {
         void onQueryCount();
     }
 
+    private PedMainFragment() {
+        mHandler = new Handler();
+    }
+
     private Context mContext;
     private App mApp;
 
@@ -50,8 +59,6 @@ public class PedMainFragment extends Fragment {
 
     private int targetValue;
 
-    private boolean isFirstLoad = false;
-
     @Override
     public void onAttach(@NonNull Context context) {
         super.onAttach(context);
@@ -60,6 +67,7 @@ public class PedMainFragment extends Fragment {
         try {
             queryListener = (QueryPedometerCountListener) context;
         } catch (ClassCastException e) {
+            e.printStackTrace();
         }
     }
 
@@ -85,19 +93,35 @@ public class PedMainFragment extends Fragment {
     @Override
     public void onResume() {
         super.onResume();
-        if (!isFirstLoad) {
+        //活跃的时候,每2秒种获取一次
+        mHandler.post(getPetTask);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mHandler.removeCallbacks(getPetTask);
+    }
+
+    private final Runnable getPetTask = new Runnable() {
+        @Override
+        public void run() {
             queryListener.onQueryCount();
-            isFirstLoad = true;
+            mHandler.postDelayed(this, 2 * 1000);
         }
-    }
+    };
+
+    private int mLastNum = 0;
 
     public void updatePedNumber(int number) {
+        Log.d(TAG, "number == > " + number);
         int value = (int) (number * 0.01);
         if (value < 1) {
             value = 1;
         }
         setupRingProgress(value);
-        setupRingProgressNumberTv(number);
+        setupRingProgressNumberTv(mLastNum, number);
+        this.mLastNum = number;
     }
 
     private void setupRingProgress(int number) {
@@ -105,12 +129,12 @@ public class PedMainFragment extends Fragment {
         mRingProgress.setProgress(number);
     }
 
-    private void setupRingProgressNumberTv(int number) {
+    private void setupRingProgressNumberTv(int lastNumber, int number) {
         TextView pedNumber = pedMainBinding.pedNumberTv;
         Typeface typeFace = Typeface.createFromAsset(mContext.getAssets(), "fonts/Baloo2-SemiBold.ttf");
         pedNumber.setTypeface(typeFace);
 
-        ValueAnimator animator = ValueAnimator.ofInt(0, number);
+        ValueAnimator animator = ValueAnimator.ofInt(lastNumber, number);
         animator.setDuration(500);
         animator.addUpdateListener(animation -> pedMainBinding.setPedNumber(animation.getAnimatedValue().toString()));
         animator.start();
index 347f93e..b7b0df8 100644 (file)
@@ -38,10 +38,10 @@ public class PedRecordFragment extends Fragment {
     public void onAttach(Context context) {
         super.onAttach(context);
         this.mContext = context;
-
         try {
             queryListener = (QueryPedometerRecordListener) context;
         } catch (ClassCastException e) {
+            e.printStackTrace();
         }
     }
 
@@ -62,7 +62,9 @@ public class PedRecordFragment extends Fragment {
         mSetupRv = view.findViewById(R.id.ped_record_rv);
         mSetupRv.addItemDecoration(new RecyclerView.ItemDecoration() {
             @Override
-            public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
+            public void getItemOffsets(@NonNull Rect outRect, @NonNull View view,
+                                       @NonNull RecyclerView parent,
+                                       @NonNull RecyclerView.State state) {
                 outRect.bottom = 10;
             }
         });
index 8ad6d49..eae3fb7 100644 (file)
@@ -14,7 +14,10 @@ import com.ic.aidl.ped.RecordParcelable;
 import com.ic.sport.util.IcLog;
 import com.ic.sport.util.ServiceUtil;
 
+import java.net.FileNameMap;
 import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 public class PedometerPresenter {
     private static final String TAG = "PedometerPresenter";
@@ -24,11 +27,13 @@ public class PedometerPresenter {
     private IPedRemoteService mService;
     private MutableLiveData<Integer> mObsPedCount;
     private MutableLiveData<List<RecordParcelable>> mObsPedRecord;
+    private final ExecutorService executorService;
 
     public PedometerPresenter(Context context) {
         mContext = context;
         mObsPedCount = new MutableLiveData<>();
         mObsPedRecord = new MutableLiveData<>();
+        executorService = Executors.newSingleThreadExecutor();
     }
 
     public MutableLiveData<Integer> getObsPedCount() {
@@ -39,6 +44,23 @@ public class PedometerPresenter {
         return mObsPedRecord;
     }
 
+    private final Object mLock = new Object();
+
+    private final Runnable getPedTask = new Runnable() {
+        @Override
+        public void run() {
+            synchronized (mLock) {
+                if (mService != null) {
+                    try {
+                        mService.queryPedCount();
+                    } catch (Exception e) {
+                        IcLog.e(TAG, e.getMessage());
+                    }
+                }
+            }
+        }
+    };
+
     public void bindService() {
         ServiceUtil.bindServiceUtil(mContext, "com.ic.action.WORK_SERVICE",
                 connection, mContext.getPackageName(), 103);
@@ -57,13 +79,7 @@ public class PedometerPresenter {
     }
 
     public void queryPedCount() {
-        if (mService != null) {
-            try {
-                mService.queryPedCount();
-            } catch (Exception e) {
-                IcLog.e(TAG, e.getMessage());
-            }
-        }
+        executorService.execute(getPedTask);
     }
 
     public void queryPedRecord() {
index 6cf06a0..bd91734 100644 (file)
@@ -41,7 +41,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
-            android:layout_marginTop="90dp"
+            android:layout_marginTop="130dp"
             android:includeFontPadding="false"
             android:text="@{pedNumber}"
             android:textColor="@color/white"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
-            android:layout_marginTop="60dp"
+            android:layout_marginTop="80dp"
             android:text="@string/ped_main_today"
             android:textColor="#FFFFFF"
-            android:textSize="36sp" />
+            android:textSize="36sp"
+            android:textStyle="bold" />
 
         <TextView
             android:layout_width="wrap_content"
@@ -65,7 +66,8 @@
             android:includeFontPadding="false"
             android:text="@string/ped_main_step"
             android:textColor="@color/white"
-            android:textSize="36sp" />
+            android:textSize="36sp"
+            android:textStyle="bold" />
 
         <TextView
             android:layout_width="wrap_content"
@@ -74,6 +76,7 @@
             android:layout_marginBottom="32dp"
             android:drawablePadding="1dp"
             android:text="@{pedTarget}"
+
             android:textColor="@color/white"
             android:textSize="28sp"
             android:textStyle="bold" />
index 41665e2..5873db5 100644 (file)
@@ -1,2 +1,2 @@
-#Thu Jun 03 09:58:00 CST 2021\r
-VERSION_CODE=25\r
+#Sun Jun 20 14:45:55 CST 2021\r
+VERSION_CODE=26\r