解决步数的问题
authorTrillGates <williamtrillgates@gmail.com>
Fri, 7 Jan 2022 12:02:13 +0000 (20:02 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Fri, 7 Jan 2022 12:02:13 +0000 (20:02 +0800)
app/release/release/ICL02Sport_V41_202112101533_release.apk [new file with mode: 0644]
app/release/release/output.json
app/src/main/java/com/ic/sport/PedometerActivity.java
app/src/main/java/com/ic/sport/fragment/pedometer/PedMainFragment.java
app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java
app/version_code.properties

diff --git a/app/release/release/ICL02Sport_V41_202112101533_release.apk b/app/release/release/ICL02Sport_V41_202112101533_release.apk
new file mode 100644 (file)
index 0000000..6f039ea
Binary files /dev/null and b/app/release/release/ICL02Sport_V41_202112101533_release.apk differ
index b28add2..0bc461e 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":40,"versionName":"202110281025","enabled":true,"outputFile":"ICL02Sport_V40_202110281025_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Sport_V40_202110281025_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":41,"versionName":"202112101533","enabled":true,"outputFile":"ICL02Sport_V41_202112101533_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Sport_V41_202112101533_release.apk","properties":{}}]
\ No newline at end of file
index 087dc15..a1e6297 100644 (file)
@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.viewpager2.widget.ViewPager2;
 
+import com.ic.iclooger.ICLogger;
 import com.ic.sport.adapter.FragmentAdapter;
 import com.ic.sport.adapter.IndicatorAdapter;
 import com.ic.sport.fragment.pedometer.PedMainFragment;
@@ -75,6 +76,7 @@ public class PedometerActivity extends AppCompatActivity
             //更新时间
             topTimeTv.setText(time);
         });
+        ICLogger.d("绑定远程服务...");
         pedometerModel.onBindService();
     }
 
index bc2aacf..7c1d2fc 100644 (file)
@@ -31,7 +31,9 @@ public class PedMainFragment extends Fragment {
     private final Handler mHandler;
 
     public void updateCalorie(Float calorie) {
-        pedMainBinding.setCalorieValue(calorie + " kcal");
+        if (pedMainBinding != null) {
+            pedMainBinding.setCalorieValue(calorie + " kcal");
+        }
     }
 
     public interface QueryPedometerCountListener {
index 086ffc2..5ebbf71 100644 (file)
@@ -2,6 +2,7 @@ package com.ic.sport.presenter;
 
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.content.ServiceConnection;
 import android.os.IBinder;
 
@@ -11,8 +12,8 @@ import androidx.lifecycle.MutableLiveData;
 import com.ic.aidl.ped.IPedAidlInterface;
 import com.ic.aidl.ped.IPedRemoteService;
 import com.ic.aidl.ped.RecordParcelable;
+import com.ic.iclooger.ICLogger;
 import com.ic.sport.util.IcLog;
-import com.ic.sport.util.ServiceUtil;
 
 import java.util.Collections;
 import java.util.List;
@@ -29,6 +30,7 @@ public class PedometerPresenter {
     private MutableLiveData<List<RecordParcelable>> mObsPedRecord;
     private MutableLiveData<Float> mCalorie;
     private final ExecutorService executorService;
+    private boolean isBind;
 
     public PedometerPresenter(Context context) {
         mContext = context;
@@ -53,6 +55,7 @@ public class PedometerPresenter {
         public void run() {
             synchronized (mLock) {
                 if (mService != null) {
+                    ICLogger.d("do queryPedCount task...");
                     try {
                         mService.queryPedCount();
                     } catch (Exception e) {
@@ -64,14 +67,19 @@ public class PedometerPresenter {
     };
 
     public void bindService() {
-        ServiceUtil.bindServiceUtil(mContext, "com.ic.action.WORK_SERVICE",
-                connection, mContext.getPackageName(), 103);
+        Intent intent = new Intent();
+        intent.setAction("com.ic.action.WORK_SERVICE");
+        intent.setPackage("com.ic.work");
+        intent.putExtra("target", "sport");
+        isBind = mContext.bindService(intent, connection, Context.BIND_AUTO_CREATE);
     }
 
     public void unbindService() {
         try {
-            mService.unregisterCallback(pedInterface);
-            ServiceUtil.unBindServiceUtil(mContext, connection);
+            if (isBind && connection != null) {
+                mService.unregisterCallback(pedInterface);
+                mContext.unbindService(connection);
+            }
         } catch (Exception e) {
             IcLog.e(TAG, "unbindService");
         } finally {
@@ -85,6 +93,7 @@ public class PedometerPresenter {
     }
 
     public void queryPedRecord() {
+        ICLogger.d("queryPedRecord...");
         if (mService != null) {
             try {
                 mService.queryPedRecord();
@@ -115,13 +124,14 @@ public class PedometerPresenter {
     }
 
 
-    private ServiceConnection connection = new ServiceConnection() {
+    private final ServiceConnection connection = new ServiceConnection() {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
             try {
+                ICLogger.d("bind success...");
                 mService = IPedRemoteService.Stub.asInterface(service);
                 mService.registerCallback(pedInterface);
-                //queryPedCount();
+                queryPedCount();
             } catch (Exception e) {
                 IcLog.e(TAG, e.getMessage());
             }
@@ -136,12 +146,14 @@ public class PedometerPresenter {
     private IPedAidlInterface.Stub pedInterface = new IPedAidlInterface.Stub() {
         @Override
         public void updatePedCount(int count) {
+            ICLogger.d("updatePedCount == > " + count);
             mObsPedCount.postValue(count);
         }
 
         @Override
         public void updateCalorie(float count) {
             mCalorie.postValue(count);
+            ICLogger.d("updateCalorie == > " + count);
         }
 
         @Override
index c99a06b..b942476 100644 (file)
@@ -1,2 +1,2 @@
-#Thu Oct 28 10:25:00 CST 2021\r
-VERSION_CODE=40\r
+#Fri Dec 10 15:33:06 CST 2021\r
+VERSION_CODE=41\r