diff --git a/app/src/main/java/com/hiroshi/cimoc/manager/PreferenceManager.java b/app/src/main/java/com/hiroshi/cimoc/manager/PreferenceManager.java index 3e2aaff4..5ff56b04 100644 --- a/app/src/main/java/com/hiroshi/cimoc/manager/PreferenceManager.java +++ b/app/src/main/java/com/hiroshi/cimoc/manager/PreferenceManager.java @@ -138,6 +138,10 @@ public class PreferenceManager { public static final String PREFERENCES_USER_EMAIL = "user_email"; public static final String PREFERENCES_USER_ID = "user_id"; private static final String PREFERENCES_NAME = "cimoc_preferences"; + + public static final String PREFERENCES_MH50_KEY_MSG = "preferences_mh50_key_msg"; + public static final String PREFERENCES_MH50_IV_MSG = "preferences_mh50_iv_msg"; + private SharedPreferences mSharedPreferences; public PreferenceManager(Context context) { diff --git a/app/src/main/java/com/hiroshi/cimoc/source/MH50.java b/app/src/main/java/com/hiroshi/cimoc/source/MH50.java index cbacf172..a9837a12 100644 --- a/app/src/main/java/com/hiroshi/cimoc/source/MH50.java +++ b/app/src/main/java/com/hiroshi/cimoc/source/MH50.java @@ -1,9 +1,12 @@ package com.hiroshi.cimoc.source; +import android.util.Log; import android.util.Pair; import com.alibaba.fastjson.JSONArray; import com.google.common.collect.Lists; +import com.hiroshi.cimoc.App; +import com.hiroshi.cimoc.manager.PreferenceManager; import com.hiroshi.cimoc.model.Chapter; import com.hiroshi.cimoc.model.Comic; import com.hiroshi.cimoc.model.ImageUrl; @@ -128,8 +131,8 @@ public Request getImagesRequest(String cid, String path) { @Nullable private String decrypt(String code) { - String key = "KA58ZAQ54321bbG1"; - String iv = "A1B2C3DEF1G321bb"; + String key = App.getPreferenceManager().getString(PreferenceManager.PREFERENCES_MH50_KEY_MSG, "KA58ZAQ54321bbG1"); + String iv = App.getPreferenceManager().getString(PreferenceManager.PREFERENCES_MH50_IV_MSG, "A1B2C3DEF1G321bb"); try { return DecryptionUtils.aesDecrypt(code, key, iv); } catch (Exception e) { diff --git a/app/src/main/java/com/hiroshi/cimoc/ui/activity/MainActivity.java b/app/src/main/java/com/hiroshi/cimoc/ui/activity/MainActivity.java index f78da115..45ef940f 100644 --- a/app/src/main/java/com/hiroshi/cimoc/ui/activity/MainActivity.java +++ b/app/src/main/java/com/hiroshi/cimoc/ui/activity/MainActivity.java @@ -31,6 +31,7 @@ import android.view.View; import android.widget.FrameLayout; import android.widget.TextView; +import android.widget.Toast; import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.view.SimpleDraweeView; @@ -199,6 +200,7 @@ protected void initData() { showAuthorNotice(); showPermission(); + getMh50KeyIv(); } @Override @@ -571,6 +573,39 @@ public void onComplete(@NonNull Task task) { }); } + private void getMh50KeyIv() { + FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); + FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() + .setMinimumFetchIntervalInSeconds(60*60) + .build(); + mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings); + mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config); + mFirebaseRemoteConfig.fetchAndActivate() + .addOnCompleteListener(this, new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + boolean updated = task.getResult(); + Log.d("FireBase_FirstOpenMsg", "Config params updated: " + updated); + } else { + Log.d("FireBase_FirstOpenMsg", "Config params updated Failed. "); + } + + String mh50_key = mFirebaseRemoteConfig.getString("mh50_key_msg"); + String mh50_iv = mFirebaseRemoteConfig.getString("mh50_iv_msg"); + + if (!mh50_key.equals(mPreference.getString(PreferenceManager.PREFERENCES_MH50_KEY_MSG, "KA58ZAQ54321bbG1"))){ + mPreference.putString(PreferenceManager.PREFERENCES_MH50_KEY_MSG, mh50_key); + Toast.makeText(MainActivity.this,"漫画堆key已更新",Toast.LENGTH_LONG).show(); + } + if (!mh50_iv.equals(mPreference.getString(PreferenceManager.PREFERENCES_MH50_IV_MSG, "A1B2C3DEF1G321bb"))){ + mPreference.putString(PreferenceManager.PREFERENCES_MH50_IV_MSG, mh50_iv); + Toast.makeText(MainActivity.this,"漫画堆iv已更新",Toast.LENGTH_LONG).show(); + } + } + }); + } + private void showPermission() { if (!PermissionUtils.hasAllPermissions(this)) { MessageDialogFragment fragment = MessageDialogFragment.newInstance(R.string.main_permission, diff --git a/app/src/main/res/xml/remote_config.xml b/app/src/main/res/xml/remote_config.xml index b1224742..846cdc0d 100644 --- a/app/src/main/res/xml/remote_config.xml +++ b/app/src/main/res/xml/remote_config.xml @@ -5,5 +5,13 @@ first_open_msg Welcome to Cimoc! + + mh50_key_msg + KA58ZAQ54321bbG1 + + + mh50_iv_msg + A1B2C3DEF1G321bb + \ No newline at end of file