diff options
Diffstat (limited to 'src/com/android/settings/RadioInfo.java')
-rw-r--r-- | src/com/android/settings/RadioInfo.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java index aa3f2e9..2055af0 100644 --- a/src/com/android/settings/RadioInfo.java +++ b/src/com/android/settings/RadioInfo.java @@ -193,9 +193,14 @@ public class RadioInfo extends Activity { ar= (AsyncResult) msg.obj; if (ar.exception == null) { int type = ((int[])ar.result)[0]; + if (type >= mPreferredNetworkLabels.length) { + Log.e(TAG, "[RadioInfo] EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " + + "type=" + type); + type = mPreferredNetworkLabels.length - 1; + } preferredNetworkType.setSelection(type, true); } else { - preferredNetworkType.setSelection(8, true); + preferredNetworkType.setSelection(mPreferredNetworkLabels.length - 1, true); } break; case EVENT_SET_PREFERRED_TYPE_DONE: @@ -1009,7 +1014,7 @@ public class RadioInfo extends Activity { mPreferredNetworkHandler = new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView parent, View v, int pos, long id) { Message msg = mHandler.obtainMessage(EVENT_SET_PREFERRED_TYPE_DONE); - if (pos>=0 && pos<=7) { //IS THIS NEEDED to extend to the entire range of values + if (pos>=0 && pos<=(mPreferredNetworkLabels.length - 2)) { phone.setPreferredNetworkType(pos, msg); } } @@ -1027,5 +1032,9 @@ public class RadioInfo extends Activity { "CDMA only", "EvDo only", "GSM/CDMA auto (PRL)", + "LTE/CDMA auto (PRL)", + "LTE/GSM auto (PRL)", + "LTE/GSM/CDMA auto (PRL)", + "LTE only", "Unknown"}; } |