Add shadow to AdaptiveIconDrawables using View level shadow

Test: $ make RunSettingsRoboTests -j40
RunSettingsRoboTests: ......
RunSettingsRoboTests: Time: 151.394
RunSettingsRoboTests:
RunSettingsRoboTests: OK (1355 tests)
RunSettingsRoboTests:

Bug: 36088922

Change-Id: I5b5651d2305ab65e1358609a4110e248dee9eab2
This commit is contained in:
Hyunyoung Song
2017-04-06 11:04:53 -07:00
parent b1c336de5f
commit ebc17237c3
5 changed files with 74 additions and 4 deletions

View File

@@ -23,6 +23,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.AdaptiveIconDrawable;
import android.icu.text.AlphabeticIndex;
import android.os.Bundle;
import android.os.Environment;
@@ -34,6 +35,7 @@ import android.preference.PreferenceFrameLayout;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.LauncherIcons;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -90,7 +92,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -812,6 +813,8 @@ public class ManageApplications extends InstrumentedPreferenceFragment
private final AppStateBaseBridge mExtraInfoBridge;
private final Handler mBgHandler;
private final Handler mFgHandler;
private final LauncherIcons mLauncherIcons;
private int mFilterMode;
private ArrayList<ApplicationsState.AppEntry> mBaseEntries;
private ArrayList<ApplicationsState.AppEntry> mEntries;
@@ -866,6 +869,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
mContext = manageApplications.getActivity();
mPm = mContext.getPackageManager();
mFilterMode = filterMode;
mLauncherIcons = new LauncherIcons(mContext);
if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) {
mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this,
manageApplications.mNotifBackend);
@@ -1300,6 +1304,9 @@ public class ManageApplications extends InstrumentedPreferenceFragment
}
mState.ensureIcon(entry);
if (entry.icon != null) {
if (entry.icon instanceof AdaptiveIconDrawable) {
entry.icon = mLauncherIcons.wrapIconDrawableWithShadow(entry.icon);
}
holder.appIcon.setImageDrawable(entry.icon);
}
updateSummary(holder);