From: TrillGates Date: Sun, 20 Jun 2021 06:47:26 +0000 (+0800) Subject: get pet count per 2sencond and publish ICL02Sport_V26_202106201445_release X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=d4726e6e8ce1412e5859d5683076a9925cfaebed;p=ichardware.git get pet count per 2sencond and publish ICL02Sport_V26_202106201445_release --- diff --git a/app/release/release/ICL02Sport_V25_202106030958_release.apk b/app/release/release/ICL02Sport_V26_202106201445_release.apk 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 Binary files a/app/release/release/ICL02Sport_V25_202106030958_release.apk and b/app/release/release/ICL02Sport_V26_202106201445_release.apk differ diff --git a/app/release/release/output.json b/app/release/release/output.json index 1ba905c..dafa093 100644 --- a/app/release/release/output.json +++ b/app/release/release/output.json @@ -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 diff --git a/app/src/main/java/com/ic/sport/fragment/pedometer/PedMainFragment.java b/app/src/main/java/com/ic/sport/fragment/pedometer/PedMainFragment.java index 496abfb..c41b7ac 100644 --- a/app/src/main/java/com/ic/sport/fragment/pedometer/PedMainFragment.java +++ b/app/src/main/java/com/ic/sport/fragment/pedometer/PedMainFragment.java @@ -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(); diff --git a/app/src/main/java/com/ic/sport/fragment/pedometer/PedRecordFragment.java b/app/src/main/java/com/ic/sport/fragment/pedometer/PedRecordFragment.java index 347f93e..b7b0df8 100644 --- a/app/src/main/java/com/ic/sport/fragment/pedometer/PedRecordFragment.java +++ b/app/src/main/java/com/ic/sport/fragment/pedometer/PedRecordFragment.java @@ -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; } }); diff --git a/app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java b/app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java index 8ad6d49..eae3fb7 100644 --- a/app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java +++ b/app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java @@ -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 mObsPedCount; private MutableLiveData> mObsPedRecord; + private final ExecutorService executorService; public PedometerPresenter(Context context) { mContext = context; mObsPedCount = new MutableLiveData<>(); mObsPedRecord = new MutableLiveData<>(); + executorService = Executors.newSingleThreadExecutor(); } public MutableLiveData 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() { diff --git a/app/src/main/res/layout/fragment_ped_main.xml b/app/src/main/res/layout/fragment_ped_main.xml index 6cf06a0..bd91734 100644 --- a/app/src/main/res/layout/fragment_ped_main.xml +++ b/app/src/main/res/layout/fragment_ped_main.xml @@ -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" @@ -52,10 +52,11 @@ 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" /> + android:textSize="36sp" + android:textStyle="bold" /> diff --git a/app/version_code.properties b/app/version_code.properties index 41665e2..5873db5 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Thu Jun 03 09:58:00 CST 2021 -VERSION_CODE=25 +#Sun Jun 20 14:45:55 CST 2021 +VERSION_CODE=26