On AndroidO MR1 gms pac, change language at WelcomeActivity UI of SetupWizard when first boot,
after boot completed, enter the launcher and then long press some apps's icon, the shortcuts
show language resource strings.
Because of ShortcutUser.mKnownLocales not initialized yet, so ShortcutService do nothing when
handling LOCALE_CHANGED broadcast.
Bug:
77759135
Test: 1. make services and do factory reset. All apps can show correct language resource strings
after changing language in WelcomActivity UI of SetupWizard.
2.run com.android.server.pm.ShortcutManagerTest[1-10]:All(1,3-10) pass except 2, the 2 failure is
no matter with this patch.
Change-Id: If235d23d3a4c50f4120674601f853081571c672e
*/
public void detectLocaleChange() {
final String currentLocales = mService.injectGetLocaleTagsForUser(mUserId);
- if (getKnownLocales().equals(currentLocales)) {
+ if (!TextUtils.isEmpty(mKnownLocales) && mKnownLocales.equals(currentLocales)) {
return;
}
if (ShortcutService.DEBUG) {
- Slog.d(TAG, "Locale changed from " + currentLocales + " to " + mKnownLocales
+ Slog.d(TAG, "Locale changed from " + mKnownLocales + " to " + currentLocales
+ " for user " + mUserId);
}
+
mKnownLocales = currentLocales;
forAllPackages(pkg -> {