Last active
September 16, 2020 08:52
-
-
Save hypest/860a2bdd1f739ef3bb9f287ee2fbbe5c to your computer and use it in GitHub Desktop.
Diff to make MeetamatticianListActivity pick up theme setting change
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/app/src/main/java/automattic/com/meetamattician/MeetamatticianListActivity.java b/app/src/main/java/automat | |
index 739192d..8c88629 100644 | |
--- a/app/src/main/java/automattic/com/meetamattician/MeetamatticianListActivity.java | |
+++ b/app/src/main/java/automattic/com/meetamattician/MeetamatticianListActivity.java | |
@@ -20,6 +20,7 @@ import android.support.v4.widget.SwipeRefreshLayout; | |
import android.support.v7.app.ActionBar; | |
import android.support.v7.app.AlertDialog; | |
import android.support.v7.app.AppCompatActivity; | |
+import android.support.v7.app.AppCompatDelegate; | |
import android.support.v7.widget.LinearLayoutManager; | |
import android.support.v7.widget.RecyclerView; | |
import android.support.v7.widget.SearchView; | |
@@ -98,6 +99,7 @@ public class MeetamatticianListActivity extends AppCompatActivity implements Sha | |
private TouchGuardedSwipeRefreshLayout mSwipeRefresh; | |
private boolean isSearching; | |
private MetFilter mMetFilter; | |
+ private String mCurrentThemePreference; | |
private static final String KEY_PREFERENCE_SHOW_FEATURE_OCR = "preference_show_feature_ocr"; | |
private static final String TAG = MeetamatticianListActivity.class.getSimpleName(); | |
@@ -117,6 +119,12 @@ public class MeetamatticianListActivity extends AppCompatActivity implements Sha | |
} | |
} | |
+ @Override | |
+ public void recreate() { | |
+ overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); | |
+ super.recreate(); | |
+ } | |
+ | |
@Override | |
protected void onActivityResult(int request, int result, Intent intent) { | |
super.onActivityResult(request, result, intent); | |
@@ -136,11 +144,16 @@ public class MeetamatticianListActivity extends AppCompatActivity implements Sha | |
break; | |
} | |
} | |
+ | |
+ if (request == Constants.REQUEST_SETTINGS_CHANGE && mCurrentThemePreference != Utils.getThemePreference(this)) | |
+ recreate(); | |
+ } | |
} | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
Utils.setTheme(this); | |
+ mCurrentThemePreference = Utils.getThemePreference(this); | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_list); | |
@@ -407,7 +420,8 @@ public class MeetamatticianListActivity extends AppCompatActivity implements Sha | |
return true; | |
case R.id.action_settings: | |
- startActivity(new Intent(MeetamatticianListActivity.this, SettingsActivity.class)); | |
+ startActivityForResult(new Intent(MeetamatticianListActivity.this, | |
+ SettingsActivity.class), Constants.REQUEST_SETTINGS_CHANGE); | |
return true; | |
case R.id.action_scan: | |
diff --git a/app/src/main/java/automattic/com/meetamattician/helpers/Constants.java b/app/src/main/java/automattic/com/m | |
index 9970c97..f70b491 100644 | |
--- a/app/src/main/java/automattic/com/meetamattician/helpers/Constants.java | |
+++ b/app/src/main/java/automattic/com/meetamattician/helpers/Constants.java | |
@@ -25,4 +25,5 @@ public class Constants { | |
public static final int HIDE_DELAY_HANDLE = 1000; | |
public static final int REQUEST_PROFILE_CHANGE = 9001; | |
+ public static final int REQUEST_SETTINGS_CHANGE = 9002; | |
} | |
diff --git a/app/src/main/java/automattic/com/meetamattician/helpers/Utils.java b/app/src/main/java/automattic/com/meeta | |
index 216aa4c..1b72bc5 100644 | |
--- a/app/src/main/java/automattic/com/meetamattician/helpers/Utils.java | |
+++ b/app/src/main/java/automattic/com/meetamattician/helpers/Utils.java | |
@@ -128,7 +128,7 @@ public class Utils { | |
return activity.getString(R.string.settings_item_general_theme_summary); | |
} | |
- private static String getThemePreference(Activity activity) { | |
+ public static String getThemePreference(Activity activity) { | |
return PreferenceManager.getDefaultSharedPreferences(activity).getString( | |
activity.getString(R.string.settings_item_general_theme_key), | |
activity.getString(R.string.theme_values_light) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment