package com.smartisanos.sidebar.util; import android.content.Context; import android.content.pm.LauncherApps; import android.os.UserHandle; public class UserPackage { private static final LOG log = LOG.getInstance(UserPackage.class); // public static final int USER_DOPPELGANGER = UserHandle.USER_DOPPELGANGER; public static final int USER_OWNER = UserHandle.USER_OWNER; private static Context mContext; public static void registerCallback(Context context) { log.error("registerCallback"); mContext = context; LauncherApps service = getService(context); if (service != null) { service.registerCallback(mCallback); } } public static void unregisterCallback(Context context) { log.error("unregisterCallback"); LauncherApps service = getService(context); if (service != null) { mContext = null; service.unregisterCallback(mCallback); } } private static LauncherApps getService(Context context) { return ((LauncherApps) context.getSystemService(Context.LAUNCHER_APPS_SERVICE)); } private static final ServiceCallback mCallback = new ServiceCallback(); private static class ServiceCallback extends LauncherApps.Callback { public void onPackageRemoved(String packageName, UserHandle user) { int userId = user.getIdentifier(); log.error("onPackageRemoved ["+packageName+"], userId ["+userId+"]"); // if (userId == USER_DOPPELGANGER) { // if (packageName != null) { // ContactManager.getInstance(mContext).removeDoppelgangerShortcut(packageName); // } // } } public void onPackageAdded(String packageName, UserHandle user) { // int userId = user.getIdentifier(); // log.error("onPackageAdded ["+packageName+"], userId ["+userId+"]"); // if (userId == USER_DOPPELGANGER) { // } } public void onPackageChanged(String packageName, UserHandle user) { // int userId = user.getIdentifier(); // log.error("onPackageChanged ["+packageName+"], userId ["+userId+"]"); // if (userId == USER_DOPPELGANGER) { // } } public void onPackagesAvailable(String[] packageNames, UserHandle user, boolean replacing) { } public void onPackagesUnavailable(String[] packageNames, UserHandle user, boolean replacing) { } } }