diff --git a/app/build.gradle b/app/build.gradle index 9f85a51..b059c26 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 } } 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 2a7b4a2..efadd52 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java @@ -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>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getBrowserList", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse 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; 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 cf8cc8d..d8ebecc 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java +++ b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java @@ -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) { 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 1c54562..e9a2712 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java @@ -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 baseURLList = new HashSet<>(); + private List 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 URLList = new HashSet<>(Arrays.asList(whiteList.split(","))); + List URLList = Arrays.asList(whiteList.split(",")); Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(ObservableEmitter 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(); } }