release V165
authorsnickersun <scy@incartech.cn>
Sat, 24 Oct 2020 17:05:36 +0000 (01:05 +0800)
committersnickersun <scy@incartech.cn>
Sat, 24 Oct 2020 17:05:36 +0000 (01:05 +0800)
1、添加环境温度检测
2、主界面添加 环境温度,血氧数据 显示, 状态栏缩小,加入电池百分比显示。
3、去掉低电窗口
4、修改语言入口,调用新的apk

28 files changed:
app/release/ICL02Launcher_V165_202010250101_release.apk [moved from app/release/ICL02Launcher_V163_202010192341_release.apk with 52% similarity]
app/release/output.json
app/src/main/aidl/com/ic/aidl/temp/ITempAidlInterface.aidl
app/src/main/java/com/ic/launcher/AnimalHeatActivity.java
app/src/main/java/com/ic/launcher/MainActivity.java
app/src/main/java/com/ic/launcher/configure/l02/L02AppInfo.java
app/src/main/java/com/ic/launcher/fragment/L02MainFragment.java
app/src/main/java/com/ic/launcher/mode/L02MainModel.java
app/src/main/java/com/ic/launcher/presenter/HardwarePresenter.java
app/src/main/java/com/ic/launcher/util/SPUtils.java
app/src/main/java/com/ic/launcher/widget/WidgetBatteryStateView.java
app/src/main/java/com/ic/launcher/widget/WidgetPhoneStateView.java
app/src/main/res/layout/activity_animal_heat.xml
app/src/main/res/layout/fragment_l02_main.xml
app/src/main/res/layout/fragment_s123_main.xml [new file with mode: 0644]
app/src/main/res/layout/widget_battery_state_layout.xml
app/src/main/res/layout/widget_phone_state_layout.xml
app/src/main/res/mipmap-mdpi/bodytemp.png [new file with mode: 0644]
app/src/main/res/mipmap-mdpi/gps_small_white.png [new file with mode: 0644]
app/src/main/res/mipmap-mdpi/heartrate.png [new file with mode: 0644]
app/src/main/res/mipmap-mdpi/outtemp.png [new file with mode: 0644]
app/src/main/res/mipmap-mdpi/spo2.png [new file with mode: 0644]
app/src/main/res/values-en/strings.xml
app/src/main/res/values-ja/strings.xml
app/src/main/res/values-zh-rCN/strings.xml
app/src/main/res/values/strings.xml
app/src/main/res/values/styles.xml
app/version_code.properties

similarity index 52%
rename from app/release/ICL02Launcher_V163_202010192341_release.apk
rename to app/release/ICL02Launcher_V165_202010250101_release.apk
index 49563bb..b61e37e 100644 (file)
Binary files a/app/release/ICL02Launcher_V163_202010192341_release.apk and b/app/release/ICL02Launcher_V165_202010250101_release.apk differ
index e6651ed..60e4f93 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":163,"versionName":"202010192341","enabled":true,"outputFile":"ICL02Launcher_V163_202010192341_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Launcher_V163_202010192341_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":165,"versionName":"202010250101","enabled":true,"outputFile":"ICL02Launcher_V165_202010250101_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Launcher_V165_202010250101_release.apk","properties":{}}]
\ No newline at end of file
index 2feb420..433313c 100644 (file)
@@ -6,6 +6,6 @@ interface ITempAidlInterface {
      * Demonstrates some basic types that you can use as parameters
      * and return values in AIDL.
      */
-     void updateCurrTempValue(double value,double animal);
-     void updateResultTempValue(double value,double animal);
+     void updateCurrTempValue(double value,double animal,double tempOut);
+     void updateResultTempValue(double value,double animal,double tempOut);
 }
index f0a69cf..af07eef 100644 (file)
@@ -71,8 +71,9 @@ public class AnimalHeatActivity extends AppCompatActivity implements
         heatBinding.setBodyTemp("--");
         heatBinding.setWristTemp("--");
         boolean disablewristtemp=SystemUtils.getSystemPropertiesBoolean("persyst.sys.disableWristTemp",false);
+        boolean disabletempOUt=SystemUtils.getSystemPropertiesBoolean("persyst.sys.disableTempOut",true);
         heatBinding.setDisableWristTemp(disablewristtemp);
