Fix sim pin settings
Change-Id: I8fba2a367958da5831efd04f599ba7a363d11a1f
Fixes: 27419276
Fixes: 27529989
diff --git a/src/com/android/settings/EditPinPreference.java b/src/com/android/settings/EditPinPreference.java
index e53a2bf..fdad0a1 100644
--- a/src/com/android/settings/EditPinPreference.java
+++ b/src/com/android/settings/EditPinPreference.java
@@ -50,7 +50,7 @@
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
- final EditText editText = getEditText();
+ final EditText editText = (EditText) view.findViewById(android.R.id.edit);
if (editText != null) {
editText.setInputType(InputType.TYPE_CLASS_NUMBER |
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index 1a9784b..25d4fb1 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -27,7 +27,6 @@
import android.os.Message;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -40,7 +39,6 @@
import android.widget.TabHost.TabSpec;
import android.widget.TabWidget;
import android.widget.Toast;
-
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
@@ -340,6 +338,7 @@
mPinDialog.setDialogMessage(message);
}
+ @Override
public void onPinEntered(EditPinPreference preference, boolean positiveResult) {
if (!positiveResult) {
resetDialogState();
@@ -384,7 +383,8 @@
}
}
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
if (preference == mPinToggle) {
// Get the new, preferred state
mToState = mPinToggle.isChecked();
diff --git a/src/com/android/settings/InstrumentedFragment.java b/src/com/android/settings/InstrumentedFragment.java
index b4fb818..0e3528a 100644
--- a/src/com/android/settings/InstrumentedFragment.java
+++ b/src/com/android/settings/InstrumentedFragment.java
@@ -28,6 +28,9 @@
// Declare new temporary categories here, starting after this value.
public static final int UNDECLARED = 100000;
+ // Used by PreferenceActivity for the dummy fragment it adds, no useful data here.
+ public static final int PREFERENCE_ACTIVITY_FRAGMENT = UNDECLARED + 1;
+
/**
* Declare the view of this category.
*
diff --git a/src/com/android/settings/PreferenceActivity.java b/src/com/android/settings/PreferenceActivity.java
index dc3689c..31b5f1f 100644
--- a/src/com/android/settings/PreferenceActivity.java
+++ b/src/com/android/settings/PreferenceActivity.java
@@ -17,7 +17,6 @@
import android.annotation.Nullable;
import android.os.Bundle;
-import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
@@ -57,7 +56,7 @@
|| PreferenceActivityFragment.class.getName().equals(fragmentName);
}
- public static class PreferenceActivityFragment extends PreferenceFragment {
+ public static class PreferenceActivityFragment extends SettingsPreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
((PreferenceActivity) getActivity()).mFragment = this;
@@ -70,6 +69,14 @@
}
return super.onPreferenceTreeClick(preference);
}
+
+ @Override
+ protected int getMetricsCategory() {
+ if (getActivity() instanceof InstrumentedPreferenceActivity) {
+ return ((InstrumentedPreferenceActivity) getActivity()).getMetricsCategory();
+ }
+ return InstrumentedFragment.PREFERENCE_ACTIVITY_FRAGMENT;
+ }
}
}