From: TrillGates Date: Wed, 30 Jun 2021 03:31:07 +0000 (+0800) Subject: add calorie value to main page. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=6fc7c4f6dc1e86423d454e79b8bdaf783141990a;p=ichardware.git add calorie value to main page. --- diff --git a/app/src/main/aidl/com/ic/aidl/ped/IPedAidlInterface.aidl b/app/src/main/aidl/com/ic/aidl/ped/IPedAidlInterface.aidl index 339498a..46daf02 100644 --- a/app/src/main/aidl/com/ic/aidl/ped/IPedAidlInterface.aidl +++ b/app/src/main/aidl/com/ic/aidl/ped/IPedAidlInterface.aidl @@ -5,6 +5,7 @@ import com.ic.aidl.ped.RecordParcelable; interface IPedAidlInterface { void updatePedCount(int count); + void updateCalorie(float count); void updatePedRecord(in List record); } diff --git a/app/src/main/java/com/ic/sport/PedometerActivity.java b/app/src/main/java/com/ic/sport/PedometerActivity.java index 6e5181f..df4b4c7 100644 --- a/app/src/main/java/com/ic/sport/PedometerActivity.java +++ b/app/src/main/java/com/ic/sport/PedometerActivity.java @@ -46,11 +46,15 @@ public class PedometerActivity extends AppCompatActivity pedometerModel = new ViewModelProvider(this, factory).get(PedometerModel.class); pedometerModel.getObsPedCount().observe(this, integer -> { - ((PedMainFragment)myAdapter.getFragment(1)).updatePedNumber(integer); + ((PedMainFragment) myAdapter.getFragment(1)).updatePedNumber(integer); }); pedometerModel.getObsPedRecord().observe(this, record -> { - ((PedRecordFragment)myAdapter.getFragment(2)).updatePedRecord(record); + ((PedRecordFragment) myAdapter.getFragment(2)).updatePedRecord(record); + }); + + pedometerModel.getCalorie().observe(this, calorie -> { + ((PedMainFragment) myAdapter.getFragment(1)).updateCalorie(calorie); }); pedometerModel.onBindService(); @@ -109,15 +113,15 @@ public class PedometerActivity extends AppCompatActivity private final ViewPager2.OnPageChangeCallback currentItemUpdater = new ViewPager2.OnPageChangeCallback() { @Override public void onPageSelected(int position) { - IcLog.i(TAG,"onPageSelected"+position); + IcLog.i(TAG, "onPageSelected" + position); indicatorAdapter.updateIndicatorState(position); } @Override public void onPageScrollStateChanged(int newState) { - IcLog.i(TAG,"onPageScrollStateChanged"+newState); + IcLog.i(TAG, "onPageScrollStateChanged" + newState); if (newState == SCROLL_STATE_IDLE) { - IcLog.i(TAG,"onPageScrollStateChanged"+newState); + IcLog.i(TAG, "onPageScrollStateChanged" + newState); } } }; 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 c41b7ac..1693423 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 @@ -38,6 +38,10 @@ public class PedMainFragment extends Fragment { private static final String TAG = "PedMainFragment"; private final Handler mHandler; + public void updateCalorie(Float calorie) { + pedMainBinding.setCalorieValue(calorie + " kcal"); + } + public interface QueryPedometerCountListener { void onQueryCount(); } @@ -87,6 +91,7 @@ public class PedMainFragment extends Fragment { targetValue = SPUtils.getPedTargetSP(mApp.getApplicationContext()); pedMainBinding.setPedTarget(getResources().getString(R.string.target_text) + targetValue); + pedMainBinding.ringProgress.setMaxProgress(targetValue); return pedMainBinding.getRoot(); } diff --git a/app/src/main/java/com/ic/sport/model/PedometerModel.java b/app/src/main/java/com/ic/sport/model/PedometerModel.java index 7849443..c5daf41 100644 --- a/app/src/main/java/com/ic/sport/model/PedometerModel.java +++ b/app/src/main/java/com/ic/sport/model/PedometerModel.java @@ -18,6 +18,7 @@ public class PedometerModel extends AndroidViewModel { private final PedometerPresenter pedometerPresenter; private LiveData mObsPedCount; + private LiveData mCalorie; private LiveData> mObsPedRecord; private PedometerModel(@NonNull Application application) { @@ -25,6 +26,11 @@ public class PedometerModel extends AndroidViewModel { pedometerPresenter = new PedometerPresenter(application.getApplicationContext()); mObsPedCount = pedometerPresenter.getObsPedCount(); mObsPedRecord = pedometerPresenter.getObsPedRecord(); + mCalorie = pedometerPresenter.getCalorie(); + } + + public LiveData getCalorie() { + return mCalorie; } public LiveData getObsPedCount() { @@ -35,27 +41,27 @@ public class PedometerModel extends AndroidViewModel { return mObsPedRecord; } - public void onBindService(){ + public void onBindService() { pedometerPresenter.bindService(); } - public void onUnBindService(){ + public void onUnBindService() { pedometerPresenter.unbindService(); } - public void queryPedCount(){ + public void queryPedCount() { pedometerPresenter.queryPedCount(); } - public void queryPedRecord(){ + public void queryPedRecord() { pedometerPresenter.queryPedRecord(); } - public void syncPedHeightSetting(int height){ + public void syncPedHeightSetting(int height) { pedometerPresenter.syncPedHeightSetting(height); } - public void syncPedWeightSetting(int weight){ + public void syncPedWeightSetting(int weight) { pedometerPresenter.syncPedWeightSetting(weight); } 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 eae3fb7..638624c 100644 --- a/app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java +++ b/app/src/main/java/com/ic/sport/presenter/PedometerPresenter.java @@ -6,6 +6,7 @@ import android.content.ServiceConnection; import android.os.IBinder; import android.os.RemoteException; +import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import com.ic.aidl.ped.IPedAidlInterface; @@ -27,12 +28,14 @@ public class PedometerPresenter { private IPedRemoteService mService; private MutableLiveData mObsPedCount; private MutableLiveData> mObsPedRecord; + private MutableLiveData mCalorie; private final ExecutorService executorService; public PedometerPresenter(Context context) { mContext = context; mObsPedCount = new MutableLiveData<>(); mObsPedRecord = new MutableLiveData<>(); + mCalorie = new MutableLiveData<>(); executorService = Executors.newSingleThreadExecutor(); } @@ -137,9 +140,18 @@ public class PedometerPresenter { mObsPedCount.postValue(count); } + @Override + public void updateCalorie(float count) { + mCalorie.postValue(count); + } + @Override public void updatePedRecord(List record) { mObsPedRecord.postValue(record); } }; + + public LiveData getCalorie() { + return mCalorie; + } } diff --git a/app/src/main/java/com/ic/sport/widget/ring/RingProgress.java b/app/src/main/java/com/ic/sport/widget/ring/RingProgress.java index cf7b472..d3d464c 100644 --- a/app/src/main/java/com/ic/sport/widget/ring/RingProgress.java +++ b/app/src/main/java/com/ic/sport/widget/ring/RingProgress.java @@ -327,7 +327,7 @@ public class RingProgress extends View { } public void setProgress(float progress) { - //setProgress(progress, useAnimation); + setProgress(progress, useAnimation); } public int getDisableAngle() { diff --git a/app/src/main/res/layout/fragment_ped_main.xml b/app/src/main/res/layout/fragment_ped_main.xml index 5e86a64..8591b16 100644 --- a/app/src/main/res/layout/fragment_ped_main.xml +++ b/app/src/main/res/layout/fragment_ped_main.xml @@ -12,6 +12,9 @@ + @@ -69,10 +72,10 @@ android:layout_centerHorizontal="true" android:layout_marginBottom="60dp" android:drawableTop="@mipmap/icon_calorie_small" - android:text="300.5 kcal" + android:text="@{calorieValue}" android:textColor="@color/white" android:textSize="20sp" android:textStyle="bold" /> - + \ No newline at end of file