update c5 app list order and add qrcode icon.
authorTrillGates <williamtrillgates@gmail.com>
Fri, 17 Sep 2021 11:18:28 +0000 (19:18 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Fri, 17 Sep 2021 11:18:28 +0000 (19:18 +0800)
app/src/main/java/com/ic/launcher/data/repository/AppsC53Repository.java [new file with mode: 0644]
app/src/main/java/com/ic/launcher/presenter/LauncherPresenter.java
app/src/main/java/com/ic/launcher/utils/SoundPlayUtils.java
app/src/main/res/drawable/ic_app_icon_qrcode.xml [new file with mode: 0644]
app/src/main/res/values/strings.xml

diff --git a/app/src/main/java/com/ic/launcher/data/repository/AppsC53Repository.java b/app/src/main/java/com/ic/launcher/data/repository/AppsC53Repository.java
new file mode 100644 (file)
index 0000000..9a00163
--- /dev/null
@@ -0,0 +1,85 @@
+package com.ic.launcher.data.repository;
+
+import com.ic.launcher.R;
+import com.ic.launcher.data.AppItem;
+import com.ic.launcher.data.IAppListRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 此类不可以被混淆,由反射去创建
+ */
+public class AppsC53Repository implements IAppListRepository {
+
+    @Override
+    public List<AppItem> getAppList() {
+        //硬编码的直接写吧
+        List<AppItem> appItems = new ArrayList<>();
+        //应用列表有:
+        //二维码码
+        appItems.add(new AppItem(
+                R.string.qr_code_text,
+                R.drawable.ic_app_icon_qrcode,
+                R.string.app_package_name_qr_code,
+                true
+        ));
+        // -联系人
+        appItems.add(new AppItem(
+                R.string.app_title_contact,
+                R.drawable.ic_app_icon_contact,
+                R.string.app_package_name_contact,
+                true
+        ));
+        // -电话
+        appItems.add(new AppItem(
+                R.string.app_title_phone,
+                R.drawable.ic_app_icon_dialer,
+                R.string.app_package_name_phone,
+                true
+        ));
+        // -微聊
+        appItems.add(new AppItem(
+                R.string.app_title_ic_talk,
+                R.drawable.ic_app_icon_wetalk,
+                R.string.app_package_name_ic_talk,
+                true
+        ));
+        // -短信
+        appItems.add(new AppItem(
+                R.string.app_title_sms,
+                R.drawable.ic_app_icon_sms,
+                R.string.app_package_name_sms,
+                true
+        ));
+        // -健康
+        appItems.add(new AppItem(
+                R.string.app_title_health,
+                R.drawable.ic_app_icon_health,
+                R.string.app_package_name_health,
+                true
+        ));
+        // -体温
+        appItems.add(new AppItem(
+                R.string.app_title_temperature,
+                R.drawable.ic_app_icon_temperature,
+                R.string.app_package_name_temperature,
+                true
+        ));
+        // -运动
+        appItems.add(new AppItem(
+                R.string.app_title_sport,
+                R.drawable.ic_app_icon_sport,
+                R.string.app_package_name_sport,
+                true
+        ));
+        // -设定
+        appItems.add(new AppItem(
+                R.string.app_title_settings,
+                R.drawable.ic_app_icon_settings,
+                R.string.app_package_name_settings,
+                true
+        ));
+        return appItems;
+    }
+}
\ No newline at end of file
index 46e3260..9c971c1 100644 (file)
@@ -38,12 +38,33 @@ public class LauncherPresenter extends BasePresenter {
     public MutableLiveData<List<AppItem>> appListValues = new MutableLiveData<>();
 
     private final ExecutorService executorService;
-    private final IAppListRepository appListRepository;
+    private IAppListRepository appListRepository;
 
     private LauncherPresenter(Context context) {
         this.mContext = context;
         executorService = Executors.newSingleThreadExecutor();
-        appListRepository = HardCodeAppListRepository.getInstance(context);
+        //动态创建即可
+        //App列表目录,动态创建
+        //注意不要混淆了,否则反射就没用了
+        //data/repository/Apps+numID+protocol+Repository,比如说:AppsC57Repository ,numberId = C5,7为协议号
+        try {
+            String idNum = SystemUtils.getSystemProperties("persist.sys.id_num");
+            String protocol = SystemUtils.getSystemProperties("persist.sys.protocol_no");
+            ICLogger.d("property ==> " + idNum);
+            ICLogger.d("protocol ==> " + protocol);
+            if (!TextUtils.isEmpty(idNum) && !TextUtils.isEmpty(protocol)) {
+                String targetName = "com.ic.launcher.data.repository.Apps" + idNum + protocol + "Repository";
+                ICLogger.d("target reposition ==> " + targetName);
+                appListRepository = (IAppListRepository) Class.forName(targetName).newInstance();
+                ICLogger.d("create repository okay..");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            appListRepository = null;
+        }
+        if (appListRepository == null) {
+            appListRepository = HardCodeAppListRepository.getInstance(context);
+        }
         //去获取应用列表内容
         initAppList();
         //观察是否要禁止掉拨号
index bda78ec..648cba5 100644 (file)
@@ -22,8 +22,8 @@ public class SoundPlayUtils {
             R.raw.chrg_complete,
             R.raw.do_not_enter,
             R.raw.goto_see_doctor,
-            R.raw.please_go_back_home};
-
+            R.raw.please_go_back_home
+    };
 
     public void init() {
         if (mSoundPlayer == null) {
diff --git a/app/src/main/res/drawable/ic_app_icon_qrcode.xml b/app/src/main/res/drawable/ic_app_icon_qrcode.xml
new file mode 100644 (file)
index 0000000..8676db1
--- /dev/null
@@ -0,0 +1,66 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="125dp"
+    android:height="125dp"
+    android:viewportWidth="125"
+    android:viewportHeight="125">
+  <path
+      android:pathData="M62.5,62.5m-62.5,0a62.5,62.5 0,1 1,125 0a62.5,62.5 0,1 1,-125 0">
+    <aapt:attr name="android:fillColor">
+      <gradient 
+          android:startY="125"
+          android:startX="62.5"
+          android:endY="-3.0437996E-15"
+          android:endX="62.5"
+          android:type="linear">
+        <item android:offset="0" android:color="#FF0E6EAD"/>
+        <item android:offset="1" android:color="#FF79F1A4"/>
+      </gradient>
+    </aapt:attr>
+  </path>
+  <path
+      android:pathData="M70,38L70,54L86,54L86,38ZM81,49L75,49L75,43L81,43ZM121,49"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M38,59L46,59L46,65L38,65ZM38,59"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M80,59L86,59L86,65L80,65ZM80,59"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M59,81L59,86L65,86L65,82L74,82L74,76L59,76ZM59,81"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M59,38L65,38L65,54L59,54ZM59,38"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M80,71L86,71L86,86L80,86ZM80,71"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M38,86L54,86L54,70L38,70ZM43,75L49,75L49,81L43,81ZM43,75"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M54,38L38,38L38,54L54,54ZM49,49L43,49L43,43L49,43ZM49,49"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+  <path
+      android:pathData="M65,59L53,59L53,65L59,65L59,71L80,71L80,65L65,65ZM65,59"
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:strokeColor="#00000000"/>
+</vector>
index 10e2213..5df584e 100644 (file)
@@ -23,6 +23,7 @@
     <string name="app_package_name_phone" translatable="false">com.ic.dial</string>
     <string name="app_package_name_ic_talk" translatable="false">com.ic.wetalk</string>
     <string name="app_package_name_contact" translatable="false">com.ic.contact</string>
+    <string name="app_package_name_qr_code" translatable="false">com.ic.qrc</string>
     <string name="app_package_name_camera" translatable="false">com.ic.camera</string>
     <string name="app_package_name_photo" translatable="false">com.ic.album</string>
     <string name="app_package_name_sms" translatable="false">com.ic.mms</string>
@@ -43,5 +44,6 @@
     <string name="no_sim_service">没有服务</string>
     <string name="checking_sim_text_tips">检测sim卡</string>
     <string name="ai_voice_text">AI语助</string>
+    <string name="qr_code_text">二维码</string>
 
 </resources>
\ No newline at end of file