Merge "Adding key to individual entries in ManagedServiceSettings so that it can be linked using an intent. Also updating the icon loading logic so that it handles AdaptiveIcons properly." into oc-dr1-dev

am: 8db0691129

Change-Id: If1c570e8f469ba2af39d34d016b53daa49de499b
This commit is contained in:
Sunny Goyal
2017-07-08 23:05:38 +00:00
committed by android-build-merger

View File

@@ -34,6 +34,7 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.util.IconDrawableFactory;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
@@ -54,6 +55,7 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
private PackageManager mPm; private PackageManager mPm;
private DevicePolicyManager mDpm; private DevicePolicyManager mDpm;
protected ServiceListing mServiceListing; protected ServiceListing mServiceListing;
private IconDrawableFactory mIconDrawableFactory;
abstract protected Config getConfig(); abstract protected Config getConfig();
@@ -68,6 +70,7 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
mContext = getActivity(); mContext = getActivity();
mPm = mContext.getPackageManager(); mPm = mContext.getPackageManager();
mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE); mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
mServiceListing = new ServiceListing(mContext, mConfig); mServiceListing = new ServiceListing(mContext, mConfig);
mServiceListing.addCallback(new ServiceListing.Callback() { mServiceListing.addCallback(new ServiceListing.Callback() {
@Override @Override
@@ -117,13 +120,15 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
final String summary = service.loadLabel(mPm).toString(); final String summary = service.loadLabel(mPm).toString();
final SwitchPreference pref = new SwitchPreference(getPrefContext()); final SwitchPreference pref = new SwitchPreference(getPrefContext());
pref.setPersistent(false); pref.setPersistent(false);
pref.setIcon(service.loadIcon(mPm)); pref.setIcon(mIconDrawableFactory.getBadgedIcon(service, service.applicationInfo,
UserHandle.getUserId(service.applicationInfo.uid)));
if (title != null && !title.equals(summary)) { if (title != null && !title.equals(summary)) {
pref.setTitle(title); pref.setTitle(title);
pref.setSummary(summary); pref.setSummary(summary);
} else { } else {
pref.setTitle(summary); pref.setTitle(summary);
} }
pref.setKey(cn.flattenToString());
pref.setChecked(mServiceListing.isEnabled(cn)); pref.setChecked(mServiceListing.isEnabled(cn));
if (managedProfileId != UserHandle.USER_NULL if (managedProfileId != UserHandle.USER_NULL
&& !mDpm.isNotificationListenerServicePermitted( && !mDpm.isNotificationListenerServicePermitted(