From: TrillGates Date: Wed, 30 Jun 2021 03:59:28 +0000 (+0800) Subject: update title and time. X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=c06eeadc9f21e88e647da07ab2d4dd07f3bba117;p=ichardware.git update title and time. --- diff --git a/app/release/release/ICL02Sport_V26_202106201445_release.apk b/app/release/release/ICL02Sport_V26_202106201445_release.apk deleted file mode 100644 index 94867a6..0000000 Binary files a/app/release/release/ICL02Sport_V26_202106201445_release.apk and /dev/null differ diff --git a/app/release/release/ICL02Sport_V27_202106301157_release.apk b/app/release/release/ICL02Sport_V27_202106301157_release.apk new file mode 100644 index 0000000..9fac0d3 Binary files /dev/null and b/app/release/release/ICL02Sport_V27_202106301157_release.apk differ diff --git a/app/release/release/output.json b/app/release/release/output.json index dafa093..a4dce8c 100644 --- a/app/release/release/output.json +++ b/app/release/release/output.json @@ -1 +1 @@ -[{"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 +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":27,"versionName":"202106301157","enabled":true,"outputFile":"ICL02Sport_V27_202106301157_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Sport_V27_202106301157_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/ic/sport/PedometerActivity.java b/app/src/main/java/com/ic/sport/PedometerActivity.java index df4b4c7..a7ae490 100644 --- a/app/src/main/java/com/ic/sport/PedometerActivity.java +++ b/app/src/main/java/com/ic/sport/PedometerActivity.java @@ -7,6 +7,8 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager2.widget.ViewPager2; import android.os.Bundle; +import android.view.View; +import android.widget.TextView; import com.ic.sport.adapter.FragmentAdapter; import com.ic.sport.adapter.IndicatorAdapter; @@ -31,16 +33,26 @@ public class PedometerActivity extends AppCompatActivity private IndicatorAdapter indicatorAdapter; private FragmentAdapter myAdapter; + private TextView topTimeTv; + private ViewPager2 myViewPager2; + private TextView topTitleTv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pedometer); + initView(); initViewPage(); initIndicator(); initPedometerModel(); } + private void initView() { + myViewPager2 = findViewById(R.id.ped_main_view_page); + topTimeTv = findViewById(R.id.top_time_tv); + topTitleTv = findViewById(R.id.top_left_title_tv); + } + private void initPedometerModel() { PedometerModel.Factory factory = new PedometerModel.Factory(getApplication()); pedometerModel = new ViewModelProvider(this, factory).get(PedometerModel.class); @@ -57,6 +69,10 @@ public class PedometerActivity extends AppCompatActivity ((PedMainFragment) myAdapter.getFragment(1)).updateCalorie(calorie); }); + pedometerModel.timeValue.observe(this, time -> { + //更新时间 + topTimeTv.setText(time); + }); pedometerModel.onBindService(); } @@ -94,7 +110,6 @@ public class PedometerActivity extends AppCompatActivity } private void initViewPage() { - ViewPager2 myViewPager2 = findViewById(R.id.ped_main_view_page); myAdapter = new FragmentAdapter(getSupportFragmentManager(), getLifecycle()); myViewPager2.setAdapter(myAdapter); myViewPager2.setCurrentItem(1); @@ -115,6 +130,16 @@ public class PedometerActivity extends AppCompatActivity public void onPageSelected(int position) { IcLog.i(TAG, "onPageSelected" + position); indicatorAdapter.updateIndicatorState(position); + //设置title + String title = getString(R.string.ped_head_name); + if (position == 1) { + //运动 + title = getString(R.string.app_name); + } else if (position == 2) { + //记录 + title = getString(R.string.pedometer_history_7days); + } + topTitleTv.setText(title); } @Override 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 c5daf41..b554311 100644 --- a/app/src/main/java/com/ic/sport/model/PedometerModel.java +++ b/app/src/main/java/com/ic/sport/model/PedometerModel.java @@ -1,25 +1,37 @@ package com.ic.sport.model; import android.app.Application; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModelProvider; import com.ic.aidl.ped.RecordParcelable; import com.ic.sport.presenter.PedometerPresenter; +import com.ic.sport.util.IcLog; + +import org.threeten.bp.LocalDateTime; +import org.threeten.bp.format.DateTimeFormatter; import java.util.List; public class PedometerModel extends AndroidViewModel { + private static final String TAG = "PedometerModel"; private final PedometerPresenter pedometerPresenter; private LiveData mObsPedCount; private LiveData mCalorie; private LiveData> mObsPedRecord; + public MutableLiveData timeValue = new MutableLiveData<>(); private PedometerModel(@NonNull Application application) { super(application); @@ -27,8 +39,39 @@ public class PedometerModel extends AndroidViewModel { mObsPedCount = pedometerPresenter.getObsPedCount(); mObsPedRecord = pedometerPresenter.getObsPedRecord(); mCalorie = pedometerPresenter.getCalorie(); + //注冊广播,监听时间变化 + registerTimeDateReceiver(); + } + + @Override + protected void onCleared() { + getApplication().unregisterReceiver(mIntentReceiver); } + private static final DateTimeFormatter HH_MM = DateTimeFormatter.ofPattern("HH:mm"); + + private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (TextUtils.isEmpty(action)) return; + //更新时间 + String format = LocalDateTime.now().format(HH_MM); + IcLog.d(TAG, "format time == > " + format); + timeValue.postValue(format); + } + }; + + + public void registerTimeDateReceiver() { + IntentFilter filter = new IntentFilter(); + filter.addAction(Intent.ACTION_TIME_TICK); + filter.addAction(Intent.ACTION_TIME_CHANGED); + filter.addAction(Intent.ACTION_TIMEZONE_CHANGED); + getApplication().registerReceiver(mIntentReceiver, filter); + } + + public LiveData getCalorie() { return mCalorie; } diff --git a/app/src/main/res/layout/activity_pedometer.xml b/app/src/main/res/layout/activity_pedometer.xml index 005980c..e40ce58 100644 --- a/app/src/main/res/layout/activity_pedometer.xml +++ b/app/src/main/res/layout/activity_pedometer.xml @@ -10,6 +10,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" + android:id="@+id/top_left_title_tv" android:text="@string/app_name" android:textColor="@color/green1" android:textSize="30sp" @@ -21,6 +22,7 @@ android:layout_gravity="right|top" android:padding="5dp" android:text="12:12" + android:id="@+id/top_time_tv" android:textColor="@color/white" android:textSize="30sp" android:textStyle="bold" /> diff --git a/app/version_code.properties b/app/version_code.properties index 5873db5..7764f39 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Sun Jun 20 14:45:55 CST 2021 -VERSION_CODE=26 +#Wed Jun 30 11:57:35 CST 2021 +VERSION_CODE=27