summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Launcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r--src/com/android/launcher3/Launcher.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index b135fefd9..739693361 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3068,6 +3068,10 @@ public class Launcher extends Activity
final Intent intent;
if (tag instanceof ShortcutInfo) {
shortcut = (ShortcutInfo) tag;
+ if (shortcut.isDisabled == 1) {
+ Toast.makeText(this, R.string.app_not_available, Toast.LENGTH_SHORT).show();
+ return;
+ }
intent = shortcut.intent;
int[] pos = new int[2];
v.getLocationOnScreen(pos);
@@ -4784,12 +4788,53 @@ public class Launcher extends Activity
}
}
+ /**
+ * A package has become unavailable.
+ *
+ * Implementation of the method from LauncherModel.Callbacks.
+ */
+ public void bindComponentsUnavailable(final ArrayList<String> packageNames,
+ final ArrayList<AppInfo> appInfos) {
+ if (!packageNames.isEmpty()) {
+ mWorkspace.updateUnavailableItemsByPackageName(packageNames);
+ }
+ HashSet<ComponentName> cns = new HashSet<>();
+ for (AppInfo appInfo : appInfos) {
+ cns.add(appInfo.componentName);
+ }
+ // Notify the drag controller
+ mDragController.onAppsRemoved(packageNames, cns);
+ mAppsView.removeApps(appInfos);
+ }
+
+ /**
+ * A package has become unavailable.
+ *
+ * Implementation of the method from LauncherModel.Callbacks.
+ */
+ public void bindComponentsAvailable(final ArrayList<ItemInfo> itemInfos) {
+ if (!itemInfos.isEmpty()) {
+ mWorkspace.updateAvailableItems(itemInfos);
+ }
+ }
+
+ /**
+ * A number of packages were updated.
+ */
+ private ArrayList<Object> mWidgetsAndShortcuts;
private Runnable mBindPackagesUpdatedRunnable = new Runnable() {
public void run() {
bindAllPackages(mWidgetsModel);
}
};
+ public void bindPackagesUpdated(final ArrayList<Object> widgetsAndShortcuts) {
+ if (waitUntilResume(mBindPackagesUpdatedRunnable, true)) {
+ mWidgetsAndShortcuts = widgetsAndShortcuts;
+ return;
+ }
+ }
+
@Override
public void bindAllPackages(final WidgetsModel model) {
if (waitUntilResume(mBindPackagesUpdatedRunnable, true)) {