From c2bd8101b8e26b9ebb2c079ae6867229dad3f196 Mon Sep 17 00:00:00 2001 From: Kenny Guy Date: Mon, 30 Jun 2014 12:30:31 +0100 Subject: Revert "Revert Cls stopping now-master running on googlefood" This reverts commit 7bc272a11b701a32d2ed91277341c382cbd84aeb. Conflicts: src/com/android/launcher3/BubbleTextView.java Change-Id: Id1fb2e1249e72658ce5477165c9bcacba9de2b04 --- .../launcher3/compat/LauncherAppsCompat.java | 40 ++++++++++++---------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'src/com/android/launcher3/compat/LauncherAppsCompat.java') diff --git a/src/com/android/launcher3/compat/LauncherAppsCompat.java b/src/com/android/launcher3/compat/LauncherAppsCompat.java index 069e3dea7..8d978d4a3 100644 --- a/src/com/android/launcher3/compat/LauncherAppsCompat.java +++ b/src/com/android/launcher3/compat/LauncherAppsCompat.java @@ -39,40 +39,42 @@ public abstract class LauncherAppsCompat { public static final String ACTION_MANAGED_PROFILE_REMOVED = "android.intent.action.MANAGED_PROFILE_REMOVED"; - public interface OnAppsChangedListenerCompat { - void onPackageRemoved(UserHandleCompat user, String packageName); - void onPackageAdded(UserHandleCompat user, String packageName); - void onPackageChanged(UserHandleCompat user, String packageName); - void onPackagesAvailable(UserHandleCompat user, String[] packageNames, boolean replacing); - void onPackagesUnavailable(UserHandleCompat user, String[] packageNames, boolean replacing); + public interface OnAppsChangedCallbackCompat { + void onPackageRemoved(String packageName, UserHandleCompat user); + void onPackageAdded(String packageName, UserHandleCompat user); + void onPackageChanged(String packageName, UserHandleCompat user); + void onPackagesAvailable(String[] packageNames, UserHandleCompat user, boolean replacing); + void onPackagesUnavailable(String[] packageNames, UserHandleCompat user, boolean replacing); } protected LauncherAppsCompat() { } + private static LauncherAppsCompat sInstance; + private static Object sInstanceLock = new Object(); + public static LauncherAppsCompat getInstance(Context context) { - // TODO change this to use api version once L gets an API number. - if ("L".equals(Build.VERSION.CODENAME)) { - Object launcherApps = context.getSystemService("launcherapps"); - if (launcherApps != null) { - LauncherAppsCompatVL compat = LauncherAppsCompatVL.build(context, launcherApps); - if (compat != null) { - return compat; + synchronized (sInstanceLock) { + // TODO change this to use api version once L gets an API number. + if (sInstance == null) { + if ("L".equals(Build.VERSION.CODENAME)) { + sInstance = new LauncherAppsCompatVL(context); + } else { + sInstance = new LauncherAppsCompatV16(context); } } + return sInstance; } - // Pre L or lunacher apps service not running, or reflection failed to find something. - return new LauncherAppsCompatV16(context); } public abstract List getActivityList(String packageName, UserHandleCompat user); public abstract LauncherActivityInfoCompat resolveActivity(Intent intent, UserHandleCompat user); - public abstract void startActivityForProfile(ComponentName component, Rect sourceBounds, - Bundle opts, UserHandleCompat user); - public abstract void addOnAppsChangedListener(OnAppsChangedListenerCompat listener); - public abstract void removeOnAppsChangedListener(OnAppsChangedListenerCompat listener); + public abstract void startActivityForProfile(ComponentName component, UserHandleCompat user, + Rect sourceBounds, Bundle opts); + public abstract void addOnAppsChangedCallback(OnAppsChangedCallbackCompat listener); + public abstract void removeOnAppsChangedCallback(OnAppsChangedCallbackCompat listener); public abstract boolean isPackageEnabledForProfile(String packageName, UserHandleCompat user); public abstract boolean isActivityEnabledForProfile(ComponentName component, UserHandleCompat user); -- cgit v1.2.3