Null check for ManagedServiceSetting dialog title

Test: manual
Change-Id: If3753b01431ab9690cdbae5a0d7f0edf9c80fcec
Fixes: 114803288
This commit is contained in:
Beverly
2018-09-11 10:06:13 -04:00
parent 603d31f3dc
commit 6543b077cb

View File

@@ -32,11 +32,6 @@ import android.util.IconDrawableFactory;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
@@ -47,6 +42,11 @@ import com.android.settingslib.applications.ServiceListing;
import java.util.List; import java.util.List;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
public abstract class ManagedServiceSettings extends EmptyTextSettings { public abstract class ManagedServiceSettings extends EmptyTextSettings {
private static final String TAG = "ManagedServiceSettings"; private static final String TAG = "ManagedServiceSettings";
private final Config mConfig; private final Config mConfig;
@@ -122,7 +122,7 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
// unlikely, as we are iterating over live services. // unlikely, as we are iterating over live services.
Log.e(TAG, "can't find package name", e); Log.e(TAG, "can't find package name", e);
} }
final String finalTitle = title.toString(); final CharSequence finalTitle = title;
final String summary = service.loadLabel(mPm).toString(); final String summary = service.loadLabel(mPm).toString();
final SwitchPreference pref = new AppSwitchPreference(getPrefContext()); final SwitchPreference pref = new AppSwitchPreference(getPrefContext());
pref.setPersistent(false); pref.setPersistent(false);
@@ -143,7 +143,11 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings {
} }
pref.setOnPreferenceChangeListener((preference, newValue) -> { pref.setOnPreferenceChangeListener((preference, newValue) -> {
final boolean enable = (boolean) newValue; final boolean enable = (boolean) newValue;
return setEnabled(cn, finalTitle, enable); if (finalTitle != null) {
return setEnabled(cn, finalTitle.toString(), enable);
} else {
return setEnabled(cn, null, enable);
}
}); });
pref.setKey(cn.flattenToString()); pref.setKey(cn.flattenToString());
screen.addPreference(pref); screen.addPreference(pref);