} else {
badgeLocation.offset(bitmap.getWidth() - badgeSize - badgeMargin, top);
}
-
- UserManager userManager = (UserManager) mContext.getSystemService(
- Context.USER_SERVICE);
-
- Drawable drawable = userManager.getBadgedDrawableForUser(new BitmapDrawable(res, bitmap),
- info.getProfile(), badgeLocation, 0);
+ Drawable drawable = null;
+ // STOPSHIP(mokani): Remove catch block once dogfood build is bigger than LRW70.
+ // This hack is just to prevent crash in older builds.
+ try {
+ drawable = mPm.getUserBadgedDrawableForDensity(new BitmapDrawable(res, bitmap),
+ info.getProfile(), badgeLocation, 0);
+ } catch (Exception e) {
+ return bitmap;
+ }
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
mResumed = false;
mBound = false;
- mInstaller.addSessionCallback(mCallback);
+ mInstaller.registerSessionCallback(mCallback);
// On start, send updates for all active sessions
for (SessionInfo info : mInstaller.getAllSessions()) {
mPendingReplays.append(info.getSessionId(), info);
@Override
public void onStop() {
- mInstaller.removeSessionCallback(mCallback);
+ mInstaller.unregisterSessionCallback(mCallback);
}
@Override
}
@Override
- public void onOpened(int sessionId) { }
+ public void onActiveChanged(int sessionId, boolean active) { }
@Override
- public void onClosed(int sessionId) { }
-
+ public void onBadgingChanged(int sessionId) { }
};
}
package com.android.launcher3.compat;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.os.UserManager;
import java.util.List;
public class UserManagerCompatVL extends UserManagerCompatV17 {
+ private final PackageManager mPm;
UserManagerCompatVL(Context context) {
super(context);
+ mPm = context.getPackageManager();
}
@Override
@Override
public Drawable getBadgedDrawableForUser(Drawable unbadged, UserHandleCompat user) {
- return mUserManager.getBadgedIconForUser(unbadged, user.getUser());
+ // STOPSHIP(mokani): Remove catch block once dogfood build is bigger than LRW70.
+ // This hack is just to prevent crash in older builds.
+ try {
+ return mPm.getUserBadgedIcon(unbadged, user.getUser());
+ } catch (Exception e) {
+ return unbadged;
+ }
}
@Override
if (user == null) {
return label;
}
- return mUserManager.getBadgedLabelForUser(label, user.getUser());
+ // STOPSHIP(mokani): Remove catch block once dogfood build is bigger than LRW70.
+ // This hack is just to prevent crash in older builds.
+ try {
+ return mPm.getUserBadgedLabel(label, user.getUser());
+ } catch (Exception e) {
+ return label;
+ }
}
}