Skip to content

Instantly share code, notes, and snippets.

@hypest
Last active September 16, 2020 08:52
Show Gist options
  • Save hypest/860a2bdd1f739ef3bb9f287ee2fbbe5c to your computer and use it in GitHub Desktop.
Save hypest/860a2bdd1f739ef3bb9f287ee2fbbe5c to your computer and use it in GitHub Desktop.
Diff to make MeetamatticianListActivity pick up theme setting change
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