From 588d815d7fddc3b402d589266d579504014b8d76 Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Sat, 9 Oct 2021 18:37:48 +0800 Subject: [PATCH] =?UTF-8?q?version:2.2.8=20update:2021-10-09=2018:36:39=20?= =?UTF-8?q?fix:=20add:=E5=A2=9E=E5=8A=A0=E7=99=BD=E5=90=8D=E5=8D=95ip?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../myappstore/activity/HomeActivity.java | 3 + .../myappstore/activity/MainPresenter.java | 244 +++++------ .../mjsheng/myappstore/bean/BrowserData.java | 18 + .../myappstore/network/HTTPInterface.java | 378 +++++++++--------- .../mjsheng/myappstore/utils/URLUtils.java | 56 ++- 5 files changed, 376 insertions(+), 323 deletions(-) diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java b/app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java index 6255cea..37e431e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/HomeActivity.java @@ -24,6 +24,7 @@ import com.mjsheng.myappstore.base.BaseApplication; import com.mjsheng.myappstore.service.LogcatService; import com.mjsheng.myappstore.utils.JGYUtils; import com.mjsheng.myappstore.utils.Logutils; +import com.mjsheng.myappstore.utils.SPUtils; import com.mjsheng.myappstore.utils.ServiceAliveUtils; import com.mjsheng.myappstore.utils.StatusBarUtil; import com.mjsheng.myappstore.utils.Utils; @@ -114,6 +115,8 @@ public class HomeActivity extends AppCompatActivity { // mAm.killBackgroundProcesses("com.android.documentsui"); BaseApplication.cleanJpushAlias(); BaseApplication.cleanJpushTag(); + Logutils.e(TAG, "debugTest: SPUtils all " + SPUtils.getAll(this)); + } private void testRxhttp() { diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java index f04d54d..403eff3 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java @@ -1044,129 +1044,129 @@ public class MainPresenter implements MainContact.Presenter { mView.getBrowserListFinished(""); } - private void NewSetBrowserList() { - NetInterfaceManager.getInstance() - .getBrowserListSettingObservable() - .observeOn(Schedulers.io()) - .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e(TAG + ":" + "NewSetBrowserList", "onSubscribe: "); - } +// private void NewSetBrowserList() { +// NetInterfaceManager.getInstance() +// .getBrowserListSettingObservable() +// .observeOn(Schedulers.io()) +// .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY)) +// .subscribe(new Observer>() { +// @Override +// public void onSubscribe(@NonNull Disposable d) { +// Logutils.e(TAG + ":" + "NewSetBrowserList", "onSubscribe: "); +// } +// +// @Override +// public void onNext(@NonNull BaseResponse browserDataBaseResponse) { +// Logutils.e(TAG + ":" + "NewSetBrowserList", "onNext: "); +// if (browserDataBaseResponse.code == OK) { +// String white = browserDataBaseResponse.data.getWhite(); +// String black = browserDataBaseResponse.data.getBlack(); +// if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) { +// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); +// //黑白名单同时存在时由以前的逻辑管控 +// boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white); +// Logutils.e(TAG + ":" + "setBrowserList", "setBrowserList white: " + white + ":" + whiteList); +// boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black); +// Logutils.e(TAG + ":" + "setBrowserList", "setBrowserList black: " + black + ":" + blackList); +// mView.getBrowserListFinished(white); +// } else if (TextUtils.isEmpty(white)) { +// //设置黑名单 +// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 1); +// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", black); +// //白名单为空由新的管控执行 +// mView.getBrowserListFinished(""); +// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); +// } else if (TextUtils.isEmpty(black)) { +// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); +// //黑名单为空由旧的管控执行 +// mView.getBrowserListFinished(white); +// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); +// } +// } else { +// //所有置空 +// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); +// mView.getBrowserListFinished(""); +// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); +// } +// } +// +// @Override +// public void onError(@NonNull Throwable e) { +// Logutils.e(TAG + ":" + "NewSetBrowserList", "onError: " + e.getMessage()); +// onComplete(); +// } +// +// @Override +// public void onComplete() { +// Logutils.e(TAG + ":" + "NewSetBrowserList", "onComplete: "); +// } +// }); +// } - @Override - public void onNext(@NonNull BaseResponse browserDataBaseResponse) { - Logutils.e(TAG + ":" + "NewSetBrowserList", "onNext: "); - if (browserDataBaseResponse.code == OK) { - String white = browserDataBaseResponse.data.getWhite(); - String black = browserDataBaseResponse.data.getBlack(); - if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) { - Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); - //黑白名单同时存在时由以前的逻辑管控 - boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white); - Logutils.e(TAG + ":" + "setBrowserList", "setBrowserList white: " + white + ":" + whiteList); - boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black); - Logutils.e(TAG + ":" + "setBrowserList", "setBrowserList black: " + black + ":" + blackList); - mView.getBrowserListFinished(white); - } else if (TextUtils.isEmpty(white)) { - //设置黑名单 - Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 1); - Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", black); - //白名单为空由新的管控执行 - mView.getBrowserListFinished(""); - Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); - } else if (TextUtils.isEmpty(black)) { - Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); - //黑名单为空由旧的管控执行 - mView.getBrowserListFinished(white); - Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); - } - } else { - //所有置空 - Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); - mView.getBrowserListFinished(""); - Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e(TAG + ":" + "NewSetBrowserList", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e(TAG + ":" + "NewSetBrowserList", "onComplete: "); - } - }); - } - - private void SetBrowserList() { - NetInterfaceManager.getInstance() - .getBrowserListSettingObservable() - .observeOn(Schedulers.io()) - .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e(TAG + ":" + "SetBrowserList", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse browserDataBaseResponse) { - Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Logutils.e(TAG + ":" + "SetBrowserList", "onNext: "); - if (browserDataBaseResponse.code == OK) { - //白名单 - String white = browserDataBaseResponse.data.getWhite(); - if (!TextUtils.isEmpty(white)) { - String homePage = Settings.System.getString(mContext.getContentResolver(), "homepagURL"); - if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { - white += "," + homePage; - } - boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white); - Logutils.e(TAG + ":" + "SetBrowserList", "setBrowserList white: " + white + " :" + whiteList); - String black = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url"); - Logutils.e(TAG + ":" + "SetBrowserList", "getBrowserList black: " + black); - mView.getBrowserListFinished(white); - } else { - Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", " "); - mView.getBrowserListFinished(""); - } - //黑名单 - String black = browserDataBaseResponse.data.getBlack(); - if (!TextUtils.isEmpty(black)) { - boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black); - Logutils.e(TAG + ":" + "SetBrowserList", "setBrowserList black: " + black + " :" + blackList); - String whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray"); - Logutils.e(TAG + ":" + "SetBrowserList", "getBrowserList white: " + whiteList); - } else { - Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); - } - } else { - mView.getBrowserListFinished(""); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e(TAG + ":" + "SetBrowserList", "onError: " + e.getMessage()); - String whiteURLList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray"); - Logutils.e(TAG + ":" + "SetBrowserList", "whiteURLList: " + whiteURLList); - mView.getBrowserListFinished(whiteURLList); - } - - @Override - public void onComplete() { - Logutils.e(TAG + ":" + "SetBrowserList", "onComplete: "); - } - }); - } +// private void SetBrowserList() { +// NetInterfaceManager.getInstance() +// .getBrowserListSettingObservable() +// .observeOn(Schedulers.io()) +// .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY)) +// .subscribe(new Observer>() { +// @Override +// public void onSubscribe(@NonNull Disposable d) { +// Logutils.e(TAG + ":" + "SetBrowserList", "onSubscribe: "); +// } +// +// @Override +// public void onNext(@NonNull BaseResponse browserDataBaseResponse) { +// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Logutils.e(TAG + ":" + "SetBrowserList", "onNext: "); +// if (browserDataBaseResponse.code == OK) { +// //白名单 +// String white = browserDataBaseResponse.data.getWhite(); +// if (!TextUtils.isEmpty(white)) { +// String homePage = Settings.System.getString(mContext.getContentResolver(), "homepagURL"); +// if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { +// white += "," + homePage; +// } +// boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white); +// Logutils.e(TAG + ":" + "SetBrowserList", "setBrowserList white: " + white + " :" + whiteList); +// String black = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url"); +// Logutils.e(TAG + ":" + "SetBrowserList", "getBrowserList black: " + black); +// mView.getBrowserListFinished(white); +// } else { +// Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", " "); +// mView.getBrowserListFinished(""); +// } +// //黑名单 +// String black = browserDataBaseResponse.data.getBlack(); +// if (!TextUtils.isEmpty(black)) { +// boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black); +// Logutils.e(TAG + ":" + "SetBrowserList", "setBrowserList black: " + black + " :" + blackList); +// String whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray"); +// Logutils.e(TAG + ":" + "SetBrowserList", "getBrowserList white: " + whiteList); +// } else { +// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); +// } +// } else { +// mView.getBrowserListFinished(""); +// } +// } +// +// @Override +// public void onError(@NonNull Throwable e) { +// Logutils.e(TAG + ":" + "SetBrowserList", "onError: " + e.getMessage()); +// String whiteURLList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray"); +// Logutils.e(TAG + ":" + "SetBrowserList", "whiteURLList: " + whiteURLList); +// mView.getBrowserListFinished(whiteURLList); +// } +// +// @Override +// public void onComplete() { +// Logutils.e(TAG + ":" + "SetBrowserList", "onComplete: "); +// } +// }); +// } @Override public void getBrowserBookmarks(String whitelist) { diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java b/app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java index ea4018b..19f18b7 100644 --- a/app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java +++ b/app/src/main/java/com/mjsheng/myappstore/bean/BrowserData.java @@ -6,6 +6,8 @@ public class BrowserData implements Serializable { private static final long serialVersionUID = 5199831572891077086L; private String white; private String black; + private String white_ip; + private String black_ip; public String getWhite() { return white; @@ -22,4 +24,20 @@ public class BrowserData implements Serializable { public void setBlack(String black) { this.black = black; } + + public String getWhite_ip() { + return white_ip; + } + + public void setWhite_ip(String white_ip) { + this.white_ip = white_ip; + } + + public String getBlack_ip() { + return black_ip; + } + + public void setBlack_ip(String black_ip) { + this.black_ip = black_ip; + } } 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 e6ee62f..1e78131 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java +++ b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java @@ -11,7 +11,6 @@ import android.os.Message; import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; -import android.util.Log; import com.alibaba.fastjson.JSON; @@ -508,219 +507,238 @@ public class HTTPInterface { //设置浏览器黑白名单 synchronized public static void setBrowserBlackList(final Context context) { - OkGo.post(URLAddress.SET_BROWSER_LIST) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { - try { - JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - String msg = jsonObject.getString("msg"); - if (code == 200) { - JSONObject data = JSON.parseObject(jsonObject.getString("data")); - String white = data.getString("white"); - String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); - if (!TextUtils.isEmpty(white)) { - if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { - white += "," + homePage; - } - boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); - Logutils.e("setBrowserBlackList", "setBrowserList----white-----" + whiteList + ":" + white); - } else { - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); - } - String black = data.getString("black"); - if (!TextUtils.isEmpty(black)) { - boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); - Logutils.e("setBrowserBlackList", "setBrowserList----black-----" + blackList + ":" + black); - new URLUtils(context).setBrowserBlackList(); - } else { - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - } - } else { - Logutils.e("setBrowserBlackList", "setBrowserList" + msg); - } - } catch (JSONException e) { - Logutils.e("setBrowserBlackList", "JSONException" + e.getMessage()); - } - new URLUtils(context).setBrowserWhiteList(); - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - Logutils.e(TAG, "onError: " + e.getMessage()); - } - }); - } - - private static void NewSetBrowserList(Context context) { NetInterfaceManager.getInstance() .getBrowserListSettingObservable() .observeOn(Schedulers.io()) .subscribe(new Observer>() { @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e("NewSetBrowserList", "onSubscribe: "); + public void onSubscribe(Disposable d) { + Logutils.e("setBrowserBlackList", "onSubscribe: "); } @Override - public void onNext(@NonNull BaseResponse browserDataBaseResponse) { - Logutils.e("NewSetBrowserList", "onNext: "); + public void onNext(BaseResponse browserDataBaseResponse) { + Logutils.e("setBrowserBlackList", "onNext: "); + String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); if (browserDataBaseResponse.code == 200) { - String white = browserDataBaseResponse.data.getWhite(); - String black = browserDataBaseResponse.data.getBlack(); - if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) { - Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); - //黑白名单同时存在时由以前的逻辑管控 - boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); - Logutils.e("NewSetBrowserList", "setBrowserList white: " + white + ":" + whiteList); - boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); - Logutils.e("NewSetBrowserList", "setBrowserList black: " + black + ":" + blackList); - } else if (TextUtils.isEmpty(white)) { - //设置黑名单 - Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 1); - Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", black); - //白名单为空由新的管控执行 - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - } else if (TextUtils.isEmpty(black)) { - Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); - //黑名单为空由旧的管控执行 - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - } - } else { - //所有置空 - Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Logutils.e("NewSetBrowserList", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Logutils.e("NewSetBrowserList", "onComplete: "); - new URLUtils(context).setBrowserWhiteList(); - } - }); - } - - - private static void SetBrowserList(Context context) { - NetInterfaceManager.getInstance() - .getBrowserListSettingObservable() - .observeOn(Schedulers.io()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Logutils.e("SetBrowserList", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse browserDataBaseResponse) { - Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); - Logutils.e("SetBrowserList", "onNext: "); - if (browserDataBaseResponse.code == 200) { - //白名单 - String white = browserDataBaseResponse.data.getWhite(); + BrowserData data = browserDataBaseResponse.data; + String white = data.getWhite(); if (!TextUtils.isEmpty(white)) { - String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { white += "," + homePage; } - boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - Logutils.e("SetBrowserList", "setBrowserList white: " + white + " :" + whiteList); - String black = Settings.System.getString(context.getContentResolver(), "qch_webblack_url"); - Logutils.e("SetBrowserList", "getBrowserList black: " + black); + boolean DeselectBrowserArray = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); + Logutils.e("setBrowserBlackList", "setBrowserList white = " + white + ":" + DeselectBrowserArray); } else { - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); + Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); } - //黑名单 - String black = browserDataBaseResponse.data.getBlack(); + String black = data.getBlack(); if (!TextUtils.isEmpty(black)) { - boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); - Logutils.e("SetBrowserList", "setBrowserList black: " + black + " :" + blackList); - String whiteList = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray"); - Logutils.e("SetBrowserList", "getBrowserList white: " + whiteList); + boolean qch_webblack_url = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); + Logutils.e("setBrowserBlackList", "setBrowserList black = " + black + ":" + qch_webblack_url); } else { Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); } + String white_ip = data.getWhite_ip(); + if (!TextUtils.isEmpty(white_ip)) { + SPUtils.put(context, "white_ip", white_ip); + }else { + SPUtils.put(context, "white_ip", " "); + } + String black_ip = data.getBlack_ip(); + if (!TextUtils.isEmpty(black_ip)) { + SPUtils.put(context, "black_ip", black_ip); + }else { + SPUtils.put(context, "black_ip", " "); + } } else { - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); + Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage); Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); + SPUtils.put(context, "white_ip", " "); + SPUtils.put(context, "black_ip", " "); } } @Override - public void onError(@NonNull Throwable e) { - Logutils.e("SetBrowserList", "onError: " + e.getMessage()); + public void onError(Throwable e) { + Logutils.e("setBrowserBlackList", "onError: " + e.getMessage()); onComplete(); } @Override public void onComplete() { + Logutils.e("setBrowserBlackList", "onComplete: "); new URLUtils(context).setBrowserWhiteList(); - Logutils.e("SetBrowserList", "onComplete: "); + new URLUtils(context).setBrowserBlackList(); } }); } +// private static void NewSetBrowserList(Context context) { +// NetInterfaceManager.getInstance() +// .getBrowserListSettingObservable() +// .observeOn(Schedulers.io()) +// .subscribe(new Observer>() { +// @Override +// public void onSubscribe(@NonNull Disposable d) { +// Logutils.e("NewSetBrowserList", "onSubscribe: "); +// } +// +// @Override +// public void onNext(@NonNull BaseResponse browserDataBaseResponse) { +// Logutils.e("NewSetBrowserList", "onNext: "); +// if (browserDataBaseResponse.code == 200) { +// String white = browserDataBaseResponse.data.getWhite(); +// String black = browserDataBaseResponse.data.getBlack(); +// if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) { +// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); +// //黑白名单同时存在时由以前的逻辑管控 +// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); +// Logutils.e("NewSetBrowserList", "setBrowserList white: " + white + ":" + whiteList); +// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); +// Logutils.e("NewSetBrowserList", "setBrowserList black: " + black + ":" + blackList); +// } else if (TextUtils.isEmpty(white)) { +// //设置黑名单 +// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 1); +// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", black); +// //白名单为空由新的管控执行 +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// } else if (TextUtils.isEmpty(black)) { +// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); +// //黑名单为空由旧的管控执行 +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// } +// } else { +// //所有置空 +// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Settings.System.putString(context.getContentResolver(), "BlackBrowserArray", " "); +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// } +// } +// +// @Override +// public void onError(@NonNull Throwable e) { +// Logutils.e("NewSetBrowserList", "onError: " + e.getMessage()); +// onComplete(); +// } +// +// @Override +// public void onComplete() { +// Logutils.e("NewSetBrowserList", "onComplete: "); +// new URLUtils(context).setBrowserWhiteList(); +// } +// }); +// } + + +// private static void SetBrowserList(Context context) { +// NetInterfaceManager.getInstance() +// .getBrowserListSettingObservable() +// .observeOn(Schedulers.io()) +// .subscribe(new Observer>() { +// @Override +// public void onSubscribe(@NonNull Disposable d) { +// Logutils.e("SetBrowserList", "onSubscribe: "); +// } +// +// @Override +// public void onNext(@NonNull BaseResponse browserDataBaseResponse) { +// Settings.System.putInt(context.getContentResolver(), "qch_website_isBlackWebUrl", 0); +// Logutils.e("SetBrowserList", "onNext: "); +// if (browserDataBaseResponse.code == 200) { +// //白名单 +// String white = browserDataBaseResponse.data.getWhite(); +// if (!TextUtils.isEmpty(white)) { +// String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL"); +// if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { +// white += "," + homePage; +// } +// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// Logutils.e("SetBrowserList", "setBrowserList white: " + white + " :" + whiteList); +// String black = Settings.System.getString(context.getContentResolver(), "qch_webblack_url"); +// Logutils.e("SetBrowserList", "getBrowserList black: " + black); +// } else { +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); +// } +// //黑名单 +// String black = browserDataBaseResponse.data.getBlack(); +// if (!TextUtils.isEmpty(black)) { +// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); +// Logutils.e("SetBrowserList", "setBrowserList black: " + black + " :" + blackList); +// String whiteList = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray"); +// Logutils.e("SetBrowserList", "getBrowserList white: " + whiteList); +// } else { +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// } +// } else { +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// } +// } +// +// @Override +// public void onError(@NonNull Throwable e) { +// Logutils.e("SetBrowserList", "onError: " + e.getMessage()); +// onComplete(); +// } +// +// @Override +// public void onComplete() { +// new URLUtils(context).setBrowserWhiteList(); +// Logutils.e("SetBrowserList", "onComplete: "); +// } +// }); +// } + //设置浏览器黑白名单 - synchronized public static void OldSetBrowserList(final Context context) { - OkGo.post(URLAddress.SET_BROWSER_LIST) - .params("key", NetInterfaceManager.HTTP_KEY) - .params("sn", Utils.getSerial()) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { - try { - JSONObject jsonObject = JSON.parseObject(s); - int code = jsonObject.getInteger("code"); - String msg = jsonObject.getString("msg"); - if (code == 200) { - JSONObject data = JSON.parseObject(jsonObject.getString("data")); - String white = data.getString("white"); - if (white != null && !"".equals(white)) { - boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); - Logutils.e("SystemSetting", "OldSetBrowserList----white-----" + whiteList + ":" + white); - } else { - Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); - } - String black = data.getString("black"); - if (black != null && !"".equals(black)) { - boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); - Logutils.e("SystemSetting", "OldSetBrowserList----black-----" + blackList + ":" + black); - } else { - Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); - } - } else { - Logutils.e("fht", "OldSetBrowserList" + msg); - } - } catch (JSONException e) { - Logutils.e("fht", "OldSetBrowserList" + e.getMessage()); - } - } - - @Override - public void onError(Call call, Response response, Exception e) { - super.onError(call, response, e); - } - }); - } +// synchronized public static void OldSetBrowserList(final Context context) { +// OkGo.post(URLAddress.SET_BROWSER_LIST) +// .params("key", NetInterfaceManager.HTTP_KEY) +// .params("sn", Utils.getSerial()) +// .execute(new StringCallback() { +// @Override +// public void onSuccess(String s, Call call, Response response) { +// try { +// JSONObject jsonObject = JSON.parseObject(s); +// int code = jsonObject.getInteger("code"); +// String msg = jsonObject.getString("msg"); +// if (code == 200) { +// JSONObject data = JSON.parseObject(jsonObject.getString("data")); +// String white = data.getString("white"); +// if (white != null && !"".equals(white)) { +// boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); +// Logutils.e("SystemSetting", "OldSetBrowserList----white-----" + whiteList + ":" + white); +// } else { +// Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); +// } +// String black = data.getString("black"); +// if (black != null && !"".equals(black)) { +// boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); +// Logutils.e("SystemSetting", "OldSetBrowserList----black-----" + blackList + ":" + black); +// } else { +// Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); +// } +// } else { +// Logutils.e("fht", "OldSetBrowserList" + msg); +// } +// } catch (JSONException e) { +// Logutils.e("fht", "OldSetBrowserList" + e.getMessage()); +// } +// } +// +// @Override +// public void onError(Call call, Response response, Exception e) { +// super.onError(call, response, e); +// } +// }); +// } synchronized public static void setHomepagtag(final Context context) { //7.0setPackage不加没有问题,.setPackage("com.android.settings"),10.0需要加上,待底层修改后 @@ -843,7 +861,7 @@ public class HTTPInterface { String homepagURL = browserBookmarksBaseResponse.data.getHomepage(); Logutils.e("getHomePageBookmarks ", "homepagURL: " + homepagURL); String oldHome = Settings.System.getString(context.getContentResolver(), "homepagURL"); - Log.e("getHomePageBookmarks", "oldHome: " + oldHome); + Logutils.e("getHomePageBookmarks", "oldHome: " + oldHome); //数据和之前不一样的时候清除缓存 if (!TextUtils.isEmpty(oldHome) && !oldHome.equalsIgnoreCase(homepagURL)) { try { @@ -1097,7 +1115,7 @@ public class HTTPInterface { .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { - Log.e(TAG, "onSubscribe: "); + Logutils.e(TAG, "onSubscribe: "); } @Override 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 180d1bf..da492ce 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java @@ -33,6 +33,7 @@ public class URLUtils { private Context mContext; private HashSet baseURLList = new HashSet<>(); private HashSet nohttpURLList = new HashSet<>(); + private HashSet whiteIPList = new HashSet<>(); private long time1; private long time2; @@ -49,6 +50,11 @@ public class URLUtils { Logutils.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is empty"); Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", "Invalid"); } else { + String white_ip = (String) SPUtils.get(mContext, "white_ip", ""); + if (!TextUtils.isEmpty(white_ip)) { + whiteIPList = new HashSet<>(Arrays.asList(white_ip.split(","))); + } + whiteIPList.removeIf(TextUtils::isEmpty); Logutils.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is : " + oldwhiteList); HashSet URLList = new HashSet<>(Arrays.asList(oldwhiteList.trim().split(","))); URLList.removeIf(TextUtils::isEmpty); @@ -79,7 +85,7 @@ public class URLUtils { // } // }else { // } - if (haveDomain(url)){ + if (haveDomain(url)) { nohttpURLList.add("m." + getDomain(url)); } // nohttpURLList.add(getDomain(url)); @@ -192,6 +198,7 @@ public class URLUtils { public void onComplete() { Logutils.i(TAG, "onComplete: " + baseURLList); baseURLList.addAll(nohttpURLList); + baseURLList.addAll(whiteIPList); baseURLList.removeIf(TextUtils::isEmpty); String DeselectBrowserArray = String.join(",", baseURLList); Logutils.e(TAG, "onComplete: " + "white list: " + DeselectBrowserArray); @@ -204,35 +211,42 @@ public class URLUtils { } private HashSet blackList = new HashSet<>(); + private HashSet blackIPList = new HashSet<>(); public void setBrowserBlackList() { String qch_webblack_url = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url"); Logutils.e(TAG, "setBrowserBlackList: qch_webblack_url = " + qch_webblack_url); if (TextUtils.isEmpty(qch_webblack_url)) { Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", "Invalid"); - return; - } - HashSet URLList = new HashSet<>(Arrays.asList(qch_webblack_url.trim().split(","))); - for (String url : URLList) { - if (TextUtils.isEmpty(url)) { - continue; + } else { + String black_ip = (String) SPUtils.get(mContext, "black_ip", ""); + if (!TextUtils.isEmpty(black_ip)) { + blackIPList = new HashSet<>(Arrays.asList(black_ip.split(","))); } - Logutils.e(TAG, "setBrowserBlackList: url: " + url); - if (qch_webblack_url.startsWith("http://")) { - blackList.add(url); - blackList.add(url.replace("http://", "https://")); - } else if (qch_webblack_url.startsWith("https://")) { - blackList.add(url); - blackList.add(url.replace("https://", "http://")); - } else { - blackList.add("http://" + url); - blackList.add("https://" + url); + blackIPList.removeIf(TextUtils::isEmpty); + HashSet URLList = new HashSet<>(Arrays.asList(qch_webblack_url.trim().split(","))); + for (String url : URLList) { + if (TextUtils.isEmpty(url)) { + continue; + } + Logutils.e(TAG, "setBrowserBlackList: url: " + url); + if (qch_webblack_url.startsWith("http://")) { + blackList.add(url); + blackList.add(url.replace("http://", "https://")); + } else if (qch_webblack_url.startsWith("https://")) { + blackList.add(url); + blackList.add(url.replace("https://", "http://")); + } else { + blackList.add("http://" + url); + blackList.add("https://" + url); + } } + blackList.addAll(blackIPList); + blackList.removeIf(TextUtils::isEmpty); + Logutils.e(TAG, "setBrowserBlackList: blackList: " + blackList); + boolean write = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", String.join(",", blackList)); + Logutils.e(TAG, "setBrowserBlackList: write: " + write); } - - Logutils.e(TAG, "setBrowserBlackList: blackList: " + blackList); - boolean write = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", String.join(",", blackList)); - Logutils.e(TAG, "setBrowserBlackList: write: " + write); } private String getOkHttpURL(String URL) {