Merge "[Panlingual] Fix settings crash due to no content view." into tm-dev am: e79605c652 am: e24b3ee152
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17684392
Change-Id: I3c806d8379d971cb5ef063314306c00d13bc890a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index 4f23ae8..d3c855e 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -88,12 +88,6 @@
}
@Override
- public void onResume() {
- super.onResume();
- mLocalePickerWithRegion.getListView().addHeaderView(launchAppLocaleDetailsPage());
- }
-
- @Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
super.onBackPressed();
@@ -136,7 +130,19 @@
void launchLocalePickerPage() {
// LocalePickerWithRegion use android.app.ListFragment. Thus, it can not use
// getSupportFragmentManager() to add this into container.
- getFragmentManager().beginTransaction()
+ android.app.FragmentManager fragmentManager = getFragmentManager();
+ fragmentManager.registerFragmentLifecycleCallbacks(
+ new android.app.FragmentManager.FragmentLifecycleCallbacks() {
+ @Override
+ public void onFragmentResumed(
+ android.app.FragmentManager fm,
+ android.app.Fragment f) {
+ super.onFragmentResumed(fm, f);
+ mLocalePickerWithRegion.getListView()
+ .addHeaderView(launchAppLocaleDetailsPage());
+ }
+ }, true);
+ fragmentManager.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.replace(R.id.content_frame, mLocalePickerWithRegion)
.commit();