Merge "Add shadow to adaptive icons to the shared sheet Test: manual Bug: 65015602" into oc-mr1-dev

am: cc4f60fe4b

Change-Id: Id657cc6bb5c5a63c408048c39908d24b2bc0cdb0
This commit is contained in:
Hyunyoung Song
2017-08-29 20:01:25 +00:00
committed by android-build-merger
2 changed files with 15 additions and 6 deletions

View File

@@ -21,7 +21,6 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.os.UserManager;
@@ -68,8 +67,7 @@ public class IconDrawableFactory {
return icon;
}
// Before badging, add shadow to adaptive icon if needed.
icon = mLauncherIcons.wrapIconDrawableWithShadow(icon);
icon = getShadowedIcon(icon);
if (appInfo.isInstantApp()) {
int badgeColor = Resources.getSystem().getColor(
com.android.internal.R.color.instant_app_badge, null);
@@ -85,6 +83,13 @@ public class IconDrawableFactory {
return icon;
}
/**
* Add shadow to the icon if {@link AdaptiveIconDrawable}
*/
public Drawable getShadowedIcon(Drawable icon) {
return mLauncherIcons.wrapIconDrawableWithShadow(icon);
}
// Should have enough colors to cope with UserManagerService.getMaxManagedProfiles()
@VisibleForTesting
public static final int[] CORP_BADGE_COLORS = new int[] {

View File

@@ -50,6 +50,7 @@ import android.os.UserManager;
import android.provider.MediaStore;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.IconDrawableFactory;
import android.util.Log;
import android.util.Slog;
import android.view.LayoutInflater;
@@ -120,6 +121,8 @@ public class ResolverActivity extends Activity {
/** See {@link #setRetainInOnStop}. */
private boolean mRetainInOnStop;
IconDrawableFactory mIconFactory;
private final PackageMonitor mPackageMonitor = new PackageMonitor() {
@Override public void onSomePackagesChanged() {
mAdapter.handlePackagesChanged();
@@ -330,6 +333,7 @@ public class ResolverActivity extends Activity {
: MetricsProto.MetricsEvent.ACTION_SHOW_APP_DISAMBIG_NONE_FEATURED,
intent.getAction() + ":" + intent.getType() + ":"
+ (categories != null ? Arrays.toString(categories.toArray()) : ""));
mIconFactory = IconDrawableFactory.newInstance(this, true);
}
/**
@@ -468,20 +472,20 @@ public class ResolverActivity extends Activity {
if (ri.resolvePackageName != null && ri.icon != 0) {
dr = getIcon(mPm.getResourcesForApplication(ri.resolvePackageName), ri.icon);
if (dr != null) {
return dr;
return mIconFactory.getShadowedIcon(dr);
}
}
final int iconRes = ri.getIconResource();
if (iconRes != 0) {
dr = getIcon(mPm.getResourcesForApplication(ri.activityInfo.packageName), iconRes);
if (dr != null) {
return dr;
return mIconFactory.getShadowedIcon(dr);
}
}
} catch (NameNotFoundException e) {
Log.e(TAG, "Couldn't find resources for package", e);
}
return ri.loadIcon(mPm);
return mIconFactory.getBadgedIcon(ri.activityInfo.applicationInfo);
}
@Override