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