Settings app: Include package icons in list of virtual keyboards

Bug: 25752812
Change-Id: I2070de953c92cce90dbf178c9ffdbe300d4c2646
This commit is contained in:
Abodunrinwa Toki
2016-01-23 16:37:37 +00:00
parent a16852480f
commit 567ebd68e1
4 changed files with 53 additions and 3 deletions

View File

@@ -20,6 +20,9 @@ import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.preference.PreferenceScreen;
import android.view.inputmethod.InputMethodInfo;
@@ -38,6 +41,8 @@ import java.util.List;
public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFragment
implements InputMethodPreference.OnSavePreferenceListener {
private static final Drawable NO_ICON = new ColorDrawable(Color.TRANSPARENT);
private final ArrayList<InputMethodPreference> mInputMethodPreferenceList = new ArrayList<>();
private InputMethodSettingValuesWrapper mInputMethodSettingValues;
private InputMethodManager mImm;
@@ -93,8 +98,15 @@ public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFr
final InputMethodInfo imi = imis.get(i);
final boolean isAllowedByOrganization = permittedList == null
|| permittedList.contains(imi.getPackageName());
Drawable icon;
try {
icon = getActivity().getPackageManager().getApplicationIcon(imi.getPackageName());
} catch (Exception e) {
icon = NO_ICON;
}
final InputMethodPreference pref = new InputMethodPreference(
context, imi, true, isAllowedByOrganization, this);
pref.setIcon(icon);
mInputMethodPreferenceList.add(pref);
}
final Collator collator = Collator.getInstance();