[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
This commit is contained in:
tom hsu
2022-04-06 15:59:43 +08:00
parent 6436a5aa6f
commit 19bd21d96c

View File

@@ -86,6 +86,12 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
launchLocalePickerPage();
}
@Override
public void onResume() {
super.onResume();
mLocalePickerWithRegion.getListView().addHeaderView(launchAppLocaleDetailsPage());
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
@@ -143,21 +149,7 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
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();