diff options
author | Michael Jurka <mikejurka@google.com> | 2012-05-15 16:38:37 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-15 16:38:37 -0700 |
commit | 8b03cc083f3f5749ec4a87a9bcf5ed4dfc780b2d (patch) | |
tree | 0155d58c0f1cac5297de28706497a5dbb368b740 | |
parent | a8859a0a6b9787b156ef8ae7eba5c9fe1a5cd453 (diff) | |
parent | b6a4d983b8ddec80033f371c71270beea3ad912a (diff) | |
download | android_packages_apps_Trebuchet-8b03cc083f3f5749ec4a87a9bcf5ed4dfc780b2d.tar.gz android_packages_apps_Trebuchet-8b03cc083f3f5749ec4a87a9bcf5ed4dfc780b2d.tar.bz2 android_packages_apps_Trebuchet-8b03cc083f3f5749ec4a87a9bcf5ed4dfc780b2d.zip |
Merge "Populate the default workspace earlier" into jb-dev
-rw-r--r-- | AndroidManifest.xml | 13 | ||||
-rw-r--r-- | src/com/android/launcher2/LauncherProvider.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher2/PreloadReceiver.java | 37 |
3 files changed, 51 insertions, 1 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c72d1063e..47278bb83 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -24,6 +24,10 @@ <original-package android:name="com.android.launcher2" /> <permission + android:name="com.android.launcher.permission.PRELOAD_WORKSPACE" + android:permissionGroup="android.permission-group.SYSTEM_TOOLS" + android:protectionLevel="system|signature" /> + <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="normal" @@ -103,6 +107,15 @@ </intent-filter> </activity> + <!-- Intent received used to prepopulate the default workspace. --> + <receiver + android:name="com.android.launcher2.PreloadReceiver" + android:permission="com.android.launcher.permission.PRELOAD_WORKSPACE"> + <intent-filter> + <action android:name="com.android.launcher.action.PRELOAD_WORKSPACE" /> + </intent-filter> + </receiver> + <!-- Intent received used to install shortcuts from other applications --> <receiver android:name="com.android.launcher2.InstallShortcutReceiver" diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher2/LauncherProvider.java index 67b558da4..0720259f4 100644 --- a/src/com/android/launcher2/LauncherProvider.java +++ b/src/com/android/launcher2/LauncherProvider.java @@ -203,7 +203,7 @@ public class LauncherProvider extends ContentProvider { return mOpenHelper.generateNewId(); } - public void loadDefaultFavoritesIfNecessary() { + synchronized public void loadDefaultFavoritesIfNecessary() { String spKey = LauncherApplication.getSharedPreferencesKey(); SharedPreferences sp = getContext().getSharedPreferences(spKey, Context.MODE_PRIVATE); if (sp.getBoolean(DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED, false)) { diff --git a/src/com/android/launcher2/PreloadReceiver.java b/src/com/android/launcher2/PreloadReceiver.java new file mode 100644 index 000000000..d1bc6393d --- /dev/null +++ b/src/com/android/launcher2/PreloadReceiver.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher2; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +public class PreloadReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + final LauncherApplication app = (LauncherApplication) context.getApplicationContext(); + final LauncherProvider provider = app.getLauncherProvider(); + if (provider != null) { + new Thread(new Runnable() { + public void run() { + provider.loadDefaultFavoritesIfNecessary(); + } + }).start(); + } + } +} |