diff options
3 files changed, 29 insertions, 14 deletions
diff --git a/core/java/com/android/internal/app/LocalePicker.java b/core/java/com/android/internal/app/LocalePicker.java index 06fe3bf..9b2321a 100644 --- a/core/java/com/android/internal/app/LocalePicker.java +++ b/core/java/com/android/internal/app/LocalePicker.java @@ -37,7 +37,6 @@ import android.widget.ListView; import android.widget.TextView; import java.text.Collator; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; @@ -107,22 +106,21 @@ public class LocalePicker extends ListFragment { return constructAdapter(context, layoutId, fieldId, false /* disable pseudolocales */); } - public static ArrayAdapter<LocaleInfo> constructAdapter(Context context, - final int layoutId, final int fieldId, final boolean isInDeveloperMode) { + public static List<LocaleInfo> getAllAssetLocales(Context context, boolean isInDeveloperMode) { final Resources resources = context.getResources(); - String[] locales = Resources.getSystem().getAssets().getLocales(); + final String[] locales = Resources.getSystem().getAssets().getLocales(); List<String> localeList = new ArrayList<String>(locales.length); Collections.addAll(localeList, locales); if (isInDeveloperMode) { if (!localeList.contains("zz_ZZ")) { localeList.add("zz_ZZ"); } - /** - TODO: Enable when zz_ZY Pseudolocale is complete - * if (!localeList.contains("zz_ZY")) { - * localeList.add("zz_ZY"); - * } - */ + /** - TODO: Enable when zz_ZY Pseudolocale is complete + * if (!localeList.contains("zz_ZY")) { + * localeList.add("zz_ZY"); + * } + */ } Collections.sort(localeList); @@ -180,6 +178,13 @@ public class LocalePicker extends ListFragment { } Collections.sort(localeInfos); + return localeInfos; + } + + public static ArrayAdapter<LocaleInfo> constructAdapter(Context context, + final int layoutId, final int fieldId, final boolean isInDeveloperMode) { + final List<LocaleInfo> localeInfos = getAllAssetLocales(context, isInDeveloperMode); + final LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); return new ArrayAdapter<LocaleInfo>(context, layoutId, fieldId, localeInfos) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 72c12d6..4b6e598 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -2725,11 +2725,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, String action = intent.getAction(); if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) { int flags = CommandQueue.FLAG_EXCLUDE_NONE; - if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) { - String reason = intent.getStringExtra("reason"); - if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) { - flags |= CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL; - } + String reason = intent.getStringExtra("reason"); + if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) { + flags |= CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL; } animateCollapsePanels(flags); } diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 91bc7e3..ab13259 100755 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -1052,6 +1052,14 @@ final class ActivityStack { next.idle = false; next.results = null; next.newIntents = null; + + if (next.isHomeActivity() && next.isNotResolverActivity()) { + ProcessRecord app = next.task.mActivities.get(0).app; + if (app != null && app != mService.mHomeProcess) { + mService.mHomeProcess = app; + } + } + if (next.nowVisible) { // We won't get a call to reportActivityVisibleLocked() so dismiss lockscreen now. mStackSupervisor.dismissKeyguard(); @@ -2067,6 +2075,8 @@ final class ActivityStack { final int rootActivityNdx = task.findEffectiveRootIndex(); for (int i = numActivities - 1; i > rootActivityNdx; --i ) { ActivityRecord target = activities.get(i); + if (target.frontOfTask) + break; final int flags = target.info.flags; final boolean finishOnTaskLaunch = @@ -2223,6 +2233,8 @@ final class ActivityStack { // Do not operate on or below the effective root Activity. for (int i = numActivities - 1; i > rootActivityNdx; --i) { ActivityRecord target = activities.get(i); + if (target.frontOfTask) + break; final int flags = target.info.flags; boolean finishOnTaskLaunch = (flags & ActivityInfo.FLAG_FINISH_ON_TASK_LAUNCH) != 0; |