-
+        heatBinding.setDisableTempOut(disabletempOUt);
     }
 
 
@@ -130,15 +131,17 @@ public class AnimalHeatActivity extends AppCompatActivity implements
         return true;
     }
 
-    private void setTemperatureUi(int type, double temp, double animal) {
+    private void setTemperatureUi(int type, double temp, double animal,double tempOut) {
         DecimalFormat df = new DecimalFormat("#.0");
         switch (type){
             case 0:
                 if (heatBinding.getDisableWristTemp()){
                     heatBinding.setBodyTemp(df.format(temp));
+                    heatBinding.setTempout(df.format(tempOut));
                 }else {
                     heatBinding.setBodyTemp(df.format(animal));
                     heatBinding.setWristTemp(df.format(temp));
+                    heatBinding.setTempout(df.format(tempOut));
                 }
                 break;
             case 1:
@@ -189,23 +192,24 @@ public class AnimalHeatActivity extends AppCompatActivity implements
 
     private ITempAidlInterface.Stub tempInterface = new ITempAidlInterface.Stub() {
         @Override
-        public void updateCurrTempValue(double value, double animal) throws RemoteException {
-            mHandler.sendMessage(obtainMessage(0, value, animal));
+        public void updateCurrTempValue(double value, double animal,double tempOut) throws RemoteException {
+            mHandler.sendMessage(obtainMessage(0, value, animal,tempOut));
         }
 
         @Override
-        public void updateResultTempValue(double value, double animal) throws RemoteException {
-            mHandler.sendMessage(obtainMessage(1, value, animal));
+        public void updateResultTempValue(double value, double animal,double tempOut) throws RemoteException {
+            mHandler.sendMessage(obtainMessage(1, value, animal,tempOut));
         }
     };
 
-    private Message obtainMessage(int type, double value, double animal) {
+    private Message obtainMessage(int type, double value, double animal,double tempOut) {
         Message message = Message.obtain();
         message.what = 1;
         Bundle bundle = new Bundle();
         bundle.putInt("type", type);
         bundle.putDouble("value", value);
         bundle.putDouble("animal", animal);
+        bundle.putDouble("tempOut",tempOut);
         message.setData(bundle);
         return message;
     }
@@ -253,7 +257,8 @@ public class AnimalHeatActivity extends AppCompatActivity implements
                     weakRf.get().setTemperatureUi(
                             bundle.getInt("type"),
                             bundle.getDouble("value"),
-                            bundle.getDouble("animal"));
+                            bundle.getDouble("animal"),
+                            bundle.getDouble("tempOut"));
                     break;
             }
         }
index 9ddfc56..ec7486b 100644 (file)
@@ -171,10 +171,13 @@ public class MainActivity extends AppCompatActivity implements
             IcLog.i(TAG, "getObservableLowPower status:" + status);
             isLowPower = status;
             isChangeClock = false;
-            if (status) {
-                ftManage.gotoLowPowerMode(isFinishing(), lowBatteryValue);
-            } else {
-                ftManage.quitLowPowerMode(isFinishing());
+
+            if(SystemUtils.getSystemPropertiesBoolean("persist.sys.LowpowerLock",false)) {
+                if (status) {
+                    ftManage.gotoLowPowerMode(isFinishing(), lowBatteryValue);
+                } else {
+                    ftManage.quitLowPowerMode(isFinishing());
+                }
             }
         });
     }
index b9120fd..681fd70 100644 (file)
@@ -108,7 +108,7 @@ public class L02AppInfo {
                     "com.zmapp.sms", "com.zmapp.sms.MainActivity"));
 
             add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_language_h88, R.string.app_h88_language,
-                    "com.eqc.eqcguide", "com.eqc.eqcguide.MainActivity"));
+                    "com.ic.languageguide", "com.ic.languageguide.MainActivity"));
             //设置
             add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_settings_l02, R.string.main_manu_settings,
                     "com.eqc.settings", "com.eqc.settings.MainActivity"));
index a4c98a0..6db842f 100644 (file)
@@ -18,6 +18,7 @@ import android.widget.TextView;
 import com.ic.launcher.R;
 import com.ic.launcher.configure.l02.L02Icon;
 import com.ic.launcher.databinding.FragmentL02MainBinding;
