-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":161,"versionName":"202010122014","enabled":true,"outputFile":"ICL02Launcher_V161_202010122014_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Launcher_V161_202010122014_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":162,"versionName":"202010131210","enabled":true,"outputFile":"ICL02Launcher_V162_202010131210_release.apk","fullName":"release","baseName":"release"},"path":"ICL02Launcher_V162_202010131210_release.apk","properties":{}}]
\ No newline at end of file
mainBinding.setWifiStatus(wifiStatus);
}
});
+ model.getObservableGpsStatus().observe(this, gpsStatus ->{
+ if(mainBinding !=null){
+ mainBinding.setGpsStatus(gpsStatus);
+ }
+ });
}
private void observeBatteryValue(L02MainModel model) {
}
return null;
}
-
+ public LiveData<Boolean> getObservableGpsStatus() {
+ PresenterCycle state = getPresenterList(PHONE_LIST_INDEX);
+ if(state != null){
+ return ((PhoneStatePresenter)state).getGpsStatusObservable();
+ }
+ return null;
+ }
}
private MediatorLiveData<Integer> mObsPhoneSignalID;
private MediatorLiveData<Boolean> mObsBTStatusID;
private MediatorLiveData<Boolean> mObsWiFiStatusID;
+ private MediatorLiveData<Boolean> mObsGpsStatusID;
@Override
public void onPresenterResume() {
mObsPhoneTransportID = new MediatorLiveData<>();
mObsBTStatusID = new MediatorLiveData<>();
mObsWiFiStatusID = new MediatorLiveData<>();
- queryState = new QueryPhoneState(context,mObsPhoneTypeID,mObsPhoneSignalID,mObsPhoneTransportID,mObsBTStatusID,mObsWiFiStatusID);
+ mObsGpsStatusID = new MediatorLiveData<>();
+ queryState = new QueryPhoneState(context,mObsPhoneTypeID,mObsPhoneSignalID,mObsPhoneTransportID,mObsBTStatusID,mObsWiFiStatusID,mObsGpsStatusID);
}
public LiveData<Integer> getPhoneTypeObservable() {
return mObsWiFiStatusID;
}
+ public LiveData<Boolean> getGpsStatusObservable() {
+ return mObsGpsStatusID;
+ }
+
}
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
+import android.location.LocationManager;
import android.net.TrafficStats;
import android.net.wifi.WifiManager;
+import android.os.Build;
import android.os.Message;
import android.telephony.CellIdentityCdma;
import android.telephony.CellInfo;
private TelephonyManager mTelephony=null;
private BluetoothAdapter mBtAdapter=null;
private WifiManager mWiFiManager=null;
-
+ private LocationManager locationManager=null;
private MediatorLiveData<Integer> mObsPhoneTypeID;
private MediatorLiveData<Integer> mObsPhoneSignalID;
private MediatorLiveData<Integer> mObsPhoneTransportID;
private MediatorLiveData<Boolean> mObsBTStatusID;
private MediatorLiveData<Boolean> mObsWiFiStatusID;
+ private MediatorLiveData<Boolean> mObsGpsStatusID;
private long receivedWork;
private long sendNetWork;
MediatorLiveData<Integer> mObsPhoneSignalID,
MediatorLiveData<Integer> mObsPhoneTransportID,
MediatorLiveData<Boolean> mObsBTStatusID,
- MediatorLiveData<Boolean> mObsWiFiStatusID) {
+ MediatorLiveData<Boolean> mObsWiFiStatusID,
+ MediatorLiveData<Boolean> mObsGpsStatusID) {
this.mTelephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
this.mWiFiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
this.mBtAdapter = BluetoothAdapter.getDefaultAdapter();
+ this.locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
this.mObsPhoneTypeID = mObsPhoneTypeID;
this.mObsPhoneSignalID = mObsPhoneSignalID;
this.mObsPhoneTransportID = mObsPhoneTransportID;
this.mObsBTStatusID = mObsBTStatusID;
this.mObsWiFiStatusID = mObsWiFiStatusID;
+ this.mObsGpsStatusID = mObsGpsStatusID;
}
public void destroyPhoneState() {
mObsPhoneTransportID = null;
mObsWiFiStatusID = null;
mObsBTStatusID = null;
+ mObsGpsStatusID = null;
}
@Override
}
}
+ if(locationManager!=null) {
+ // 通过GPS卫星定位,定位级别可以精确到街(通过24颗卫星定位,在室外和空旷的地方定位准确、速度快)
+ boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
+ // 通过WLAN或移动网络(3G/2G)确定的位置(也称作AGPS,辅助GPS定位。主要用于在室内或遮盖物(建筑群或茂密的深林等)密集的地方定位)
+// boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
+ if (gps) {
+ mObsGpsStatusID.postValue(true);
+ } else {
+ mObsGpsStatusID.postValue(false);
+ }
+ }
return true;
}
private boolean querySimCardState() {
private ImageView transportIv;
private ImageView BTIV;
private ImageView WiFiIv;
-
+ private ImageView GPSIv;
public WidgetPhoneStateView(Context context) {
this(context, null);
}
transportIv = view.findViewById(R.id.transport_iv);
BTIV = view.findViewById(R.id.status_bt);
WiFiIv = view.findViewById(R.id.status_wifi);
+ GPSIv = view.findViewById(R.id.status_gps);
}
public void updateSinalDrawable(int signal) {
}
}
-
- @BindingAdapter(value = {"signalDrawable", "netTypeDrawable", "transportDrawable", "phoneShow","btenabled","wifienabled"}, requireAll = false)
- public static void updatePhoneState(WidgetPhoneStateView view, int signal, int netType, int transport,boolean isShow,boolean btenabled,boolean wifienabled) {
+ public void updateGpsDrawable(boolean visable){
+ GPSIv.setImageResource(R.mipmap.qs_locate_type_gps);
+ if(visable)
+ GPSIv.setVisibility(VISIBLE);
+ 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) {
if (view != null) {
view.updateSinalDrawable(signal);
view.updateNetTypeDrawable(netType);
view.updatePhoneVisibility(isShow);
view.updateBTDrawable(btenabled);
view.updateWiFiDrawable(wifienabled);
+ view.updateGpsDrawable(gpsenabled);
}
}
}
<variable
name="wifiStatus"
type="boolean" />
+ <variable
+ name="gpsStatus"
+ type="boolean" />
<variable
name="showTemp"
type="int" />
app:transportDrawable="@{phoneTransport}"
app:phoneShow="@{phoneShow}"
app:btenabled="@{btStatus}"
- app:wifienabled="@{wifiStatus}"/>
+ app:wifienabled="@{wifiStatus}"
+ app:gpsenabled="@{gpsStatus}"/>
<com.ic.launcher.widget.WidgetBatteryStateView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginStart="2dp"/>
+ <ImageView
+ android:id="@+id/status_gps"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ android:layout_marginStart="2dp"/>
</LinearLayout>
-#Mon Oct 12 20:14:23 CST 2020\r
-VERSION_CODE=161\r
+#Tue Oct 13 12:10:25 CST 2020\r
+VERSION_CODE=162\r