Convert more loadIcon() to IconDrawableFactory

- AppGridView: used by preview chart in display size setting.
- DefaultBrowserPreferenceController: default browser icon in default
  apps settings
- Enterprise application list
- Accessibility search result loader

Change-Id: Ibd12cd8854c68760ea3428fffa735bcbba48a277
Fixes: 64336923
Test: robotests
This commit is contained in:
Fan Zhang
2017-10-17 17:04:04 -07:00
parent 5317e70be1
commit abdeead114
5 changed files with 129 additions and 10 deletions

View File

@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.util.IconDrawableFactory;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
@@ -63,13 +64,14 @@ public class ApplicationListPreferenceController extends AbstractPreferenceContr
if (screen == null) {
return;
}
final IconDrawableFactory iconDrawableFactory = IconDrawableFactory.newInstance(mContext);
final Context prefContext = mParent.getPreferenceManager().getContext();
for (int position = 0; position < result.size(); position++) {
final UserAppInfo item = result.get(position);
final Preference preference = new Preference(prefContext);
preference.setLayoutResource(R.layout.preference_app);
preference.setTitle(item.appInfo.loadLabel(mPm));
preference.setIcon(item.appInfo.loadIcon(mPm));
preference.setIcon(iconDrawableFactory.getBadgedIcon(item.appInfo));
preference.setOrder(position);
preference.setSelectable(false);
screen.addPreference(preference);