+import com.ic.launcher.databinding.FragmentS123MainBinding;
 import com.ic.launcher.mode.BaseModel;
 import com.ic.launcher.mode.L02MainModel;
 import com.ic.launcher.util.IcLog;
@@ -29,7 +30,7 @@ public class L02MainFragment extends BaseFragment {
 
     private static final String TAG = "L02MainFragment";
 
-    private FragmentL02MainBinding mainBinding;
+    private FragmentS123MainBinding mainBinding;
     private boolean chargingState;
 
     public static L02MainFragment newInstance() {
@@ -61,9 +62,11 @@ public class L02MainFragment extends BaseFragment {
                              Bundle savedInstanceState) {
 
 
-        mainBinding = FragmentL02MainBinding.inflate(inflater, container, false);
+        mainBinding = FragmentS123MainBinding.inflate(inflater, container, false);
         mainBinding.setHeartValue(String.valueOf(SPUtils.getBloodHeartSP(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.setStepValue("0");
         if(SystemUtils.isS123())
@@ -75,6 +78,7 @@ public class L02MainFragment extends BaseFragment {
             Log.i(TAG,"not S123");
             mainBinding.setShowTemp(View.GONE);
             mainBinding.setShowStep(View.VISIBLE);
+
         }
         //监听事件
         initOnTouchListener(mainBinding.getRoot());
@@ -205,6 +209,18 @@ public class L02MainFragment extends BaseFragment {
                 mainBinding.setTempValue(temp);
             }
         });
+        model.getObservableHardwareTempOut().observe(this, 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);
+                mainBinding.setSpo2value(spo2);
+            }
+        });
     }
 
     private void updateTimeValue(int[] value){
index 640f9c1..e9d18c9 100644 (file)
@@ -122,7 +122,21 @@ public class L02MainModel extends BaseModel {
         }
         return null;
     }
+    public LiveData<String> getObservableHardwareTempOut() {
+        PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX);
+        if(state != null){
+            return ((HardwarePresenter)state).getObsHardwareTempOut();
+        }
+        return null;
+    }
 
