diff --git a/app/build.gradle b/app/build.gradle
index 2d2e30e..738a433 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -29,8 +29,8 @@ android {
defaultConfig {
applicationId "com.aoleyun.sn"
- versionCode 161
- versionName "1.4.1014"
+ versionCode 168
+ versionName "1.4.1126"
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
minSdkVersion 24
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b832374..e283f32 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -35,6 +35,8 @@
+
+
@@ -164,11 +166,11 @@
android:label="一键加速"
android:launchMode="singleInstance"
android:theme="@style/activity_styles">
-
-
+
+
-
-
+
+
> getWallpaperObservable() {
+ return mRetrofit.create(WallpaperApi.class)
+ .getWallpaper(Utils.getSerial(mContext))
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
/*
*
* API
@@ -823,10 +831,6 @@ public class NetInterfaceManager {
return mRetrofit.create(SendDownloadInfoApi.class);
}
- public SendScreenshotApi getScreenshotApi() {
- return mRetrofit.create(SendScreenshotApi.class);
- }
-
public SendScreenshotCall getScreenshotCall() {
return mRetrofit.create(SendScreenshotCall.class);
}
@@ -1496,31 +1500,6 @@ public class NetInterfaceManager {
});
}
- public void getDeveloper(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) {
- ConnectMode connectMode = ConnectMode.ONE_HOUR;
- if (refresh) {
- connectMode = ConnectMode.ONE_MINUTE;
- }
- if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_DEVELOPER, connectMode)) {
- Log.e(TAG, "getDeveloper: cache2");
- getDeveloper(lifecycle, callback);
- } else {
- String jsonString = cacheHelper.getAsString(UrlAddress.GET_DEVELOPER);
- //为 "" 是已经请求成功的
- if (jsonString == null) {
- Log.e(TAG, "getDeveloper: cache2");
- getDeveloper(lifecycle, callback);
- } else {
-// Gson gson = new Gson();
-// Type type = new TypeToken() {
-// }.getType();
-// DeveloperBean developerBean = gson.fromJson(jsonString, type);
-// JGYUtils.getInstance().setDeveloperOptions(developerBean.getIs_developer());
-// callback.onComplete();
- }
- }
- }
-
public void getDeveloper(BehaviorSubject lifecycle, onCompleteCallback callback) {
getDeveloperControl()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
@@ -2644,7 +2623,7 @@ public class NetInterfaceManager {
tagSets.add(JGYUtils.MT8768Tag);
} else if (platform == JGYUtils.AUDG104Platform) {
tagSets.add(JGYUtils.AUDG104Tag);
- }else if (platform == JGYUtils.HL500Platform) {
+ } else if (platform == JGYUtils.HL500Platform) {
tagSets.add(JGYUtils.HL500Tag);
}
});
@@ -2702,14 +2681,15 @@ public class NetInterfaceManager {
}
private Observable getUpdateDeviceInfoObservable() {
- String add = Utils.getAddressJsonString(mContext);
- cacheHelper.put(UrlAddress.UPDATE_DEVICEINFO, add);
+ String addressJsonString = Utils.getAddressJsonString(mContext);
+ cacheHelper.put(UrlAddress.UPDATE_DEVICEINFO, addressJsonString);
return getUpdateDeviceInfo().updateDeviceInfo(
Utils.getSerial(mContext),
NetInterfaceManager.HTTP_KEY,
Utils.getMachine(mContext),
Utils.getHardware(mContext),
- add
+ addressJsonString,
+ Utils.getOtherInfo()
);
}
@@ -4396,20 +4376,38 @@ public class NetInterfaceManager {
@Override
public void onNext(@NonNull BaseResponse blacklistBeanBaseResponse) {
Log.e("getBlackList", "onNext: " + blacklistBeanBaseResponse);
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+
+ } else {
+ try {
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
+ CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_black_list");
+ Log.e(TAG, "getBlackList: " + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
if (blacklistBeanBaseResponse.code == 200) {
BlacklistBean blacklistBean = blacklistBeanBaseResponse.data;
if (blacklistBean == null) {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, "");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
} else {
List strings = blacklistBean.getBlacklist();
if (strings == null || strings.isEmpty()) {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, "");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
} else {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, String.join(",", strings));
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+ // TODO: 2024/10/31 需要多写一次保证数据库变化
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, String.join(",", strings));
+ }
}
}
} else {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, "");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
}
}
@@ -4454,20 +4452,40 @@ public class NetInterfaceManager {
@Override
public void onNext(@NonNull BaseResponse blacklistBeanBaseResponse) {
Log.e("getWhiteList", "onNext: " + blacklistBeanBaseResponse);
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+
+ } else {
+ try {
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
+ CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_white_list");
+ Log.e(TAG, "getWhiteList: " + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
if (blacklistBeanBaseResponse.code == 200) {
WhitelistBean whitelistBean = blacklistBeanBaseResponse.data;
if (whitelistBean == null) {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
} else {
List strings = whitelistBean.getWhitelist();
if (strings == null || strings.isEmpty()) {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
} else {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", strings));
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+ // TODO: 2024/10/31 需要多写一次保证数据库变化
+ strings.add("ttstd.com");
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", strings));
+ strings.remove("ttstd.com");
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", strings));
+ }
}
}
} else {
- Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
}
}
@@ -4487,4 +4505,50 @@ public class NetInterfaceManager {
}
};
}
+
+ public void getWallpaper() {
+ getWallpaperObservable()
+ .subscribe(getWallpaperObserver(null));
+ }
+
+ public void getWallpaper(BehaviorSubject lifecycle, onCompleteCallback callback) {
+ getWallpaperObservable()
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
+ .subscribe(getWallpaperObserver(callback));
+ }
+
+ public Observer> getWallpaperObserver(onCompleteCallback callback) {
+ return new Observer>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("getWallpaper", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+ Log.e("getWallpaper", "onNext: " + baseResponse);
+ if (baseResponse.code == 200) {
+ Wallpaper wallpaper = baseResponse.data;
+ String url = wallpaper.getFile_url();
+ JGYUtils.getInstance().setWallpaper(url);
+ } else {
+ mMMKV.encode(CommonConfig.WALLPAPER_URL_KEY, "");
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getWallpaper", "onError: " + e.getMessage());
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getWallpaper", "onComplete: ");
+ if (callback != null) {
+ callback.onComplete();
+ }
+ }
+ };
+ }
}
diff --git a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
index 5e7ff23..c500b54 100644
--- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
+++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
@@ -108,7 +108,7 @@ public class UrlAddress {
public static final String APP_SETTING = "android/sn-control/app-setting";
/*获取设备批次全局黑名单*/
public static final String BLACK_LIST = "android/common/blacklist";
- /*获取设备批次全局黑名单*/
+ /*获取设备批次全局白名单*/
public static final String WHITE_LIST = "android/common/whitelist";
/**
@@ -132,6 +132,8 @@ public class UrlAddress {
public static final String GET_DESKTOPS_DIY_UPDATE = "Sn/getDesktopsDiyUpdate";
/*获取系统默认程序*/
public static final String GET_DEFAULT_APP = "app/getDefaultApp";
+ /*获取壁纸设置*/
+ public static final String GET_WALLPAPER = "android/sn/wallpaper";
/**
* 开发人员调试
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/get/WallpaperApi.java b/app/src/main/java/com/aoleyun/sn/network/api/get/WallpaperApi.java
new file mode 100644
index 0000000..ede2b3a
--- /dev/null
+++ b/app/src/main/java/com/aoleyun/sn/network/api/get/WallpaperApi.java
@@ -0,0 +1,16 @@
+package com.aoleyun.sn.network.api.get;
+
+import com.aoleyun.sn.bean.BaseResponse;
+import com.aoleyun.sn.bean.Wallpaper;
+import com.aoleyun.sn.network.UrlAddress;
+
+import io.reactivex.rxjava3.core.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface WallpaperApi {
+ @GET(UrlAddress.GET_WALLPAPER)
+ Observable> getWallpaper(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java
index 392d2ec..4ff2c7b 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java
@@ -12,6 +12,7 @@ import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.QueryMap;
+@Deprecated
public interface SendScreenshotApi {
@Multipart
@POST(UrlAddress.SEND_SCREENSHOT)
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/UpdateDeviceInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/UpdateDeviceInfoApi.java
index b399c4a..2b5e93f 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/post/UpdateDeviceInfoApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/post/UpdateDeviceInfoApi.java
@@ -16,6 +16,7 @@ public interface UpdateDeviceInfoApi {
@Field("key") String key,
@Field("machine") String machine,
@Field("hardware") String hardware,
- @Field("address") String address
+ @Field("address") String address,
+ @Field("other") String other
);
}
diff --git a/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java b/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java
index 78893e5..b8239a9 100644
--- a/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java
+++ b/app/src/main/java/com/aoleyun/sn/network/interceptor/RepeatRequestInterceptor.java
@@ -39,7 +39,7 @@ public class RepeatRequestInterceptor implements Interceptor {
// Response copy = response.newBuilder().body(responseBody).build();
ResponseBody copy = ResponseBody.create(responseBody.contentType(), content);
if (BuildConfig.DEBUG) {
- if (content.length() < 1024) {
+ if (content.length() < 10240) {
Log.e(TAG, "请求体返回:| Response: " + request.url() + "\t body: " + content);
}else {
Log.e(TAG, "请求体返回:| Response: " + request.url() + "\t body: too long" );
@@ -87,7 +87,7 @@ public class RepeatRequestInterceptor implements Interceptor {
final Request copy = request.newBuilder().build();
final Buffer buffer = new Buffer();
copy.body().writeTo(buffer);
- if (buffer.size() > 1024) {
+ if (buffer.size() > 10240) {
return "-too long";
}
return buffer.readUtf8();
@@ -100,7 +100,7 @@ public class RepeatRequestInterceptor implements Interceptor {
try {
final Buffer buffer = new Buffer();
body.writeTo(buffer);
- if (buffer.size() > 1024) {
+ if (buffer.size() > 10240) {
return "-too long";
}
return buffer.readUtf8();
diff --git a/app/src/main/java/com/aoleyun/sn/push/PushManager.java b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
index 1c40ce7..959b64a 100644
--- a/app/src/main/java/com/aoleyun/sn/push/PushManager.java
+++ b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
@@ -258,7 +258,8 @@ public class PushManager {
private static final String GLOBAL_WHITE_LIST = "75";
/*应用市场应用安装*/
private static final String APPSTORE_INSTALL = "76";
-
+ /*设置壁纸*/
+ private static final String wallpaper = "78";
public void setPushContent(String title, String extras) {
switch (title) {
@@ -670,11 +671,18 @@ public class PushManager {
break;
case APPSTORE_INSTALL:
+ break;
+ case wallpaper:
+ setWallpaper(extras);
break;
default:
}
}
+ private void setWallpaper(String extras) {
+ NetInterfaceManager.getInstance().getWallpaper();
+ }
+
private void refreshFocusMode() {
// Intent intent = new Intent();
// ComponentName componentName = new ComponentName("com.aoleyunos.dop6", "com.aoleyunos.dop6.service.main.MainService");
diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java
index dd0cbd8..5a9c7c7 100644
--- a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java
+++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java
@@ -54,6 +54,8 @@ public class MainSContact {
void getDefaultDesktop();
/*设置开机动画*/
void setLogoImg();
+ /*获取壁纸*/
+ void getWallpaper();
/*获取所有app详细信息*/
void getAllAppList();
/*获取浏览器书签设置管控*/
@@ -138,6 +140,8 @@ public class MainSContact {
void getDefaultDesktopFinish();
/*设置开机动画*/
void setLogoImgFinish();
+ /*获取开机动画结束*/
+ void getWallpaperFinish();
/*获取所有app详细信息*/
void getAllAppListFinish();
/*获取浏览器书签设置管控结束*/
diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java
index 0a4b117..c8a667f 100644
--- a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java
+++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java
@@ -11,7 +11,6 @@ import com.alibaba.sdk.android.push.CommonCallback;
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.bean.AdminAppInfo;
import com.aoleyun.sn.bean.BaseResponse;
-import com.aoleyun.sn.bean.BlacklistBean;
import com.aoleyun.sn.bean.StudentsInfo;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
@@ -114,7 +113,6 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void setPushTag(String tag) {
mView.setTagsFinish(TextUtils.isEmpty(tag));
-
}
});
String tagSets = mMMKV.decodeString(CommonConfig.DEVICES_TAG);
@@ -293,8 +291,9 @@ public class MainSPresenter implements MainSContact.Presenter {
*/
@Override
public void getDeveloper() {
+ Log.e(TAG, "getDeveloper: ");
NetInterfaceManager.getInstance()
- .getDeveloper(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
+ .getDeveloper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override
public void onComplete() {
mView.getDeveloperFinish();
@@ -393,6 +392,16 @@ public class MainSPresenter implements MainSContact.Presenter {
}
}
+ @Override
+ public void getWallpaper() {
+ NetInterfaceManager.getInstance().getWallpaper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
+ @Override
+ public void onComplete() {
+ mView.getWallpaperFinish();
+ }
+ });
+ }
+
@Override
public void getAllAppList() {
NetInterfaceManager.getInstance()
diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java
index 931c7d2..aa183b4 100644
--- a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java
@@ -1125,8 +1125,8 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
} else {
mPresenter.getFirstConnect();
mPresenter.getStudesInfo();
- mPresenter.getDeveloper();
}
+ mPresenter.getDeveloper();
mPresenter.sendMacAddress();
}
@@ -1234,6 +1234,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
@Override
public void setLogoImgFinish() {
+ mPresenter.getWallpaper();
+ }
+
+ @Override
+ public void getWallpaperFinish() {
mPresenter.getAllAppList();
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
index 593afff..7545fb1 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
@@ -104,6 +104,7 @@ public class ApkUtils {
* 桌面app
*/
public static final Set desktopAPP = new HashSet() {{
+ this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3");
@@ -1410,6 +1411,7 @@ public class ApkUtils {
this.add("com.aoleyun.sn");
this.add("com.aoleyun.browser");
this.add("com.aoleyun.appstore");
+ this.add("com.aoleyunos.dop0");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3");
diff --git a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
index 2c9bd8c..a28087f 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.ActivityTaskManager;
+import android.app.WallpaperManager;
import android.app.role.RoleManager;
import android.content.ComponentName;
import android.content.ContentResolver;
@@ -18,6 +19,8 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
@@ -38,6 +41,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.core.content.ContextCompat;
+import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.bean.AdminAppInfo;
import com.aoleyun.sn.bean.AppID;
@@ -61,6 +65,9 @@ import com.aoleyun.sn.service.GuardService;
import com.aoleyun.sn.service.StepService;
import com.aoleyun.sn.service.main.MainService;
import com.blankj.utilcode.util.FileUtils;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.target.SimpleTarget;
+import com.bumptech.glide.request.transition.Transition;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
@@ -77,6 +84,7 @@ import com.tencent.mmkv.MMKV;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
@@ -773,13 +781,47 @@ public class JGYUtils {
}
}
+ public static final Set DEFAULT_ALLOW_NETWORK_APP_SET = new HashSet() {{
+ this.add(BuildConfig.APPLICATION_ID);
+ this.add("com.aoleyun.appstore");
+ this.add("com.aoleyun.camera");
+ this.add("com.aoleyun.calculator");
+ this.add("com.aoleyun.gallery3d");
+ this.addAll(ApkUtils.mJxwApp);
+ this.addAll(ApkUtils.desktopAPP);
+ this.add("com.android.settings");
+ this.add("com.aoleyunos.dop");
+ this.add("com.aoleyunos.dop1");
+ this.add("com.aoleyunos.dop2");
+ this.add("com.aoleyunos.dop3");
+ this.add("com.aoleyunos.dop4");
+ this.add("com.aoleyunos.dop5");
+ this.add("com.aoleyunos.dop6");
+ this.add("com.aoleyunos.dop7");
+ this.add("com.aoleyunos.dop8");
+ this.add("com.aoleyunos.dop9");
+ this.add("com.aoleyunos.dop10");
+ }};
+
public void setAppNetwork(HashSet blackList, HashSet whiteList) {
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 blackList =" + blackList);
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 whiteList =" + whiteList);
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+
+ } else {
+ try {
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
+ CmdUtil.Result result = CmdUtil.execute(" settings delete system aole_network_allow");
+ Log.e(TAG, "setAppNetwork: " + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) {
if (blackList == null || blackList.size() == 0) {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, null);
} else {
String net_not = String.join(",", blackList);
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not);
@@ -796,19 +838,19 @@ public class JGYUtils {
} else {
pkgs = new HashSet<>(whiteList);
}
- pkgs.add(BuildConfig.APPLICATION_ID);
- pkgs.add("com.aoleyun.appstore");
- pkgs.add("com.aoleyun.camera");
- pkgs.add("com.aoleyun.calculator");
- pkgs.add("com.aoleyun.gallery3d");
- pkgs.addAll(ApkUtils.mJxwApp);
-
+ pkgs.addAll(DEFAULT_ALLOW_NETWORK_APP_SET);
List filterList = pkgs.stream().filter(s -> ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList());
Log.e(TAG, "setAppNetwork: filterList = " + filterList);
- if (filterList.size() == 0) {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
- } else {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+ if (filterList.size() == 0) {
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
+ } else {
+ // TODO: 2024/10/31 需要多写一次保证数据库变化
+ filterList.add("com.ttstd.utils");
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+ filterList.remove("com.ttstd.utils");
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+ }
}
}
@@ -816,6 +858,44 @@ public class JGYUtils {
* 应用安装之后添加到白名单
*/
public void updateNetworkWhiteList() {
+ Log.e(TAG, "updateNetworkWhiteList: ");
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+
+ } else {
+ try {
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
+ CmdUtil.Result result = CmdUtil.execute(" settings delete system aole_network_allow");
+ Log.e(TAG, "updateNetworkWhiteList: " + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+
+ } else {
+ try {
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
+ CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_black_list");
+ Log.e(TAG, "updateNetworkWhiteList: " + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+
+ } else {
+ try {
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
+ CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_white_list");
+ Log.e(TAG, "getWhiteList: " + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
Set pkgs;
int is_app_install = Settings.System.getInt(crv, CommonConfig.AOLE_APP_ALLOW_INSTALL, 0);
if (is_app_install == 1) {
@@ -824,24 +904,23 @@ public class JGYUtils {
} else {
pkgs = mMMKV.decodeStringSet(CommonConfig.AOLE_ACTION_NETWORK_ALLOW, new HashSet<>());
}
-
- pkgs.add(BuildConfig.APPLICATION_ID);
- pkgs.add("com.aoleyun.appstore");
- pkgs.add("com.aoleyun.camera");
- pkgs.add("com.aoleyun.calculator");
- pkgs.add("com.aoleyun.gallery3d");
- pkgs.addAll(ApkUtils.mJxwApp);
-
+ pkgs.addAll(DEFAULT_ALLOW_NETWORK_APP_SET);
List whiteList = new ArrayList<>(pkgs);
-
List filterList = whiteList.stream().filter(s -> ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList());
Log.e(TAG, "updateNetworkWhiteList: filterList = " + filterList);
- if (filterList.size() == 0) {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
- } else {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+ if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
+ if (filterList.size() == 0) {
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
+ } else {
+ // TODO: 2024/10/31 需要多写一次保证数据库变化
+ filterList.add("com.ttstd.utils");
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+ filterList.remove("com.ttstd.utils");
+ Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+ }
}
+
Log.e(TAG, "updateNetworkWhiteList: " + filterList);
}
@@ -873,7 +952,7 @@ public class JGYUtils {
public void writeDeselectIDtoSystem(List appIDList) {
if (appIDList == null || appIDList.isEmpty()) {
try {
- Settings.System.putString(crv, CommonConfig.APP_VIEW_CLICK_DISABLED, "");
+ Settings.System.putString(crv, CommonConfig.APP_VIEW_CLICK_DISABLED, null);
// TODO: 2024/9/11 修复1.4.0907版本数据为空系统报错
CmdUtil.Result result = CmdUtil.execute(" settings delete system app_view_click_disabled");
Log.e(TAG, "writeDeselectIDtoSystem: " + result);
@@ -1279,9 +1358,17 @@ public class JGYUtils {
this.add("com.android.uiuios");
this.add("com.aoleyun.os");
this.add("com.aoleyun.audos");
+ this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3");
+ this.add("com.aoleyunos.dop4");
+ this.add("com.aoleyunos.dop5");
+ this.add("com.aoleyunos.dop6");
+ this.add("com.aoleyunos.dop7");
+ this.add("com.aoleyunos.dop8");
+ this.add("com.aoleyunos.dop9");
+ this.add("com.aoleyunos.dop10");
this.add("com.aoleyun.info");
this.add("com.calculator.uiui");
this.add("com.notepad.uiui");
@@ -1673,9 +1760,18 @@ public class JGYUtils {
this.add("com.aoleyun.sn");
this.add("com.aoleyun.browser");
this.add("com.aoleyun.os");
+ this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3");
+ this.add("com.aoleyunos.dop4");
+ this.add("com.aoleyunos.dop5");
+ this.add("com.aoleyunos.dop6");
+ this.add("com.aoleyunos.dop7");
+ this.add("com.aoleyunos.dop8");
+ this.add("com.aoleyunos.dop9");
+ this.add("com.aoleyunos.dop10");
+
}};
HashSet aihuaAppList = new HashSet() {{
@@ -2653,7 +2749,7 @@ public class JGYUtils {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("sn", Utils.getSerial(context));
jsonObject.addProperty("mac", Utils.getAndroid10MAC(mContext));
- jsonObject.addProperty("jpush_id", "0000");
+ jsonObject.addProperty("jpush_id", PushServiceFactory.getCloudPushService().getDeviceId());
jsonObject.addProperty("devices_version", Utils.getCustomVersion());
jsonObject.addProperty("appstore_version", BuildConfig.VERSION_NAME);
jsonObject.addProperty("store_version", Utils.getAPPVersionName(PackageNames.APPSTORE, mContext));
@@ -3360,4 +3456,40 @@ public class JGYUtils {
return pkgs.contains(pkg);
}
}
+
+
+ public void setWallpaper(String url) {
+ String oldUrl = mMMKV.decodeString(CommonConfig.WALLPAPER_URL_KEY, "");
+ if (oldUrl.equals(url)){
+ Log.e(TAG, "setWallpaper: Already set" );
+ return;
+ }
+
+// Bitmap bitmap = BitmapFactory.decodeFile(path);
+ //利用WallpaparManager,添加权限set_wallpaper
+ WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext);
+
+// // 获取当前壁纸(非缩略图)
+// Drawable drawable = wallpaperManager.getDrawable();
+// // 获取当前壁纸的缩略图
+// Bitmap bitmap = wallpaperManager.getBitmap();
+// // 获取当前壁纸的尺寸
+// int width = wallpaperManager.getDesiredMinimumWidth();
+// int height = wallpaperManager.getDesiredMinimumHeight();
+ Glide.with(mContext).asBitmap().load(url).into(new SimpleTarget() {
+ @Override
+ public void onResourceReady(@androidx.annotation.NonNull Bitmap resource, @Nullable Transition super Bitmap> transition) {
+ try {
+ wallpaperManager.setBitmap(resource);
+ mMMKV.encode(CommonConfig.WALLPAPER_URL_KEY, url);
+ Log.e("setWallpaper", "onResourceReady: set wallpaper Successful");
+ } catch (IOException e) {
+ e.printStackTrace();
+ Log.e("setWallpaper", "onResourceReady: " + e.getMessage());
+ Log.e("setWallpaper", "onResourceReady: set wallpaper failed");
+ }
+ }
+ });
+
+ }
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
index ee198ea..fb19167 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
@@ -71,6 +71,7 @@ public class SysSettingUtils {
setSystemAppDisable(context, jsonObject);
setNotification(context, jsonObject);
setPanelShow(context, jsonObject);
+ setDisAllowCamera(context, jsonObject);
}
/**
@@ -535,6 +536,8 @@ public class SysSettingUtils {
//状态栏显示开关
int setting_statusbar = changeNum(jsonObject.get("setting_statusbar").getAsInt());
+ Log.e(TAG, "setting_statusbar: " + setting_statusbar);
+
// int oldNum = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_HIDE_STATUS_BAR, 0);
// if (oldNum != setting_statusbar) {
//写入到系统不涉及任何管控,因为之前调用会频繁隐藏显示
@@ -1004,19 +1007,19 @@ public class SysSettingUtils {
setTF(context, changeNum(is_memory_card));
} else {
- TimeUtils.setEmpty(context);
- TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context);
- if (null != c) {
- Log.e("getTimeControl", c.toString());
- }
- Settings.Global.putInt(context.getContentResolver(), CommonConfig.AOLEYUN_APPSTORE_INSTALL, 1);
- setUsb(context, 0);
- setBluetoothTransmission(context, 0);
-// JGYUtils.getInstance().setDeveloperOptions(0);
- setCanReset(context, 0);
- setActionBar(context, 0);
- setNavigationBar(context, 0);
- setTF(context, 0);
+// TimeUtils.setEmpty(context);
+// TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context);
+// if (null != c) {
+// Log.e("getTimeControl", c.toString());
+// }
+// Settings.Global.putInt(context.getContentResolver(), CommonConfig.AOLEYUN_APPSTORE_INSTALL, 1);
+// setUsb(context, 0);
+// setBluetoothTransmission(context, 0);
+//// JGYUtils.getInstance().setDeveloperOptions(0);
+// setCanReset(context, 0);
+// setActionBar(context, 0);
+// setNavigationBar(context, 0);
+// setTF(context, 0);
}
}
@@ -1160,4 +1163,14 @@ public class SysSettingUtils {
context.sendBroadcast(intent);
}
}
+
+ public static void setDisAllowCamera(Context context, JsonObject jsonObject) {
+ JsonElement jsonElement = jsonObject.get("camera_ctrl");
+ if (jsonElement != null && !jsonElement.isJsonNull()) {
+ int camera_ctrl = jsonElement.getAsInt();
+ Log.e("setDisAllowCamera", "setDisAllowCamera: " + camera_ctrl);
+ Settings.System.putInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_DISALLOW_CAMERA, changeNum(camera_ctrl));
+ }
+
+ }
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/Utils.java b/app/src/main/java/com/aoleyun/sn/utils/Utils.java
index 82c6bac..6b6eded 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/Utils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java
@@ -48,6 +48,7 @@ import android.widget.Toast;
import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting;
+import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
import com.aoleyun.sn.comm.CommonConfig;
@@ -109,7 +110,7 @@ import static android.content.Context.WIFI_SERVICE;
public class Utils {
- private static String TAG = "Utils";
+ private static final String TAG = "Utils";
// MD5 设备地址标识
public static String getMAC(Context context) {
@@ -795,7 +796,7 @@ public class Utils {
* @return
*/
public static String getSerial(Context context) {
- if ("HL500".equals(Build.MODEL)){
+ if ("HL500".equals(Build.MODEL)) {
return getIMEI(context);
}
if (TECLAST_BRAND.equalsIgnoreCase(Build.BRAND)) {
@@ -1470,8 +1471,8 @@ public class Utils {
jsonObject.addProperty("screen_rate", screen_rate);
jsonObject.addProperty("working_time", SystemClock.elapsedRealtime() / 1000);
jsonObject.addProperty("restart_count", (int) SPUtils.get(context, "restart_count", 0));
- jsonObject.addProperty("storage_usable", getRemnantSize(context));
- jsonObject.addProperty("storage_total", getDataTotalSize(context));
+ jsonObject.addProperty("storage_usable", getDataTotalSizeGb(context));
+ jsonObject.addProperty("storage_total", getDataTotalSizeGb(context));
String jsonString = jsonObject.toString();
Log.e(TAG, "getMachine: " + jsonString);
return jsonString;
@@ -1486,9 +1487,12 @@ public class Utils {
String storage = getRemnantSize(context) + "/" + getDataTotalSize(context);
int CPU = getNumCores();
JsonObject jsonObject = new JsonObject();
+
jsonObject.addProperty("electric", electric);
jsonObject.addProperty("charging", charging);
jsonObject.addProperty("memory", memory);
+ jsonObject.addProperty("memory_used", Utils.getSizeGb(getFreeMemory(context)));
+ jsonObject.addProperty("memory_total", Utils.getSizeGb(getTotalMemory(context)));
jsonObject.addProperty("storage", storage);
jsonObject.addProperty("battery_capacity", Utils.getBatterymAh(context));
jsonObject.addProperty("CPU", CPU + "核");
@@ -1509,6 +1513,15 @@ public class Utils {
jsonObject.addProperty("longitude", longitude);
jsonObject.addProperty("latitude", latitude);
String jsonString = jsonObject.toString();
+ Log.e(TAG, "getAddressJsonString: " + jsonString);
+ return jsonString;
+ }
+
+ public static String getOtherInfo() {
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("push_id", PushServiceFactory.getCloudPushService().getDeviceId());
+ String jsonString = jsonObject.toString();
+ Log.e(TAG, "getOtherInfo: push_id = " + jsonString);
return jsonString;
}
@@ -1751,6 +1764,23 @@ public class Utils {
return String.format(Locale.getDefault(), " %.2f %s", size, units[index]);
}
+ public static String getSizeGb(long size) {
+ DecimalFormat df = new DecimalFormat("#.00");
+ return df.format((double) size / 1073741824);
+ }
+
+ public static String getDataTotalSizeGb(Context context) {
+ StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());
+ long blockSize = sf.getBlockSize();
+ long totalBlocks = sf.getBlockCount();
+ return getSizeGb(blockSize * totalBlocks);
+ }
+
+ public static String getRemnantSizeGb(Context context) {
+ StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());
+ long availableSize = sf.getAvailableBytes();
+ return getSizeGb(availableSize);
+ }
public static String getDataTotalSize(Context context) {
StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());