Merge "Fix ClassCastException at NetworkSelectSettings" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
32c75f49a7
@@ -236,7 +236,15 @@ public class NetworkSelectSettings extends DashboardFragment {
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(Preference preference) {
|
||||
if (preference != mSelectedPreference) {
|
||||
if (preference == mSelectedPreference) {
|
||||
Log.d(TAG, "onPreferenceTreeClick: preference is mSelectedPreference. Do nothing.");
|
||||
return true;
|
||||
}
|
||||
if (!(preference instanceof NetworkOperatorPreference)) {
|
||||
Log.d(TAG, "onPreferenceTreeClick: preference is not the NetworkOperatorPreference.");
|
||||
return false;
|
||||
}
|
||||
|
||||
stopNetworkQuery();
|
||||
|
||||
// Refresh the last selected item in case users reselect network.
|
||||
@@ -266,7 +274,6 @@ public class NetworkSelectSettings extends DashboardFragment {
|
||||
operator, true /* persistSelection */);
|
||||
msg.sendToTarget();
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -563,8 +570,7 @@ public class NetworkSelectSettings extends DashboardFragment {
|
||||
int idxPreference = mPreferenceCategory.getPreferenceCount();
|
||||
while (idxPreference > 0) {
|
||||
idxPreference--;
|
||||
final NetworkOperatorPreference networkOperator = (NetworkOperatorPreference)
|
||||
(mPreferenceCategory.getPreference(idxPreference));
|
||||
final Preference networkOperator = mPreferenceCategory.getPreference(idxPreference);
|
||||
networkOperator.setSummary(null);
|
||||
}
|
||||
}
|
||||
|
@@ -25,7 +25,6 @@ import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.CellIdentity;
|
||||
import android.telephony.CellIdentityGsm;
|
||||
@@ -37,6 +36,7 @@ import android.telephony.CellSignalStrengthGsm;
|
||||
import android.telephony.CellSignalStrengthLte;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -310,4 +310,13 @@ public class NetworkSelectSettingsTest {
|
||||
cellInfoGsm.setCellSignalStrength(cssg);
|
||||
return cellInfoGsm;
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void onPreferenceTreeClick_notNetworkOperatorPreference_noCrash() {
|
||||
mNetworkSelectSettings.onCreateInitialization();
|
||||
mNetworkSelectSettings.enablePreferenceScreen(true);
|
||||
|
||||
mNetworkSelectSettings.onPreferenceTreeClick(new Preference(mContext));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user