Refactor shortcut updating, and do it on BOOT_COMPLETE
This CL shuffles quite a bit of code around, but the effective differences are: * Unified shortcut updating code (language switch & backup restoration). * Shortcuts are also updated on boot (flagged by MODES_UI which will need this). * Removed usage of (long obsolete) AsyncTask. A further CL will add some special-casing for the DND->Modes shortcut transition. Bug: 365545604 Test: atest com.android.settings.shortcut + manual (switch language, reboot) Flag: android.app.modes_ui Change-Id: I30450d13cb05008d2a71ed89d4781eb81e5532b9
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.localepicker;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
@@ -41,7 +43,8 @@ import com.android.internal.app.LocalePicker;
|
||||
import com.android.internal.app.LocaleStore;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.shortcut.ShortcutsUpdateTask;
|
||||
import com.android.settings.shortcut.ShortcutsUpdater;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
@@ -94,7 +97,7 @@ class LocaleDragAndDropAdapter
|
||||
LocaleDragAndDropAdapter(LocaleListEditor parent, List<LocaleStore.LocaleInfo> feedItemList) {
|
||||
mFeedItemList = feedItemList;
|
||||
mCacheItemList = new ArrayList<>(feedItemList);
|
||||
mContext = parent.getContext();
|
||||
mContext = checkNotNull(parent.getContext());
|
||||
|
||||
final float dragElevation = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8,
|
||||
mContext.getResources().getDisplayMetrics());
|
||||
@@ -347,7 +350,8 @@ class LocaleDragAndDropAdapter
|
||||
|
||||
LocalePicker.updateLocales(mLocalesToSetNext);
|
||||
mLocalesSetLast = mLocalesToSetNext;
|
||||
new ShortcutsUpdateTask(mContext).execute();
|
||||
ThreadUtils.postOnBackgroundThread(
|
||||
() -> ShortcutsUpdater.updatePinnedShortcuts(mContext));
|
||||
|
||||
mLocalesToSetNext = null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user