Merge "[Regional Preference] Do not get child fragment if the fragment is not added" into udc-dev am: d6fb2c45dc

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22789043

Change-Id: I8c187cfc4301af169454bcc4fe15877134c6035c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-04-24 17:21:58 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 4 deletions

View File

@@ -51,20 +51,27 @@ public class LocaleDialogFragment extends InstrumentedDialogFragment {
static final String ARG_TARGET_LOCALE = "arg_target_locale"; static final String ARG_TARGET_LOCALE = "arg_target_locale";
static final String ARG_RESULT_RECEIVER = "arg_result_receiver"; static final String ARG_RESULT_RECEIVER = "arg_result_receiver";
public static LocaleDialogFragment newInstance() {
return new LocaleDialogFragment();
}
/** /**
* Show dialog * Show dialog
*/ */
public static void show( public void show(
@NonNull RestrictedSettingsFragment fragment, @NonNull RestrictedSettingsFragment fragment,
int dialogType, int dialogType,
LocaleStore.LocaleInfo localeInfo) { LocaleStore.LocaleInfo localeInfo) {
if (!isAdded()) {
return;
}
show(fragment, dialogType, localeInfo, null); show(fragment, dialogType, localeInfo, null);
} }
/** /**
* Show dialog * Show dialog
*/ */
public static void show( public void show(
@NonNull RestrictedSettingsFragment fragment, @NonNull RestrictedSettingsFragment fragment,
int dialogType, int dialogType,
LocaleStore.LocaleInfo localeInfo, LocaleStore.LocaleInfo localeInfo,

View File

@@ -319,8 +319,9 @@ class LocaleDragAndDropAdapter
public void doTheUpdateWithMovingLocaleItem() { public void doTheUpdateWithMovingLocaleItem() {
LocaleStore.LocaleInfo localeInfo = mFeedItemList.get(0); LocaleStore.LocaleInfo localeInfo = mFeedItemList.get(0);
final LocaleDialogFragment fragment = LocaleDialogFragment.newInstance();
if (!localeInfo.getLocale().equals(LocalePicker.getLocales().get(0))) { if (!localeInfo.getLocale().equals(LocalePicker.getLocales().get(0))) {
LocaleDialogFragment.show(mParent, fragment.show(mParent,
LocaleDialogFragment.DIALOG_CONFIRM_SYSTEM_DEFAULT, LocaleDialogFragment.DIALOG_CONFIRM_SYSTEM_DEFAULT,
localeInfo, localeInfo,
new ResultReceiver(new Handler(Looper.getMainLooper())) { new ResultReceiver(new Handler(Looper.getMainLooper())) {
@@ -332,7 +333,7 @@ class LocaleDragAndDropAdapter
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
doTheUpdate(); doTheUpdate();
if (!localeInfo.isTranslated()) { if (!localeInfo.isTranslated()) {
LocaleDialogFragment.show(mParent, fragment.show(mParent,
LocaleDialogFragment LocaleDialogFragment
.DIALOG_NOT_AVAILABLE_LOCALE, .DIALOG_NOT_AVAILABLE_LOCALE,
localeInfo); localeInfo);