From 9a1b5ece77bac1076afedf10f41b601d1e9a3c04 Mon Sep 17 00:00:00 2001
From: fanhuitong <981964879@qq.com>
Date: Thu, 10 Jun 2021 18:25:59 +0800
Subject: [PATCH] =?UTF-8?q?version:2.1.2=20update:=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=85=B6=E4=BB=96apk=E9=9D=99=E9=BB=98=E5=AE=89=E8=A3=85?=
=?UTF-8?q?=E5=BA=94=E7=94=A8=EF=BC=8C=E8=8E=B7=E5=8F=96=E4=B8=8D=E5=88=B0?=
=?UTF-8?q?=E7=AE=A1=E6=8E=A7=E6=97=B6=E5=85=B3=E9=97=AD=E6=89=80=E6=9C=89?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=B8=BB=E9=A1=B5=E4=B9=A6=E7=AD=BE?=
=?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=8A=A0https://=20fix:=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E9=87=8D=E5=90=AF=E5=90=8E=E5=9B=BE=E6=A0=87=E4=B8=A2=E5=A4=B1?=
=?UTF-8?q?=20add:?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/build.gradle | 4 +-
app/src/main/AndroidManifest.xml | 4 +
.../myappstore/activity/MainPresenter.java | 196 ++++++++++--------
.../myappstore/network/HTTPInterface.java | 133 +++++++++++-
.../myappstore/receiver/MyJPushReceiver.java | 5 +-
.../myappstore/server/MainService.java | 62 ++++++
.../mjsheng/myappstore/utils/ApkUtils.java | 5 +-
.../mjsheng/myappstore/utils/JGYUtils.java | 20 ++
.../mjsheng/myappstore/utils/URLUtils.java | 2 +-
9 files changed, 334 insertions(+), 97 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index f068fba..26ac44e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -41,9 +41,9 @@ android {
//新平台正式
newly {
flavorDimensions "default"
- versionCode 511
+ versionCode 512
//versionCode 1037
- versionName "2.1.1"
+ versionName "2.1.2"
/*********************************极光推送************************************/
manifestPlaceholders = [
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 397a091..f134e2a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -75,6 +75,10 @@
+
+
+
+
whiteLists = Arrays.asList(whitelist.split(","));
- NetInterfaceManager.getInstance()
- .getBrowserBookmarksObservable()
- .observeOn(Schedulers.io())
- .subscribe(new Observer>() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
- Log.e("getBrowserBookmarks", "onSubscribe: ");
- }
+// Log.e(TAG, "getBrowserBookmarks: " + "whitelist: " + whitelist);
+// List whiteLists = Arrays.asList(whitelist.split(","));
+// NetInterfaceManager.getInstance()
+// .getBrowserBookmarksObservable()
+// .observeOn(Schedulers.io())
+// .subscribe(new Observer>() {
+// @Override
+// public void onSubscribe(@NonNull Disposable d) {
+// Log.e("getBrowserBookmarks", "onSubscribe: ");
+// }
+//
+// @Override
+// public void onNext(@NonNull BaseResponse browserBookmarksBaseResponse) {
+// Log.e("getBrowserBookmarks", "onNext: ");
+// StringBuilder whiteString = new StringBuilder(whitelist);
+// if (browserBookmarksBaseResponse.code == OK) {
+// //主页不包含白名单添加进去
+// String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
+//// boolean home = Settings.System.putString(mContext.getContentResolver(), "homepagURL", homepagURL);
+//// Log.e("getBrowserBookmarks", "onNext: homepagURL: save homepagURL = " + homepagURL);
+// if (whiteLists.size() <= 0 || !whiteLists.contains(homepagURL)) {
+// whiteString.append(",").append(homepagURL);
+// Log.e("getBrowserBookmarks ", "homepagURL: " + homepagURL);
+// boolean white = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", whiteString.toString());
+// Log.e("getBrowserBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white);
+// }
+// //主页
+// Intent homepag = new Intent("qch_app_brower_homepage");
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+// homepag.setPackage("com.android.settings")
+// .setPackage("com.android.browser");
+// }
+// if (!TextUtils.isEmpty(homepagURL)) {
+// homepag.putExtra("homepage", homepagURL);
+// } else {
+// homepag.putExtra("homepage", "Invalid");
+// }
+// mContext.sendBroadcast(homepag);
+//
+// //书签
+// String labelpage = browserBookmarksBaseResponse.data.getLabelpage();
+// Intent websiteBookMark = new Intent("qch_app_brower_website");
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+// websiteBookMark.setPackage("com.android.settings")
+// .setPackage("com.android.browser");
+// }
+// if (!TextUtils.isEmpty(labelpage)) {
+// websiteBookMark.putExtra("websiteBookMark", labelpage);
+// } else {
+// websiteBookMark.putExtra("websiteBookMark", "Invalid");
+// }
+// mContext.sendBroadcast(websiteBookMark);
+// } else {
+// Intent intent1 = new Intent("qch_app_brower_homepage");
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+// intent1.setPackage("com.android.settings")
+// .setPackage("com.android.browser");
+// }
+// intent1.putExtra("homepage", "Invalid");
+// mContext.sendBroadcast(intent1);
+//
+// Settings.System.putString(mContext.getContentResolver(), "homepagURL", "");
+// Intent intent2 = new Intent("qch_app_brower_website");
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+// intent2.setPackage("com.android.settings")
+// .setPackage("com.android.browser");
+// }
+// intent2.putExtra("websiteBookMark", "Invalid");
+// mContext.sendBroadcast(intent2);
+// }
+// }
+//
+// @Override
+// public void onError(@NonNull Throwable e) {
+// Log.e("getBrowserBookmarks", "onError: " + e.getMessage());
+// onComplete();
+// }
+//
+// @Override
+// public void onComplete() {
+// Log.e("getBrowserBookmarks", "onComplete: ");
+// mView.getBrowserBookmarksFinished();
+// }
+// });
+ HTTPInterface.getHomePageBookmarks(mContext, new HTTPInterface.BookmarksCallback() {
+ @Override
+ public void onSubscribe() {
+ Log.e("getBrowserBookmarks", "onSubscribe: ");
+ }
- @Override
- public void onNext(@NonNull BaseResponse browserBookmarksBaseResponse) {
- Log.e("getBrowserBookmarks", "onNext: ");
- StringBuilder whiteString = new StringBuilder(whitelist);
- if (browserBookmarksBaseResponse.code == OK) {
- //主页
- String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
- boolean home = Settings.System.putString(mContext.getContentResolver(), "homepagURL", homepagURL);
- Log.e("getBrowserBookmarks", "onNext: homepagURL: save homepagURL = " + homepagURL);
- if (whiteLists.size() <= 0 || !whiteLists.contains(homepagURL)) {
- whiteString.append(",").append(homepagURL);
- Log.e("getBrowserBookmarks ", "homepagURL: " + homepagURL);
- boolean white = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", whiteString.toString());
- Log.e("getBrowserBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white);
- }
+ @Override
+ public void onNext() {
+ Log.e("getBrowserBookmarks", "onNext: ");
+ }
- Intent homepag = new Intent("qch_app_brower_homepage");
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- homepag.setPackage("com.android.settings")
- .setPackage("com.android.browser");
- }
- if (!TextUtils.isEmpty(homepagURL)) {
- homepag.putExtra("homepage", homepagURL);
- } else {
- homepag.putExtra("homepage", "Invalid");
- }
- mContext.sendBroadcast(homepag);
+ @Override
+ public void onError(Throwable e) {
+ Log.e("getBrowserBookmarks", "onError: " + e.getMessage());
+ }
- //书签
- String labelpage = browserBookmarksBaseResponse.data.getLabelpage();
- Intent websiteBookMark = new Intent("qch_app_brower_website");
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- websiteBookMark.setPackage("com.android.settings")
- .setPackage("com.android.browser");
- }
- if (!TextUtils.isEmpty(labelpage)) {
- websiteBookMark.putExtra("websiteBookMark", labelpage);
- } else {
- websiteBookMark.putExtra("websiteBookMark", "Invalid");
- }
- mContext.sendBroadcast(websiteBookMark);
- } else {
- Intent intent1 = new Intent("qch_app_brower_homepage");
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- intent1.setPackage("com.android.settings")
- .setPackage("com.android.browser");
- }
- intent1.putExtra("homepage", "Invalid");
- mContext.sendBroadcast(intent1);
-
- Settings.System.putString(mContext.getContentResolver(), "homepagURL", "");
- Intent intent2 = new Intent("qch_app_brower_website");
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- intent2.setPackage("com.android.settings")
- .setPackage("com.android.browser");
- }
- intent2.putExtra("websiteBookMark", "Invalid");
- mContext.sendBroadcast(intent2);
- }
- }
-
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e("getBrowserBookmarks", "onError: " + e.getMessage());
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e("getBrowserBookmarks", "onComplete: ");
- mView.getBrowserBookmarksFinished();
- }
- });
+ @Override
+ public void onComplete() {
+ Log.e("getBrowserBookmarks", "onComplete: ");
+ mView.getBrowserBookmarksFinished();
+ }
+ });
}
@Override
@@ -1150,7 +1171,7 @@ public class MainPresenter implements MainContact.Presenter {
if ("com.android.mms".equals(pack)) {
pm.setApplicationEnabledSetting("com.android.messaging", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
}
- }catch (Exception ex){
+ } catch (Exception ex) {
Log.e("getDesktopIcon", "Exception: ex: " + ex.getMessage());
}
pm.setApplicationEnabledSetting(pack, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
@@ -1270,7 +1291,7 @@ public class MainPresenter implements MainContact.Presenter {
@Override
public void setAppinsideWeb() {
// if (JGYUtils.isOfficialVersion()) {
- getAppinsideWeb();
+ getAppinsideWeb();
// } else {
// getNewAppinsideWeb();
// }
@@ -1361,8 +1382,9 @@ public class MainPresenter implements MainContact.Presenter {
SPUtils.put(mContext, "SystemSettingData", data);
JGYUtils.getInstance().SettingSysData(data);
} else {
- //没有就按照默认的管控
- //SysSettingUtils.setDisableSetting(mContext);
+ //没有数据全部关闭
+ SysSettingUtils.setDisableSetting(mContext);
+ SPUtils.put(mContext, "SystemSettingData", "");
//获取系统管控先不要关闭开发人员选项
Settings.System.putInt(mContext.getContentResolver(), "qch_Developeroptions", 1);
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java
index 694c0be..122ee8d 100644
--- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java
+++ b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java
@@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import com.mjsheng.myappstore.bean.BrowserBookmarks;
import com.mjsheng.myappstore.bean.BrowserData;
import com.mjsheng.myappstore.utils.JGYUtils;
import com.mjsheng.myappstore.utils.URLUtils;
@@ -42,6 +43,7 @@ import com.mjsheng.myappstore.utils.TimeUtils;
import com.mjsheng.myappstore.utils.Utils;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -738,7 +740,7 @@ public class HTTPInterface {
if (code == 200) {
String data = jsonObject.getString("data");
JSONObject jsondata = JSON.parseObject(data);
- //主页
+ //主页不包含白名单添加进去
String homepagURL = jsondata.getString("homepage");
boolean home = Settings.System.putString(context.getContentResolver(), "homepagURL", homepagURL);
String DeselectBrowserArray = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray");
@@ -748,6 +750,7 @@ public class HTTPInterface {
boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", DeselectBrowserArray);
Log.e("setHomepagtag", "execute: homepagURL: add to whiteList = " + DeselectBrowserArray + "write: " + white);
}
+ //主页
Intent homepag = new Intent("qch_app_brower_homepage");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
homepag.setPackage("com.android.settings")
@@ -804,6 +807,132 @@ public class HTTPInterface {
});
}
+ public interface BookmarksCallback {
+ void onSubscribe();
+
+ void onNext();
+
+ void onError(Throwable e);
+
+ void onComplete();
+ }
+
+ /**
+ * @param context
+ * @param callback
+ */
+ @SuppressLint("NewApi")
+ synchronized public static void getHomePageBookmarks(Context context, BookmarksCallback callback) {
+ NetInterfaceManager.getInstance()
+ .getBrowserBookmarksObservable()
+ .observeOn(Schedulers.io())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ if (callback != null)
+ callback.onSubscribe();
+ Log.e("getHomePageBookmarks", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse browserBookmarksBaseResponse) {
+ if (callback != null)
+ callback.onNext();
+ Log.e("getHomePageBookmarks", "onNext: ");
+ if (browserBookmarksBaseResponse.code == 200) {
+ //主页不包含白名单添加进去
+ String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
+ boolean home = Settings.System.putString(context.getContentResolver(), "homepagURL", homepagURL);
+ Log.e("getHomePageBookmarks ", "homepagURL: " + homepagURL);
+ Log.e("getHomePageBookmarks", "onNext: homepagURL: save homepagURL = " + home);
+
+ String whitelist = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray");
+ Log.e("getHomePageBookmarks ", "whitelist: " + whitelist);
+
+ if (!TextUtils.isEmpty(whitelist.trim())) {
+ HashSet whiteLists = new HashSet<>(Arrays.asList(whitelist.trim().split(",")));
+ whiteLists.add(homepagURL);
+ String whiteString = String.join(",", whiteLists);
+ boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", whiteString);
+ Log.e("getHomePageBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white);
+ } else {
+ Log.e("getHomePageBookmarks", "onNext: whitelist is NULL");
+ boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homepagURL);
+ Log.e("getHomePageBookmarks", "onNext: homepagURL: homepagURL = " + homepagURL + "write: " + white);
+ }
+
+ //主页
+ Intent homepag = new Intent("qch_app_brower_homepage");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ homepag.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ if (!TextUtils.isEmpty(homepagURL)) {
+ String newHomePage = JGYUtils.getPrefixHttpsURL(homepagURL);
+ Log.e("getHomePageBookmarks", "onNext: newHomePage: " + newHomePage);
+ homepag.putExtra("homepage", newHomePage);
+ } else {
+ homepag.putExtra("homepage", "Invalid");
+ }
+ context.sendBroadcast(homepag);
+
+ //书签
+ String labelpage = browserBookmarksBaseResponse.data.getLabelpage();
+ Intent websiteBookMark = new Intent("qch_app_brower_website");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ websiteBookMark.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ if (!TextUtils.isEmpty(labelpage)) {
+ HashSet labels = new HashSet<>(Arrays.asList(labelpage.split(",")));
+ List urlList = new ArrayList<>();
+ for (String urls : labels) {
+ urlList.add(JGYUtils.getPrefixHttpsURL(urls));
+ }
+ String join = String.join(",", urlList);
+ Log.e("getHomePageBookmarks", "onNext: getHomePageBookmarks: " + join);
+ websiteBookMark.putExtra("websiteBookMark", join);
+ } else {
+ websiteBookMark.putExtra("websiteBookMark", "Invalid");
+ }
+ context.sendBroadcast(websiteBookMark);
+ } else {
+ Intent intent1 = new Intent("qch_app_brower_homepage");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ intent1.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ intent1.putExtra("homepage", "Invalid");
+ context.sendBroadcast(intent1);
+
+ Settings.System.putString(context.getContentResolver(), "homepagURL", "");
+ Intent intent2 = new Intent("qch_app_brower_website");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ intent2.setPackage("com.android.settings")
+ .setPackage("com.android.browser");
+ }
+ intent2.putExtra("websiteBookMark", "Invalid");
+ context.sendBroadcast(intent2);
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ if (callback != null)
+ callback.onError(e);
+ Log.e("getHomePageBookmarks", "onError: " + e.getMessage());
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ if (callback != null)
+ callback.onComplete();
+ Log.e("getHomePageBookmarks", "onComplete: ");
+
+ }
+ });
+ }
public static void setHideDesktopIcon(final Context context) {
OkGo.post(URLAddress.GET_HIDE_DESKTOPICON)
@@ -1080,7 +1209,7 @@ public class HTTPInterface {
String end_time = jsonObject.getString("end_time");
TimeUtils.ContralTime c = TimeUtils.String2ContralTime(context, start_time + "-" + end_time);
if (null != c) {
- Log.e("getTimeControl", "200:" + c.toString());
+ Log.e("getTimeControl", "200: " + c.toString());
}
} else {
TimeUtils.setEmpty(context);
diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java b/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java
index a75d8cb..aab2c1d 100644
--- a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java
+++ b/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java
@@ -46,7 +46,6 @@ import com.mjsheng.myappstore.utils.ServiceAliveUtils;
import com.mjsheng.myappstore.utils.Utils;
import java.io.File;
-import java.io.IOException;
import cn.jpush.android.api.JPushInterface;
import io.reactivex.Observable;
@@ -1047,8 +1046,8 @@ public class MyJPushReceiver extends BroadcastReceiver {
private void setHomepagtag(String s) {
//设置主页和标签
- HTTPInterface.setHomepagtag(mContext);//设置主页和标签
-
+// HTTPInterface.setHomepagtag(mContext);//设置主页和标签
+ HTTPInterface.getHomePageBookmarks(mContext, null);
// if (TextUtils.isEmpty(s)) {
// Log.e(TAG, "setHomepagtag extras is null");
//
diff --git a/app/src/main/java/com/mjsheng/myappstore/server/MainService.java b/app/src/main/java/com/mjsheng/myappstore/server/MainService.java
index 1d964a5..49fd078 100644
--- a/app/src/main/java/com/mjsheng/myappstore/server/MainService.java
+++ b/app/src/main/java/com/mjsheng/myappstore/server/MainService.java
@@ -35,6 +35,8 @@ import com.mjsheng.myappstore.utils.SaveListUtils;
import com.mjsheng.myappstore.utils.SysSettingUtils;
import com.mjsheng.myappstore.utils.TimeUtils;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.concurrent.TimeUnit;
import cn.jpush.android.api.JPushInterface;
@@ -162,6 +164,7 @@ public class MainService extends Service implements MainContact.MainView {
private void registerReceivers() {
registerLockScreenReceiver();
registerTimeReceiver();
+ registerInstallReceiver();
}
private void unRegisterReceivers() {
@@ -171,6 +174,9 @@ public class MainService extends Service implements MainContact.MainView {
if (null != mTimeChangedReceiver) {
unregisterReceiver(mTimeChangedReceiver);
}
+ if (null != mInstallReceiver) {
+ unregisterReceiver(mInstallReceiver);
+ }
}
private static WindowManager windowManager;
@@ -355,6 +361,62 @@ public class MainService extends Service implements MainContact.MainView {
}
}
+ private void registerInstallReceiver() {
+ if (mInstallReceiver == null) {
+ mInstallReceiver = new InstallReceiver();
+ }
+ IntentFilter intentFilter = new IntentFilter(INSTALLAPK_ACTION);
+ registerReceiver(mInstallReceiver, intentFilter, INSTALLAPK_PREMISSIONS, null);
+ }
+
+ private String INSTALLAPK_ACTION = "JGY_INSTALLAPK_ACTION";
+ private String INSTALLAPK_PREMISSIONS = "com.jiaoguanyi.appstore.permissions.INSTALL_APK";
+
+ private InstallReceiver mInstallReceiver;
+
+ /**
+ * https://blog.csdn.net/jdsjlzx/article/details/82630113
+ */
+ class InstallReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (TextUtils.isEmpty(action)) {
+ Log.e(TAG, "onReceive: " + "Action is NULL!");
+ return;
+ }
+ Log.e(TAG, "onReceive: " + "Sender is " + intent.getPackage());
+ String packageName = intent.getStringExtra("packageName");
+ String filePath = intent.getStringExtra("filePath");
+ if (!TextUtils.isEmpty(packageName) && !TextUtils.isEmpty(filePath)) {
+ Log.e(TAG, "onReceive: " + "packageName: " + packageName + "filePath: " + filePath);
+ installApkByPackage(filePath, packageName);
+ } else if (!TextUtils.isEmpty(filePath)) {
+ String pkg = ApkUtils.getPackageName(MainService.this, filePath);
+ Log.e(TAG, "onReceive: " + "pkg: " + pkg + "\tfilePath: " + filePath);
+ installApkByPackage(filePath, pkg);
+ } else {
+ Log.e(TAG, "onReceive: " + "no filePath and packageName");
+ }
+
+ }
+ }
+
+ /**
+ * @param filePath 路径
+ * @param pkg 包名
+ */
+ @SuppressLint("NewApi")
+ synchronized private void installApkByPackage(String filePath, String pkg) {
+ String oldListString = Settings.System.getString(getContentResolver(), "qch_app_forbid");
+ HashSet packageList = new HashSet<>(Arrays.asList(oldListString.split(",")));
+ packageList.add(pkg);
+ String join = String.join(",", packageList);
+ Log.e(TAG, "installApkByPackage: " + join);
+ Settings.System.putString(getContentResolver(), "qch_app_forbid", join);
+ ApkUtils.installApp(MainService.this, filePath);
+ }
@Override
public void setBatchText(String text, int visibility) {
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java
index 1f9366f..ceb3203 100644
--- a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java
@@ -185,8 +185,9 @@ public class ApkUtils {
if (info != null) {
ApplicationInfo appInfo = info.applicationInfo;
return appInfo.packageName; //得到安装包名称
+ } else {
+ return "";
}
- return null;
}
/**
@@ -1093,7 +1094,7 @@ public class ApkUtils {
if ("com.jiaoguanyi.store".equals(s) || "com.jiaoguanyi.appstore".equals(s)) {
continue;
}
- if (!ApkUtils.isSystemApp(context, s)) {
+ if (ApkUtils.isSystemApp(context, s)) {
continue;
}
if (!ApkUtils.isAvailable(context, s)) {
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java
index 70fce5f..adfdf2e 100644
--- a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java
@@ -473,6 +473,7 @@ public class JGYUtils {
this.add("com.info.sn");
this.add("com.uiuios.jgy1");
this.add("com.uiuios.jgy2");
+ this.add("com.tt.ttutils");
}};
// if (!TextUtils.isEmpty(stringBuilder)) {
for (String pkg : packages) {
@@ -1128,4 +1129,23 @@ public class JGYUtils {
}
}
+ public static String getPrefixHttpURL(String url) {
+ if (url.startsWith("http://")) {
+ return url;
+ } else if (url.startsWith("https://")) {
+ return url.replace("https://", "http://");
+ } else {
+ return "http://" + url;
+ }
+ }
+
+ public static String getPrefixHttpsURL(String url) {
+ if (url.startsWith("https://")) {
+ return url;
+ } else if (url.startsWith("http://")) {
+ return url.replace("http://", "https://");
+ } else {
+ return "https://" + url;
+ }
+ }
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java
index ab43b77..bb6824c 100644
--- a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java
@@ -39,7 +39,7 @@ public class URLUtils {
public void setBrowserWhiteList() {
String whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
- if (TextUtils.isEmpty(whiteList)) {
+ if (TextUtils.isEmpty(whiteList.trim())) {
Log.e(TAG, "getBrowserWhiteList: " + "whiteList is empty");
} else {
Log.e(TAG, "getBrowserWhiteList: " + "whiteList is : " + whiteList);