diff options
author | huiwan <huiwan@codeaurora.org> | 2014-11-10 10:35:03 -0800 |
---|---|---|
committer | Rajesh Yengisetty <rajesh@cyngn.com> | 2014-11-21 00:13:25 +0000 |
commit | 9b398417ff00bb67a43579c748fd335effad1c5b (patch) | |
tree | aa112a7fc0d0128df46e63795c4717f9263e2cf4 /src/com/android/launcher3/AllAppsList.java | |
parent | 783be63c0a6d9b47f900c5d711a6a1663f1ca112 (diff) | |
download | android_packages_apps_Trebuchet-9b398417ff00bb67a43579c748fd335effad1c5b.tar.gz android_packages_apps_Trebuchet-9b398417ff00bb67a43579c748fd335effad1c5b.tar.bz2 android_packages_apps_Trebuchet-9b398417ff00bb67a43579c748fd335effad1c5b.zip |
Launcher: show unread notify info number at APP icon on Launcher
Show APP's unread info number at Launcher:
- Register a receiver to receive the UNREAD_CHANGED event to update the APP icon
- When the unread number changed, recreate the icon bitmap of icon cache
Change-Id: I7dd0fb2c29959f1584682965fb1476e3f3c77739
Diffstat (limited to 'src/com/android/launcher3/AllAppsList.java')
-rw-r--r-- | src/com/android/launcher3/AllAppsList.java | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/src/com/android/launcher3/AllAppsList.java b/src/com/android/launcher3/AllAppsList.java index 38d2fa541..f9900e604 100644 --- a/src/com/android/launcher3/AllAppsList.java +++ b/src/com/android/launcher3/AllAppsList.java @@ -18,11 +18,6 @@ package com.android.launcher3; import android.content.ComponentName; import android.content.Context; -import android.content.Intent; -import android.content.pm.ActivityInfo; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; - import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.UserHandleCompat; @@ -231,4 +226,36 @@ class AllAppsList { } return null; } + + public AppInfo unreadNumbersChanged(Context context, ComponentName component, + int unreadNum) { + + if (component == null) { return null; } + + LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context); + UserHandleCompat myUserHandle = UserHandleCompat.myUserHandle(); + List<LauncherActivityInfoCompat> matches = + launcherApps.getActivityList(component.getPackageName(), myUserHandle); + + for (LauncherActivityInfoCompat launcherActivityInfoCompat : matches) { + if (component.getPackageName().equals( + launcherActivityInfoCompat.getComponentName().getPackageName())) { + + AppInfo appInfo = findApplicationInfoLocked( + component.getPackageName(), myUserHandle, + component.getClassName()); + + if (appInfo == null) { + return null; + } else { + appInfo.unreadNum = unreadNum; + mIconCache.remove(appInfo.componentName, myUserHandle); + mIconCache.getTitleAndIcon(appInfo, launcherActivityInfoCompat, null); + return appInfo; + } + } + } + + return null; + } } |