diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml
index 85cc94b..c4db91f 100644
--- a/AndroidManifest-common.xml
+++ b/AndroidManifest-common.xml
@@ -69,7 +69,7 @@
0) {
- SendcloseApp(packagename);
-// if (!APKUtils.isSystemApp(this, packagename) && !Arrays.asList(ItemClickHandler.packages).contains(packagename)) {
-// try {
- AppInformation app = getInfoFromPackageName(packagename);
- if (app != null) {
- long time = app.getUsedTimebyDay() / 1000;
- Log.e("fht", "返回运行时间: " + DateUtils.formatElapsedTime(time));
- Log.e("fht", "返回运行时间: " + time);
- NetworkManager.getInstance().getAppUsageRecordControl()
- .sendAppUsageRecord(Utils.getSerial(),
- app.getLabel(), app.getPackageName(),
- TimeUtils.getInstance().getStartTime()/1000,
- TimeUtils.getInstance().getEndTime()/1000)
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("onStart", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("onStart", "onNext: " + baseResponse);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("onStart", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("onStart", "onComplete: ");
- }
- });
-// if (userInfo != null) {
-// HTTPInterface.sendTimeLog(handler, userInfo, app.getLabel(), 2, time - MyApplication.getInstance().getRunTime());
-// } else {
-// Log.e("fht", "userInfo = null");
-// }
- //设为空值
- TimeUtils.getInstance().setAppPackageName("");
- } else {
- Log.e("fht", "app = null" + packagename);
- }
-// } catch (Exception e) {
-// Log.e("fht", e.getMessage());
-// }
-// }
-// } else {
-// Log.e("packagename", "packagename is null");
-
-
- }
-
if (mLauncherCallbacks != null) {
mLauncherCallbacks.onStart();
}
mAppWidgetHost.setListenIfResumed(true);
RaceConditionTracker.onEvent(ON_START_EVT, EXIT);
+
+ /*移除最近任务列表*/
+ TimeUtils.getInstance().setEndTime(System.currentTimeMillis());
+ removeRecentTask();
+ String packageName = TimeUtils.getInstance().getAppPackageName();
+ if (TextUtils.isEmpty(packageName)) {
+ Log.e("onStart", "app = null" + packageName);
+ return;
+ }
+ sendAppUsageRecord(packageName);
}
- private void SendcloseApp(String packageName) {
- PackageManager pm = MyApplication.getInstance().getPackageManager();
- PackageInfo appInfo = null;
- try {
- appInfo = pm.getPackageInfo(packageName, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- if (null != appInfo) {
- long appVersionCode;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- appVersionCode = appInfo.getLongVersionCode();
- } else {
- appVersionCode = appInfo.versionCode;
- }
- AddAppLog appLog = NetworkManager.getInstance().getapplogControl();
- String sn = Utils.getSerial();
- appLog.addLog(sn, packageName, appVersionCode, System.currentTimeMillis() / 1000, 2)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ private void sendAppUsageRecord(String packageName) {
+ Log.e("sendAppUsageRecord", "packageName: " + packageName);
+ String app_name = APKUtils.getAppNameByPackage(Launcher.this, packageName);
+ long openTime = TimeUtils.getInstance().getStartTime() / 1000;
+ long closeTime = TimeUtils.getInstance().getEndTime() / 1000;
+ NetworkManager.getInstance().getAppUsageRecordControl()
+ .sendAppUsageRecord(Utils.getSerial(), packageName, app_name, openTime, closeTime)
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ Log.e("sendAppUsageRecord", "onSubscribe: ");
+ }
- }
+ @Override
+ public void onNext(BaseResponse baseResponse) {
+ Log.e("sendAppUsageRecord", "onNext: " + baseResponse);
+ }
- @Override
- public void onNext(BaseResponse baseResponse) {
- int code = baseResponse.code;
- if (code == 200) {
- Log.e("SendcloseApp", "onNext: " + code + baseResponse.data);
- } else {
- Log.e("SendcloseApp", "onNext: " + code + baseResponse.msg);
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("SendcloseApp", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
-
- }
- });
- }
+ @Override
+ public void onError(Throwable e) {
+ Log.e("sendAppUsageRecord", "onError: " + e.getMessage());
+ }
+ @Override
+ public void onComplete() {
+ Log.e("sendAppUsageRecord", "onComplete: ");
+ }
+ });
}
@@ -1255,12 +1183,9 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
@Override
protected void onResume() {
- Log.e(TAG, "onResume: ");
RaceConditionTracker.onEvent(ON_RESUME_EVT, ENTER);
TraceHelper.beginSection("ON_RESUME");
super.onResume();
- removeRecentTask();
- start.onstar(System.currentTimeMillis());
TraceHelper.partitionSection("ON_RESUME", "superCall");
mHandler.removeCallbacks(mHandleDeferredResume);
@@ -1281,19 +1206,20 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
TraceHelper.endSection("ON_RESUME");
RaceConditionTracker.onEvent(ON_RESUME_EVT, EXIT);
+
+ Log.e(TAG, "onResume: ");
isForeground = true;
-// TimeUtils.getInstance().setAppPackageName(BuildConfig.APPLICATION_ID);
-// TimeUtils.getInstance().setStartTime(System.currentTimeMillis());
- HTTPInterface.getAppPasswd();
- start.onstar(System.currentTimeMillis());
+ /*打开霸屏应用*/
String always_top_packagename = Settings.System.getString(getContentResolver(), "always_top_packagename");
if (!TextUtils.isEmpty(always_top_packagename)) {
APKUtils.openPackage(Launcher.this, always_top_packagename);
}
-
+ mUpdate.checkUpdate(System.currentTimeMillis());
+ mPasswd.getPassword(System.currentTimeMillis());
+ TimeUtils.getInstance().setAppPackageName(BuildConfig.APPLICATION_ID);
+ HTTPInterface.sendRunningApp(Launcher.this);
}
-
private void removeRecentTask() {
Handler.getMain().postDelayed(new Runnable() {
@Override
@@ -1313,22 +1239,56 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
}, 1000);
}
+ private Passwd mPasswd;
- private Start start;
-
- private interface Start {
- void onstar(long time);
+ private interface Passwd {
+ void getPassword(long time);
}
- private ObservableOnSubscribe subscribe = new ObservableOnSubscribe() {
+ private ObservableOnSubscribe passwdSubscribe = new ObservableOnSubscribe() {
@Override
public void subscribe(ObservableEmitter emitter) throws Exception {
- start = emitter::onNext;
+ mPasswd = emitter::onNext;
+ }
+ };
+
+ private Observer passwdObserver = new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ Log.e("passwdObserver", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(Long aLong) {
+ Log.e("passwdObserver", "onNext: " + aLong);
+ HTTPInterface.getAppPasswd();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ Log.e("passwdObserver", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("passwdObserver", "onComplete: ");
+ }
+ };
+
+ private Update mUpdate;
+
+ private interface Update {
+ void checkUpdate(long time);
+ }
+
+ private ObservableOnSubscribe updateSubscribe = new ObservableOnSubscribe() {
+ @Override
+ public void subscribe(ObservableEmitter emitter) throws Exception {
+ mUpdate = emitter::onNext;
}
};
private Observer updateObserver = new Observer() {
-
@Override
public void onSubscribe(Disposable d) {
Log.e("updateObserver", "onSubscribe: ");
@@ -1352,7 +1312,8 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
};
private void checkUpdate() {
- NetworkManager.getInstance().getCheckUpdateObservable()
+ NetworkManager.getInstance()
+ .getCheckUpdateObservable()
.getCheckUpdate(BuildConfig.APPLICATION_ID,
BuildConfig.VERSION_CODE,
JGYUtils.getInstance().checkAppPlatform())
@@ -1428,7 +1389,6 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
mLauncherCallbacks.onPause();
}
isForeground = false;
-// removeRecentTask();
}
@Override
diff --git a/src/com/aoleyun/os/base/MyApplication.java b/src/com/aoleyun/os/base/BaseApplication.java
similarity index 97%
rename from src/com/aoleyun/os/base/MyApplication.java
rename to src/com/aoleyun/os/base/BaseApplication.java
index 4cb1118..bcac4ed 100644
--- a/src/com/aoleyun/os/base/MyApplication.java
+++ b/src/com/aoleyun/os/base/BaseApplication.java
@@ -6,8 +6,8 @@ import android.content.Context;
import android.util.Log;
import com.aoleyun.os.BuildConfig;
-import com.aoleyun.os.TTUtils.ToastUtil;
-import com.aoleyun.os.TTUtils.Utils;
+import com.aoleyun.os.uiuiutils.ToastUtil;
+import com.aoleyun.os.uiuiutils.Utils;
import com.aoleyun.os.jpush.TagAliasOperatorHelper;
import com.aoleyun.os.network.HTTPInterface;
import com.aoleyun.os.network.NetworkManager;
@@ -35,17 +35,21 @@ import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-public class MyApplication extends Application {
- private static final String TAG = MyApplication.class.getSimpleName();
+public class BaseApplication extends Application {
+ private static final String TAG = BaseApplication.class.getSimpleName();
@SuppressLint("StaticFieldLeak")
- private static MyApplication app;
+ private static BaseApplication app;
@SuppressLint("StaticFieldLeak")
private static Context context;
- public static MyApplication getInstance() {
+ public static BaseApplication getInstance() {
return app;
}
+ public static Context getContext(){
+ return context;
+ }
+
@Override
public void onCreate() {
super.onCreate();
diff --git a/src/com/aoleyun/os/icons/IconCache.java b/src/com/aoleyun/os/icons/IconCache.java
index 9601fbd..648400c 100644
--- a/src/com/aoleyun/os/icons/IconCache.java
+++ b/src/com/aoleyun/os/icons/IconCache.java
@@ -37,7 +37,7 @@ import com.aoleyun.os.LauncherFiles;
import com.aoleyun.os.LauncherModel;
import com.aoleyun.os.MainThreadExecutor;
import com.aoleyun.os.R;
-import com.aoleyun.os.TTUtils.BitmapUtils;
+import com.aoleyun.os.uiuiutils.BitmapUtils;
import com.aoleyun.os.WorkspaceItemInfo;
import com.aoleyun.os.Utilities;
import com.aoleyun.os.compat.LauncherAppsCompat;
diff --git a/src/com/aoleyun/os/jpush/MyJPushMessageReceiver.java b/src/com/aoleyun/os/jpush/MyJPushMessageReceiver.java
index 02b4a16..1f6f237 100644
--- a/src/com/aoleyun/os/jpush/MyJPushMessageReceiver.java
+++ b/src/com/aoleyun/os/jpush/MyJPushMessageReceiver.java
@@ -2,7 +2,7 @@ package com.aoleyun.os.jpush;
import android.content.Context;
-import com.aoleyun.os.base.MyApplication;
+import com.aoleyun.os.base.BaseApplication;
import cn.jpush.android.api.CustomMessage;
import cn.jpush.android.api.JPushMessage;
@@ -17,7 +17,7 @@ public class MyJPushMessageReceiver extends JPushMessageReceiver {
public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
TagAliasOperatorHelper.getInstance().onTagOperatorResult(context,jPushMessage);
super.onTagOperatorResult(context, jPushMessage);
- MyApplication.getInstance().onTagOperatorResult(jPushMessage);
+ BaseApplication.getInstance().onTagOperatorResult(jPushMessage);
}
@Override
public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage){
@@ -28,7 +28,7 @@ public class MyJPushMessageReceiver extends JPushMessageReceiver {
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context,jPushMessage);
super.onAliasOperatorResult(context, jPushMessage);
- MyApplication.getInstance().onAliasOperatorResult(jPushMessage);
+ BaseApplication.getInstance().onAliasOperatorResult(jPushMessage);
}
@Override
diff --git a/src/com/aoleyun/os/jpush/MyReceiver.java b/src/com/aoleyun/os/jpush/MyReceiver.java
index 57b2472..566214f 100644
--- a/src/com/aoleyun/os/jpush/MyReceiver.java
+++ b/src/com/aoleyun/os/jpush/MyReceiver.java
@@ -7,6 +7,8 @@ import android.os.Bundle;
import android.text.TextUtils;
import com.aoleyun.os.network.HTTPInterface;
+import com.aoleyun.os.service.MainService;
+import com.aoleyun.os.uiuiutils.ForegroundAppUtil;
import org.json.JSONException;
import org.json.JSONObject;
@@ -134,7 +136,7 @@ public class MyReceiver extends BroadcastReceiver {
switch (message) {
case SEND_RUNNING_APP:
- HTTPInterface.SendRunningApp(context);
+ getRunningApp(context);
break;
case UPDATE_APP_LOCK:
HTTPInterface.getAppPasswd();
@@ -146,4 +148,8 @@ public class MyReceiver extends BroadcastReceiver {
}
+ private void getRunningApp(Context context) {
+ HTTPInterface.sendRunningApp(context);
+ }
+
}
diff --git a/src/com/aoleyun/os/jpush/TagAliasOperatorHelper.java b/src/com/aoleyun/os/jpush/TagAliasOperatorHelper.java
index 0e8adf7..0c8c321 100644
--- a/src/com/aoleyun/os/jpush/TagAliasOperatorHelper.java
+++ b/src/com/aoleyun/os/jpush/TagAliasOperatorHelper.java
@@ -6,7 +6,7 @@ import android.os.Message;
import android.util.Log;
import android.util.SparseArray;
-import com.aoleyun.os.TTUtils.ToastUtil;
+import com.aoleyun.os.uiuiutils.ToastUtil;
import java.util.Locale;
import java.util.Set;
diff --git a/src/com/aoleyun/os/model/AddWorkspaceItemsTask.java b/src/com/aoleyun/os/model/AddWorkspaceItemsTask.java
index dbcf9bd..ec439ab 100644
--- a/src/com/aoleyun/os/model/AddWorkspaceItemsTask.java
+++ b/src/com/aoleyun/os/model/AddWorkspaceItemsTask.java
@@ -220,7 +220,9 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask {
int screenCount = workspaceScreens.size();
// First check the preferred screen.
- int preferredScreenIndex = workspaceScreens.isEmpty() ? 0 : 1;
+// int preferredScreenIndex = workspaceScreens.isEmpty() ? 0 : 1;
+ /*从第一页开始显示*/
+ int preferredScreenIndex = 0;
if (preferredScreenIndex < screenCount) {
screenId = workspaceScreens.get(preferredScreenIndex);
found = findNextAvailableIconSpaceInScreen(
diff --git a/src/com/aoleyun/os/model/LoaderTask.java b/src/com/aoleyun/os/model/LoaderTask.java
index c5d21cb..9aa83d6 100644
--- a/src/com/aoleyun/os/model/LoaderTask.java
+++ b/src/com/aoleyun/os/model/LoaderTask.java
@@ -27,6 +27,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.ApplicationInfo;
import android.content.pm.LauncherActivityInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageInstaller.SessionInfo;
@@ -250,7 +251,7 @@ public class LoaderTask implements Runnable {
/**
* 需要隐藏的图标
*/
- private List hideApp = new ArrayList() {{
+ private HashSet hideApp = new HashSet() {{
this.add(BuildConfig.APPLICATION_ID);
this.add("com.android.quicksearchbox");
this.add("com.st.nfc.dta.mobile");
@@ -260,6 +261,36 @@ public class LoaderTask implements Runnable {
this.add("com.android.email");
}};
+ public static HashSet showApp = new HashSet() {{
+// this.add(BuildConfig.APPLICATION_ID);
+ //aoleyun
+ this.add("com.aoleyun.sn");
+ this.add("com.aoleyun.appstore");
+ this.add("com.aoleyun.postern");
+ this.add("com.aoleyun.browser");
+ this.add("com.aoleyun.info");
+ this.add("com.aoleyun.file");
+ this.add("com.aoleyun.reos");
+ this.add("com.aoleyunos.dop1");
+ this.add("com.aoleyunos.dop2");
+ //system
+ this.add("com.android.documentsui");
+ this.add("com.android.messaging");
+ this.add("com.android.music");
+ this.add("com.android.camera");
+ this.add("com.android.camera2");
+ this.add("com.android.settings");
+ this.add("com.android.stk");
+ this.add("com.mediatek.camera");
+ this.add("com.mediatek.filemanager");
+ //uiui
+ this.add("com.calculator.uiui");
+ this.add("com.notepad.uiui");
+ this.add("com.calendar.uiui");
+ this.add("com.alarmclock.uiui");
+ this.add("com.uiui.videoplayer");
+ }};
+
//add for load all app on workspace
private void verifyApplications() {
final Context context = mApp.getContext();
@@ -270,8 +301,11 @@ public class LoaderTask implements Runnable {
ArrayList added = new ArrayList();
synchronized (this) {
for (LauncherActivityInfo app : apps) {
- if (hideApp.contains(app.getApplicationInfo().packageName)) {
- continue;
+ /*系统应用*/
+ if ((app.getApplicationFlags() & ApplicationInfo.FLAG_SYSTEM) == 1) {
+ if (!showApp.contains(app.getApplicationInfo().packageName)) {
+ continue;
+ }
}
InstallShortcutReceiver.PendingInstallShortcutInfo pendingInstallShortcutInfo = new InstallShortcutReceiver.PendingInstallShortcutInfo(app, context);
added.add(pendingInstallShortcutInfo);
diff --git a/src/com/aoleyun/os/network/HTTPInterface.java b/src/com/aoleyun/os/network/HTTPInterface.java
index 395f354..7a83b36 100644
--- a/src/com/aoleyun/os/network/HTTPInterface.java
+++ b/src/com/aoleyun/os/network/HTTPInterface.java
@@ -4,7 +4,9 @@ import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
-import com.aoleyun.os.TTUtils.APKUtils;
+import com.aoleyun.os.network.bean.AppPasswdBean;
+import com.aoleyun.os.network.bean.BaseResponse;
+import com.aoleyun.os.uiuiutils.APKUtils;
import com.aoleyun.os.jpush.TagAliasOperatorHelper;
import com.aoleyun.os.uiuiutils.JGYUtils;
import com.aoleyun.os.uiuiutils.TimeUtils;
@@ -117,8 +119,14 @@ public class HTTPInterface {
});
}
- public static void SendRunningApp(Context context) {
+ /**
+ * 发送正在运行的app信息
+ *
+ * @param context
+ */
+ public static void sendRunningApp(Context context) {
String packageName = TimeUtils.getInstance().getAppPackageName();
+ Log.e("SendRunningApp", "packageName: " + packageName);
long time = TimeUtils.getInstance().getStartTime();
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("app_package", packageName);
@@ -136,7 +144,7 @@ public class HTTPInterface {
@Override
public void onNext(BaseResponse baseResponse) {
- Log.e("SendRunningApp", "onSubscribe: " + baseResponse);
+ Log.e("SendRunningApp", "onNext: " + baseResponse);
}
@Override
diff --git a/src/com/aoleyun/os/network/NetworkManager.java b/src/com/aoleyun/os/network/NetworkManager.java
index f090290..62a09f9 100644
--- a/src/com/aoleyun/os/network/NetworkManager.java
+++ b/src/com/aoleyun/os/network/NetworkManager.java
@@ -3,7 +3,9 @@ package com.aoleyun.os.network;
import android.content.Context;
import android.os.Environment;
-import com.aoleyun.os.TTUtils.Utils;
+import com.aoleyun.os.network.bean.AppPasswdBean;
+import com.aoleyun.os.network.bean.BaseResponse;
+import com.aoleyun.os.uiuiutils.Utils;
import com.aoleyun.os.network.api.AddAppLog;
import com.aoleyun.os.network.api.AppUsageRecordApi;
import com.aoleyun.os.network.api.CheckUpdate;
diff --git a/src/com/aoleyun/os/network/api/AddAppLog.java b/src/com/aoleyun/os/network/api/AddAppLog.java
index 59115d6..d7124ad 100644
--- a/src/com/aoleyun/os/network/api/AddAppLog.java
+++ b/src/com/aoleyun/os/network/api/AddAppLog.java
@@ -1,6 +1,6 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.URLPath;
import io.reactivex.Observable;
diff --git a/src/com/aoleyun/os/network/api/AppUsageRecordApi.java b/src/com/aoleyun/os/network/api/AppUsageRecordApi.java
index 0b5d805..194589c 100644
--- a/src/com/aoleyun/os/network/api/AppUsageRecordApi.java
+++ b/src/com/aoleyun/os/network/api/AppUsageRecordApi.java
@@ -1,6 +1,6 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.URLPath;
@@ -11,11 +11,11 @@ import retrofit2.http.POST;
public interface AppUsageRecordApi {
@FormUrlEncoded
- @POST(value = URLPath.SEND_APP_RECORD)
+ @POST(URLPath.SEND_APP_RECORD)
Observable sendAppUsageRecord(
@Field("sn") String sn,
- @Field("app_name") String app_name,
@Field("app_package") String app_package,
+ @Field("app_name") String app_name,
@Field("open_time") long open_time,
@Field("close_time") long close_time
);
diff --git a/src/com/aoleyun/os/network/api/CheckUpdate.java b/src/com/aoleyun/os/network/api/CheckUpdate.java
index 17867dc..34a3fdb 100644
--- a/src/com/aoleyun/os/network/api/CheckUpdate.java
+++ b/src/com/aoleyun/os/network/api/CheckUpdate.java
@@ -1,7 +1,7 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.BaseResponse;
-import com.aoleyun.os.network.NewestAppUpdateResult;
+import com.aoleyun.os.network.bean.BaseResponse;
+import com.aoleyun.os.network.bean.NewestAppUpdateResult;
import com.aoleyun.os.network.URLPath;
import io.reactivex.Observable;
diff --git a/src/com/aoleyun/os/network/api/GetAppPassword.java b/src/com/aoleyun/os/network/api/GetAppPassword.java
index 877a7b6..6deca93 100644
--- a/src/com/aoleyun/os/network/api/GetAppPassword.java
+++ b/src/com/aoleyun/os/network/api/GetAppPassword.java
@@ -1,7 +1,7 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.AppPasswdBean;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.AppPasswdBean;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.URLPath;
import java.util.List;
diff --git a/src/com/aoleyun/os/network/api/GetJpushTagsApi.java b/src/com/aoleyun/os/network/api/GetJpushTagsApi.java
index c87ef6b..93a6b78 100644
--- a/src/com/aoleyun/os/network/api/GetJpushTagsApi.java
+++ b/src/com/aoleyun/os/network/api/GetJpushTagsApi.java
@@ -1,7 +1,7 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.URLPath;
import io.reactivex.Observable;
diff --git a/src/com/aoleyun/os/network/api/RunningApp.java b/src/com/aoleyun/os/network/api/RunningApp.java
index c0c621a..b482dc4 100644
--- a/src/com/aoleyun/os/network/api/RunningApp.java
+++ b/src/com/aoleyun/os/network/api/RunningApp.java
@@ -1,6 +1,6 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.URLPath;
import io.reactivex.Observable;
diff --git a/src/com/aoleyun/os/network/api/SendScreenshotApi.java b/src/com/aoleyun/os/network/api/SendScreenshotApi.java
index 3f2bdc3..a26f600 100644
--- a/src/com/aoleyun/os/network/api/SendScreenshotApi.java
+++ b/src/com/aoleyun/os/network/api/SendScreenshotApi.java
@@ -1,6 +1,6 @@
package com.aoleyun.os.network.api;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.URLPath;
import java.util.Map;
diff --git a/src/com/aoleyun/os/network/AppPasswdBean.java b/src/com/aoleyun/os/network/bean/AppPasswdBean.java
similarity index 94%
rename from src/com/aoleyun/os/network/AppPasswdBean.java
rename to src/com/aoleyun/os/network/bean/AppPasswdBean.java
index a6fbf07..6123169 100644
--- a/src/com/aoleyun/os/network/AppPasswdBean.java
+++ b/src/com/aoleyun/os/network/bean/AppPasswdBean.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.network;
+package com.aoleyun.os.network.bean;
import java.io.Serializable;
diff --git a/src/com/aoleyun/os/network/BaseResponse.java b/src/com/aoleyun/os/network/bean/BaseResponse.java
similarity index 93%
rename from src/com/aoleyun/os/network/BaseResponse.java
rename to src/com/aoleyun/os/network/bean/BaseResponse.java
index 59439e6..c0174c7 100644
--- a/src/com/aoleyun/os/network/BaseResponse.java
+++ b/src/com/aoleyun/os/network/bean/BaseResponse.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.network;
+package com.aoleyun.os.network.bean;
import androidx.annotation.NonNull;
diff --git a/src/com/aoleyun/os/network/NewestAppUpdateResult.java b/src/com/aoleyun/os/network/bean/NewestAppUpdateResult.java
similarity index 97%
rename from src/com/aoleyun/os/network/NewestAppUpdateResult.java
rename to src/com/aoleyun/os/network/bean/NewestAppUpdateResult.java
index d8e2f3b..f37f883 100644
--- a/src/com/aoleyun/os/network/NewestAppUpdateResult.java
+++ b/src/com/aoleyun/os/network/bean/NewestAppUpdateResult.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.network;
+package com.aoleyun.os.network.bean;
import androidx.annotation.NonNull;
diff --git a/src/com/aoleyun/os/service/MainService.java b/src/com/aoleyun/os/service/MainService.java
index 68f0474..62cab45 100644
--- a/src/com/aoleyun/os/service/MainService.java
+++ b/src/com/aoleyun/os/service/MainService.java
@@ -10,11 +10,11 @@ import android.os.PowerManager;
import android.text.TextUtils;
import android.util.Log;
-import com.aoleyun.os.Launcher;
-import com.aoleyun.os.TTUtils.APKUtils;
-import com.aoleyun.os.TTUtils.CmdUtil;
-import com.aoleyun.os.TTUtils.Utils;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.BuildConfig;
+import com.aoleyun.os.uiuiutils.APKUtils;
+import com.aoleyun.os.uiuiutils.CmdUtil;
+import com.aoleyun.os.uiuiutils.Utils;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.NetworkManager;
import com.aoleyun.os.uiuiutils.ForegroundAppUtil;
import com.aoleyun.os.uiuiutils.TimeUtils;
@@ -92,9 +92,8 @@ public class MainService extends Service {
}
}
- private final static long ONE_HOURS_TIME = 60 * 60;
- private final static long TEN_MINUTES_TIME = 60 * 10;
-
+ private final static long ONE_HOURS_TIME = 60 * 60 * 1000;
+ private final static long TEN_MINUTES_TIME = 60 * 10 * 1000;
private void isScreenshot() {
//1、检测应用使用情况,如果设备长时间运行一个应用,超过1小时,启动截屏一次。
@@ -104,7 +103,7 @@ public class MainService extends Service {
String topPackageName = ForegroundAppUtil.getForegroundPackageName(MainService.this);
Log.e(TAG, "isScreenshot: " + topPackageName);
String pkg = TimeUtils.getInstance().getAppPackageName();
- if (TextUtils.isEmpty(pkg)) {
+ if (TextUtils.isEmpty(pkg) || BuildConfig.APPLICATION_ID.equals(pkg)) {
return;
}
diff --git a/src/com/aoleyun/os/Statistics/AppInformation.java b/src/com/aoleyun/os/statistics/AppInformation.java
similarity index 99%
rename from src/com/aoleyun/os/Statistics/AppInformation.java
rename to src/com/aoleyun/os/statistics/AppInformation.java
index 6a45889..8ceca6b 100644
--- a/src/com/aoleyun/os/Statistics/AppInformation.java
+++ b/src/com/aoleyun/os/statistics/AppInformation.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.Statistics;
+package com.aoleyun.os.statistics;
import android.app.usage.UsageStats;
import android.content.Context;
diff --git a/src/com/aoleyun/os/Statistics/StatisticsInfo.java b/src/com/aoleyun/os/statistics/StatisticsInfo.java
similarity index 99%
rename from src/com/aoleyun/os/Statistics/StatisticsInfo.java
rename to src/com/aoleyun/os/statistics/StatisticsInfo.java
index b244a99..47960dd 100644
--- a/src/com/aoleyun/os/Statistics/StatisticsInfo.java
+++ b/src/com/aoleyun/os/statistics/StatisticsInfo.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.Statistics;
+package com.aoleyun.os.statistics;
import android.annotation.TargetApi;
import android.app.usage.UsageEvents;
@@ -14,7 +14,7 @@ import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
-import static com.aoleyun.os.Statistics.AppInformation.bootTime;
+import static com.aoleyun.os.statistics.AppInformation.bootTime;
public class StatisticsInfo {
diff --git a/src/com/aoleyun/os/touch/ItemClickHandler.java b/src/com/aoleyun/os/touch/ItemClickHandler.java
index c5b2c67..14cf0da 100644
--- a/src/com/aoleyun/os/touch/ItemClickHandler.java
+++ b/src/com/aoleyun/os/touch/ItemClickHandler.java
@@ -47,20 +47,20 @@ import com.aoleyun.os.ItemInfo;
import com.aoleyun.os.Launcher;
import com.aoleyun.os.LauncherAppWidgetInfo;
import com.aoleyun.os.LauncherAppWidgetProviderInfo;
-import com.aoleyun.os.TTUtils.CustomDialog;
-import com.aoleyun.os.TTUtils.ToastUtil;
-import com.aoleyun.os.base.MyApplication;
+import com.aoleyun.os.uiuiutils.CustomDialog;
+import com.aoleyun.os.uiuiutils.ToastUtil;
+import com.aoleyun.os.base.BaseApplication;
import com.aoleyun.os.PromiseAppInfo;
import com.aoleyun.os.R;
-import com.aoleyun.os.Statistics.AppInformation;
-import com.aoleyun.os.Statistics.StatisticsInfo;
-import com.aoleyun.os.TTUtils.Utils;
+import com.aoleyun.os.statistics.AppInformation;
+import com.aoleyun.os.statistics.StatisticsInfo;
+import com.aoleyun.os.uiuiutils.Utils;
import com.aoleyun.os.WorkspaceItemInfo;
import com.aoleyun.os.compat.AppWidgetManagerCompat;
import com.aoleyun.os.folder.Folder;
import com.aoleyun.os.folder.FolderIcon;
-import com.aoleyun.os.network.AppPasswdBean;
-import com.aoleyun.os.network.BaseResponse;
+import com.aoleyun.os.network.bean.AppPasswdBean;
+import com.aoleyun.os.network.bean.BaseResponse;
import com.aoleyun.os.network.HTTPInterface;
import com.aoleyun.os.network.NetworkManager;
import com.aoleyun.os.network.api.AddAppLog;
@@ -128,8 +128,7 @@ public class ItemClickHandler {
Log.e("onClick", "onClick: " + ApplicationLock);
Type type = new TypeToken>() {
}.getType();
- Gson gson = new Gson();
- List appPasswdBeans = gson.fromJson(ApplicationLock, type);
+ List appPasswdBeans = new Gson().fromJson(ApplicationLock, type);
String packageName = ((WorkspaceItemInfo) tag).getTargetComponent().getPackageName();
Log.e("ItemClickHandler", "onClick: " + packageName);
if (appPasswdBeans == null) {
@@ -139,7 +138,6 @@ public class ItemClickHandler {
for (AppPasswdBean bean : appPasswdBeans) {
hashMap.put(bean.getApp_package(), bean.getPassword());
}
-
if (hashMap.get(packageName) != null) {
CustomDialog dialog = new CustomDialog(v.getContext());
dialog.setTitle("请输入密码");
@@ -168,35 +166,12 @@ public class ItemClickHandler {
onClickAppShortcut(v, (WorkspaceItemInfo) tag, launcher, sourceContainer);
}
}
-
-// Log.e("ItemClickHandler", "onClick: " + packageName);
-// if (cameraClosed(v.getContext(), packageName)) {
-// return;
-// }
// onClickAppShortcut(v, (WorkspaceItemInfo) tag, launcher, sourceContainer);
- AppInformation app = null;
- try {
- app = getInfoFromPackageName(packageName);
- } catch (Exception e) {
- Log.e("onClick", e.getMessage());
- }
-// if (app != null) {
-// Log.e("fht", "运行时间: " + DateUtils.formatElapsedTime(app.getUsedTimebyDay() / 1000));
-// Log.e("fht", "运行时间: " + app.getUsedTimebyDay() / 1000);
-// TimeUtils.getInstance().setTime(app.getUsedTimebyDay() / 1000);
-//
-// } else {
-// Log.e("fht", "首次运行:" + "包名:" + packageName);
-// TimeUtils.getInstance().setTime(0);
-// }
-// if (!APKUtils.isSystemApp(v.getContext(), packageName) && !Arrays.asList(packages).contains(packageName)) {
-// HTTPInterface.sendTimeLog(handler, userInfo, ((ShortcutInfo) tag).title.toString(), 1, 0);
-// SendOpenApp(packageName);
-// }
+
//写入正在运行的app的包名和时间
TimeUtils.getInstance().setAppPackageName(packageName);
TimeUtils.getInstance().setStartTime(System.currentTimeMillis());
- HTTPInterface.SendRunningApp(MyApplication.getInstance().getApplicationContext());
+ HTTPInterface.sendRunningApp(BaseApplication.getContext());
} else if (tag instanceof FolderInfo) {
if (v instanceof FolderIcon) {
onClickFolderIcon(v);
@@ -235,13 +210,12 @@ public class ItemClickHandler {
"com.android.uiuios",
"com.easyold.uiuios",
"com.jiaoguanyi.store"
-
};
public static AppInformation getInfoFromPackageName(String packageName) {
List list;
AppInformation app = null;
- StatisticsInfo statisticsInfo = new StatisticsInfo(MyApplication.getInstance().getApplicationContext());
+ StatisticsInfo statisticsInfo = new StatisticsInfo(BaseApplication.getInstance().getApplicationContext());
list = statisticsInfo.getShowList();
for (AppInformation appInformation : list) {
String name = appInformation.getPackageName();
@@ -252,57 +226,6 @@ public class ItemClickHandler {
return app;
}
- private static void SendOpenApp(String packageName) {
- PackageManager pm = MyApplication.getInstance().getPackageManager();
- PackageInfo appInfo = null;
- try {
- appInfo = pm.getPackageInfo(packageName, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- if (null != appInfo) {
- long appVersionCode;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- appVersionCode = appInfo.getLongVersionCode();
- } else {
- appVersionCode = appInfo.versionCode;
- }
- AddAppLog appLog = NetworkManager.getInstance().getapplogControl();
- String sn = Utils.getSerial();
- appLog.addLog(sn, packageName, appVersionCode, System.currentTimeMillis() / 1000, 1)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("SendOpenApp", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- int code = baseResponse.code;
- if (code == 200) {
- Log.e("SendOpenApp", "onNext: " + code + baseResponse.data);
- } else {
- Log.e("SendOpenApp", "onNext: " + code + baseResponse.msg);
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("SendOpenApp", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("SendOpenApp", "onComplete: ");
- }
- });
- }
-
- }
-
-
/**
* Event handler for a folder icon click.
*
diff --git a/src/com/aoleyun/os/TTUtils/APKUtils.java b/src/com/aoleyun/os/uiuiutils/APKUtils.java
similarity index 99%
rename from src/com/aoleyun/os/TTUtils/APKUtils.java
rename to src/com/aoleyun/os/uiuiutils/APKUtils.java
index b12756a..6a3bc13 100644
--- a/src/com/aoleyun/os/TTUtils/APKUtils.java
+++ b/src/com/aoleyun/os/uiuiutils/APKUtils.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import android.app.PendingIntent;
import android.content.ComponentName;
diff --git a/src/com/aoleyun/os/TTUtils/BitmapUtils.java b/src/com/aoleyun/os/uiuiutils/BitmapUtils.java
similarity index 99%
rename from src/com/aoleyun/os/TTUtils/BitmapUtils.java
rename to src/com/aoleyun/os/uiuiutils/BitmapUtils.java
index 2f5fe82..3c7b4ad 100644
--- a/src/com/aoleyun/os/TTUtils/BitmapUtils.java
+++ b/src/com/aoleyun/os/uiuiutils/BitmapUtils.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import android.content.Context;
import android.graphics.Bitmap;
diff --git a/src/com/aoleyun/os/TTUtils/CmdUtil.java b/src/com/aoleyun/os/uiuiutils/CmdUtil.java
similarity index 98%
rename from src/com/aoleyun/os/TTUtils/CmdUtil.java
rename to src/com/aoleyun/os/uiuiutils/CmdUtil.java
index ab55788..8aa938b 100644
--- a/src/com/aoleyun/os/TTUtils/CmdUtil.java
+++ b/src/com/aoleyun/os/uiuiutils/CmdUtil.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import android.text.TextUtils;
import android.util.Log;
diff --git a/src/com/aoleyun/os/TTUtils/CustomDialog.java b/src/com/aoleyun/os/uiuiutils/CustomDialog.java
similarity index 99%
rename from src/com/aoleyun/os/TTUtils/CustomDialog.java
rename to src/com/aoleyun/os/uiuiutils/CustomDialog.java
index cbd0909..9613ba1 100644
--- a/src/com/aoleyun/os/TTUtils/CustomDialog.java
+++ b/src/com/aoleyun/os/uiuiutils/CustomDialog.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import android.content.Context;
diff --git a/src/com/aoleyun/os/TTUtils/DateUtils.java b/src/com/aoleyun/os/uiuiutils/DateUtils.java
similarity index 98%
rename from src/com/aoleyun/os/TTUtils/DateUtils.java
rename to src/com/aoleyun/os/uiuiutils/DateUtils.java
index e76d579..3e2fc51 100644
--- a/src/com/aoleyun/os/TTUtils/DateUtils.java
+++ b/src/com/aoleyun/os/uiuiutils/DateUtils.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
diff --git a/src/com/aoleyun/os/uiuiutils/JGYUtils.java b/src/com/aoleyun/os/uiuiutils/JGYUtils.java
index e8e701e..0f0e71a 100644
--- a/src/com/aoleyun/os/uiuiutils/JGYUtils.java
+++ b/src/com/aoleyun/os/uiuiutils/JGYUtils.java
@@ -1,14 +1,20 @@
package com.aoleyun.os.uiuiutils;
import android.annotation.SuppressLint;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.provider.Settings;
+import android.text.TextUtils;
import android.util.Log;
import com.aoleyun.os.BuildConfig;
+import com.aoleyun.os.model.LoaderTask;
import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.HashSet;
public class JGYUtils {
@@ -17,6 +23,7 @@ public class JGYUtils {
@SuppressLint("StaticFieldLeak")
private static JGYUtils sInstance;
private Context mContext;
+ private ContentResolver mResolver;
public static int MTKPlatform = 1;
public static int ZhanruiPlatform = 2;
public static int UnknowPlatform = 0;
@@ -25,7 +32,11 @@ public class JGYUtils {
private JGYUtils(Context context) {
+ if (context == null) {
+ throw new RuntimeException("Context is NULL");
+ }
this.mContext = context;
+ this.mResolver = context.getContentResolver();
}
public static void init(Context context) {
@@ -159,5 +170,15 @@ public class JGYUtils {
return value;
}
}
+
+
+ public boolean isEnforceApp(String pkg) {
+ String appString = Settings.System.getString(mResolver, "qch_force_app");
+ if (TextUtils.isEmpty(appString)) return false;
+ Log.e("isEnforceApp", "appString: " + appString);
+ HashSet appSet = new HashSet<>(Arrays.asList(appString.split(",")));
+ appSet.addAll(LoaderTask.showApp);
+ return appSet.contains(pkg);
+ }
}
diff --git a/src/com/aoleyun/os/uiuiutils/TimeUtils.java b/src/com/aoleyun/os/uiuiutils/TimeUtils.java
index 8a397a9..8a8c143 100644
--- a/src/com/aoleyun/os/uiuiutils/TimeUtils.java
+++ b/src/com/aoleyun/os/uiuiutils/TimeUtils.java
@@ -4,29 +4,27 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.util.Log;
-import com.aoleyun.os.TTUtils.APKUtils;
-import com.aoleyun.os.network.BaseResponse;
-import com.aoleyun.os.network.NetworkManager;
-import com.google.gson.JsonObject;
-
+import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-
public class TimeUtils {
@SuppressLint("StaticFieldLeak")
private static TimeUtils sInstance;
private Context mContext;
+ private AppUsageRecord mAppUsageRecord;
private SimpleDateFormat ruleSDF = new SimpleDateFormat("HH:mm:ss");
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private String TAG = TimeUtils.class.getSimpleName();
private TimeUtils(Context context) {
+ if (context == null) {
+ throw new RuntimeException("Context is NULL");
+ }
this.mContext = context;
+ mAppUsageRecord = new AppUsageRecord();
}
public static void init(Context context) {
@@ -45,32 +43,43 @@ public class TimeUtils {
private static String normalStartTime = "8:00:00";
private static String unusualStartTime = "22:00:00";
- private String appPackageName;
- private long endTime = 0;
- private long startTime = 0;
+
+ class AppUsageRecord implements Serializable {
+ private static final long serialVersionUID = 7368756182558952397L;
+
+ String pkg;
+ long startTime;
+ long endTime;
+ }
public void setAppPackageName(String name) {
- this.appPackageName = name;
+ mAppUsageRecord.pkg = name;
}
public String getAppPackageName() {
- return appPackageName;
+ return mAppUsageRecord.pkg;
}
public void setStartTime(long time) {
- this.startTime = time;
+ mAppUsageRecord.startTime = time;
}
public long getStartTime() {
- return startTime;
+ return mAppUsageRecord.startTime;
}
public void setEndTime(long time) {
- this.endTime = time;
+ mAppUsageRecord.endTime = time;
}
public long getEndTime() {
- return endTime;
+ return mAppUsageRecord.endTime;
+ }
+
+ public void clear() {
+ mAppUsageRecord.pkg = "";
+ mAppUsageRecord.startTime = 0;
+ mAppUsageRecord.endTime = 0;
}
private static final long DAY_TIME = 1000 * 60 * 60 * 24;
diff --git a/src/com/aoleyun/os/TTUtils/ToastUtil.java b/src/com/aoleyun/os/uiuiutils/ToastUtil.java
similarity index 97%
rename from src/com/aoleyun/os/TTUtils/ToastUtil.java
rename to src/com/aoleyun/os/uiuiutils/ToastUtil.java
index 6d388e0..003ae02 100644
--- a/src/com/aoleyun/os/TTUtils/ToastUtil.java
+++ b/src/com/aoleyun/os/uiuiutils/ToastUtil.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import android.annotation.SuppressLint;
import android.content.Context;
@@ -12,7 +12,6 @@ import android.widget.Toast;
import com.aoleyun.os.BuildConfig;
import com.aoleyun.os.R;
-import com.aoleyun.os.uiuiutils.JGYUtils;
import com.blankj.utilcode.util.ColorUtils;
import com.blankj.utilcode.util.ToastUtils;
diff --git a/src/com/aoleyun/os/TTUtils/Utils.java b/src/com/aoleyun/os/uiuiutils/Utils.java
similarity index 99%
rename from src/com/aoleyun/os/TTUtils/Utils.java
rename to src/com/aoleyun/os/uiuiutils/Utils.java
index a588b1a..c35baeb 100644
--- a/src/com/aoleyun/os/TTUtils/Utils.java
+++ b/src/com/aoleyun/os/uiuiutils/Utils.java
@@ -1,4 +1,4 @@
-package com.aoleyun.os.TTUtils;
+package com.aoleyun.os.uiuiutils;
import android.annotation.SuppressLint;
import android.app.ActivityManager;