summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/compat/LauncherAppsCompat.java
diff options
context:
space:
mode:
authorKenny Guy <kennyguy@google.com>2014-06-30 12:30:31 +0100
committerKenny Guy <kennyguy@google.com>2014-06-30 12:30:31 +0100
commitc2bd8101b8e26b9ebb2c079ae6867229dad3f196 (patch)
treea959a1cb19ea9b5b1f2b606a0b4a70cff9f8ed8f /src/com/android/launcher3/compat/LauncherAppsCompat.java
parent40c5ed303909c4df71037be3429aa1423e59585f (diff)
downloadandroid_packages_apps_Trebuchet-c2bd8101b8e26b9ebb2c079ae6867229dad3f196.tar.gz
android_packages_apps_Trebuchet-c2bd8101b8e26b9ebb2c079ae6867229dad3f196.tar.bz2
android_packages_apps_Trebuchet-c2bd8101b8e26b9ebb2c079ae6867229dad3f196.zip
Revert "Revert Cls stopping now-master running on googlefood"
This reverts commit 7bc272a11b701a32d2ed91277341c382cbd84aeb. Conflicts: src/com/android/launcher3/BubbleTextView.java Change-Id: Id1fb2e1249e72658ce5477165c9bcacba9de2b04
Diffstat (limited to 'src/com/android/launcher3/compat/LauncherAppsCompat.java')
-rw-r--r--src/com/android/launcher3/compat/LauncherAppsCompat.java40
1 files changed, 21 insertions, 19 deletions
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<LauncherActivityInfoCompat> 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);