[Panlingual] Fix settings crash due to no content view.

 - Sometimes, listview may not created instantly, so move the action of
   addHeaderView after fragment finished the onResume;

Bug: 228563549
Test: local
Change-Id: Ie5d53c962bed35783decd374c743a168a98cbf6a
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();