Set setNetworkSelectionModeManual with AccessNetworkType into RIL/Modem

To new the OperatorInfo with the AccessNetworkType parameter.

Bug: 179636444
Bug: 182336960
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=NetworkSelectSettingsTest
Change-Id: If78fde9a22e91ee8b77e2063762166b2137ebbc1
This commit is contained in:
SongFerngWang
2021-03-24 19:35:04 +08:00
parent 8debbfa8a4
commit b471e2c38c

View File

@@ -19,6 +19,7 @@ package com.android.settings.network.telephony;
import static android.telephony.SignalStrength.NUM_SIGNAL_STRENGTH_BINS; import static android.telephony.SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
import android.content.Context; import android.content.Context;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.CellIdentity; import android.telephony.CellIdentity;
import android.telephony.CellIdentityGsm; import android.telephony.CellIdentityGsm;
import android.telephony.CellIdentityLte; import android.telephony.CellIdentityLte;
@@ -180,7 +181,7 @@ public class NetworkOperatorPreference extends Preference {
public OperatorInfo getOperatorInfo() { public OperatorInfo getOperatorInfo() {
return new OperatorInfo(Objects.toString(mCellId.getOperatorAlphaLong(), ""), return new OperatorInfo(Objects.toString(mCellId.getOperatorAlphaLong(), ""),
Objects.toString(mCellId.getOperatorAlphaShort(), ""), Objects.toString(mCellId.getOperatorAlphaShort(), ""),
getOperatorNumeric()); getOperatorNumeric(), getAccessNetworkTypeFromCellInfo(mCellInfo));
} }
private int getIconIdForCell(CellInfo ci) { private int getIconIdForCell(CellInfo ci) {
@@ -225,6 +226,25 @@ public class NetworkOperatorPreference extends Preference {
return null; return null;
} }
private int getAccessNetworkTypeFromCellInfo(CellInfo ci) {
if (ci instanceof CellInfoGsm) {
return AccessNetworkType.GERAN;
}
if (ci instanceof CellInfoCdma) {
return AccessNetworkType.CDMA2000;
}
if ((ci instanceof CellInfoWcdma) || (ci instanceof CellInfoTdscdma)) {
return AccessNetworkType.UTRAN;
}
if (ci instanceof CellInfoLte) {
return AccessNetworkType.EUTRAN;
}
if (ci instanceof CellInfoNr) {
return AccessNetworkType.NGRAN;
}
return AccessNetworkType.UNKNOWN;
}
private void updateIcon(int level) { private void updateIcon(int level) {
if (!mUseNewApi || level < 0 || level >= NUM_SIGNAL_STRENGTH_BINS) { if (!mUseNewApi || level < 0 || level >= NUM_SIGNAL_STRENGTH_BINS) {
return; return;