String changes
- channel summaries - Notification listener name - notifications app page title Change-Id: I0745c06aad44bfa7636ee2b10be9387313093fe3 Fixes: 36529184 Fixes: 38178073 Test: manual
This commit is contained in:
@@ -34,6 +34,7 @@ import android.support.v14.preference.SwitchPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
@@ -46,10 +47,11 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ManagedServiceSettings extends EmptyTextSettings {
|
||||
private static final String TAG = "ManagedServiceSettings";
|
||||
private final Config mConfig;
|
||||
|
||||
protected Context mContext;
|
||||
private PackageManager mPM;
|
||||
private PackageManager mPm;
|
||||
private DevicePolicyManager mDpm;
|
||||
protected ServiceListing mServiceListing;
|
||||
|
||||
@@ -64,7 +66,7 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
|
||||
super.onCreate(icicle);
|
||||
|
||||
mContext = getActivity();
|
||||
mPM = mContext.getPackageManager();
|
||||
mPm = mContext.getPackageManager();
|
||||
mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||
mServiceListing = new ServiceListing(mContext, mConfig);
|
||||
mServiceListing.addCallback(new ServiceListing.Callback() {
|
||||
@@ -101,14 +103,27 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
|
||||
|
||||
final PreferenceScreen screen = getPreferenceScreen();
|
||||
screen.removeAll();
|
||||
Collections.sort(services, new PackageItemInfo.DisplayNameComparator(mPM));
|
||||
Collections.sort(services, new PackageItemInfo.DisplayNameComparator(mPm));
|
||||
for (ServiceInfo service : services) {
|
||||
final ComponentName cn = new ComponentName(service.packageName, service.name);
|
||||
final String title = service.loadLabel(mPM).toString();
|
||||
CharSequence title = null;
|
||||
try {
|
||||
title = mPm.getApplicationInfoAsUser(
|
||||
service.packageName, 0, getCurrentUser(managedProfileId)).loadLabel(mPm);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
// unlikely, as we are iterating over live services.
|
||||
Log.e(TAG, "can't find package name", e);
|
||||
}
|
||||
final String summary = service.loadLabel(mPm).toString();
|
||||
final SwitchPreference pref = new SwitchPreference(getPrefContext());
|
||||
pref.setPersistent(false);
|
||||
pref.setIcon(service.loadIcon(mPM));
|
||||
pref.setTitle(title);
|
||||
pref.setIcon(service.loadIcon(mPm));
|
||||
if (title != null && !title.equals(summary)) {
|
||||
pref.setTitle(title);
|
||||
pref.setSummary(summary);
|
||||
} else {
|
||||
pref.setTitle(summary);
|
||||
}
|
||||
pref.setChecked(mServiceListing.isEnabled(cn));
|
||||
if (managedProfileId != UserHandle.USER_NULL
|
||||
&& !mDpm.isNotificationListenerServicePermitted(
|
||||
@@ -119,13 +134,20 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
final boolean enable = (boolean) newValue;
|
||||
return setEnabled(cn, title, enable);
|
||||
return setEnabled(cn, summary, enable);
|
||||
}
|
||||
});
|
||||
screen.addPreference(pref);
|
||||
}
|
||||
}
|
||||
|
||||
private int getCurrentUser(int managedProfileId) {
|
||||
if (managedProfileId != UserHandle.USER_NULL) {
|
||||
return managedProfileId;
|
||||
}
|
||||
return UserHandle.myUserId();
|
||||
}
|
||||
|
||||
protected boolean setEnabled(ComponentName service, String title, boolean enable) {
|
||||
if (!enable) {
|
||||
// the simple version: disabling
|
||||
|
Reference in New Issue
Block a user