From: kfl_614 Date: Sat, 28 Nov 2020 10:56:52 +0000 (+0800) Subject: adjust animalHeat page ui. X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=8ec160f0b8e0e9b9fda8efb3d42f2538631f4e94;p=launcher4.git adjust animalHeat page ui. --- diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index e7e30d5..49322c7 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,10 +11,10 @@ "type": "SINGLE", "filters": [], "properties": [], - "versionCode": 181, - "versionName": "202011271628", + "versionCode": 182, + "versionName": "202011272041", "enabled": true, - "outputFile": "ICL02Launcher_V181_202011271628_release.apk" + "outputFile": "ICL02Launcher_V182_202011272041_release.apk" } ] } \ No newline at end of file diff --git a/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java b/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java index f09cca8..d77e873 100644 --- a/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java +++ b/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java @@ -94,13 +94,13 @@ public class AnimalHeatActivity extends AppCompatActivity implements bindWorkService(this); } else { //给出UI提示 - Toast.makeText(this, getString(R.string.no_wearing_device_tips_text), - Toast.LENGTH_SHORT).show(); + heatBinding.setCheckTips(getString(R.string.no_wearing_device_tips_text)); } //initWakeLock(this); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - heatBinding.setBodyTemp("--"); - heatBinding.setWristTemp("--"); + heatBinding.setBodyTemp("--.-"); + heatBinding.setWristTemp("--.-"); + heatBinding.setTempout("--.-"); boolean disablewristtemp = SystemUtils.getSystemPropertiesBoolean("persyst.sys.disableWristTemp", false); boolean disabletempOUt = SystemUtils.getSystemPropertiesBoolean("persyst.sys.disableTempOut", true); heatBinding.setDisableWristTemp(disablewristtemp); @@ -126,10 +126,14 @@ public class AnimalHeatActivity extends AppCompatActivity implements try { mService.onStopQueryTemp(); } catch (Exception e) { - IcLog.i("Temperature", e.getMessage()); + e.printStackTrace(); + //e.getMessage may be null. + //IcLog.i("Temperature", e.getMessage()); } // releaseWakeLock(); - unbindWorkService(this); + if (mService != null) { + unbindWorkService(this); + } unregisterReceiver(mIntentReceiver); unregisterReceiver(mAntiStateReceiver); } @@ -163,7 +167,18 @@ public class AnimalHeatActivity extends AppCompatActivity implements return true; } + private int currentTestType = -1; + private void setTemperatureUi(int type, double temp, double animal, double tempOut) { + IcLog.i(TAG, "type -- > " + type); + IcLog.i(TAG, "temp -- > " + temp); + IcLog.i(TAG, "animal -- > " + animal); + IcLog.i(TAG, "tempOut -- > " + tempOut); + //这里有个瞬间过大的bug,人腕温不可能大于45度的。 + if (temp > 45) { + temp = 45.0d; + } + currentTestType = type; DecimalFormat df = new DecimalFormat("#.0"); switch (type) { case 0: @@ -171,7 +186,11 @@ public class AnimalHeatActivity extends AppCompatActivity implements heatBinding.setBodyTemp(df.format(temp)); heatBinding.setTempout(df.format(tempOut)); } else { - heatBinding.setBodyTemp(df.format(animal)); + if (".0".equals(df.format(animal))) { + heatBinding.setBodyTemp("0.0"); + } else { + heatBinding.setBodyTemp(df.format(animal)); + } heatBinding.setWristTemp(df.format(temp)); heatBinding.setTempout(df.format(tempOut)); } @@ -203,6 +222,7 @@ public class AnimalHeatActivity extends AppCompatActivity implements } ServiceUtil.unBindServiceUtil(context, connection); } catch (Exception e) { + e.printStackTrace(); } finally { mService = null; tempInterface = null; @@ -279,12 +299,16 @@ public class AnimalHeatActivity extends AppCompatActivity implements IcLog.i(TAG, "state error === > " + state); return; } - if (state == STATE_ANTI_OFF && mService == null) { - bindWorkService(AnimalHeatActivity.this); - } else if (state == STATE_ANTI_ON) { + if (state == STATE_ANTI_OFF) { + heatBinding.setCheckTips(getString(R.string.no_wearing_device_tips_text)); //脱落了,给出提示 - Toast.makeText(context, context.getString(R.string.no_wearing_device_tips_text), - Toast.LENGTH_SHORT).show(); + } else if (state == STATE_ANTI_ON && mService == null) { + bindWorkService(AnimalHeatActivity.this); + } + + if (state == STATE_ANTI_ON && currentTestType == 1) { + //判断状态,如果已经检测完了,就显示检测完成 + heatBinding.setCheckTips(getString(R.string.activity_temp_tips_end)); } } }; diff --git a/app/src/main/java/com/ic/launcher/fragment/S123MainFragment.java b/app/src/main/java/com/ic/launcher/fragment/S123MainFragment.java index d149e4d..27526ce 100644 --- a/app/src/main/java/com/ic/launcher/fragment/S123MainFragment.java +++ b/app/src/main/java/com/ic/launcher/fragment/S123MainFragment.java @@ -45,8 +45,8 @@ public class S123MainFragment extends BaseFragment { @Override protected void onObserveModelValue(BaseModel baseModel) { - L02MainModel mainModel = (L02MainModel)baseModel; - observePhoneValue( mainModel); + L02MainModel mainModel = (L02MainModel) baseModel; + observePhoneValue(mainModel); observeBatteryValue(mainModel); observeDataTimeValue(mainModel); observeHardwareValue(mainModel); @@ -59,25 +59,25 @@ public class S123MainFragment extends BaseFragment { mainBinding = FragmentS123MainBinding.inflate(inflater, container, false); mainBinding.setHeartValue(String.valueOf(SPUtils.getBloodHeartSP(mContext))); - mainBinding.setTempValue(String.format("%.1f",SPUtils.getTempSP(mContext))); + mainBinding.setTempValue(String.format("%.1f", SPUtils.getTempSP(mContext))); mainBinding.setSpo2value(String.valueOf(SPUtils.getBloodSPo2SP(mContext))); - mainBinding.setOutTempValue(String.format("%.1f",SPUtils.getTempOutSP(mContext))); - chargingState=false; + mainBinding.setOutTempValue(String.format("%.1f", SPUtils.getTempOutSP(mContext))); + mainBinding.setBatteryFull(false); + chargingState = false; mainBinding.setStepValue("0"); - if(SystemUtils.isS123()) - { - Log.i(TAG,"isS123"); + if (SystemUtils.isS123()) { + Log.i(TAG, "isS123"); mainBinding.setShowStep(View.GONE); mainBinding.setShowTemp(View.VISIBLE); - if (SystemUtils.showOutTemp()){ - Log.i(TAG,"show out temp"); + if (SystemUtils.showOutTemp()) { + Log.i(TAG, "show out temp"); mainBinding.setShowOutTemp(View.VISIBLE); - }else{ - Log.i(TAG,"donot show out temp"); + } else { + Log.i(TAG, "donot show out temp"); mainBinding.setShowOutTemp(View.GONE); } - }else{ - Log.i(TAG,"not S123"); + } else { + Log.i(TAG, "not S123"); mainBinding.setShowTemp(View.GONE); mainBinding.setShowOutTemp(View.GONE); mainBinding.setShowStep(View.VISIBLE); @@ -90,8 +90,8 @@ public class S123MainFragment extends BaseFragment { @Override public void onResume() { super.onResume(); - if(chargingState){ - if(mainBinding != null){ + if (chargingState) { + if (mainBinding != null) { mainBinding.setBatteryCharge(true); } } @@ -100,73 +100,72 @@ public class S123MainFragment extends BaseFragment { @Override public void onPause() { super.onPause(); - if(chargingState){ - if(mainBinding != null){ + if (chargingState) { + if (mainBinding != null) { mainBinding.setBatteryCharge(false); } } } private void observePhoneValue(L02MainModel model) { - model.getObservablePhoneType().observe(this, resID ->{ - if(mainBinding != null){ + model.getObservablePhoneType().observe(this, resID -> { + if (mainBinding != null) { mainBinding.setPhoneNetType(resID); } }); - model.getObservableSignal().observe(this, resID ->{ - if(mainBinding != null){ - if(resID == L02Icon.l02SignalResId[0] - || resID == L02Icon.l02SignalResId[1]){ + model.getObservableSignal().observe(this, resID -> { + if (mainBinding != null) { + if (resID == L02Icon.l02SignalResId[0] + || resID == L02Icon.l02SignalResId[1]) { mainBinding.setPhoneShow(false); - }else{ + } else { mainBinding.setPhoneShow(true); } mainBinding.setPhoneSignal(resID); } }); - model.getObservableTransport().observe(this, resID -> { - if(mainBinding != null){ - mainBinding.setPhoneTransport(resID); - } - }); - - model.getObservableBTStatus().observe(this,btStatus ->{ - if(mainBinding !=null){ + model.getObservableBTStatus().observe(this, btStatus -> { + if (mainBinding != null) { mainBinding.setBtStatus(btStatus); } }); - model.getObservableWiFiStatus().observe(this, wifiStatus ->{ - if(mainBinding !=null){ + model.getObservableWiFiStatus().observe(this, wifiStatus -> { + if (mainBinding != null) { mainBinding.setWifiStatus(wifiStatus); } }); - model.getObservableGpsStatus().observe(this, gpsStatus ->{ - if(mainBinding !=null){ + model.getObservableGpsStatus().observe(this, gpsStatus -> { + if (mainBinding != null) { mainBinding.setGpsStatus(gpsStatus); } }); } private void observeBatteryValue(L02MainModel model) { - model.getObservableBatteryValue().observe(this, value ->{ - if(mainBinding != null){ + model.getObservableBTIsFull().observe(this, isFull -> { + if (mainBinding != null) { + mainBinding.setBatteryFull(isFull); + } + }); + model.getObservableBatteryValue().observe(this, value -> { + if (mainBinding != null) { mainBinding.setBatteryValue(value); } }); - model.getObservableBattery().observe(this, resID ->{ - if(mainBinding != null){ + model.getObservableBattery().observe(this, resID -> { + if (mainBinding != null) { mainBinding.setBatteryDrawable(resID); } }); model.getObservableBatteryCharging().observe(this, state -> { - if(chargingState != state){ - chargingState =state; - if(mainBinding != null){ + if (chargingState != state) { + chargingState = state; + if (mainBinding != null) { mainBinding.setBatteryCharge(chargingState); } } @@ -174,59 +173,59 @@ public class S123MainFragment extends BaseFragment { } private void observeDataTimeValue(L02MainModel model) { - model.getObservableWeek().observe(this, week ->{ - if(mainBinding != null){ + model.getObservableWeek().observe(this, week -> { + if (mainBinding != null) { mainBinding.setWatchWeek(week); } }); model.getObservableYear().observe(this, year -> { - if(mainBinding != null){ + if (mainBinding != null) { mainBinding.setWatchDate(year); } }); model.getObservableTime().observe(this, time -> { - if(mainBinding != null){ + if (mainBinding != null) { updateTimeValue(time); } }); } private void observeHardwareValue(L02MainModel model) { - model.getObservableHardwareHeart().observe(this, heart ->{ - if(mainBinding != null){ + model.getObservableHardwareHeart().observe(this, heart -> { + if (mainBinding != null) { mainBinding.setHeartValue(heart); } }); model.getObservableHardwarePed().observe(this, ped -> { - if(mainBinding != null){ + if (mainBinding != null) { mainBinding.setStepValue(ped); } }); model.getObservableHardwareTemp().observe(this, temp -> { - if(mainBinding != null){ - IcLog.i(TAG,"action get temp "+temp); + if (mainBinding != null) { + IcLog.i(TAG, "action get temp " + temp); mainBinding.setTempValue(temp); } }); model.getObservableHardwareTempOut().observe(this, temp -> { - if(mainBinding != null){ - IcLog.i(TAG,"action get tempOut "+temp); + if (mainBinding != null) { + IcLog.i(TAG, "action get tempOut " + temp); mainBinding.setOutTempValue(temp); } }); model.getObservableHardwareHeartSpo2().observe(this, spo2 -> { - if(mainBinding != null){ - IcLog.i(TAG,"action get SPo2 "+spo2); + if (mainBinding != null) { + IcLog.i(TAG, "action get SPo2 " + spo2); mainBinding.setSpo2value(spo2); } }); } - private void updateTimeValue(int[] value){ - IcLog.i("TEST","updateTimeValue"); + private void updateTimeValue(int[] value) { + IcLog.i("TEST", "updateTimeValue"); mainBinding.setHourTen(value[0]); mainBinding.setHourBit(value[1]); mainBinding.setMinuteTen(value[2]); diff --git a/app/src/main/java/com/ic/launcher/mode/L02MainModel.java b/app/src/main/java/com/ic/launcher/mode/L02MainModel.java index e9d18c9..05a5dac 100644 --- a/app/src/main/java/com/ic/launcher/mode/L02MainModel.java +++ b/app/src/main/java/com/ic/launcher/mode/L02MainModel.java @@ -21,15 +21,15 @@ public class L02MainModel extends BaseModel { private L02MainModel(Application application) { super(application); - PhoneStatePresenter phonePresenter = ((IcLauncherApplication)application).getPhonePresenter(); - HardwarePresenter hardwarePresenter = ((IcLauncherApplication)application).getHardwarePresenter(); + PhoneStatePresenter phonePresenter = ((IcLauncherApplication) application).getPhonePresenter(); + HardwarePresenter hardwarePresenter = ((IcLauncherApplication) application).getHardwarePresenter(); - addPresenterList(PHONE_LIST_INDEX,phonePresenter); - addPresenterList(HARDWARE_LIST_INDEX,hardwarePresenter); + addPresenterList(PHONE_LIST_INDEX, phonePresenter); + addPresenterList(HARDWARE_LIST_INDEX, hardwarePresenter); PresenterCycle state = getPresenterList(TIME_LIST_INDEX); - if(state != null){ - ((TimeDatePresenter)state).setAnalogClock(false); + if (state != null) { + ((TimeDatePresenter) state).setAnalogClock(false); } } @@ -54,132 +54,144 @@ public class L02MainModel extends BaseModel { public LiveData getObservablePhoneType() { PresenterCycle state = getPresenterList(PHONE_LIST_INDEX); - if(state != null){ - return ((PhoneStatePresenter)state).getPhoneTypeObservable(); + if (state != null) { + return ((PhoneStatePresenter) state).getPhoneTypeObservable(); } return null; } public LiveData getObservableSignal() { PresenterCycle state = getPresenterList(PHONE_LIST_INDEX); - if(state != null){ - return ((PhoneStatePresenter)state).getPhoneSignalObservable(); + if (state != null) { + return ((PhoneStatePresenter) state).getPhoneSignalObservable(); } return null; } public LiveData getObservableTransport() { PresenterCycle state = getPresenterList(PHONE_LIST_INDEX); - if(state != null){ - return ((PhoneStatePresenter)state).getPhoneTransportObservable(); + if (state != null) { + return ((PhoneStatePresenter) state).getPhoneTransportObservable(); } return null; } public LiveData getObservableBattery() { PresenterCycle state = getPresenterList(BATTERY_LIST_INDEX); - if(state != null){ - return ((BatteryPresenter)state).getObsBatteryResID(); + if (state != null) { + return ((BatteryPresenter) state).getObsBatteryResID(); } return null; } public LiveData getObservableBatteryCharging() { PresenterCycle state = getPresenterList(BATTERY_LIST_INDEX); - if(state != null){ - return ((BatteryPresenter)state).getObsBatteryCharging(); + if (state != null) { + return ((BatteryPresenter) state).getObsBatteryCharging(); + } + return null; + } + + public LiveData getObservableBTIsFull() { + PresenterCycle state = getPresenterList(BATTERY_LIST_INDEX); + if (state != null) { + return ((BatteryPresenter) state).getObsBatteryIsFull(); } return null; } public LiveData getObservableBatteryValue() { PresenterCycle state = getPresenterList(BATTERY_LIST_INDEX); - if(state != null){ - return ((BatteryPresenter)state).getObsBatteryValue(); + if (state != null) { + return ((BatteryPresenter) state).getObsBatteryValue(); } return null; } public LiveData getObservableHardwareHeart() { PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX); - if(state != null){ - return ((HardwarePresenter)state).getObsHardwareHeart(); + if (state != null) { + return ((HardwarePresenter) state).getObsHardwareHeart(); } return null; } public LiveData getObservableHardwarePed() { PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX); - if(state != null){ - return ((HardwarePresenter)state).getObsHardwarePed(); + if (state != null) { + return ((HardwarePresenter) state).getObsHardwarePed(); } return null; } + public LiveData getObservableHardwareTemp() { PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX); - if(state != null){ - return ((HardwarePresenter)state).getObsHardwareTemp(); + if (state != null) { + return ((HardwarePresenter) state).getObsHardwareTemp(); } return null; } + public LiveData getObservableHardwareTempOut() { PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX); - if(state != null){ - return ((HardwarePresenter)state).getObsHardwareTempOut(); + if (state != null) { + return ((HardwarePresenter) state).getObsHardwareTempOut(); } return null; } public LiveData getObservableHardwareHeartSpo2() { PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX); - if(state != null){ - return ((HardwarePresenter)state).getObsHardwareHeartSpo2(); + if (state != null) { + return ((HardwarePresenter) state).getObsHardwareHeartSpo2(); } return null; } + public LiveData getObservableWeek() { PresenterCycle state = getPresenterList(TIME_LIST_INDEX); - if(state != null){ - return ((TimeDatePresenter)state).getObsWeek(); + if (state != null) { + return ((TimeDatePresenter) state).getObsWeek(); } return null; } public LiveData getObservableYear() { PresenterCycle state = getPresenterList(TIME_LIST_INDEX); - if(state != null){ - return ((TimeDatePresenter)state).getObsYear(); + if (state != null) { + return ((TimeDatePresenter) state).getObsYear(); } return null; } public LiveData getObservableTime() { PresenterCycle state = getPresenterList(TIME_LIST_INDEX); - if(state != null){ - return ((TimeDatePresenter)state).getObsTime(); + if (state != null) { + return ((TimeDatePresenter) state).getObsTime(); } return null; } public LiveData getObservableBTStatus() { PresenterCycle state = getPresenterList(PHONE_LIST_INDEX); - if(state != null){ - return ((PhoneStatePresenter)state).getBTStatusObservalbe(); + if (state != null) { + return ((PhoneStatePresenter) state).getBTStatusObservalbe(); } return null; } public LiveData getObservableWiFiStatus() { PresenterCycle state = getPresenterList(PHONE_LIST_INDEX); - if(state != null){ - return ((PhoneStatePresenter)state).getWiFiStatusObservable(); + if (state != null) { + return ((PhoneStatePresenter) state).getWiFiStatusObservable(); } return null; } + public LiveData getObservableGpsStatus() { PresenterCycle state = getPresenterList(PHONE_LIST_INDEX); - if(state != null){ - return ((PhoneStatePresenter)state).getGpsStatusObservable(); + if (state != null) { + return ((PhoneStatePresenter) state).getGpsStatusObservable(); } return null; } diff --git a/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java b/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java index c6df81f..e0ae22d 100644 --- a/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java +++ b/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java @@ -7,12 +7,15 @@ import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Build; +import android.telephony.IccOpenLogicalChannelResponse; import android.telephony.TelephonyManager; import android.text.TextUtils; import androidx.annotation.RequiresApi; +import androidx.lifecycle.LiveData; import androidx.lifecycle.MediatorLiveData; +import com.ic.launcher.R; import com.ic.launcher.configure.l02.L02Icon; import com.ic.launcher.util.IcLog; import com.ic.launcher.util.SoundPlayUtils; @@ -50,6 +53,7 @@ public class BatteryPresenter extends PresenterCycle { private MediatorLiveData mObsBatteryValue; private MediatorLiveData mObsBatteryCharging; + private MediatorLiveData mObsBatteryIsFull; //comment by TrillGates: //从代码上看,这个是用于更新点亮图标的,如果插电了 //那么会显示动画 @@ -84,6 +88,7 @@ public class BatteryPresenter extends PresenterCycle { mObsBatteryValue = new MediatorLiveData<>(); mObsBatteryCharging = new MediatorLiveData<>(); mObsBatteryResID = new MediatorLiveData<>(); + mObsBatteryIsFull = new MediatorLiveData<>(); mObsLowPower = new MediatorLiveData<>(); mObsLowPowerValue = new MediatorLiveData<>(); @@ -150,7 +155,7 @@ public class BatteryPresenter extends PresenterCycle { } } }; - + private void updateBatteryValue(int rawlevel, int scale, int status) { int level = -1; @@ -162,7 +167,8 @@ public class BatteryPresenter extends PresenterCycle { mObsBatteryValue.setValue(level + "%"); mObsLowPowerValue.setValue(level + "%"); - + mObsBatteryIsFull.setValue(level == 100); + IcLog.i(TAG, "status === > " + status + " level -- > " + level); switch (status) { case BatteryManager.BATTERY_STATUS_CHARGING: mObsLowPower.setValue(false); @@ -170,7 +176,12 @@ public class BatteryPresenter extends PresenterCycle { break; case BatteryManager.BATTERY_STATUS_FULL: updateBatteryFullValue(); - mObsBatteryResID.setValue(L02Icon.l02BatteryResId[getBatteryLevel(level)]); + //充电满了,要显示满了的图标 + if (mObsBatteryCharging.getValue()) { + mObsBatteryResID.setValue(R.mipmap.l02_battery_5); + } else { + mObsBatteryResID.setValue(L02Icon.l02BatteryResId[getBatteryLevel(level)]); + } break; default: mObsBatteryResID.setValue(L02Icon.l02BatteryResId[getBatteryLevel(level)]); @@ -209,8 +220,11 @@ public class BatteryPresenter extends PresenterCycle { } private int getBatteryLevel(int level) { - int index = 5; - if (level > 85 && level < 100) { + IcLog.i(TAG, "level == > " + level); + int index; + if (level == 100) { + index = 5; + } else if (level > 85) { index = 4; } else if (level > 65) { index = 3; @@ -218,7 +232,7 @@ public class BatteryPresenter extends PresenterCycle { index = 2; } else if (level > 15) { index = 1; - } else if (level > 7) { + } else { index = 0; } @@ -280,4 +294,8 @@ public class BatteryPresenter extends PresenterCycle { public void playSoundIndex(int index) { playUtils.playKeyboardSound(mContext, index); } + + public LiveData getObsBatteryIsFull() { + return mObsBatteryIsFull; + } } diff --git a/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java b/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java index b582ec0..d019290 100644 --- a/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java +++ b/app/src/main/java/com/ic/launcher/presenter/PhoneStatePresenter.java @@ -25,11 +25,11 @@ public class PhoneStatePresenter extends PresenterCycle { @Override public void onPresenterResume() { super.onPresenterResume(); - IcLog.i(TAG,"onPresenterResume"); - if(mQueryThread == null){ + IcLog.i(TAG, "onPresenterResume"); + if (mQueryThread == null) { mQueryThread = new Thread(queryState); mQueryThread.start(); - }else if(queryState != null){ + } else if (queryState != null) { queryState.resumeQueryThread(); } } @@ -37,7 +37,7 @@ public class PhoneStatePresenter extends PresenterCycle { @Override public void onPresenterPause() { super.onPresenterPause(); - IcLog.i(TAG,"onPresenterPause"); + IcLog.i(TAG, "onPresenterPause"); if (mQueryThread != null && queryState != null) { queryState.pauseQueryThread(); } @@ -46,7 +46,7 @@ public class PhoneStatePresenter extends PresenterCycle { @Override public void onPresenterDestroy() { super.onPresenterDestroy(); - IcLog.i(TAG,"onPresenterDestroy"); + IcLog.i(TAG, "onPresenterDestroy"); if (mQueryThread != null) { mQueryThread.interrupt(); } @@ -55,14 +55,18 @@ public class PhoneStatePresenter extends PresenterCycle { } public PhoneStatePresenter(Context context) { - IcLog.i(TAG,"PhoneStatePresenter"); + IcLog.i(TAG, "PhoneStatePresenter"); mObsPhoneTypeID = new MediatorLiveData<>(); mObsPhoneSignalID = new MediatorLiveData<>(); mObsPhoneTransportID = new MediatorLiveData<>(); mObsBTStatusID = new MediatorLiveData<>(); mObsWiFiStatusID = new MediatorLiveData<>(); mObsGpsStatusID = new MediatorLiveData<>(); - queryState = new QueryPhoneState(context,mObsPhoneTypeID,mObsPhoneSignalID,mObsPhoneTransportID,mObsBTStatusID,mObsWiFiStatusID,mObsGpsStatusID); + queryState = new QueryPhoneState(context, mObsPhoneTypeID, + mObsPhoneSignalID, + mObsPhoneTransportID, mObsBTStatusID, + mObsWiFiStatusID, + mObsGpsStatusID); } public LiveData getPhoneTypeObservable() { @@ -82,6 +86,7 @@ public class PhoneStatePresenter extends PresenterCycle { return mObsBTStatusID; } + public LiveData getWiFiStatusObservable() { return mObsWiFiStatusID; } diff --git a/app/src/main/java/com/ic/launcher/widget/WidgetBatteryStateView.java b/app/src/main/java/com/ic/launcher/widget/WidgetBatteryStateView.java index 89222ca..ea98b5f 100644 --- a/app/src/main/java/com/ic/launcher/widget/WidgetBatteryStateView.java +++ b/app/src/main/java/com/ic/launcher/widget/WidgetBatteryStateView.java @@ -3,6 +3,7 @@ package com.ic.launcher.widget; import android.content.Context; import android.graphics.drawable.AnimationDrawable; import android.graphics.drawable.Drawable; +import android.telephony.IccOpenLogicalChannelResponse; import android.util.AttributeSet; import android.view.View; import android.view.ViewTreeObserver; @@ -14,9 +15,11 @@ import androidx.annotation.Nullable; import androidx.databinding.BindingAdapter; import com.ic.launcher.R; +import com.ic.launcher.util.IcLog; public class WidgetBatteryStateView extends LinearLayout { + private static final String TAG = "WidgetBatteryStateView"; private TextView batteryTv; private ImageView batteryIv; @@ -52,8 +55,11 @@ public class WidgetBatteryStateView extends LinearLayout { * * @param charge */ - public void updateBatteryChargeState(boolean charge) { - if (charge) { + public void updateBatteryChargeState(boolean charge, boolean isFull) { + IcLog.i(TAG, "charge == > " + charge); + IcLog.i(TAG, "isFull == > " + isFull); + if (charge && !isFull) { + //判断有没有充满 //充电状态 if (animationDrawable == null) { batteryIv.setImageResource(R.drawable.l02_battery_charging_anim); @@ -72,15 +78,20 @@ public class WidgetBatteryStateView extends LinearLayout { animationDrawable = null; } } + + if (charge && isFull) { + batteryIv.setImageResource(R.mipmap.l02_battery_5); + } } - @BindingAdapter(value = {"batteryValue", "batteryDrawable", "batteryCharge"}, requireAll = false) - public static void updateBatteryState(WidgetBatteryStateView view, String value, int imgRes, boolean charge) { + @BindingAdapter(value = {"batteryValue", "batteryDrawable", "batteryCharge", "isFull"}, requireAll = false) + public static void updateBatteryState(WidgetBatteryStateView view, String value, int imgRes, boolean charge, + boolean isFull) { if (view != null) { view.updateBatteryValue(value); view.updateBatteryDrawable(imgRes); - view.updateBatteryChargeState(charge); + view.updateBatteryChargeState(charge, isFull); } } } diff --git a/app/src/main/res/layout/activity_animal_heat.xml b/app/src/main/res/layout/activity_animal_heat.xml index d885a8b..a6467be 100644 --- a/app/src/main/res/layout/activity_animal_heat.xml +++ b/app/src/main/res/layout/activity_animal_heat.xml @@ -42,212 +42,227 @@ android:background="@mipmap/qs_background" tools:context=".AnimalHeatActivity"> - + + + app:layout_constraintEnd_toStartOf="@+id/guideline7" + app:layout_constraintTop_toTopOf="parent" /> + + app:layout_constraintStart_toStartOf="@+id/guideline8" + app:layout_constraintTop_toTopOf="@+id/guideline5" /> + + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="@+id/guideline" /> - + app:layout_constraintStart_toStartOf="@+id/guideline8" + app:layout_constraintTop_toTopOf="@+id/guideline" /> + app:layout_constraintStart_toStartOf="@+id/guideline8" + app:layout_constraintTop_toTopOf="parent" /> - + + + app:layout_constraintEnd_toStartOf="@+id/guideline7" + app:layout_constraintTop_toTopOf="@+id/guideline" /> + + + + + + + + + app:layout_constraintTop_toTopOf="@+id/guideline6" /> + + + - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="@+id/guideline5" /> + + app:layout_constraintBottom_toTopOf="@+id/guideline6" + app:layout_constraintEnd_toStartOf="@+id/guideline8" + app:layout_constraintTop_toTopOf="@+id/guideline5" /> + app:layout_constraintBottom_toTopOf="@+id/guideline" + app:layout_constraintEnd_toStartOf="@+id/guideline8" + app:layout_constraintTop_toTopOf="parent" /> - - + android:textSize="50sp" + android:visibility="@{disableTempOut ? View.GONE : View.VISIBLE}" + app:layout_constraintBottom_toTopOf="@+id/guideline5" + app:layout_constraintEnd_toStartOf="@+id/guideline8" + app:layout_constraintTop_toTopOf="@+id/guideline" /> diff --git a/app/src/main/res/layout/fragment_s123_main.xml b/app/src/main/res/layout/fragment_s123_main.xml index dd7f35a..16580ab 100644 --- a/app/src/main/res/layout/fragment_s123_main.xml +++ b/app/src/main/res/layout/fragment_s123_main.xml @@ -35,6 +35,10 @@ name="batteryCharge" type="boolean" /> + + @@ -140,7 +144,8 @@ android:layout_marginEnd="10dp" app:batteryCharge="@{batteryCharge}" app:batteryDrawable="@{batteryDrawable}" - app:batteryValue="@{batteryValue}" /> + app:batteryValue="@{batteryValue}" + app:isFull="@{batteryFull}" /> @@ -167,26 +172,23 @@ android:id="@+id/date_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" android:layout_below="@id/l02_time_image" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:gravity="center" - > + android:orientation="horizontal"> + android:text="@{watchDate}" /> + android:text="@{watchWeek}" /> + android:gravity="center" + android:visibility="@{showOutTemp}"> + android:src="@mipmap/outtemp" + android:visibility="@{showOutTemp}" /> + android:textAlignment="center" + android:visibility="@{showOutTemp}" /> diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 1aa411f..d75e659 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -143,5 +143,5 @@ ℃ 正在测量 测量完成 - 环境温度 + 环境 \ No newline at end of file