Fix ANR on ShorcutManager#getPinnedShortcuts
By design, ShorcutManager#getPinnedShortcuts is meant to called on
a work thread.
Fix: 183785618
Test: Switch the user profile, and function works properly.
Change-Id: I87b8d3f57123ff12f83f95fc7f053b8840028ebe
diff --git a/src/com/android/settings/SettingsInitialize.java b/src/com/android/settings/SettingsInitialize.java
index 5157033..cd949de 100644
--- a/src/com/android/settings/SettingsInitialize.java
+++ b/src/com/android/settings/SettingsInitialize.java
@@ -39,6 +39,7 @@
import androidx.annotation.VisibleForTesting;
import com.android.settings.Settings.CreateShortcutActivity;
+import com.android.settingslib.utils.ThreadUtils;
import java.util.ArrayList;
import java.util.List;
@@ -62,7 +63,7 @@
final PackageManager pm = context.getPackageManager();
managedProfileSetup(context, pm, broadcast, userInfo);
webviewSettingSetup(context, pm, userInfo);
- refreshExistingShortcuts(context);
+ ThreadUtils.postOnBackgroundThread(() -> refreshExistingShortcuts(context));
}
private void managedProfileSetup(Context context, final PackageManager pm, Intent broadcast,
@@ -142,5 +143,4 @@
}
shortcutManager.updateShortcuts(updates);
}
-
}