"type": "SINGLE",
"filters": [],
"properties": [],
- "versionCode": 188,
- "versionName": "202012311432",
+ "versionCode": 191,
+ "versionName": "202102062356",
"enabled": true,
- "outputFile": "ICL02Launcher_V188_202012311432_release.apk"
+ "outputFile": "ICL02Launcher_V191_202102062356_release.apk"
}
]
}
\ No newline at end of file
return mH88AppList;
} else if (SystemUtils.h88tinyMode()) {
return mH88TinyAppList;
+ } else if (SystemUtils.isC5FZD()) {
+ return mC5AppList;
} else if (SystemUtils.isN123()) {
return mN123DefaultAppList;
} else if (SystemUtils.isS123()) {
"com.eqc.settings", "com.eqc.settings.MainActivity"));
+ }
+ };
+ private static final List<AppInfoEntity> mC5AppList = new ArrayList<AppInfoEntity>() {
+ {
+
+
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_qr_code_h88, R.string.app_h88_qrcode,
+ "com.ic.launcher", "com.ic.launcher.QrCodeActivity"));
+
+ if (temperature_sensor_available) {
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_temperature_h88, R.string.app_h88_temperature,
+ "com.ic.temperature", "com.ic.temperature.MainActivity"));
+ }
+ //心率
+ if (ppg_ecg_sensor_available) {
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_heartrate_l02, R.string.app_name_heart,
+ "com.ic.blood", "com.ic.blood.BloodActivity"));
+ }
+ //联系人
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_contacts_l02, R.string.app_ContactName,
+ "com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.PhoneDirectoryActivity"));
+ //拨号
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_dialer_l02, R.string.app_dialer,
+ "com.ic.dial", "com.ic.dial.MainActivity"));
+ //运动
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_pedometer_l02, R.string.app_Sport,
+ "com.ic.hardware", "com.ic.hardware.PedometerActivity"));
+ //自由锻炼
+ if (SystemUtils.getSystemPropertiesString("persist.sys.enablePractice", "false").equals("true")) {
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.practice_logo, R.string.app_practise,
+ "com.ic.launcher", "com.ic.launcher.PractiseActivity"));
+
+ }
+ //短信
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_sms_l02, R.string.app_Sms,
+ "com.zmapp.sms", "com.zmapp.sms.MainActivity"));
+
+ add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_language_h88, R.string.app_h88_language,
+ "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"));
+
+
}
};
//L02 信号图片
public static int[] l02TransportResId = new int[]{
- R.mipmap.qs_server_connected_off,
- R.mipmap.qs_server_connected_on
-// R.mipmap.l02_data_transport_0,
-// R.mipmap.l02_data_transport_1,
-// R.mipmap.l02_data_transport_2,
-// R.mipmap.l02_data_transport_3
+ R.mipmap.disconnect,
+ R.mipmap.connection
};
//L02 信号图片
R.mipmap.clockl02_minutes_8,
R.mipmap.clockl02_minutes_9
};
-
+ public static int[] l02CutoffStatResId = new int[]{
+ R.mipmap.lock_fill,
+ R.mipmap.unlock_fill
+ };
public static final int CLOCK_INDEX_6 = 1701;
public static final int CLOCK_INDEX_L02 = 1702;
public static final int CLOCK_INDEX_12 = 1703;
}
});
+ model.getObservableCutoffStat().observe(this, resID -> {
+ if(mainBinding != null){
+ mainBinding.setCutoffstat(resID);
+ }
+ });
model.getObservableBTStatus().observe(this,btStatus ->{
if(mainBinding !=null){
mainBinding.setBtStatus(btStatus);
mainBinding.setPhoneTransport(resID);
}
});
-
+ model.getObservableCutoffStat().observe(this, resID -> {
+ if(mainBinding != null){
+ mainBinding.setCutoffstat(resID);
+ }
+ });
model.getObservablePhoneType().observe(this, resID -> {
if (mainBinding != null) {
mainBinding.setPhoneNetType(resID);
}
return null;
}
+ public LiveData<Integer> getObservableCutoffStat() {
+ PresenterCycle state = getPresenterList(PHONE_LIST_INDEX);
+ if (state != null) {
+ return ((PhoneStatePresenter) state).getCutoffStatObservable();
+ }
+ return null;
+ }
public LiveData<Integer> getObservableBattery() {
PresenterCycle state = getPresenterList(BATTERY_LIST_INDEX);
private MediatorLiveData<Integer> mObsPhoneTransportID;
private MediatorLiveData<Integer> mObsPhoneTypeID;
private MediatorLiveData<Integer> mObsPhoneSignalID;
+ private MediatorLiveData<Integer> mObsCutoffStatID;
private MediatorLiveData<Boolean> mObsBTStatusID;
private MediatorLiveData<Boolean> mObsWiFiStatusID;
private MediatorLiveData<Boolean> mObsGpsStatusID;
mObsBTStatusID = new MediatorLiveData<>();
mObsWiFiStatusID = new MediatorLiveData<>();
mObsGpsStatusID = new MediatorLiveData<>();
+ mObsCutoffStatID = new MediatorLiveData<>();
queryState = new QueryPhoneState(context, mObsPhoneTypeID,
mObsPhoneSignalID,
- mObsPhoneTransportID, mObsBTStatusID,
+ mObsPhoneTransportID,
+ mObsCutoffStatID,
+ mObsBTStatusID,
mObsWiFiStatusID,
mObsGpsStatusID);
}
return mObsPhoneTransportID;
}
+ public LiveData<Integer> getCutoffStatObservable() {
+ return mObsCutoffStatID;
+ }
public LiveData<Boolean> getBTStatusObservalbe() {
return mObsBTStatusID;
import java.util.List;
+import static com.ic.launcher.configure.l02.L02Icon.l02CutoffStatResId;
import static com.ic.launcher.configure.l02.L02Icon.l02PhoneTypeResId;
import static com.ic.launcher.configure.l02.L02Icon.l02SignalResId;
import static com.ic.launcher.configure.l02.L02Icon.l02TransportResId;
private MediatorLiveData<Integer> mObsPhoneTypeID;
private MediatorLiveData<Integer> mObsPhoneSignalID;
private MediatorLiveData<Integer> mObsPhoneTransportID;
+ private MediatorLiveData<Integer> mObsCutoffStatusID;
private MediatorLiveData<Boolean> mObsBTStatusID;
private MediatorLiveData<Boolean> mObsWiFiStatusID;
private MediatorLiveData<Boolean> mObsGpsStatusID;
MediatorLiveData<Integer> mObsPhoneTypeID,
MediatorLiveData<Integer> mObsPhoneSignalID,
MediatorLiveData<Integer> mObsPhoneTransportID,
+ MediatorLiveData<Integer> mObsCutoffStatusID,
MediatorLiveData<Boolean> mObsBTStatusID,
MediatorLiveData<Boolean> mObsWiFiStatusID,
MediatorLiveData<Boolean> mObsGpsStatusID) {
this.locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
this.mObsPhoneTypeID = mObsPhoneTypeID;
this.mObsPhoneSignalID = mObsPhoneSignalID;
+ this.mObsCutoffStatusID=mObsCutoffStatusID;
this.mObsPhoneTransportID = mObsPhoneTransportID;
this.mObsBTStatusID = mObsBTStatusID;
this.mObsWiFiStatusID = mObsWiFiStatusID;
mObsWiFiStatusID = null;
mObsBTStatusID = null;
mObsGpsStatusID = null;
+ mObsCutoffStatusID = null;
+
}
@Override
}else{
mObsPhoneTransportID.postValue(l02TransportResId[0]);
}
+ String prop_lock=SystemUtils.getSystemPropertiesString("persist.sys.show_lock_propname","");
+ IcLog.i(TAG, "prop_lock:" + prop_lock);
+ if (!prop_lock.isEmpty())
+ {
+ //"persist.sys.ic_antioff",persist.sys.ic_cutoff"
+ Boolean cutoff=SystemUtils.getSystemPropertiesBoolean(prop_lock,false);
+ IcLog.i(TAG, "getprop " + prop_lock+" "+cutoff);
+ if(cutoff) {
+ mObsCutoffStatusID.postValue(l02CutoffStatResId[1]);
+ }else{
+ mObsCutoffStatusID.postValue(l02CutoffStatResId[0]);
+ }
+ }else{
+ mObsCutoffStatusID.postValue(-1);
+ }
+
//
// long rw = TrafficStats.getMobileRxPackets();
// long sw = TrafficStats.getMobileTxPackets();
}
return false;
}
-
+ public static boolean isC5FZD(){
+ String launcher=getLauncherName();
+ if (launcher.equals("c5fzd")){
+ return true;
+ }
+ return false;
+ }
public static boolean h88tinyMode(){
String launcher=getLauncherName();
if (launcher.equals("h88tiny")){
private ImageView BTIV;
private ImageView WiFiIv;
private ImageView GPSIv;
+ private ImageView lockstatIv;
public WidgetPhoneStateView(Context context) {
this(context, null);
}
BTIV = view.findViewById(R.id.status_bt);
WiFiIv = view.findViewById(R.id.status_wifi);
GPSIv = view.findViewById(R.id.status_gps);
+ lockstatIv = view.findViewById(R.id.lock_status_iv);
}
public void updateSinalDrawable(int signal) {
}
}
+
+ public void updateCustoffStat(int resid){
+ if(resid<0){
+ lockstatIv.setVisibility(GONE);
+ }else {
+ lockstatIv.setVisibility(VISIBLE);
+ lockstatIv.setImageResource(resid);
+ }
+ }
public void updateGpsDrawable(boolean visable){
GPSIv.setImageResource(R.mipmap.qs_locate_type_gps);
if(visable)
else
GPSIv.setVisibility(GONE);
}
- @BindingAdapter(value = {"signalDrawable", "netTypeDrawable", "transportDrawable", "phoneShow","btenabled","wifienabled","gpsenabled"}, requireAll = false)
- public static void updatePhoneState(WidgetPhoneStateView view, int signal, int netType, int transport,boolean isShow,boolean btenabled,boolean wifienabled,boolean gpsenabled) {
+ @BindingAdapter(value = {"signalDrawable", "netTypeDrawable", "transportDrawable","lockstatDrawable", "phoneShow","btenabled","wifienabled","gpsenabled"}, requireAll = false)
+ public static void updatePhoneState(WidgetPhoneStateView view, int signal, int netType, int transport,int cutoffstat,boolean isShow,boolean btenabled,boolean wifienabled,boolean gpsenabled) {
if (view != null) {
view.updateSinalDrawable(signal);
view.updateNetTypeDrawable(netType);
view.updateBTDrawable(btenabled);
view.updateWiFiDrawable(wifienabled);
view.updateGpsDrawable(gpsenabled);
+ view.updateCustoffStat(cutoffstat);
}
}
}
<variable
name="phoneTransport"
type="int" />
-
+ <variable
+ name="cutoffstat"
+ type="int" />
<variable
name="batteryDrawable"
type="int" />
app:netTypeDrawable="@{phoneNetType}"
app:phoneShow="@{phoneShow}"
app:signalDrawable="@{phoneSignal}"
+ app:lockstatDrawable="@{cutoffstat}"
app:transportDrawable="@{phoneTransport}"
app:wifienabled="@{wifiStatus}" />
<variable
name="phoneTransport"
type="int" />
-
+ <variable
+ name="cutoffstat"
+ type="int" />
<variable
name="batteryDrawable"
type="int" />
app:netTypeDrawable="@{phoneNetType}"
app:phoneShow="@{phoneShow}"
app:signalDrawable="@{phoneSignal}"
+ app:lockstatDrawable="@{cutoffstat}"
app:transportDrawable="@{phoneTransport}"
app:wifienabled="@{wifiStatus}" />
android:layout_height="30dp"
/>
+ <ImageView
+ android:id="@+id/lock_status_iv"
+ android:layout_width="30dp"
+ android:layout_height="30dp"
+ />
<ImageView
android:id="@+id/status_wifi"
android:layout_width="30dp"
-#Thu Dec 31 14:32:35 CST 2020
-VERSION_CODE=188
+#Sat Feb 06 23:56:36 CST 2021
+VERSION_CODE=191