[Panlingual] Fix settings crash from rotation.
- View may not create in time when add view of fragment.
Bug: 228126890
Test: local test.
Change-Id: Idce63dc9d39de09ff1ee684881ea6cb90637ee22
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index 2c652c6..808cac1 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -87,6 +87,12 @@
}
@Override
+ public void onResume() {
+ super.onResume();
+ mLocalePickerWithRegion.getListView().addHeaderView(launchAppLocaleDetailsPage());
+ }
+
+ @Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
handleBackPressed();
@@ -143,21 +149,7 @@
void launchLocalePickerPage() {
// LocalePickerWithRegion use android.app.ListFragment. Thus, it can not use
// getSupportFragmentManager() to add this into container.
- android.app.FragmentManager fragmentManager = getFragmentManager();
- fragmentManager.registerFragmentLifecycleCallbacks(
- new android.app.FragmentManager.FragmentLifecycleCallbacks() {
- @Override
- public void onFragmentViewCreated(
- android.app.FragmentManager fm,
- android.app.Fragment f,
- View v,
- Bundle savedInstanceState) {
- super.onFragmentViewCreated(fm, f, v, savedInstanceState);
- mLocalePickerWithRegion.getListView()
- .addHeaderView(launchAppLocaleDetailsPage());
- }
- }, true);
- fragmentManager.beginTransaction()
+ getFragmentManager().beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.replace(R.id.content_frame, mLocalePickerWithRegion)
.commit();