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

This commit is contained in:
TreeHugger Robot
2017-07-08 23:01:36 +00:00
committed by Android (Google) Code Review

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(