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
|
@Override
|
||||||
public boolean onPreferenceTreeClick(Preference preference) {
|
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();
|
stopNetworkQuery();
|
||||||
|
|
||||||
// Refresh the last selected item in case users reselect network.
|
// Refresh the last selected item in case users reselect network.
|
||||||
@@ -266,7 +274,6 @@ public class NetworkSelectSettings extends DashboardFragment {
|
|||||||
operator, true /* persistSelection */);
|
operator, true /* persistSelection */);
|
||||||
msg.sendToTarget();
|
msg.sendToTarget();
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -563,8 +570,7 @@ public class NetworkSelectSettings extends DashboardFragment {
|
|||||||
int idxPreference = mPreferenceCategory.getPreferenceCount();
|
int idxPreference = mPreferenceCategory.getPreferenceCount();
|
||||||
while (idxPreference > 0) {
|
while (idxPreference > 0) {
|
||||||
idxPreference--;
|
idxPreference--;
|
||||||
final NetworkOperatorPreference networkOperator = (NetworkOperatorPreference)
|
final Preference networkOperator = mPreferenceCategory.getPreference(idxPreference);
|
||||||
(mPreferenceCategory.getPreference(idxPreference));
|
|
||||||
networkOperator.setSummary(null);
|
networkOperator.setSummary(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -25,7 +25,6 @@ import android.content.Context;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.provider.Settings;
|
|
||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
import android.telephony.CellIdentity;
|
import android.telephony.CellIdentity;
|
||||||
import android.telephony.CellIdentityGsm;
|
import android.telephony.CellIdentityGsm;
|
||||||
@@ -37,6 +36,7 @@ import android.telephony.CellSignalStrengthGsm;
|
|||||||
import android.telephony.CellSignalStrengthLte;
|
import android.telephony.CellSignalStrengthLte;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
@@ -310,4 +310,13 @@ public class NetworkSelectSettingsTest {
|
|||||||
cellInfoGsm.setCellSignalStrength(cssg);
|
cellInfoGsm.setCellSignalStrength(cssg);
|
||||||
return cellInfoGsm;
|
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