+    public LiveData<String> getObservableHardwareHeartSpo2() {
+        PresenterCycle state = getPresenterList(HARDWARE_LIST_INDEX);
+        if(state != null){
+            return ((HardwarePresenter)state).getObsHardwareHeartSpo2();
+        }
+        return null;
+    }
     public LiveData<String> getObservableWeek() {
         PresenterCycle state = getPresenterList(TIME_LIST_INDEX);
         if(state != null){
index 00bc236..9678de8 100644 (file)
@@ -20,13 +20,17 @@ public class HardwarePresenter extends PresenterCycle {
     public static final String ACTION_TEMP_RESULT = "com.ic.action.temp_result";
     public static final String KEY_TEMP_BODY = "body";  // double 体温
     public static final String KEY_TEMP_WRIST = "wrist";  //  double 腕温
+    public static final String KEY_TEMP_OUT = "out";  //  double 环境温度
+
 
     private static final String GET_PED_ACTION = "com.ic.action.GET_PED_COUNT";
 
     private Context mContext;
     private MediatorLiveData<String> mObsHardwareHeart;
+    private MediatorLiveData<String> mObsHardwareSPo2;
     private MediatorLiveData<String> mObsHardwarePed;
     private MediatorLiveData<String> mObsHardwareTemp;
+    private MediatorLiveData<String> mObsHardwareTempOut;
 
     @Override
     public void onPresenterCreate() {
@@ -51,6 +55,8 @@ public class HardwarePresenter extends PresenterCycle {
         mObsHardwareHeart = new MediatorLiveData<>();
         mObsHardwarePed = new MediatorLiveData<>();
         mObsHardwareTemp = new MediatorLiveData<>();
+        mObsHardwareTempOut = new MediatorLiveData<>();
+        mObsHardwareSPo2  = new MediatorLiveData<>();
     }
 
     public MediatorLiveData<String> getObsHardwareHeart() {
@@ -66,6 +72,15 @@ public class HardwarePresenter extends PresenterCycle {
 
         return mObsHardwareTemp;
     }
+    public MediatorLiveData<String> getObsHardwareTempOut() {
+
+        return mObsHardwareTempOut;
+    }
+    public MediatorLiveData<String> getObsHardwareHeartSpo2() {
+
+        return mObsHardwareSPo2;
+    }
+
 
     private void sendGetPedBroadcast(){
         Intent pedIntent = new Intent();
@@ -105,20 +120,27 @@ public class HardwarePresenter extends PresenterCycle {
                         break;
                     case HEART_ACTION:
                         int heart = intent.getIntExtra("BLOOD_HEART", 0);
+                        int spo2 = intent.getIntExtra("BLOOD_SPO2", 0);
                         mObsHardwareHeart.setValue(String.valueOf(heart));
+                        mObsHardwareSPo2.setValue(String.valueOf(spo2));
                         SPUtils.setBloodHeartSP(mContext,heart);
+                        SPUtils.setBloodSPo2SP(mContext,spo2);
                         break;
                     case ACTION_TEMP_RESULT:
                         double bodytemp = intent.getDoubleExtra(KEY_TEMP_BODY,0.0f);
                         double wristtemp = intent.getDoubleExtra(KEY_TEMP_WRIST,0.0f);
+                        double tempOut = intent.getDoubleExtra(KEY_TEMP_OUT,0.0f);
                         boolean disablewristtemp= SystemUtils.getSystemPropertiesBoolean("persyst.sys.disableWristTemp",false);
+                        boolean disabletempOut= SystemUtils.getSystemPropertiesBoolean("persyst.sys.disableTempOut",false);
                         IcLog.i(TAG,"action get Temp body "+bodytemp+", wrist "+wristtemp);
                         if (disablewristtemp) {
                             mObsHardwareTemp.setValue(String.format("%.1f", wristtemp));
                         }else{
                             mObsHardwareTemp.setValue(String.format("%.1f", bodytemp));
                         }
+                        mObsHardwareTempOut.setValue(String.format("%.1f", tempOut));
                         SPUtils.setTempSP(mContext,(float)bodytemp);
+                        SPUtils.setTempOutSP(mContext,(float)tempOut);
                         break;
                 }
             }
index a42e127..f73983b 100644 (file)
@@ -7,6 +7,8 @@ public class SPUtils {
 
     private static final String Blood_Heart = "Blood_Heart";
     private static final String BODY_TEMP = "Body_temp";
+    private static final String TEMP_OUT = "Out_temp";
+    private static final String Blood_SPo2 = "Blood_SPo2";
 
     private static SharedPreferences getSP(Context context) {
         return context.getSharedPreferences("IcBloodSet", Context.MODE_PRIVATE);
@@ -35,6 +37,26 @@ public class SPUtils {
             editor.apply();
         }
     }
+    public static float getTempOutSP(Context context) {
+        return getSP(context).getFloat(TEMP_OUT, 0.0f);
+    }
+    public static void setTempOutSP(Context context,float body_temp) {
+        SharedPreferences.Editor editor = getSP(context).edit();
+        if (editor != null) {
+            editor.putFloat(TEMP_OUT, body_temp);
+            editor.apply();
+        }
+    }
+    public static int getBloodSPo2SP(Context context) {
+        return getSP(context).getInt(Blood_SPo2, 0);
+    }
+    public static void setBloodSPo2SP(Context context,int spo2) {
+        SharedPreferences.Editor editor = getSP(context).edit();
+        if (editor != null) {
+            editor.putInt(Blood_SPo2, spo2);
+            editor.apply();
+        }
+    }
     private static final String Clock_Main= "Clock_Main";
 
     private static SharedPreferences getClockSP(Context context) {
index 2ac5b15..7be24ba 100644 (file)
@@ -39,7 +39,7 @@ public class WidgetBatteryStateView extends LinearLayout {
     }
 
     public void updateBatteryValue(String bv) {
-        batteryTv.setVisibility(GONE);
+//        batteryTv.setVisibility(GONE);
         batteryTv.setText(bv);
     }
 
index 7f74617..509e927 100644 (file)
@@ -82,6 +82,7 @@ public class WidgetPhoneStateView extends LinearLayout {
         }else{
             netTypeIv.setVisibility(GONE);
             transportIv.setVisibility(GONE);
+
         }
 
     }
index 7d0ec6b..66a0e73 100644 (file)
             name="wristTemp"
             type="String" />
 
+        <variable
+            name="tempout"
+            type="String" />
+
         <variable
             name="checkTips"
             type="String" />
         <variable
             name="disableWristTemp"
             type="boolean" />
+
+        <variable
+            name="disableTempOut"
+            type="boolean" />
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
@@ -52,7 +60,7 @@
             android:background="@android:color/transparent"
             android:text="@string/activity_temp_str"
             android:textColor="#FB8C00"
-            android:textSize="32sp"
+            android:textSize="28sp"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.2"
             android:background="@android:color/transparent"
             android:text="@{bodyTemp}"
             android:textColor="#FFFFFF"
-            android:textSize="62sp"
+            android:textSize="50sp"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.62"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.165" />
-
+            app:layout_constraintVertical_bias="0.145" />
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@android:color/transparent"
+            android:text="@string/activity_temp_unit"
+            android:textColor="#FFFFFF"
+            android:textSize="28sp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHorizontal_bias="0.899"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintVertical_bias="0.202" />
         <ImageView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="@{disableWristTemp ? View.GONE : View.VISIBLE}"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.613" />
+            app:layout_constraintVertical_bias="0.513" />
 
         <TextView
             android:layout_width="wrap_content"
             android:background="@android:color/transparent"
             android:text="@string/activity_temp_wrist_str"
             android:textColor="#00ACC1"
-            android:textSize="32sp"
+            android:textSize="28sp"
             android:visibility="@{disableWristTemp ? View.GONE : View.VISIBLE}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.18"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.454" />
+            app:layout_constraintVertical_bias="0.354" />
 
         <TextView
             android:layout_width="wrap_content"
             android:background="@android:color/transparent"
             android:text="@{wristTemp}"
             android:textColor="#FFFFFF"
-            android:textSize="62sp"
+            android:textSize="50sp"
             android:visibility="@{disableWristTemp ? View.GONE : View.VISIBLE}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.62"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.6" />
+            app:layout_constraintVertical_bias="0.5" />
 
         <TextView
             android:layout_width="wrap_content"
             android:background="@android:color/transparent"
             android:text="@string/activity_temp_unit"
             android:textColor="#FFFFFF"
-            android:textSize="32sp"
+            android:textSize="28sp"
             android:visibility="@{disableWristTemp ? View.GONE : View.VISIBLE}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.899"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.599" />
+            app:layout_constraintVertical_bias="0.5" />
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@android:color/transparent"
+            android:text="@string/activity_temp_outside"
+            android:textColor="#00ACC1"
+            android:textSize="28sp"
+            android:visibility="@{disableTempOut ? View.GONE : View.VISIBLE}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHorizontal_bias="0.18"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintVertical_bias="0.754" />
+<!--        <ImageView-->
+<!--            android:layout_width="wrap_content"-->
+<!--            android:layout_height="wrap_content"-->
+<!--            android:background="@android:color/transparent"-->
+<!--            android:src="@drawable/ic_temp_wrist"-->
+<!--            app:layout_constraintBottom_toBottomOf="parent"-->
+<!--            app:layout_constraintEnd_toEndOf="parent"-->
+<!--            app:layout_constraintHorizontal_bias="0.2"-->
+<!--            android:visibility="@{disableTempOut ? View.GONE : View.VISIBLE}"-->
+<!--            app:layout_constraintStart_toStartOf="parent"-->
+<!--            app:layout_constraintTop_toTopOf="parent"-->
+<!--            app:layout_constraintVertical_bias="0.8" />-->
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@android:color/transparent"
+            android:text="@{tempout}"
+            android:textColor="#FFFFFF"
+            android:textSize="50sp"
+            android:visibility="@{disableTempOut ? View.GONE : View.VISIBLE}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHorizontal_bias="0.62"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintVertical_bias="0.8" />
 
         <TextView
             android:layout_width="wrap_content"
             android:background="@android:color/transparent"
             android:text="@string/activity_temp_unit"
             android:textColor="#FFFFFF"
-            android:textSize="32sp"
+            android:textSize="28sp"
+            android:visibility="@{disableTempOut ? View.GONE : View.VISIBLE}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.899"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.202" />
-
+            app:layout_constraintVertical_bias="0.8" />
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:background="@android:color/transparent"
             android:text="@{checkTips}"
             android:textColor="#FFFFFF"
-            android:textSize="36sp"
+            android:textSize="28sp"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.812" />
+            app:layout_constraintVertical_bias="0.9" />
 
         <com.github.silvestrpredko.dotprogressbar.DotProgressBar
             android:id="@+id/dot_progress_bar"
             android:layout_width="wrap_content"
-            android:layout_height="40dp"
+            android:layout_height="30dp"
             android:background="@android:color/transparent"
             android:visibility="@{showLoading ? View.VISIBLE : View.GONE}"
             app:amount="5"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.962"
+            app:layout_constraintVertical_bias="0.98"
             app:startColor="@color/lime_A400" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
index 90c2049..ad57257 100644 (file)
             name="watchWeek"
             type="String" />
 
-        <variable
-            name="heartValue"
-            type="String" />
 
         <variable
             name="stepValue"
             type="String" />
-        <variable
-            name="TempValue"
-            type="String" />
+
         <variable
             name="btStatus"
             type="boolean" />
             name="showStep"
             type="int" />
 
+        <variable
+            name="heartValue"
+            type="String" />
+        <variable
+            name="TempValue"
+            type="String" />
+        <variable
+            name="spo2value"
+            type="String" />
+        <variable
+            name="outTempValue"
+            type="String" />
     </data>
 
     <RelativeLayout
diff --git a/app/src/main/res/layout/fragment_s123_main.xml b/app/src/main/res/layout/fragment_s123_main.xml
new file mode 100644 (file)
index 0000000..2bed594
--- /dev/null
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:context=".fragment.l02.L02StatusBarFragment">
+
+    <data>
+        <variable
+            name="phoneShow"
+            type="boolean" />
+        <variable
+            name="phoneSignal"
+            type="int" />
+
+        <variable
+            name="phoneNetType"
+            type="int" />
+
+        <variable
+            name="phoneTransport"
+            type="int" />
+
+        <variable
+            name="batteryDrawable"
+            type="int" />
+
+        <variable
+            name="batteryValue"
+            type="String" />
+
+        <variable
+            name="batteryCharge"
+            type="boolean" />
+
+        <variable
+            name="hourTen"
+            type="int" />
+
+        <variable
+            name="hourBit"
+            type="int" />
+
+        <variable
+            name="minuteTen"
+            type="int" />
+
+        <variable
+            name="minuteBit"
+            type="int" />
+
+        <variable
+            name="watchDate"
+            type="String" />
+
+        <variable
+            name="watchWeek"
+            type="String" />
+
+
+        <variable
+            name="stepValue"
+            type="String" />
+
+        <variable
+            name="btStatus"
+            type="boolean" />
+        <variable
+            name="wifiStatus"
+            type="boolean" />
+        <variable
+            name="gpsStatus"
+            type="boolean" />
+        <variable
+            name="showTemp"
+            type="int" />
+        <variable
+            name="showStep"
+            type="int" />
+
+        <variable
+            name="heartValue"
+            type="String" />
+        <variable
+            name="TempValue"
+            type="String" />
+        <variable
+            name="spo2value"
+            type="String" />
+        <variable
+            name="outTempValue"
+            type="String" />
+    </data>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <RelativeLayout
+            android:id="@+id/main_status"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/status_bar_height_dm"
+            android:layout_marginTop="20dp">
+
+            <com.ic.launcher.widget.WidgetPhoneStateView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:layout_marginStart="10dp"
+                app:netTypeDrawable="@{phoneNetType}"
+                app:signalDrawable="@{phoneSignal}"
+                app:transportDrawable="@{phoneTransport}"
+                app:phoneShow="@{phoneShow}"
+                app:btenabled="@{btStatus}"
+                app:wifienabled="@{wifiStatus}"
+                app:gpsenabled="@{gpsStatus}"/>
+
+            <com.ic.launcher.widget.WidgetBatteryStateView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentEnd="true"
+                android:layout_marginTop="10dp"
+                android:layout_marginEnd="10dp"
+                app:batteryCharge="@{batteryCharge}"
+                app:batteryDrawable="@{batteryDrawable}"
+                app:batteryValue="@{batteryValue}" />
+        </RelativeLayout>
+
+
+        <com.ic.launcher.widget.WidgetTimeImageView
+            android:id="@+id/l02_time_image"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/main_status"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="15dp"
+            app:hourBitResId="@{hourBit}"
+            app:hourTenResId="@{hourTen}"
+            app:minuteBitResId="@{minuteBit}"
+            app:minuteTenResId="@{minuteTen}" />
+
+        <View
+            android:id="@+id/l02_time_sp"
+            android:layout_width="1dp"
+            android:layout_height="80dp"
+            android:layout_below="@id/l02_time_image"
+            android:layout_centerHorizontal="true" />
+
+        <TextView
+            android:id="@+id/l02_watch_data"
+            style="@style/watchDateTextStyle"
+            android:layout_below="@id/l02_time_image"
+            android:layout_marginEnd="8dp"
+            android:layout_toStartOf="@id/l02_time_sp"
+            android:text="@{watchDate}" />
+
+        <TextView
+            style="@style/watchDateTextStyle"
+            android:layout_below="@id/l02_time_image"
+            android:layout_marginStart="20dp"
+            android:layout_toEndOf="@id/l02_time_sp"
+            android:text="@{watchWeek}"/>
+
+        <ImageView
+            android:id="@+id/l02_temp_out"
+            style="@style/watchDateIconS123Style"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:layout_alignParentStart="true"
+
+            android:src="@mipmap/outtemp" />
+
+        <TextView
+            android:id="@+id/l02_temp_out_value"
+            style="@style/watchDateIconTextS123Style"
+            android:layout_width="50dp"
+            android:layout_alignParentStart="true"
+
+            android:text="@{outTempValue}"
+            android:textAlignment="textEnd" />
+        <ImageView
+            android:id="@+id/l02_heart_img"
+            style="@style/watchDateIconS123Style"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:layout_toEndOf="@id/l02_temp_out"
+            android:src="@mipmap/clockl02_heartrate_icon" />
+
+        <TextView
+            android:id="@+id/l02_heart_value"
+            style="@style/watchDateIconTextS123Style"
+            android:layout_width="50dp"
+            android:textAlignment="textEnd"
+            android:layout_toEndOf="@id/l02_temp_out_value"
+            android:text="@{heartValue}" />
+
+        <ImageView
+            android:id="@+id/l02_spo2_img"
+            style="@style/watchDateIconS123Style"
+            android:layout_toEndOf="@id/l02_heart_img"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+
+            android:src="@mipmap/spo2" />
+
+        <TextView
+            android:id="@+id/l02_spo2_value"
+            style="@style/watchDateIconTextS123Style"
+            android:textAlignment="textEnd"
+            android:layout_toEndOf="@id/l02_heart_value"
+            android:layout_width="50dp"
+            android:text="@{spo2value}" />
+
+        <ImageView
+            android:id="@+id/s123_temp_img"
+            style="@style/watchDateIconS123Style"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:layout_toEndOf="@id/l02_spo2_img"
+            android:visibility="@{showTemp}"
+            android:src="@mipmap/bodytemp" />
+
+        <TextView
+            android:id="@+id/l02_temp_value"
+            style="@style/watchDateIconTextS123Style"
+            android:layout_width="50dp"
+            android:textAlignment="textEnd"
+            android:visibility="@{showTemp}"
+            android:layout_toEndOf="@id/l02_spo2_value"
+            android:text="@{TempValue}" />
+
+    </RelativeLayout>
+
+</layout>
\ No newline at end of file
index dacbb4f..754ff2c 100644 (file)
@@ -2,22 +2,21 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:orientation="horizontal"
     android:layout_gravity="center_vertical">
 
     <TextView
         android:id="@+id/battery_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_width="50dp"
+        android:layout_height="30dp"
+        android:includeFontPadding="false"
         android:textColor="#FFFFFF"
-        android:textSize="36sp"
-        android:textStyle="bold"
-        android:includeFontPadding="false"/>
-
+        android:textSize="20sp"
+        android:textAlignment="textEnd"
+        android:textStyle="bold" />
     <ImageView
         android:id="@+id/battery_iv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="5dp"/>
+        android:layout_width="50dp"
+        android:layout_height="30dp"
+         />
 
 </LinearLayout>
\ No newline at end of file
index 1754947..937fdda 100644 (file)
@@ -9,37 +9,35 @@
     <ImageView
         android:id="@+id/signal_iv"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
+        android:layout_height="30dp" />
 
     <ImageView
         android:id="@+id/net_type_iv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginStart="5dp"/>
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+
+        />
 
     <ImageView
         android:id="@+id/transport_iv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginStart="2dp"/>
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+
+       />
     <ImageView
         android:id="@+id/status_wifi"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginStart="2dp"/>
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+     />
     <ImageView
         android:id="@+id/status_bt"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginStart="2dp"/>
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+
+/>
     <ImageView
         android:id="@+id/status_gps"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginStart="2dp"/>
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+/>
 </LinearLayout>
diff --git a/app/src/main/res/mipmap-mdpi/bodytemp.png b/app/src/main/res/mipmap-mdpi/bodytemp.png
new file mode 100644 (file)
index 0000000..03182ea
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/bodytemp.png differ
diff --git a/app/src/main/res/mipmap-mdpi/gps_small_white.png b/app/src/main/res/mipmap-mdpi/gps_small_white.png
new file mode 100644 (file)
index 0000000..d0a25c5
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/gps_small_white.png differ
diff --git a/app/src/main/res/mipmap-mdpi/heartrate.png b/app/src/main/res/mipmap-mdpi/heartrate.png
new file mode 100644 (file)
index 0000000..076db9a
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/heartrate.png differ
diff --git a/app/src/main/res/mipmap-mdpi/outtemp.png b/app/src/main/res/mipmap-mdpi/outtemp.png
new file mode 100644 (file)
index 0000000..420b4a1
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/outtemp.png differ
diff --git a/app/src/main/res/mipmap-mdpi/spo2.png b/app/src/main/res/mipmap-mdpi/spo2.png
new file mode 100644 (file)
index 0000000..aaf2a12
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/spo2.png differ
index 0180b48..2210d30 100644 (file)
        <string name="activity_temp_wrist_str">WRIST</string>
        <string name="activity_temp_tips_check">MEASURING</string>
        <string name="activity_temp_tips_end">COMPLETE</string>
+       <string name="activity_temp_outside">TEMPOut</string>
 </resources>
index 30df3c7..6bee655 100644 (file)
     <string name="activity_temp_wrist_str">手首の温度</string>
     <string name="activity_temp_tips_check">測定中</string>
     <string name="activity_temp_tips_end">測定完了</string>
+       <string name="activity_temp_outside">周囲温度</string>
+
+       <string name="app_h88_qrcode">QRコード</string>
+       <string name="app_h88_temperature">たいおん</string>
+       <string name="app_h88_language">言語</string>
 </resources>
index 5e85b0a..225b3cc 100644 (file)
     <string name="activity_temp_wrist_str">腕温</string>
     <string name="activity_temp_tips_check">正在测量</string>
     <string name="activity_temp_tips_end">测量完成</string>
+    <string name="activity_temp_outside">环境温度</string>
 </resources>
\ No newline at end of file
index 4b8c556..f3d23ad 100644 (file)
     <string name="activity_temp_unit">℃</string>
     <string name="activity_temp_tips_check">正在测量</string>
     <string name="activity_temp_tips_end">测量完成</string>
+    <string name="activity_temp_outside">环境温度</string>
 </resources>
\ No newline at end of file
index e9b76f2..3031f4e 100644 (file)
         <item name="android:textSize">32sp</item>
         <item name="android:textColor">#FFFFFF</item>
         <item name="android:includeFontPadding">false</item>
-        <item name="android:layout_marginBottom">25dp</item>
+        <item name="android:layout_marginBottom">10dp</item>
+    </style>
+    <style name="watchDateIconS123Style">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_marginStart">30dp</item>
+        <item name="android:layout_alignParentBottom">true</item>
+        <item name="android:layout_marginBottom">45dp</item>
+    </style>
+
+    <style name="watchDateIconTextS123Style" parent="watchDateIconStyle">
+        <item name="android:textSize">26sp</item>
+        <item name="android:textColor">#FFFFFF</item>
+        <item name="android:layout_marginStart">20dp</item>
+        <item name="android:includeFontPadding">false</item>
+        <item name="android:layout_marginBottom">5dp</item>
     </style>
 
     <style name="QcCordTextStyle">
index a9659ab..f280bcf 100644 (file)
@@ -1,2 +1,2 @@
-#Mon Oct 19 23:41:32 CST 2020\r
-VERSION_CODE=163\r
+#Sun Oct 25 01:01:29 CST 2020\r
+VERSION_CODE=165\r