--- /dev/null
+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
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();
//观察是否要禁止掉拨号
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) {
--- /dev/null
+<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>
<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>
<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