Loading src/com/android/settings/network/telephony/NetworkOperatorPreference.java +3 −8 Original line number Diff line number Diff line Loading @@ -116,14 +116,9 @@ public class NetworkOperatorPreference extends Preference { private void updateIcon(int level) { if (level < 0 || level >= NUMBER_OF_LEVELS) return; Context context = getContext(); // Make the signal strength drawable int iconId = 0; if (DBG) Log.d(TAG, "updateIcon level: " + String.valueOf(level)); iconId = SignalDrawable.getState(level, NUMBER_OF_LEVELS, false /* cutOut */); SignalDrawable signalDrawable = new SignalDrawable(getContext()); signalDrawable.setLevel(iconId); signalDrawable.setDarkIntensity(0); signalDrawable.setLevel( SignalDrawable.getState(level, NUMBER_OF_LEVELS, false /* cutOut */)); // Make the network type drawable int iconType = getIconIdForCell(mCellInfo); Loading @@ -134,7 +129,7 @@ public class NetworkOperatorPreference extends Preference { .getResources().getDrawable(iconType, getContext().getTheme()); // Overlay the two drawables Drawable[] layers = {networkDrawable, signalDrawable}; final Drawable[] layers = {networkDrawable, signalDrawable}; final int iconSize = context.getResources().getDimensionPixelSize(R.dimen.signal_strength_icon_size); Loading src/com/android/settings/network/telephony/NetworkSelectSettings.java +29 −15 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.utils.ThreadUtils; import java.util.ArrayList; import java.util.Arrays; Loading @@ -60,6 +61,7 @@ public class NetworkSelectSettings extends DashboardFragment { private static final String TAG = "NetworkSelectSettings"; private static final int EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE = 1; private static final int EVENT_NETWORK_SCAN_RESULTS = 2; private static final int EVENT_NETWORK_SCAN_ERROR = 3; private static final int EVENT_NETWORK_SCAN_COMPLETED = 4; Loading Loading @@ -135,13 +137,10 @@ public class NetworkSelectSettings extends DashboardFragment { mForbiddenPlmns = Arrays.asList(mTelephonyManager.getForbiddenPlmns()); setProgressBarVisible(true); if (mUseNewApi) { mNetworkScanHelper.startNetworkScan( NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS); } else { mNetworkScanHelper.startNetworkScan( NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS); } mUseNewApi ? NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS : NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS); } @Override Loading @@ -154,7 +153,6 @@ public class NetworkSelectSettings extends DashboardFragment { public boolean onPreferenceTreeClick(Preference preference) { if (preference != mSelectedPreference) { stopNetworkQuery(); setProgressBarVisible(false); // Refresh the last selected item in case users reselect network. if (mSelectedPreference != null) { mSelectedPreference.setSummary(null); Loading @@ -162,6 +160,7 @@ public class NetworkSelectSettings extends DashboardFragment { mSelectedPreference = (NetworkOperatorPreference) preference; CellInfo cellInfo = mSelectedPreference.getCellInfo(); mSelectedPreference.setSummary(R.string.network_connecting); mMetricsFeatureProvider.action(getContext(), MetricsEvent.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK); Loading @@ -176,11 +175,17 @@ public class NetworkSelectSettings extends DashboardFragment { } } setProgressBarVisible(true); // Disable the screen until network is manually set getPreferenceScreen().setEnabled(false); final OperatorInfo operatorInfo = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo); final boolean isSuccess = mTelephonyManager.setNetworkSelectionModeManual( ThreadUtils.postOnBackgroundThread(() -> { Message msg = mHandler.obtainMessage(EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE); msg.obj = mTelephonyManager.setNetworkSelectionModeManual( operatorInfo, true /* persistSelection */); mSelectedPreference.setSummary( isSuccess ? R.string.network_connected : R.string.network_could_not_connect); msg.sendToTarget(); }); } return true; Loading @@ -205,6 +210,15 @@ public class NetworkSelectSettings extends DashboardFragment { @Override public void handleMessage(Message msg) { switch (msg.what) { case EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE: setProgressBarVisible(false); getPreferenceScreen().setEnabled(true); boolean isSucceed = (boolean) msg.obj; mSelectedPreference.setSummary(isSucceed ? R.string.network_connected : R.string.network_could_not_connect); break; case EVENT_NETWORK_SCAN_RESULTS: List<CellInfo> results = aggregateCellInfoList((List<CellInfo>) msg.obj); mCellInfoList = new ArrayList<>(results); Loading Loading @@ -268,7 +282,7 @@ public class NetworkSelectSettings extends DashboardFragment { for (int index = 0; index < mCellInfoList.size(); index++) { if (!mCellInfoList.get(index).isRegistered()) { NetworkOperatorPreference pref = new NetworkOperatorPreference( mCellInfoList.get(index), getContext(), mForbiddenPlmns, mShow4GForLTE); mCellInfoList.get(index), getPrefContext(), mForbiddenPlmns, mShow4GForLTE); pref.setKey(CellInfoUtil.getNetworkTitle(mCellInfoList.get(index))); pref.setOrder(index); mPreferenceCategory.addPreference(pref); Loading Loading @@ -304,7 +318,7 @@ public class NetworkSelectSettings extends DashboardFragment { CellInfo cellInfo = CellInfoUtil.wrapCellInfoWithCellIdentity(cellIdentity); if (cellInfo != null) { NetworkOperatorPreference pref = new NetworkOperatorPreference( cellInfo, getContext(), mForbiddenPlmns, mShow4GForLTE); cellInfo, getPrefContext(), mForbiddenPlmns, mShow4GForLTE); pref.setTitle(mTelephonyManager.getNetworkOperatorName()); pref.setSummary(R.string.network_connected); // Update the signal strength icon, since the default signalStrength value would be Loading Loading @@ -343,7 +357,7 @@ public class NetworkSelectSettings extends DashboardFragment { private void addConnectedNetworkOperatorPreference(CellInfo cellInfo) { mConnectedPreferenceCategory.removeAll(); final NetworkOperatorPreference pref = new NetworkOperatorPreference( cellInfo, getContext(), mForbiddenPlmns, mShow4GForLTE); cellInfo, getPrefContext(), mForbiddenPlmns, mShow4GForLTE); pref.setSummary(R.string.network_connected); mConnectedPreferenceCategory.addPreference(pref); mConnectedPreferenceCategory.setVisible(true); Loading tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,9 @@ public class NetworkSelectSettingsTest { mNetworkSelectSettings = spy(new NetworkSelectSettings()); doReturn(mContext).when(mNetworkSelectSettings).getContext(); doReturn(mPreferenceManager).when(mNetworkSelectSettings).getPreferenceManager(); doReturn(mContext).when(mPreferenceManager).getContext(); mNetworkSelectSettings.mTelephonyManager = mTelephonyManager; mNetworkSelectSettings.mConnectedPreferenceCategory = mConnectedPreferenceCategory; mNetworkSelectSettings.mPreferenceCategory = mPreferenceCategory; Loading Loading
src/com/android/settings/network/telephony/NetworkOperatorPreference.java +3 −8 Original line number Diff line number Diff line Loading @@ -116,14 +116,9 @@ public class NetworkOperatorPreference extends Preference { private void updateIcon(int level) { if (level < 0 || level >= NUMBER_OF_LEVELS) return; Context context = getContext(); // Make the signal strength drawable int iconId = 0; if (DBG) Log.d(TAG, "updateIcon level: " + String.valueOf(level)); iconId = SignalDrawable.getState(level, NUMBER_OF_LEVELS, false /* cutOut */); SignalDrawable signalDrawable = new SignalDrawable(getContext()); signalDrawable.setLevel(iconId); signalDrawable.setDarkIntensity(0); signalDrawable.setLevel( SignalDrawable.getState(level, NUMBER_OF_LEVELS, false /* cutOut */)); // Make the network type drawable int iconType = getIconIdForCell(mCellInfo); Loading @@ -134,7 +129,7 @@ public class NetworkOperatorPreference extends Preference { .getResources().getDrawable(iconType, getContext().getTheme()); // Overlay the two drawables Drawable[] layers = {networkDrawable, signalDrawable}; final Drawable[] layers = {networkDrawable, signalDrawable}; final int iconSize = context.getResources().getDimensionPixelSize(R.dimen.signal_strength_icon_size); Loading
src/com/android/settings/network/telephony/NetworkSelectSettings.java +29 −15 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.utils.ThreadUtils; import java.util.ArrayList; import java.util.Arrays; Loading @@ -60,6 +61,7 @@ public class NetworkSelectSettings extends DashboardFragment { private static final String TAG = "NetworkSelectSettings"; private static final int EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE = 1; private static final int EVENT_NETWORK_SCAN_RESULTS = 2; private static final int EVENT_NETWORK_SCAN_ERROR = 3; private static final int EVENT_NETWORK_SCAN_COMPLETED = 4; Loading Loading @@ -135,13 +137,10 @@ public class NetworkSelectSettings extends DashboardFragment { mForbiddenPlmns = Arrays.asList(mTelephonyManager.getForbiddenPlmns()); setProgressBarVisible(true); if (mUseNewApi) { mNetworkScanHelper.startNetworkScan( NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS); } else { mNetworkScanHelper.startNetworkScan( NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS); } mUseNewApi ? NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS : NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS); } @Override Loading @@ -154,7 +153,6 @@ public class NetworkSelectSettings extends DashboardFragment { public boolean onPreferenceTreeClick(Preference preference) { if (preference != mSelectedPreference) { stopNetworkQuery(); setProgressBarVisible(false); // Refresh the last selected item in case users reselect network. if (mSelectedPreference != null) { mSelectedPreference.setSummary(null); Loading @@ -162,6 +160,7 @@ public class NetworkSelectSettings extends DashboardFragment { mSelectedPreference = (NetworkOperatorPreference) preference; CellInfo cellInfo = mSelectedPreference.getCellInfo(); mSelectedPreference.setSummary(R.string.network_connecting); mMetricsFeatureProvider.action(getContext(), MetricsEvent.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK); Loading @@ -176,11 +175,17 @@ public class NetworkSelectSettings extends DashboardFragment { } } setProgressBarVisible(true); // Disable the screen until network is manually set getPreferenceScreen().setEnabled(false); final OperatorInfo operatorInfo = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo); final boolean isSuccess = mTelephonyManager.setNetworkSelectionModeManual( ThreadUtils.postOnBackgroundThread(() -> { Message msg = mHandler.obtainMessage(EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE); msg.obj = mTelephonyManager.setNetworkSelectionModeManual( operatorInfo, true /* persistSelection */); mSelectedPreference.setSummary( isSuccess ? R.string.network_connected : R.string.network_could_not_connect); msg.sendToTarget(); }); } return true; Loading @@ -205,6 +210,15 @@ public class NetworkSelectSettings extends DashboardFragment { @Override public void handleMessage(Message msg) { switch (msg.what) { case EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE: setProgressBarVisible(false); getPreferenceScreen().setEnabled(true); boolean isSucceed = (boolean) msg.obj; mSelectedPreference.setSummary(isSucceed ? R.string.network_connected : R.string.network_could_not_connect); break; case EVENT_NETWORK_SCAN_RESULTS: List<CellInfo> results = aggregateCellInfoList((List<CellInfo>) msg.obj); mCellInfoList = new ArrayList<>(results); Loading Loading @@ -268,7 +282,7 @@ public class NetworkSelectSettings extends DashboardFragment { for (int index = 0; index < mCellInfoList.size(); index++) { if (!mCellInfoList.get(index).isRegistered()) { NetworkOperatorPreference pref = new NetworkOperatorPreference( mCellInfoList.get(index), getContext(), mForbiddenPlmns, mShow4GForLTE); mCellInfoList.get(index), getPrefContext(), mForbiddenPlmns, mShow4GForLTE); pref.setKey(CellInfoUtil.getNetworkTitle(mCellInfoList.get(index))); pref.setOrder(index); mPreferenceCategory.addPreference(pref); Loading Loading @@ -304,7 +318,7 @@ public class NetworkSelectSettings extends DashboardFragment { CellInfo cellInfo = CellInfoUtil.wrapCellInfoWithCellIdentity(cellIdentity); if (cellInfo != null) { NetworkOperatorPreference pref = new NetworkOperatorPreference( cellInfo, getContext(), mForbiddenPlmns, mShow4GForLTE); cellInfo, getPrefContext(), mForbiddenPlmns, mShow4GForLTE); pref.setTitle(mTelephonyManager.getNetworkOperatorName()); pref.setSummary(R.string.network_connected); // Update the signal strength icon, since the default signalStrength value would be Loading Loading @@ -343,7 +357,7 @@ public class NetworkSelectSettings extends DashboardFragment { private void addConnectedNetworkOperatorPreference(CellInfo cellInfo) { mConnectedPreferenceCategory.removeAll(); final NetworkOperatorPreference pref = new NetworkOperatorPreference( cellInfo, getContext(), mForbiddenPlmns, mShow4GForLTE); cellInfo, getPrefContext(), mForbiddenPlmns, mShow4GForLTE); pref.setSummary(R.string.network_connected); mConnectedPreferenceCategory.addPreference(pref); mConnectedPreferenceCategory.setVisible(true); Loading
tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,9 @@ public class NetworkSelectSettingsTest { mNetworkSelectSettings = spy(new NetworkSelectSettings()); doReturn(mContext).when(mNetworkSelectSettings).getContext(); doReturn(mPreferenceManager).when(mNetworkSelectSettings).getPreferenceManager(); doReturn(mContext).when(mPreferenceManager).getContext(); mNetworkSelectSettings.mTelephonyManager = mTelephonyManager; mNetworkSelectSettings.mConnectedPreferenceCategory = mConnectedPreferenceCategory; mNetworkSelectSettings.mPreferenceCategory = mPreferenceCategory; Loading