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
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 93a185e..5352c7c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -5335,6 +5335,14 @@
             </intent-filter>
         </receiver>
 
+        <receiver
+            android:name=".shortcut.ShortcutsUpdateReceiver"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.BOOT_COMPLETED"/>
+            </intent-filter>
+        </receiver>
+
         <!-- This is the longest AndroidManifest.xml ever. -->
     </application>
 </manifest>