version:1.3.8

fix:
update:修复不能自动接听,增加桌面地址显示开关
This commit is contained in:
2024-11-13 16:47:16 +08:00
parent b55ceaa93a
commit bb47a13d44
20 changed files with 285 additions and 123 deletions

View File

@@ -13,6 +13,8 @@ android {
versionName version versionName version
} }
buildTypes { buildTypes {
M50T60Debug {}
M50T60Release {}
U807Debug {} U807Debug {}
U807Release {} U807Release {}
iPlay50SEDebug {} iPlay50SEDebug {}

View File

@@ -15,8 +15,8 @@ android {
applicationId "com.xxpatx.os" applicationId "com.xxpatx.os"
minSdkVersion 24 minSdkVersion 24
targetSdkVersion 29 targetSdkVersion 29
versionCode 1037 versionCode 1039
versionName "1.3.6" versionName "1.3.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -26,9 +26,7 @@ android {
// 还可以添加 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64' // 还可以添加 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64'
} }
manifestPlaceholders = [
AMAP_KEY: "963a156c0e1b525856d9b1d304666fe9"
]
} }
dataBinding { dataBinding {
@@ -68,10 +66,42 @@ android {
v1SigningEnabled true v1SigningEnabled true
v2SigningEnabled true v2SigningEnabled true
} }
M50T60 {
storeFile file("keystore/T40Air.jks")
storePassword "123456"
keyAlias "T40Air"
keyPassword "123456"
v1SigningEnabled true
v2SigningEnabled true
}
} }
buildTypes { buildTypes {
M50T60Debug.initWith(debug)
M50T60Debug {
manifestPlaceholders = [
AMAP_KEY: "aa85f12a2b0060a687c1755e08161875"
]
buildConfigField "String", "platform", '"TD606"'
versionNameSuffix "-debug"
debuggable true
signingConfig signingConfigs.M50T60
}
M50T60Release.initWith(release)
M50T60Release {
manifestPlaceholders = [
AMAP_KEY: "aa85f12a2b0060a687c1755e08161875"
]
buildConfigField "String", "platform", '"TD606"'
signingConfig signingConfigs.M50T60
}
debug { debug {
manifestPlaceholders = [
AMAP_KEY: "963a156c0e1b525856d9b1d304666fe9"
]
buildConfigField "String", "platform", '"MTK01"' buildConfigField "String", "platform", '"MTK01"'
versionNameSuffix "-debug" versionNameSuffix "-debug"
//Zipalign优化 //Zipalign优化
@@ -94,6 +124,9 @@ android {
} }
release { release {
manifestPlaceholders = [
AMAP_KEY: "963a156c0e1b525856d9b1d304666fe9"
]
buildConfigField "String", "platform", '"MTK01"' buildConfigField "String", "platform", '"MTK01"'
//Zipalign优化 //Zipalign优化
zipAlignEnabled true zipAlignEnabled true

Binary file not shown.

BIN
app/keystore/T40Air.jks Normal file

Binary file not shown.

View File

@@ -85,7 +85,7 @@ public class EmergencyActivity extends BaseMvvmActivity<EmergencyViewModel, Acti
String latitude = mMMKV.decodeString(CommonConfig.MAP_LATITUDE_KEY, ""); String latitude = mMMKV.decodeString(CommonConfig.MAP_LATITUDE_KEY, "");
String address = mMMKV.decodeString(CommonConfig.MAP_ADDRESS_KEY, ""); String address = mMMKV.decodeString(CommonConfig.MAP_ADDRESS_KEY, "");
NetInterfaceManager.getInstance() NetInterfaceManager.getInstance()
.getSOSRecordObservable(longitude, latitude, address) .getSosRecordObservable(longitude, latitude, address)
.subscribe(new Observer<BaseResponse>() { .subscribe(new Observer<BaseResponse>() {
@Override @Override
public void onSubscribe(@NonNull Disposable d) { public void onSubscribe(@NonNull Disposable d) {

View File

@@ -170,8 +170,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
Log.e(TAG, "getContacts: " + ContactsUtils.isExist(MainActivity.this, "13220282310")); Log.e(TAG, "getContacts: " + ContactsUtils.isExist(MainActivity.this, "13220282310"));
Log.e(TAG, "getContacts: " + ContactsUtils.getContactId(MainActivity.this, "13220282310")); Log.e(TAG, "getContacts: " + ContactsUtils.getContactId(MainActivity.this, "13220282310"));
ContactsUtils.isThePhoneExist(MainActivity.this, "13220282310"); ContactsUtils.isThePhoneExist(MainActivity.this, "13220282310");
ContactsUtils.getContacts(MainActivity.this); // ContactsUtils.getContacts(MainActivity.this);
ContactsUtils.getLocalContacts(MainActivity.this); // ContactsUtils.getLocalContacts(MainActivity.this);
// UltimateBarX.addStatusBarTopPadding(mViewDataBinding.root); // UltimateBarX.addStatusBarTopPadding(mViewDataBinding.root);
@@ -181,6 +181,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
// SystemClock.setCurrentTimeMillis(1662123600000L);//09-02 // SystemClock.setCurrentTimeMillis(1662123600000L);//09-02
// SystemClock.setCurrentTimeMillis(1662210000000L);//09-03 // SystemClock.setCurrentTimeMillis(1662210000000L);//09-03
Utils.getAndroiodScreenProperty(this);
} }
// if (!isNotificationListenersEnabled()) { // if (!isNotificationListenersEnabled()) {

View File

@@ -70,6 +70,7 @@ public class SystemSettings implements Serializable {
int exit_ctrl; int exit_ctrl;
int connect_page_ctrl; int connect_page_ctrl;
int connect_edit_ctrl; int connect_edit_ctrl;
int desktop_location;
public int getQch_restore() { public int getQch_restore() {
return qch_restore; return qch_restore;
@@ -536,6 +537,14 @@ public class SystemSettings implements Serializable {
this.connect_edit_ctrl = connect_edit_ctrl; this.connect_edit_ctrl = connect_edit_ctrl;
} }
public int getDesktop_location() {
return desktop_location;
}
public void setDesktop_location(int desktop_location) {
this.desktop_location = desktop_location;
}
@Override @Override
public String toString() { public String toString() {
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString(); return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();

View File

@@ -2,6 +2,10 @@ package com.xxpatx.os.config;
public class CommonConfig { public class CommonConfig {
public static final String MMKV_ID = "InterProcessKV"; public static final String MMKV_ID = "InterProcessKV";
/*保存的应用版本号*/
public final static String APP_VERSION_CODE = "APP_VERSION_CODE";
/*桌面图标个数*/ /*桌面图标个数*/
public final static int DESKTOP_LIST_SIZE = 3 * 3; public final static int DESKTOP_LIST_SIZE = 3 * 3;
@@ -23,6 +27,9 @@ public class CommonConfig {
/*让桌面更新定位信息*/ /*让桌面更新定位信息*/
public static final String UIUIAIOS_UPDATE_ADDRESS_ACTION = "UIUIAIOS_UPDATE_ADDRESS"; public static final String UIUIAIOS_UPDATE_ADDRESS_ACTION = "UIUIAIOS_UPDATE_ADDRESS";
/*桌面显示定位信息*/
public static final String UIUIAIOS_UPDATE_DESKTOP_LOCATION = "UIUIAIOS_UPDATE_DESKTOP_LOCATIO";
public static final String UIUIAIOS_DESKTOP_LOCATION_STATUS = "UIUIAIOS_DESKTOP_LOCATIO_STATUS";
/*应用市场所有包名*/ /*应用市场所有包名*/
public static final String UIUI_APPSTORE_PACKAGE_LIST = "UIUI_APPSTORE_PACKAGE_LIST_KEY"; public static final String UIUI_APPSTORE_PACKAGE_LIST = "UIUI_APPSTORE_PACKAGE_LIST_KEY";

View File

@@ -1,6 +1,9 @@
package com.xxpatx.os.fragment.settings; package com.xxpatx.os.fragment.settings;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
@@ -23,11 +26,14 @@ import com.xxpatx.os.activity.emergency.EmergencyActivity;
import com.xxpatx.os.activity.setting.SettingActivity; import com.xxpatx.os.activity.setting.SettingActivity;
import com.xxpatx.os.base.mvvm.fragment.BaseMvvmFragment; import com.xxpatx.os.base.mvvm.fragment.BaseMvvmFragment;
import com.xxpatx.os.bean.MapBean; import com.xxpatx.os.bean.MapBean;
import com.xxpatx.os.bean.SystemSettings;
import com.xxpatx.os.config.CommonConfig; import com.xxpatx.os.config.CommonConfig;
import com.xxpatx.os.databinding.FragmentSettingsBinding; import com.xxpatx.os.databinding.FragmentSettingsBinding;
import com.xxpatx.os.manager.AmapManager; import com.xxpatx.os.manager.AmapManager;
import com.xxpatx.os.utils.ApkUtils; import com.xxpatx.os.utils.ApkUtils;
import static com.xxpatx.os.config.CommonConfig.UIUIAIOS_DESKTOP_LOCATION_STATUS;
/** /**
* A simple {@link Fragment} subclass. * A simple {@link Fragment} subclass.
* Use the {@link SettingsFragment#newInstance} factory method to * Use the {@link SettingsFragment#newInstance} factory method to
@@ -83,7 +89,21 @@ public class SettingsFragment extends BaseMvvmFragment<SettingsViewModel, Fragme
@Override @Override
protected void initView(Bundle bundle) { protected void initView(Bundle bundle) {
NetworkUtils.registerNetworkStatusChangedListener(this); NetworkUtils.registerNetworkStatusChangedListener(this);
initView(); String addr = mMMKV.decodeString(CommonConfig.MAP_ADDRESS_KEY);
if (TextUtils.isEmpty(addr) || "nullnull".equals(addr) || "null".equals(addr)) {
mViewDataBinding.tvLocation2.setText("获取地址失败");
} else {
mViewDataBinding.tvLocation2.setText(addr);
}
int status = mMMKV.decodeInt(UIUIAIOS_DESKTOP_LOCATION_STATUS, 0);
if (status == 1) {
mViewDataBinding.clLocation.setVisibility(View.VISIBLE);
mViewDataBinding.tvLocationTips.setVisibility(View.GONE);
} else {
mViewDataBinding.clLocation.setVisibility(View.INVISIBLE);
mViewDataBinding.tvLocationTips.setVisibility(View.VISIBLE);
}
} }
@Override @Override
@@ -95,10 +115,15 @@ public class SettingsFragment extends BaseMvvmFragment<SettingsViewModel, Fragme
mViewDataBinding.tvLocation2.setText(mapBean.getAddress()); mViewDataBinding.tvLocation2.setText(mapBean.getAddress());
} }
}); });
}
private void initView() { mViewModel.mSystemSettingsData.observe(this, new Observer<SystemSettings>() {
getLocation(); @Override
public void onChanged(SystemSettings systemSettings) {
mViewDataBinding.setSystemSettings(systemSettings);
mMMKV.encode(UIUIAIOS_DESKTOP_LOCATION_STATUS, systemSettings.getDesktop_location());
}
});
mViewModel.getSetting();
} }
@Override @Override
@@ -122,23 +147,42 @@ public class SettingsFragment extends BaseMvvmFragment<SettingsViewModel, Fragme
} }
private void registerReceivers() { private void registerReceivers() {
if (mDesktopLocationReceiver == null) {
mDesktopLocationReceiver = new DesktopLocationReceiver();
}
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(CommonConfig.UIUIAIOS_UPDATE_DESKTOP_LOCATION);
mContext.registerReceiver(mDesktopLocationReceiver, filter);
} }
private void unregisterReceivers() { private void unregisterReceivers() {
if (mDesktopLocationReceiver != null) {
mContext.unregisterReceiver(mDesktopLocationReceiver);
}
} }
private DesktopLocationReceiver mDesktopLocationReceiver;
private void getLocation() { class DesktopLocationReceiver extends BroadcastReceiver {
String addr = mMMKV.decodeString(CommonConfig.MAP_ADDRESS_KEY); @Override
if (TextUtils.isEmpty(addr) || "nullnull".equals(addr) || "null".equals(addr)) { public void onReceive(Context context, Intent intent) {
mViewDataBinding.tvLocation2.setText("获取地址失败"); String action = intent.getAction();
Log.e("DesktopLocationReceiver", "onReceive: " + action);
if (CommonConfig.UIUIAIOS_UPDATE_DESKTOP_LOCATION.equals(action)) {
int desktopLocation = intent.getIntExtra("DesktopLocation", 0);
if (desktopLocation == 1) {
mViewDataBinding.clLocation.setVisibility(View.VISIBLE);
mViewDataBinding.tvLocationTips.setVisibility(View.GONE);
mMMKV.encode(UIUIAIOS_DESKTOP_LOCATION_STATUS, 1);
} else { } else {
mViewDataBinding.tvLocation2.setText(addr); mViewDataBinding.clLocation.setVisibility(View.INVISIBLE);
mViewDataBinding.tvLocationTips.setVisibility(View.VISIBLE);
mMMKV.encode(UIUIAIOS_DESKTOP_LOCATION_STATUS, 0);
}
}
} }
} }
public class BtnClick { public class BtnClick {

View File

@@ -1,10 +1,22 @@
package com.xxpatx.os.fragment.settings; package com.xxpatx.os.fragment.settings;
import android.util.Log;
import androidx.lifecycle.MutableLiveData;
import com.tencent.mmkv.MMKV; import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.FragmentEvent; import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xxpatx.os.base.mvvm.BaseViewModel; import com.xxpatx.os.base.mvvm.BaseViewModel;
import com.xxpatx.os.bean.BaseResponse;
import com.xxpatx.os.bean.SystemSettings;
import com.xxpatx.os.config.CommonConfig; import com.xxpatx.os.config.CommonConfig;
import com.xxpatx.os.databinding.FragmentSettingsBinding; import com.xxpatx.os.databinding.FragmentSettingsBinding;
import com.xxpatx.os.network.NetInterfaceManager;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
public class SettingsViewModel extends BaseViewModel<FragmentSettingsBinding, FragmentEvent> { public class SettingsViewModel extends BaseViewModel<FragmentSettingsBinding, FragmentEvent> {
private static final String TAG = "SettingsViewModel"; private static final String TAG = "SettingsViewModel";
@@ -25,5 +37,36 @@ public class SettingsViewModel extends BaseViewModel<FragmentSettingsBinding, Fr
} }
public MutableLiveData<SystemSettings> mSystemSettingsData = new MutableLiveData<>();
public void getSetting() {
NetInterfaceManager.getInstance().getSettingControl()
.compose(RxLifecycle.bindUntilEvent(getLifecycle(), FragmentEvent.DESTROY))
.subscribe(new Observer<BaseResponse<SystemSettings>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getSetting", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<SystemSettings> baseResponse) {
Log.e("getSetting", "onNext: " + baseResponse);
if (baseResponse.code == 200) {
SystemSettings systemSettings = baseResponse.data;
mSystemSettingsData.setValue(systemSettings);
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getSetting", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
Log.e("getSetting", "onComplete: ");
}
});
}
} }

View File

@@ -30,9 +30,10 @@ public class AppStatusManager {
private Set<String> hidedAppSet; private Set<String> hidedAppSet;
public static final String APP_STATUS_MANAGER_KEY = "AppStatusManagerSet"; public static final String APP_STATUS_MANAGER_KEY = "AppStatusManagerSet";
private static final Set<String> defaultHiedApp = new HashSet<String>() {{ private static final Set<String> defaultHiedApp = new HashSet<String>() {{
this.add("om.android.fmradio");//收音机 this.add("om.android.fmradio");//收音机
// this.add("com.android.mms");//信息 this.add("com.android.mms");//信息
this.add("com.android.gallery3d"); this.add("com.android.gallery3d");
this.add("com.android.documentsui"); this.add("com.android.documentsui");
this.add("com.android.calculator2"); this.add("com.android.calculator2");
@@ -71,6 +72,13 @@ public class AppStatusManager {
mMMKV.encode(CommonConfig.HIDE_CALENDAR_KEY, true); mMMKV.encode(CommonConfig.HIDE_CALENDAR_KEY, true);
Log.e(TAG, "AppStatusManager: hide calendar"); Log.e(TAG, "AppStatusManager: hide calendar");
} }
long oldVersionCode = mMMKV.decodeLong(CommonConfig.APP_VERSION_CODE, 0);
if (oldVersionCode == 0) {
addHidedApp("com.android.stk");
addHidedApp("com.tencent.mm");
addHidedApp("com.ss.android.ugc.aweme");
addHidedApp("com.android.mms");
}
} }
public static void init(Context context) { public static void init(Context context) {

View File

@@ -20,7 +20,6 @@ import com.xxpatx.os.bean.AddressInfo;
import com.xxpatx.os.bean.AlarmClockId; import com.xxpatx.os.bean.AlarmClockId;
import com.xxpatx.os.bean.AppInfo; import com.xxpatx.os.bean.AppInfo;
import com.xxpatx.os.bean.ArticleList; import com.xxpatx.os.bean.ArticleList;
import com.xxpatx.os.bean.BaiduMapGeoBean;
import com.xxpatx.os.bean.BaseResponse; import com.xxpatx.os.bean.BaseResponse;
import com.xxpatx.os.bean.Contact; import com.xxpatx.os.bean.Contact;
import com.xxpatx.os.bean.DemandBean; import com.xxpatx.os.bean.DemandBean;
@@ -46,7 +45,6 @@ import com.xxpatx.os.disklrucache.CacheHelper;
import com.xxpatx.os.gson.GsonUtils; import com.xxpatx.os.gson.GsonUtils;
import com.xxpatx.os.manager.ConnectManager; import com.xxpatx.os.manager.ConnectManager;
import com.xxpatx.os.manager.ConnectMode; import com.xxpatx.os.manager.ConnectMode;
import com.xxpatx.os.network.api.amap.GeocodingApi;
import com.xxpatx.os.network.api.qweather.LookupApi; import com.xxpatx.os.network.api.qweather.LookupApi;
import com.xxpatx.os.network.api.uiui.ActivityListApi; import com.xxpatx.os.network.api.uiui.ActivityListApi;
import com.xxpatx.os.network.api.uiui.AddressIndexApi; import com.xxpatx.os.network.api.uiui.AddressIndexApi;
@@ -132,9 +130,6 @@ public class NetInterfaceManager {
private Retrofit mRetrofit; private Retrofit mRetrofit;
private OkHttpClient okHttpClient; private OkHttpClient okHttpClient;
private Retrofit mAmapRetrofit;
private OkHttpClient mAmapOkHttpClient;
private Retrofit mQweatherRetrofit; private Retrofit mQweatherRetrofit;
private OkHttpClient mQweatherOkHttpClient; private OkHttpClient mQweatherOkHttpClient;
@@ -175,31 +170,6 @@ public class NetInterfaceManager {
.build(); .build();
} }
if (mAmapOkHttpClient == null) {
//如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.connectTimeout(TIME_OUT, TimeUnit.SECONDS); // 设置连接超时时间
builder.writeTimeout(TIME_OUT, TimeUnit.SECONDS);// 设置写入超时时间
builder.readTimeout(TIME_OUT, TimeUnit.SECONDS);// 设置读取数据超时时间
builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
builder.addInterceptor(new RepeatRequestInterceptor());
// 设置缓存文件路径
String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
Cache cache = new Cache(new File(cacheDirectory), CACHE_SIZE);
builder.cache(cache);// 设置缓存
mAmapOkHttpClient = builder.build();
}
if (mAmapRetrofit == null) {
mAmapRetrofit = new Retrofit.Builder()
.client(mAmapOkHttpClient)
.baseUrl(UrlAddress.AMAP_ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
}
if (mQweatherOkHttpClient == null) { if (mQweatherOkHttpClient == null) {
//如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了 //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
OkHttpClient.Builder builder = new OkHttpClient.Builder(); OkHttpClient.Builder builder = new OkHttpClient.Builder();
@@ -280,14 +250,6 @@ public class NetInterfaceManager {
return okHttpClient; return okHttpClient;
} }
@Deprecated
public Observable<BaiduMapGeoBean> getGeoObservable(String address) {
return mAmapRetrofit.create(GeocodingApi.class)
.geocoding(address, "json", "RGAsG7hN9gbDxeruqF4Lsf0ro6pp362O")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<QweatherLookup> getLookupObservable(String address) { public Observable<QweatherLookup> getLookupObservable(String address) {
return mQweatherRetrofit.create(LookupApi.class) return mQweatherRetrofit.create(LookupApi.class)
.lookup(address, "c5928a6a274c4a1cb80957a293b27898") .lookup(address, "c5928a6a274c4a1cb80957a293b27898")
@@ -295,7 +257,6 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public static RequestBody convertToRequestBody(String param) { public static RequestBody convertToRequestBody(String param) {
RequestBody requestBody = RequestBody.create(MediaType.parse("text/plain"), param); RequestBody requestBody = RequestBody.create(MediaType.parse("text/plain"), param);
return requestBody; return requestBody;
@@ -349,14 +310,14 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public Observable<BaseResponse<SystemSettings>> getsettingControl() { public Observable<BaseResponse<SystemSettings>> getSettingControl() {
return mRetrofit.create(SettingApi.class) return mRetrofit.create(SettingApi.class)
.getSetting(Utils.getSerial()) .getSetting(Utils.getSerial())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public Observable<BaseResponse> getSOSRecordObservable(String longitude, String latitude, String address) { public Observable<BaseResponse> getSosRecordObservable(String longitude, String latitude, String address) {
return mRetrofit.create(SosRecordApi.class) return mRetrofit.create(SosRecordApi.class)
.sendSosRecord(Utils.getSerial(), longitude, latitude, address) .sendSosRecord(Utils.getSerial(), longitude, latitude, address)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
@@ -1182,18 +1143,18 @@ public class NetInterfaceManager {
} }
public void getSystemSettings(BehaviorSubject<ActivityEvent> lifecycle, ContactCallback callback) { public void getSystemSettings(BehaviorSubject<ActivityEvent> lifecycle, ContactCallback callback) {
getsettingControl() getSettingControl()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getSystemSettingsObserver(callback)); .subscribe(getSystemSettingsObserver(callback));
} }
public void getSystemSettings(ContactCallback callback) { public void getSystemSettings(ContactCallback callback) {
getsettingControl() getSettingControl()
.subscribe(getSystemSettingsObserver(callback)); .subscribe(getSystemSettingsObserver(callback));
} }
public void getSystemSettings() { public void getSystemSettings() {
getsettingControl() getSettingControl()
.subscribe(getSystemSettingsObserver(null)); .subscribe(getSystemSettingsObserver(null));
} }

View File

@@ -2,9 +2,7 @@ package com.xxpatx.os.network;
public class UrlAddress { public class UrlAddress {
public static final String ROOT_URL = "https://ghapi.mdmsaas.cn/android/"; public static final String ROOT_URL = "https://ghapi.mdmsaas.cn/android/";
/*百度地图*/
@Deprecated
public static final String AMAP_ROOT_URL = "https://api.map.baidu.com/";
/*和风天气*/ /*和风天气*/
public static final String QWEATHER_ROOT_URL = "https://geoapi.qweather.com/"; public static final String QWEATHER_ROOT_URL = "https://geoapi.qweather.com/";
@@ -157,11 +155,6 @@ public class UrlAddress {
/*逆地理编码*/
@Deprecated
public static final String GEOCODING = "geocoding/v3/";
/*城市搜索*/ /*城市搜索*/
public static final String CITY_LOOKUP = "v2/city/lookup"; public static final String CITY_LOOKUP = "v2/city/lookup";

View File

@@ -1,17 +0,0 @@
package com.xxpatx.os.network.api.amap;
import com.xxpatx.os.bean.BaiduMapGeoBean;
import com.xxpatx.os.network.UrlAddress;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface GeocodingApi {
@GET(UrlAddress.GEOCODING)
Observable<BaiduMapGeoBean> geocoding(
@Query("address") String address,
@Query("output") String output,
@Query("ak") String key
);
}

View File

@@ -375,6 +375,7 @@ public class WeAccessibilityService extends AccessibilityService {
Point point = getPointtByNode(node); Point point = getPointtByNode(node);
Log.e(TAG, "stepAnswer: " + point); Log.e(TAG, "stepAnswer: " + point);
clickByNode(point.x, point.y - 50); clickByNode(point.x, point.y - 50);
clickByNode(point.x, point.y);
// clickNode(node); // clickNode(node);
Log.e(TAG, "stepAnswer: mCurrentStep " + mCurrentStep + " done"); Log.e(TAG, "stepAnswer: mCurrentStep " + mCurrentStep + " done");
mCurrentStep = Step.WAITING; mCurrentStep = Step.WAITING;

View File

@@ -50,7 +50,9 @@ import java.lang.reflect.Method;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Observable;
@@ -165,6 +167,17 @@ public class MainService extends BaseRxService implements MainSContact.MainSView
NetworkUtils.registerNetworkStatusChangedListener(this); NetworkUtils.registerNetworkStatusChangedListener(this);
mPresenter.addAlarmClock(); mPresenter.addAlarmClock();
long oldVersionCode = mMMKV.decodeLong(CommonConfig.APP_VERSION_CODE, 0);
if (oldVersionCode == 1038) {
}
if (oldVersionCode < BuildConfig.VERSION_CODE) {
} else {
}
mMMKV.encode(CommonConfig.APP_VERSION_CODE, BuildConfig.VERSION_CODE);
registerAlarmReceiver(); registerAlarmReceiver();
registerTimeReceiver(); registerTimeReceiver();
registerLockScreenReceiver(); registerLockScreenReceiver();
@@ -637,13 +650,22 @@ public class MainService extends BaseRxService implements MainSContact.MainSView
isBallShown = true; isBallShown = true;
} }
private static final Set<String> skip_kill_app = new HashSet<String>() {{
this.add(BuildConfig.APPLICATION_ID);
this.add("com.xxpatx.sn");
this.add("com.tencent.mm");
this.add("com.google.android.inputmethod.pinyin");
this.add("com.sohu.inputmethod.sogou");
this.add("com.baidu.input");
this.add("com.tencent.wetype");
this.add("com.tencent.qqpinyin");
this.add("com.iflytek.inputmethod");
}};
private void killBackgroundApp() { private void killBackgroundApp() {
List<String> pkgList = ApkUtils.getRuningPackageList(this); List<String> pkgList = ApkUtils.getRuningPackageList(this);
for (String pkg : pkgList) { for (String pkg : pkgList) {
if (pkg.equalsIgnoreCase(BuildConfig.APPLICATION_ID) if (skip_kill_app.contains(pkg)) {
|| "com.xxpatx.sn".equals(pkg)
|| "com.tencent.mm".equals(pkg)
) {
continue; continue;
} }
killBackgroundProcesses(pkg); killBackgroundProcesses(pkg);

View File

@@ -25,7 +25,9 @@ import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager; import android.telecom.TelecomManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.view.WindowManager;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
@@ -119,8 +121,8 @@ public class Utils {
context.startActivity(i); context.startActivity(i);
} }
private static String Launcher3 = "com.android.launcher3"; private static final String Launcher3 = "com.android.launcher3";
private static String Launcher3Class = "com.android.launcher3.Launcher"; private static final String Launcher3Class = "com.android.launcher3.Launcher";
public static void setDefaultDesktop(Context context, String pkg, String className) { public static void setDefaultDesktop(Context context, String pkg, String className) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
@@ -384,4 +386,26 @@ public class Utils {
return cachePath; return cachePath;
} }
public static String getAndroiodScreenProperty(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getRealMetrics(dm);
int width = dm.widthPixels; // 屏幕宽度(像素)
int height = dm.heightPixels; // 屏幕高度(像素)
float density = dm.density; // 屏幕密度0.75 / 1.0 / 1.5
int densityDpi = dm.densityDpi; // 屏幕密度dpi120 / 160 / 240
// 屏幕宽度算法:屏幕宽度(像素)/屏幕密度
int screenWidth = (int) (width / density); // 屏幕宽度(dp)
int screenHeight = (int) (height / density);// 屏幕高度(dp)
Log.e("getAndroiodScreenProperty", "屏幕宽度(像素):" + width);
Log.e("getAndroiodScreenProperty", "屏幕高度(像素):" + height);
Log.e("getAndroiodScreenProperty", "屏幕密度0.75 / 1.0 / 1.5" + density);
Log.e("getAndroiodScreenProperty", "屏幕密度dpi120 / 160 / 240" + densityDpi);
Log.e("getAndroiodScreenProperty", "屏幕宽度dp" + screenWidth);
Log.e("getAndroiodScreenProperty", "屏幕高度dp" + screenHeight);
Log.e("getAndroiodScreenProperty", "smallestScreenWidthDp: " + context.getResources().getConfiguration().smallestScreenWidthDp);
return width + "×" + height;
}
} }

View File

@@ -9,6 +9,12 @@
<variable <variable
name="click" name="click"
type="com.xxpatx.os.fragment.settings.SettingsFragment.BtnClick" /> type="com.xxpatx.os.fragment.settings.SettingsFragment.BtnClick" />
<variable
name="systemSettings"
type="com.xxpatx.os.bean.SystemSettings" />
<import type="android.view.View" />
</data> </data>
<FrameLayout <FrameLayout
@@ -280,16 +286,22 @@
android:orientation="horizontal"> android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clLocation"
android:layout_width="330dp" android:layout_width="330dp"
android:layout_height="144dp" android:layout_height="144dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:background="@drawable/card_location_background" android:background="@drawable/card_location_background"
android:onClick="@{click::getAddress}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/cl_contact"> app:layout_constraintTop_toTopOf="@+id/cl_contact">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clLocation"
android:layout_width="match_parent"
tools:visibility="visible"
android:layout_height="match_parent"
android:onClick="@{click::getAddress}"
android:visibility="@{systemSettings.desktop_location==1?View.VISIBLE:View.INVISIBLE}">
<ImageView <ImageView
android:id="@+id/imageView14" android:id="@+id/imageView14"
android:layout_width="28dp" android:layout_width="28dp"
@@ -308,10 +320,10 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:gravity="center" android:gravity="center"
android:maxLines="3" android:maxLines="3"
android:text="我的位置" android:text="我的位置"
android:layout_marginEnd="8dp"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="19sp" android:textSize="19sp"
android:textStyle="bold" android:textStyle="bold"
@@ -322,6 +334,21 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_location_tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="定位功能未开放"
android:textColor="@color/white"
android:textSize="19sp"
tools:visibility="gone"
android:visibility="@{systemSettings.desktop_location==1?View.GONE:View.VISIBLE}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -11,6 +11,8 @@ android {
} }
buildTypes { buildTypes {
M50T60Debug {}
M50T60Release {}
debug {} debug {}
release {} release {}
} }

View File

@@ -13,6 +13,8 @@ android {
} }
buildTypes { buildTypes {
M50T60Debug {}
M50T60Release {}
debug {} debug {}
release {} release {}
} }