version:2.2.8

update:2021-10-09 18:36:39
fix:
add:增加白名单ip功能
This commit is contained in:
2021-10-09 18:37:48 +08:00
parent 827a3e0ee7
commit 588d815d7f
5 changed files with 376 additions and 323 deletions

View File

@@ -24,6 +24,7 @@ import com.mjsheng.myappstore.base.BaseApplication;
import com.mjsheng.myappstore.service.LogcatService; import com.mjsheng.myappstore.service.LogcatService;
import com.mjsheng.myappstore.utils.JGYUtils; import com.mjsheng.myappstore.utils.JGYUtils;
import com.mjsheng.myappstore.utils.Logutils; import com.mjsheng.myappstore.utils.Logutils;
import com.mjsheng.myappstore.utils.SPUtils;
import com.mjsheng.myappstore.utils.ServiceAliveUtils; import com.mjsheng.myappstore.utils.ServiceAliveUtils;
import com.mjsheng.myappstore.utils.StatusBarUtil; import com.mjsheng.myappstore.utils.StatusBarUtil;
import com.mjsheng.myappstore.utils.Utils; import com.mjsheng.myappstore.utils.Utils;
@@ -114,6 +115,8 @@ public class HomeActivity extends AppCompatActivity {
// mAm.killBackgroundProcesses("com.android.documentsui"); // mAm.killBackgroundProcesses("com.android.documentsui");
BaseApplication.cleanJpushAlias(); BaseApplication.cleanJpushAlias();
BaseApplication.cleanJpushTag(); BaseApplication.cleanJpushTag();
Logutils.e(TAG, "debugTest: SPUtils all " + SPUtils.getAll(this));
} }
private void testRxhttp() { private void testRxhttp() {

View File

@@ -1044,129 +1044,129 @@ public class MainPresenter implements MainContact.Presenter {
mView.getBrowserListFinished(""); mView.getBrowserListFinished("");
} }
private void NewSetBrowserList() { // private void NewSetBrowserList() {
NetInterfaceManager.getInstance() // NetInterfaceManager.getInstance()
.getBrowserListSettingObservable() // .getBrowserListSettingObservable()
.observeOn(Schedulers.io()) // .observeOn(Schedulers.io())
.compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY)) // .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse<BrowserData>>() { // .subscribe(new Observer<BaseResponse<BrowserData>>() {
@Override // @Override
public void onSubscribe(@NonNull Disposable d) { // public void onSubscribe(@NonNull Disposable d) {
Logutils.e(TAG + ":" + "NewSetBrowserList", "onSubscribe: "); // Logutils.e(TAG + ":" + "NewSetBrowserList", "onSubscribe: ");
} // }
//
// @Override
// public void onNext(@NonNull BaseResponse<BrowserData> 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 // private void SetBrowserList() {
public void onNext(@NonNull BaseResponse<BrowserData> browserDataBaseResponse) { // NetInterfaceManager.getInstance()
Logutils.e(TAG + ":" + "NewSetBrowserList", "onNext: "); // .getBrowserListSettingObservable()
if (browserDataBaseResponse.code == OK) { // .observeOn(Schedulers.io())
String white = browserDataBaseResponse.data.getWhite(); // .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
String black = browserDataBaseResponse.data.getBlack(); // .subscribe(new Observer<BaseResponse<BrowserData>>() {
if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) { // @Override
Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); // public void onSubscribe(@NonNull Disposable d) {
Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); // Logutils.e(TAG + ":" + "SetBrowserList", "onSubscribe: ");
//黑白名单同时存在时由以前的逻辑管控 // }
boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white); //
Logutils.e(TAG + ":" + "setBrowserList", "setBrowserList white: " + white + ":" + whiteList); // @Override
boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black); // public void onNext(@NonNull BaseResponse<BrowserData> browserDataBaseResponse) {
Logutils.e(TAG + ":" + "setBrowserList", "setBrowserList black: " + black + ":" + blackList); // Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0);
mView.getBrowserListFinished(white); // Logutils.e(TAG + ":" + "SetBrowserList", "onNext: ");
} else if (TextUtils.isEmpty(white)) { // if (browserDataBaseResponse.code == OK) {
//设置黑名单 // //白名单
Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 1); // String white = browserDataBaseResponse.data.getWhite();
Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", black); // if (!TextUtils.isEmpty(white)) {
//白名单为空由新的管控执行 // String homePage = Settings.System.getString(mContext.getContentResolver(), "homepagURL");
mView.getBrowserListFinished(""); // if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); // white += "," + homePage;
} else if (TextUtils.isEmpty(black)) { // }
Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); // boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white);
Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); // Logutils.e(TAG + ":" + "SetBrowserList", "setBrowserList white: " + white + " :" + whiteList);
//黑名单为空由旧的管控执行 // String black = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url");
mView.getBrowserListFinished(white); // Logutils.e(TAG + ":" + "SetBrowserList", "getBrowserList black: " + black);
Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); // mView.getBrowserListFinished(white);
} // } else {
} else { // Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", " ");
//所有置空 // mView.getBrowserListFinished("");
Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0); // }
Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " "); // //黑名单
mView.getBrowserListFinished(""); // String black = browserDataBaseResponse.data.getBlack();
Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); // 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");
@Override // Logutils.e(TAG + ":" + "SetBrowserList", "getBrowserList white: " + whiteList);
public void onError(@NonNull Throwable e) { // } else {
Logutils.e(TAG + ":" + "NewSetBrowserList", "onError: " + e.getMessage()); // Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
onComplete(); // }
} // } else {
// mView.getBrowserListFinished("");
@Override // }
public void onComplete() { // }
Logutils.e(TAG + ":" + "NewSetBrowserList", "onComplete: "); //
} // @Override
}); // public void onError(@NonNull Throwable e) {
} // Logutils.e(TAG + ":" + "SetBrowserList", "onError: " + e.getMessage());
// String whiteURLList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
private void SetBrowserList() { // Logutils.e(TAG + ":" + "SetBrowserList", "whiteURLList: " + whiteURLList);
NetInterfaceManager.getInstance() // mView.getBrowserListFinished(whiteURLList);
.getBrowserListSettingObservable() // }
.observeOn(Schedulers.io()) //
.compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY)) // @Override
.subscribe(new Observer<BaseResponse<BrowserData>>() { // public void onComplete() {
@Override // Logutils.e(TAG + ":" + "SetBrowserList", "onComplete: ");
public void onSubscribe(@NonNull Disposable d) { // }
Logutils.e(TAG + ":" + "SetBrowserList", "onSubscribe: "); // });
} // }
@Override
public void onNext(@NonNull BaseResponse<BrowserData> 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 @Override
public void getBrowserBookmarks(String whitelist) { public void getBrowserBookmarks(String whitelist) {

View File

@@ -6,6 +6,8 @@ public class BrowserData implements Serializable {
private static final long serialVersionUID = 5199831572891077086L; private static final long serialVersionUID = 5199831572891077086L;
private String white; private String white;
private String black; private String black;
private String white_ip;
private String black_ip;
public String getWhite() { public String getWhite() {
return white; return white;
@@ -22,4 +24,20 @@ public class BrowserData implements Serializable {
public void setBlack(String black) { public void setBlack(String black) {
this.black = 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;
}
} }

View File

@@ -11,7 +11,6 @@ import android.os.Message;
import android.os.SystemClock; import android.os.SystemClock;
import android.provider.Settings; import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@@ -508,219 +507,238 @@ public class HTTPInterface {
//设置浏览器黑白名单 //设置浏览器黑白名单
synchronized public static void setBrowserBlackList(final Context context) { 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() NetInterfaceManager.getInstance()
.getBrowserListSettingObservable() .getBrowserListSettingObservable()
.observeOn(Schedulers.io()) .observeOn(Schedulers.io())
.subscribe(new Observer<BaseResponse<BrowserData>>() { .subscribe(new Observer<BaseResponse<BrowserData>>() {
@Override @Override
public void onSubscribe(@NonNull Disposable d) { public void onSubscribe(Disposable d) {
Logutils.e("NewSetBrowserList", "onSubscribe: "); Logutils.e("setBrowserBlackList", "onSubscribe: ");
} }
@Override @Override
public void onNext(@NonNull BaseResponse<BrowserData> browserDataBaseResponse) { public void onNext(BaseResponse<BrowserData> browserDataBaseResponse) {
Logutils.e("NewSetBrowserList", "onNext: "); Logutils.e("setBrowserBlackList", "onNext: ");
String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL");
if (browserDataBaseResponse.code == 200) { if (browserDataBaseResponse.code == 200) {
String white = browserDataBaseResponse.data.getWhite(); BrowserData data = browserDataBaseResponse.data;
String black = browserDataBaseResponse.data.getBlack(); String white = data.getWhite();
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<BaseResponse<BrowserData>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Logutils.e("SetBrowserList", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<BrowserData> 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)) { if (!TextUtils.isEmpty(white)) {
String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL");
if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
white += "," + homePage; white += "," + homePage;
} }
boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); boolean DeselectBrowserArray = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white);
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); Logutils.e("setBrowserBlackList", "setBrowserList white = " + white + ":" + DeselectBrowserArray);
Logutils.e("SetBrowserList", "setBrowserList white: " + white + " :" + whiteList);
String black = Settings.System.getString(context.getContentResolver(), "qch_webblack_url");
Logutils.e("SetBrowserList", "getBrowserList black: " + black);
} else { } else {
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage);
} }
//黑名单 String black = data.getBlack();
String black = browserDataBaseResponse.data.getBlack();
if (!TextUtils.isEmpty(black)) { if (!TextUtils.isEmpty(black)) {
boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); boolean qch_webblack_url = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black);
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); Logutils.e("setBrowserBlackList", "setBrowserList black = " + black + ":" + qch_webblack_url);
Logutils.e("SetBrowserList", "setBrowserList black: " + black + " :" + blackList);
String whiteList = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray");
Logutils.e("SetBrowserList", "getBrowserList white: " + whiteList);
} else { } else {
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); 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 { } else {
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage);
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
SPUtils.put(context, "white_ip", " ");
SPUtils.put(context, "black_ip", " ");
} }
} }
@Override @Override
public void onError(@NonNull Throwable e) { public void onError(Throwable e) {
Logutils.e("SetBrowserList", "onError: " + e.getMessage()); Logutils.e("setBrowserBlackList", "onError: " + e.getMessage());
onComplete(); onComplete();
} }
@Override @Override
public void onComplete() { public void onComplete() {
Logutils.e("setBrowserBlackList", "onComplete: ");
new URLUtils(context).setBrowserWhiteList(); 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<BaseResponse<BrowserData>>() {
// @Override
// public void onSubscribe(@NonNull Disposable d) {
// Logutils.e("NewSetBrowserList", "onSubscribe: ");
// }
//
// @Override
// public void onNext(@NonNull BaseResponse<BrowserData> 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<BaseResponse<BrowserData>>() {
// @Override
// public void onSubscribe(@NonNull Disposable d) {
// Logutils.e("SetBrowserList", "onSubscribe: ");
// }
//
// @Override
// public void onNext(@NonNull BaseResponse<BrowserData> 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) { // synchronized public static void OldSetBrowserList(final Context context) {
OkGo.post(URLAddress.SET_BROWSER_LIST) // OkGo.post(URLAddress.SET_BROWSER_LIST)
.params("key", NetInterfaceManager.HTTP_KEY) // .params("key", NetInterfaceManager.HTTP_KEY)
.params("sn", Utils.getSerial()) // .params("sn", Utils.getSerial())
.execute(new StringCallback() { // .execute(new StringCallback() {
@Override // @Override
public void onSuccess(String s, Call call, Response response) { // public void onSuccess(String s, Call call, Response response) {
try { // try {
JSONObject jsonObject = JSON.parseObject(s); // JSONObject jsonObject = JSON.parseObject(s);
int code = jsonObject.getInteger("code"); // int code = jsonObject.getInteger("code");
String msg = jsonObject.getString("msg"); // String msg = jsonObject.getString("msg");
if (code == 200) { // if (code == 200) {
JSONObject data = JSON.parseObject(jsonObject.getString("data")); // JSONObject data = JSON.parseObject(jsonObject.getString("data"));
String white = data.getString("white"); // String white = data.getString("white");
if (white != null && !"".equals(white)) { // if (white != null && !"".equals(white)) {
boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white); // boolean whiteList = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white);
Logutils.e("SystemSetting", "OldSetBrowserList----white-----" + whiteList + ":" + white); // Logutils.e("SystemSetting", "OldSetBrowserList----white-----" + whiteList + ":" + white);
} else { // } else {
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " "); // Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " ");
} // }
String black = data.getString("black"); // String black = data.getString("black");
if (black != null && !"".equals(black)) { // if (black != null && !"".equals(black)) {
boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black); // boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black);
Logutils.e("SystemSetting", "OldSetBrowserList----black-----" + blackList + ":" + black); // Logutils.e("SystemSetting", "OldSetBrowserList----black-----" + blackList + ":" + black);
} else { // } else {
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " "); // Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
} // }
} else { // } else {
Logutils.e("fht", "OldSetBrowserList" + msg); // Logutils.e("fht", "OldSetBrowserList" + msg);
} // }
} catch (JSONException e) { // } catch (JSONException e) {
Logutils.e("fht", "OldSetBrowserList" + e.getMessage()); // Logutils.e("fht", "OldSetBrowserList" + e.getMessage());
} // }
} // }
//
@Override // @Override
public void onError(Call call, Response response, Exception e) { // public void onError(Call call, Response response, Exception e) {
super.onError(call, response, e); // super.onError(call, response, e);
} // }
}); // });
} // }
synchronized public static void setHomepagtag(final Context context) { synchronized public static void setHomepagtag(final Context context) {
//7.0setPackage不加没有问题,.setPackage("com.android.settings")10.0需要加上,待底层修改后 //7.0setPackage不加没有问题,.setPackage("com.android.settings")10.0需要加上,待底层修改后
@@ -843,7 +861,7 @@ public class HTTPInterface {
String homepagURL = browserBookmarksBaseResponse.data.getHomepage(); String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
Logutils.e("getHomePageBookmarks ", "homepagURL: " + homepagURL); Logutils.e("getHomePageBookmarks ", "homepagURL: " + homepagURL);
String oldHome = Settings.System.getString(context.getContentResolver(), "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)) { if (!TextUtils.isEmpty(oldHome) && !oldHome.equalsIgnoreCase(homepagURL)) {
try { try {
@@ -1097,7 +1115,7 @@ public class HTTPInterface {
.subscribe(new Observer<BaseResponse>() { .subscribe(new Observer<BaseResponse>() {
@Override @Override
public void onSubscribe(Disposable d) { public void onSubscribe(Disposable d) {
Log.e(TAG, "onSubscribe: "); Logutils.e(TAG, "onSubscribe: ");
} }
@Override @Override

View File

@@ -33,6 +33,7 @@ public class URLUtils {
private Context mContext; private Context mContext;
private HashSet<String> baseURLList = new HashSet<>(); private HashSet<String> baseURLList = new HashSet<>();
private HashSet<String> nohttpURLList = new HashSet<>(); private HashSet<String> nohttpURLList = new HashSet<>();
private HashSet<String> whiteIPList = new HashSet<>();
private long time1; private long time1;
private long time2; private long time2;
@@ -49,6 +50,11 @@ public class URLUtils {
Logutils.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is empty"); Logutils.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is empty");
Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", "Invalid"); Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", "Invalid");
} else { } 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); Logutils.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is : " + oldwhiteList);
HashSet<String> URLList = new HashSet<>(Arrays.asList(oldwhiteList.trim().split(","))); HashSet<String> URLList = new HashSet<>(Arrays.asList(oldwhiteList.trim().split(",")));
URLList.removeIf(TextUtils::isEmpty); URLList.removeIf(TextUtils::isEmpty);
@@ -79,7 +85,7 @@ public class URLUtils {
// } // }
// }else { // }else {
// } // }
if (haveDomain(url)){ if (haveDomain(url)) {
nohttpURLList.add("m." + getDomain(url)); nohttpURLList.add("m." + getDomain(url));
} }
// nohttpURLList.add(getDomain(url)); // nohttpURLList.add(getDomain(url));
@@ -192,6 +198,7 @@ public class URLUtils {
public void onComplete() { public void onComplete() {
Logutils.i(TAG, "onComplete: " + baseURLList); Logutils.i(TAG, "onComplete: " + baseURLList);
baseURLList.addAll(nohttpURLList); baseURLList.addAll(nohttpURLList);
baseURLList.addAll(whiteIPList);
baseURLList.removeIf(TextUtils::isEmpty); baseURLList.removeIf(TextUtils::isEmpty);
String DeselectBrowserArray = String.join(",", baseURLList); String DeselectBrowserArray = String.join(",", baseURLList);
Logutils.e(TAG, "onComplete: " + "white list: " + DeselectBrowserArray); Logutils.e(TAG, "onComplete: " + "white list: " + DeselectBrowserArray);
@@ -204,35 +211,42 @@ public class URLUtils {
} }
private HashSet<String> blackList = new HashSet<>(); private HashSet<String> blackList = new HashSet<>();
private HashSet<String> blackIPList = new HashSet<>();
public void setBrowserBlackList() { public void setBrowserBlackList() {
String qch_webblack_url = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url"); String qch_webblack_url = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url");
Logutils.e(TAG, "setBrowserBlackList: qch_webblack_url = " + qch_webblack_url); Logutils.e(TAG, "setBrowserBlackList: qch_webblack_url = " + qch_webblack_url);
if (TextUtils.isEmpty(qch_webblack_url)) { if (TextUtils.isEmpty(qch_webblack_url)) {
Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", "Invalid"); Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", "Invalid");
return; } else {
} String black_ip = (String) SPUtils.get(mContext, "black_ip", "");
HashSet<String> URLList = new HashSet<>(Arrays.asList(qch_webblack_url.trim().split(","))); if (!TextUtils.isEmpty(black_ip)) {
for (String url : URLList) { blackIPList = new HashSet<>(Arrays.asList(black_ip.split(",")));
if (TextUtils.isEmpty(url)) {
continue;
} }
Logutils.e(TAG, "setBrowserBlackList: url: " + url); blackIPList.removeIf(TextUtils::isEmpty);
if (qch_webblack_url.startsWith("http://")) { HashSet<String> URLList = new HashSet<>(Arrays.asList(qch_webblack_url.trim().split(",")));
blackList.add(url); for (String url : URLList) {
blackList.add(url.replace("http://", "https://")); if (TextUtils.isEmpty(url)) {
} else if (qch_webblack_url.startsWith("https://")) { continue;
blackList.add(url); }
blackList.add(url.replace("https://", "http://")); Logutils.e(TAG, "setBrowserBlackList: url: " + url);
} else { if (qch_webblack_url.startsWith("http://")) {
blackList.add("http://" + url); blackList.add(url);
blackList.add("https://" + 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) { private String getOkHttpURL(String URL) {