version:2.1.0
update: fix:浏览器黑白名单会导致浏览器设置主页自由访问 add:
This commit is contained in:
@@ -78,8 +78,8 @@ android {
|
||||
// //老平台正式
|
||||
// official {
|
||||
// flavorDimensions "default"
|
||||
// versionCode 1038
|
||||
// versionName "2.0.3.8"
|
||||
// versionCode 1039
|
||||
// versionName "2.0.3.9"
|
||||
// /*********************************极光推送************************************/
|
||||
// manifestPlaceholders = [
|
||||
// JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
|
||||
@@ -229,7 +229,7 @@ android {
|
||||
variant.outputs.each { output ->
|
||||
def outputFile = ""
|
||||
if (outputFile != null) {
|
||||
def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk"
|
||||
def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${productFlavors[0].name}-${buildType.name}.apk"
|
||||
output.outputFileName = fileName
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
|
||||
int locked = jsonObject.get("lock").getAsInt();
|
||||
Log.e("getLockedState", "locked: " + locked);
|
||||
int oldState = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", -1);
|
||||
int oldState = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0);
|
||||
Log.e("getLockedState", "qch_unlock_ipad: " + oldState);
|
||||
//后台1是锁定,底层0是锁定
|
||||
if (locked == 1) {
|
||||
@@ -237,7 +237,7 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.e("getLockedState", "onError: " + e.getMessage());
|
||||
int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", -1);
|
||||
int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0);
|
||||
Log.e("getLockedState", "locked: " + locked);
|
||||
mView.setLockedState(locked == 0);
|
||||
}
|
||||
@@ -716,7 +716,7 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
mView.getDeviceBatchFinished();
|
||||
return;
|
||||
}
|
||||
int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", -1);
|
||||
int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0);
|
||||
if (locked == 0) {
|
||||
// NetInterfaceManager.getInstance()
|
||||
// .getBatchObservable()
|
||||
@@ -821,13 +821,71 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
});
|
||||
}
|
||||
|
||||
// TODO: 2021/6/8 使用现有代码会影响浏览器主页管控
|
||||
// @Override
|
||||
// public void getBrowserList() {
|
||||
//// if (JGYUtils.isOfficialVersion()) {
|
||||
// SetBrowserList();
|
||||
//// } else {
|
||||
//// NewSetBrowserList();
|
||||
//// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void getBrowserList() {
|
||||
// if (JGYUtils.isOfficialVersion()) {
|
||||
SetBrowserList();
|
||||
// } else {
|
||||
// NewSetBrowserList();
|
||||
// }
|
||||
NetInterfaceManager.getInstance()
|
||||
.getBrowserListSettingObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Observer<BaseResponse<BrowserData>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.e("getBrowserList", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<BrowserData> browserDataBaseResponse) {
|
||||
Log.e("getBrowserList", "onNext: ");
|
||||
if (browserDataBaseResponse.code == 200) {
|
||||
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);
|
||||
Log.e("getBrowserList", "setBrowserList white: " + white + ":" + whiteList);
|
||||
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);
|
||||
Log.e("getBrowserList", "setBrowserList black: " + black + ":" + blackList);
|
||||
} else {
|
||||
Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
|
||||
}
|
||||
} else {
|
||||
mView.getBrowserListFinished("");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.e("getBrowserList", "onError: " + e.getMessage());
|
||||
String whiteURLList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
|
||||
Log.e("getBrowserList", "whiteURLList: " + whiteURLList);
|
||||
mView.getBrowserListFinished(whiteURLList);
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("getBrowserList", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -974,7 +1032,7 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
//主页
|
||||
String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
|
||||
boolean home = Settings.System.putString(mContext.getContentResolver(), "homepagURL", homepagURL);
|
||||
Log.e("getBrowserBookmarks", "onNext: homepagURL: save homepagURL = " + home);
|
||||
Log.e("getBrowserBookmarks", "onNext: homepagURL: save homepagURL = " + homepagURL);
|
||||
if (whiteLists.size() <= 0 || !whiteLists.contains(homepagURL)) {
|
||||
whiteString.append(",").append(homepagURL);
|
||||
Log.e("getBrowserBookmarks ", "homepagURL: " + homepagURL);
|
||||
@@ -1044,18 +1102,18 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
@Override
|
||||
public void getBrowserWhiteList() {
|
||||
new URLUtils(mContext).setBrowserList();
|
||||
try {
|
||||
int qch_website_isBlackWebUrl = Settings.System.getInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl");
|
||||
String BlackBrowserArray = Settings.System.getString(mContext.getContentResolver(), "BlackBrowserArray");
|
||||
String DeselectBrowserArray = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
|
||||
String qch_webblack_url = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url");
|
||||
Log.e("getBrowserWhiteList", "qch_website_isBlackWebUrl: " + qch_website_isBlackWebUrl);
|
||||
Log.e("getBrowserWhiteList", "BlackBrowserArray: " + BlackBrowserArray);
|
||||
Log.e("getBrowserWhiteList", "DeselectBrowserArray: " + DeselectBrowserArray);
|
||||
Log.e("getBrowserWhiteList", "qch_webblack_url: " + qch_webblack_url);
|
||||
} catch (Settings.SettingNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// try {
|
||||
// int qch_website_isBlackWebUrl = Settings.System.getInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl");
|
||||
// String BlackBrowserArray = Settings.System.getString(mContext.getContentResolver(), "BlackBrowserArray");
|
||||
// String DeselectBrowserArray = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
|
||||
// String qch_webblack_url = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url");
|
||||
// Log.e("getBrowserWhiteList", "qch_website_isBlackWebUrl: " + qch_website_isBlackWebUrl);
|
||||
// Log.e("getBrowserWhiteList", "BlackBrowserArray: " + BlackBrowserArray);
|
||||
// Log.e("getBrowserWhiteList", "DeselectBrowserArray: " + DeselectBrowserArray);
|
||||
// Log.e("getBrowserWhiteList", "qch_webblack_url: " + qch_webblack_url);
|
||||
// } catch (Settings.SettingNotFoundException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1457,7 +1515,7 @@ public class MainPresenter implements MainContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getScreenLockState() {
|
||||
int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", -1);
|
||||
int locked = Settings.System.getInt(mContext.getContentResolver(), "qch_unlock_ipad", 0);
|
||||
if (JGYUtils.isOfficialVersion() || locked == 1) {
|
||||
mView.setScreenLockStateFinished(false, "");
|
||||
return;
|
||||
|
||||
@@ -494,14 +494,64 @@ public class HTTPInterface {
|
||||
context.sendBroadcast(intent);
|
||||
}
|
||||
|
||||
// TODO: 2021/6/8 使用现有代码会影响浏览器主页管控
|
||||
// //设置浏览器黑白名单
|
||||
// synchronized public static void setBrowserBlackList(final Context context) {
|
||||
//// if (JGYUtils.isOfficialVersion()) {
|
||||
// SetBrowserList(context);
|
||||
//// OldSetBrowserList(context);
|
||||
//// } else {
|
||||
//// NewSetBrowserList(context);
|
||||
//// }
|
||||
// }
|
||||
|
||||
//设置浏览器黑白名单
|
||||
synchronized public static void setBrowserBlackList(final Context context) {
|
||||
// if (JGYUtils.isOfficialVersion()) {
|
||||
SetBrowserList(context);
|
||||
// OldSetBrowserList(context);
|
||||
// } else {
|
||||
// NewSetBrowserList(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);
|
||||
new URLUtils(context).setBrowserList();
|
||||
|
||||
Log.e("SystemSetting", "setBrowserList----white-----" + whiteList + ":" + white);
|
||||
} else {
|
||||
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", " ");
|
||||
}
|
||||
String black = data.getString("black");
|
||||
if (!TextUtils.isEmpty(black)) {
|
||||
boolean blackList = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black);
|
||||
Log.e("SystemSetting", "setBrowserList----black-----" + blackList + ":" + black);
|
||||
} else {
|
||||
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
|
||||
}
|
||||
} else {
|
||||
Log.e("fht", "setBrowserList" + msg);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
Log.e("fht", "setBrowserList" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Call call, Response response, Exception e) {
|
||||
super.onError(call, response, e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void NewSetBrowserList(Context context) {
|
||||
|
||||
@@ -11,8 +11,6 @@ import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -32,54 +30,37 @@ import okhttp3.Response;
|
||||
public class URLUtils {
|
||||
private static String TAG = URLUtils.class.getSimpleName();
|
||||
private Context mContext;
|
||||
private HashSet<String> baseURLList = new HashSet<>();
|
||||
private List<String> baseURLList = new ArrayList<>();
|
||||
|
||||
public URLUtils(Context context) {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
public void setBrowserList() {
|
||||
boolean isOld = Settings.System.getInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0) == 0;
|
||||
String whiteList = "";
|
||||
if (isOld) {
|
||||
whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
|
||||
Log.e(TAG, "setBrowserList: "+ whiteList);
|
||||
} else {
|
||||
whiteList = Settings.System.getString(mContext.getContentResolver(), "BlackBrowserArray");
|
||||
Log.e(TAG, "setBrowserList: "+whiteList );
|
||||
}
|
||||
|
||||
String whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
|
||||
if (TextUtils.isEmpty(whiteList)) {
|
||||
Log.e(TAG, "getBrowserWhiteList: " + "whiteList is empty");
|
||||
} else {
|
||||
HashSet<String> URLList = new HashSet<>(Arrays.asList(whiteList.split(",")));
|
||||
List<String> URLList = Arrays.asList(whiteList.split(","));
|
||||
Observable.create(new ObservableOnSubscribe<String>() {
|
||||
@Override
|
||||
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
|
||||
baseURLList.clear();
|
||||
baseURLList.addAll(URLList);
|
||||
for (String url : URLList) {
|
||||
if (TextUtils.isEmpty(url)){
|
||||
continue;
|
||||
}
|
||||
if (url.startsWith("http://")) {
|
||||
String noHttp = url.substring(7);
|
||||
if (!baseURLList.contains(noHttp)) {
|
||||
baseURLList.add(noHttp);
|
||||
}
|
||||
emitter.onNext(getOkHttpURL(url));
|
||||
} else if (url.startsWith("https://")) {
|
||||
}
|
||||
if (url.startsWith("https://")) {
|
||||
String noHttps = url.substring(8);
|
||||
if (!baseURLList.contains(noHttps)) {
|
||||
baseURLList.add(noHttps);
|
||||
}
|
||||
emitter.onNext(getOkHttpURL(url));
|
||||
} else {
|
||||
baseURLList.add("http://" + url);
|
||||
emitter.onNext(getOkHttpURL("http://" + url));
|
||||
baseURLList.add("https://" + url);
|
||||
emitter.onNext(getOkHttpURL("https://" + url));
|
||||
}
|
||||
emitter.onNext(getOkHttpURL(url));
|
||||
Log.e(TAG, "subscribe: " + url);
|
||||
}
|
||||
emitter.onComplete();
|
||||
@@ -116,7 +97,7 @@ public class URLUtils {
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Log.e(TAG, "onError: " + e.getMessage());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -130,18 +111,13 @@ public class URLUtils {
|
||||
stringBuilder.append(s);
|
||||
}
|
||||
String DeselectBrowserArray = stringBuilder.toString();
|
||||
|
||||
boolean write;
|
||||
if (isOld){
|
||||
write = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", DeselectBrowserArray);
|
||||
}else {
|
||||
write = Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", DeselectBrowserArray);
|
||||
}
|
||||
boolean write = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", DeselectBrowserArray);
|
||||
Log.e(TAG, "onComplete: " + "white list: " + DeselectBrowserArray);
|
||||
Log.e(TAG, "onComplete: " + "write :" + write);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private String getOkHttpURL(String URL) {
|
||||
@@ -247,7 +223,6 @@ public class URLUtils {
|
||||
sb.append(c);
|
||||
}
|
||||
}
|
||||
// Log.e(TAG, "getUserAgent: " + sb.toString());
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user