diff options
-rw-r--r-- | AndroidManifest.xml | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/StartupReceiver.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/Utilities.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/compat/AlphabeticIndexCompat.java | 2 |
5 files changed, 19 insertions, 26 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1fb8e8d01..ab430d158 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -51,11 +51,9 @@ <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.SET_WALLPAPER" /> <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" /> - <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.BIND_APPWIDGET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> - <uses-permission android:name="android.permission.BROADCAST_STICKY"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" /> @@ -204,12 +202,6 @@ </intent-filter> </receiver> - <receiver android:name="com.android.launcher3.StartupReceiver" > - <intent-filter> - <action android:name="android.intent.action.BOOT_COMPLETED" /> - </intent-filter> - </receiver> - <!-- The settings provider contains Home's data, like the workspace favorites --> <provider android:name="com.android.launcher3.LauncherProvider" diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 8233ea2a2..65a0232f5 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -1744,8 +1744,7 @@ public class LauncherModel extends BroadcastReceiver final PackageManager manager = context.getPackageManager(); final boolean isSafeMode = manager.isSafeMode(); final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context); - final boolean isSdCardReady = context.registerReceiver(null, - new IntentFilter(StartupReceiver.SYSTEM_READY)) != null; + final boolean isSdCardReady = Utilities.isBootCompleted(); LauncherAppState app = LauncherAppState.getInstance(); InvariantDeviceProfile profile = app.getInvariantDeviceProfile(); @@ -2285,7 +2284,7 @@ public class LauncherModel extends BroadcastReceiver if (!isSdCardReady && !sPendingPackages.isEmpty()) { context.registerReceiver(new AppsAvailabilityCheck(), - new IntentFilter(StartupReceiver.SYSTEM_READY), + new IntentFilter(Intent.ACTION_BOOT_COMPLETED), null, sWorker); } diff --git a/src/com/android/launcher3/StartupReceiver.java b/src/com/android/launcher3/StartupReceiver.java deleted file mode 100644 index 65f913fdf..000000000 --- a/src/com/android/launcher3/StartupReceiver.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.android.launcher3; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; - -public class StartupReceiver extends BroadcastReceiver { - - static final String SYSTEM_READY = "com.android.launcher3.SYSTEM_READY"; - - @Override - public void onReceive(Context context, Intent intent) { - context.sendStickyBroadcast(new Intent(SYSTEM_READY)); - } -} diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index 8fd298df7..20c526bd3 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -58,6 +58,7 @@ import android.widget.Toast; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Locale; import java.util.Set; @@ -709,4 +710,18 @@ public final class Utilities { public static String createDbSelectionQuery(String columnName, Iterable<?> values) { return String.format(Locale.ENGLISH, "%s IN (%s)", columnName, TextUtils.join(", ", values)); } + + @SuppressWarnings({"unchecked", "rawtypes"}) + public static boolean isBootCompleted() { + try { + Class clazz = Class.forName("android.os.SystemProperties"); + Method getter = clazz.getDeclaredMethod("get", String.class); + String value = (String) getter.invoke(null, "sys.boot_completed"); + return "1".equals(value); + } catch (Exception e) { + Log.d(TAG, "Unable to read system properties"); + // Assume that boot has completed + return true; + } + } } diff --git a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java index ec1fb669f..463278ab4 100644 --- a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java +++ b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java @@ -1,6 +1,7 @@ package com.android.launcher3.compat; import android.content.Context; + import com.android.launcher3.Utilities; import java.lang.reflect.Constructor; @@ -62,6 +63,7 @@ public class AlphabeticIndexCompat extends BaseAlphabeticIndex { private boolean mHasValidAlphabeticIndex; private String mDefaultMiscLabel; + @SuppressWarnings({"unchecked", "rawtypes"}) public AlphabeticIndexCompat(Context context) { super(); try { |