Change getBadgedLabelForUser to use CharSequence

Bug: 16401636
Change-Id: I7b72a6dd53fec1c0afe6ea33803af9e3c54e597e
diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java
index 7d8628d..221df58 100644
--- a/src/com/android/launcher3/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -64,8 +64,8 @@
 
     private static class CacheEntry {
         public Bitmap icon;
-        public String title;
-        public String contentDescription;
+        public CharSequence title;
+        public CharSequence contentDescription;
     }
 
     private static class CacheKey {
diff --git a/src/com/android/launcher3/ItemInfo.java b/src/com/android/launcher3/ItemInfo.java
index fe03017..c726fb4 100644
--- a/src/com/android/launcher3/ItemInfo.java
+++ b/src/com/android/launcher3/ItemInfo.java
@@ -110,7 +110,7 @@
     /**
      * Content description of the item.
      */
-    String contentDescription;
+    CharSequence contentDescription;
 
     /**
      * The position of the item in a drag-and-drop operation.
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index a5ca298..2d6ddee 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -4720,7 +4720,7 @@
     public ItemInfo createShortcutDragInfo(Intent shortcutIntent, CharSequence caption,
             Bitmap icon, UserHandleCompat user) {
         UserManagerCompat userManager = UserManagerCompat.getInstance(this);
-        String contentDescription = userManager.getBadgedLabelForUser(caption.toString(), user);
+        CharSequence contentDescription = userManager.getBadgedLabelForUser(caption, user);
         return new ShortcutInfo(shortcutIntent, caption, contentDescription, icon, user);
     }
 
diff --git a/src/com/android/launcher3/ShortcutInfo.java b/src/com/android/launcher3/ShortcutInfo.java
index 266e9e0..2d37ea2 100644
--- a/src/com/android/launcher3/ShortcutInfo.java
+++ b/src/com/android/launcher3/ShortcutInfo.java
@@ -126,7 +126,7 @@
         }
     }
 
-    ShortcutInfo(Intent intent, CharSequence title, String contentDescription,
+    ShortcutInfo(Intent intent, CharSequence title, CharSequence contentDescription,
             Bitmap icon, UserHandleCompat user) {
         this();
         this.intent = intent;
diff --git a/src/com/android/launcher3/compat/UserManagerCompat.java b/src/com/android/launcher3/compat/UserManagerCompat.java
index c10a743..8effb81 100644
--- a/src/com/android/launcher3/compat/UserManagerCompat.java
+++ b/src/com/android/launcher3/compat/UserManagerCompat.java
@@ -41,5 +41,5 @@
     public abstract long getSerialNumberForUser(UserHandleCompat user);
     public abstract UserHandleCompat getUserForSerialNumber(long serialNumber);
     public abstract Drawable getBadgedDrawableForUser(Drawable unbadged, UserHandleCompat user);
-    public abstract String getBadgedLabelForUser(String label, UserHandleCompat user);
+    public abstract CharSequence getBadgedLabelForUser(CharSequence label, UserHandleCompat user);
 }
diff --git a/src/com/android/launcher3/compat/UserManagerCompatV16.java b/src/com/android/launcher3/compat/UserManagerCompatV16.java
index 03dd097..32f972e 100644
--- a/src/com/android/launcher3/compat/UserManagerCompatV16.java
+++ b/src/com/android/launcher3/compat/UserManagerCompatV16.java
@@ -45,7 +45,7 @@
         return 0;
     }
 
-    public String getBadgedLabelForUser(String label, UserHandleCompat user) {
+    public CharSequence getBadgedLabelForUser(CharSequence label, UserHandleCompat user) {
         return label;
     }
 }
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVL.java b/src/com/android/launcher3/compat/UserManagerCompatVL.java
index e071a8f..da7b116 100644
--- a/src/com/android/launcher3/compat/UserManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/UserManagerCompatVL.java
@@ -49,11 +49,12 @@
         return mUserManager.getBadgedDrawableForUser(unbadged, user.getUser());
     }
 
-    public String getBadgedLabelForUser(String label, UserHandleCompat user) {
+    public CharSequence getBadgedLabelForUser(CharSequence label, UserHandleCompat user) {
         if (user == null) {
             return label;
         }
-        return mUserManager.getBadgedLabelForUser(label, user.getUser());
+        // TODO Remove casts when API has made it from lmp-dev -> sdk
+        return (CharSequence) mUserManager.getBadgedLabelForUser((String) label, user.getUser());
     }
 }