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
This commit is contained in:
@@ -39,6 +39,7 @@ import android.util.Log;
|
|||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
import com.android.settings.Settings.CreateShortcutActivity;
|
import com.android.settings.Settings.CreateShortcutActivity;
|
||||||
|
import com.android.settingslib.utils.ThreadUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -62,7 +63,7 @@ public class SettingsInitialize extends BroadcastReceiver {
|
|||||||
final PackageManager pm = context.getPackageManager();
|
final PackageManager pm = context.getPackageManager();
|
||||||
managedProfileSetup(context, pm, broadcast, userInfo);
|
managedProfileSetup(context, pm, broadcast, userInfo);
|
||||||
webviewSettingSetup(context, pm, userInfo);
|
webviewSettingSetup(context, pm, userInfo);
|
||||||
refreshExistingShortcuts(context);
|
ThreadUtils.postOnBackgroundThread(() -> refreshExistingShortcuts(context));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void managedProfileSetup(Context context, final PackageManager pm, Intent broadcast,
|
private void managedProfileSetup(Context context, final PackageManager pm, Intent broadcast,
|
||||||
@@ -142,5 +143,4 @@ public class SettingsInitialize extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
shortcutManager.updateShortcuts(updates);
|
shortcutManager.updateShortcuts(updates);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user