summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-12 18:53:10 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2022-05-12 18:53:10 +0000
commitaed8185aa4ac37516bd48177a3206d9857d5dfaf (patch)
treeef05967b971984591cc7563a65e03177c3588fac
parent5812797ea38ef879683336f37c4db2875640d324 (diff)
parent6fd39cd2e17d4dc768dd2466931b3ab9fcc2d88a (diff)
downloadTelephony-main-cg-testing-release.tar.gz
Merge "Snap for 8580505 from 07eac89a5a12d9f27976b53def464ee9552a6360 to main-cg-testing-release" into main-cg-testing-releasemain-cg-testing-release
-rw-r--r--res/layout/radio_info.xml6
-rw-r--r--res/values/strings.xml12
-rwxr-xr-xsrc/com/android/phone/PhoneInterfaceManager.java8
-rw-r--r--src/com/android/phone/settings/RadioInfo.java66
4 files changed, 54 insertions, 38 deletions
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index 68c67a335..1f137b053 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -92,6 +92,12 @@
<TextView android:id="@+id/data_network" style="@style/info_value" />
</LinearLayout>
+ <!-- Override Network Type -->
+ <LinearLayout style="@style/RadioInfo_entry_layout">
+ <TextView android:text="@string/radio_info_override_network_type_label" style="@style/info_label" />
+ <TextView android:id="@+id/override_network" style="@style/info_value" />
+ </LinearLayout>
+
<!-- Voice Service Status -->
<LinearLayout style="@style/RadioInfo_entry_layout">
<TextView android:text="@string/radio_info_gsm_service_label" style="@style/info_label" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1684e89cf..25d28def7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2130,6 +2130,8 @@
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_data_network_type_label">Data Network Type:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_override_network_type_label">Override Network Type:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="phone_index_label">Select phone index</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_set_perferred_label">Set Preferred Network Type:</string>
@@ -2152,17 +2154,17 @@
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="oem_radio_info_label">OEM-specific Info/Settings</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
- <string name="radio_info_endc_available">EN-DC Available:</string>
+ <string name="radio_info_endc_available">EN-DC Available (NSA):</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
- <string name="radio_info_dcnr_restricted">DCNR Restricted:</string>
+ <string name="radio_info_dcnr_restricted">DCNR Restricted (NSA):</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
- <string name="radio_info_nr_available">NR Available:</string>
+ <string name="radio_info_nr_available">NR Available (NSA):</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
- <string name="radio_info_nr_state">NR State:</string>
+ <string name="radio_info_nr_state">NR State (NSA):</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_nr_frequency">NR Frequency:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
- <string name="radio_info_network_slicing_config" translatable="false">Network slicing config:</string>
+ <string name="radio_info_network_slicing_config" translatable="false">Network Slicing Config:</string>
<!-- Band Mode Selection -->
<!-- Band mode screen. Title of activity. -->
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index ba72539f3..7b7be8ad2 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -73,6 +73,7 @@ import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.DataActivityType;
import android.telephony.Annotation.ThermalMitigationResult;
import android.telephony.CallForwardingInfo;
import android.telephony.CarrierConfigManager;
@@ -153,7 +154,6 @@ import com.android.internal.telephony.CarrierResolver;
import com.android.internal.telephony.CellNetworkScanResult;
import com.android.internal.telephony.CommandException;
import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.DefaultPhoneNotifier;
import com.android.internal.telephony.GbaManager;
import com.android.internal.telephony.GsmCdmaPhone;
import com.android.internal.telephony.HalVersion;
@@ -3010,17 +3010,17 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
}
@Override
- public int getDataActivity() {
+ public @DataActivityType int getDataActivity() {
return getDataActivityForSubId(mSubscriptionController.getDefaultDataSubId());
}
@Override
- public int getDataActivityForSubId(int subId) {
+ public @DataActivityType int getDataActivityForSubId(int subId) {
final long identity = Binder.clearCallingIdentity();
try {
final Phone phone = getPhone(subId);
if (phone != null) {
- return DefaultPhoneNotifier.convertDataActivityState(phone.getDataActivityState());
+ return phone.getDataActivityState();
} else {
return TelephonyManager.DATA_ACTIVITY_NONE;
}
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 9ec128ae4..95788fea6 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -68,6 +68,7 @@ import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyCallback;
+import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.telephony.data.NetworkSlicingConfig;
import android.text.TextUtils;
@@ -103,7 +104,6 @@ import java.net.URL;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -237,6 +237,7 @@ public class RadioInfo extends AppCompatActivity {
private TextView mGprsState;
private TextView mVoiceNetwork;
private TextView mDataNetwork;
+ private TextView mOverrideNetwork;
private TextView mDBm;
private TextView mMwi;
private TextView mCfi;
@@ -322,7 +323,8 @@ public class RadioInfo extends AppCompatActivity {
TelephonyCallback.CallForwardingIndicatorListener,
TelephonyCallback.CellInfoListener,
TelephonyCallback.SignalStrengthsListener,
- TelephonyCallback.ServiceStateListener {
+ TelephonyCallback.ServiceStateListener,
+ TelephonyCallback.DisplayInfoListener {
@Override
public void onDataConnectionStateChanged(int state, int networkType) {
@@ -376,6 +378,10 @@ public class RadioInfo extends AppCompatActivity {
updateNrStats(serviceState);
}
+ @Override
+ public void onDisplayInfoChanged(TelephonyDisplayInfo displayInfo) {
+ updateNetworkType();
+ }
}
private void updatePhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
@@ -488,6 +494,7 @@ public class RadioInfo extends AppCompatActivity {
mGprsState = (TextView) findViewById(R.id.gprs);
mVoiceNetwork = (TextView) findViewById(R.id.voice_network);
mDataNetwork = (TextView) findViewById(R.id.data_network);
+ mOverrideNetwork = (TextView) findViewById(R.id.override_network);
mDBm = (TextView) findViewById(R.id.dbm);
mMwi = (TextView) findViewById(R.id.mwi);
mCfi = (TextView) findViewById(R.id.cfi);
@@ -512,18 +519,7 @@ public class RadioInfo extends AppCompatActivity {
// hide 5G stats on devices that don't support 5G
if ((mTelephonyManager.getSupportedRadioAccessFamily()
& TelephonyManager.NETWORK_TYPE_BITMASK_NR) == 0) {
- ((TextView) findViewById(R.id.endc_available_label)).setVisibility(View.GONE);
- mEndcAvailable.setVisibility(View.GONE);
- ((TextView) findViewById(R.id.dcnr_restricted_label)).setVisibility(View.GONE);
- mDcnrRestricted.setVisibility(View.GONE);
- ((TextView) findViewById(R.id.nr_available_label)).setVisibility(View.GONE);
- mNrAvailable.setVisibility(View.GONE);
- ((TextView) findViewById(R.id.nr_state_label)).setVisibility(View.GONE);
- mNrState.setVisibility(View.GONE);
- ((TextView) findViewById(R.id.nr_frequency_label)).setVisibility(View.GONE);
- mNrFrequency.setVisibility(View.GONE);
- ((TextView) findViewById(R.id.network_slicing_config_label)).setVisibility(View.GONE);
- mNetworkSlicingConfig.setVisibility(View.GONE);
+ setNrStatsVisibility(View.GONE);
}
mPreferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
@@ -823,6 +819,7 @@ public class RadioInfo extends AppCompatActivity {
mOperatorName.setText("");
mGprsState.setText("");
mDataNetwork.setText("");
+ mOverrideNetwork.setText("");
mVoiceNetwork.setText("");
mSent.setText("");
mReceived.setText("");
@@ -845,6 +842,21 @@ public class RadioInfo extends AppCompatActivity {
mTelephonyCallback);
}
+ private void setNrStatsVisibility(int visibility) {
+ ((TextView) findViewById(R.id.endc_available_label)).setVisibility(visibility);
+ mEndcAvailable.setVisibility(visibility);
+ ((TextView) findViewById(R.id.dcnr_restricted_label)).setVisibility(visibility);
+ mDcnrRestricted.setVisibility(visibility);
+ ((TextView) findViewById(R.id.nr_available_label)).setVisibility(visibility);
+ mNrAvailable.setVisibility(visibility);
+ ((TextView) findViewById(R.id.nr_state_label)).setVisibility(visibility);
+ mNrState.setVisibility(visibility);
+ ((TextView) findViewById(R.id.nr_frequency_label)).setVisibility(visibility);
+ mNrFrequency.setVisibility(visibility);
+ ((TextView) findViewById(R.id.network_slicing_config_label)).setVisibility(visibility);
+ mNetworkSlicingConfig.setVisibility(visibility);
+ }
+
private void updateDnsCheckState() {
//FIXME: Replace with a TelephonyManager call
mDnsCheckState.setText(mPhone.isDnsCheckDisabled()
@@ -858,7 +870,6 @@ public class RadioInfo extends AppCompatActivity {
mUplinkKbps.setText(String.format("%-5d", ulbw));
}
-
private void updateSignalStrength(SignalStrength signalStrength) {
Resources r = getResources();
@@ -1146,11 +1157,14 @@ public class RadioInfo extends AppCompatActivity {
private void updateNetworkType() {
if (mPhone != null) {
- ServiceState ss = mPhone.getServiceState();
mDataNetwork.setText(ServiceState.rilRadioTechnologyToString(
mPhone.getServiceState().getRilDataRadioTechnology()));
mVoiceNetwork.setText(ServiceState.rilRadioTechnologyToString(
mPhone.getServiceState().getRilVoiceRadioTechnology()));
+ int overrideNetwork = mPhone.getDisplayInfoController().getTelephonyDisplayInfo()
+ .getOverrideNetworkType();
+ mOverrideNetwork.setText(
+ TelephonyDisplayInfo.overrideNetworkTypeToString(overrideNetwork));
}
}
@@ -1164,31 +1178,25 @@ public class RadioInfo extends AppCompatActivity {
ss = mPhone.getServiceState();
}
if (ss != null) {
- boolean isNrSa = ss.getDataNetworkType() == TelephonyManager.NETWORK_TYPE_NR;
NetworkRegistrationInfo nri = ss.getNetworkRegistrationInfo(
NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
if (nri != null) {
DataSpecificRegistrationInfo dsri = nri.getDataSpecificInfo();
if (dsri != null) {
- mEndcAvailable.setText(isNrSa ? "N/A"
- : dsri.isEnDcAvailable ? "True" : "False");
- mDcnrRestricted.setText(isNrSa ? "N/A"
- : dsri.isDcNrRestricted ? "True" : "False");
- mNrAvailable.setText(isNrSa ? "N/A" : dsri.isNrAvailable ? "True" : "False");
+ mEndcAvailable.setText(String.valueOf(dsri.isEnDcAvailable));
+ mDcnrRestricted.setText(String.valueOf(dsri.isDcNrRestricted));
+ mNrAvailable.setText(String.valueOf(dsri.isNrAvailable));
}
}
- mNrState.setText(isNrSa ? "N/A"
- : NetworkRegistrationInfo.nrStateToString(ss.getNrState()));
- mNrFrequency.setText(isNrSa ? "N/A"
- : ServiceState.frequencyRangeToString(ss.getNrFrequencyRange()));
+ mNrState.setText(NetworkRegistrationInfo.nrStateToString(ss.getNrState()));
+ mNrFrequency.setText(ServiceState.frequencyRangeToString(ss.getNrFrequencyRange()));
}
- Executor simpleExecutor = (r) -> r.run();
CompletableFuture<NetworkSlicingConfig> resultFuture = new CompletableFuture<>();
- mTelephonyManager.getNetworkSlicingConfiguration(simpleExecutor, resultFuture::complete);
+ mTelephonyManager.getNetworkSlicingConfiguration(Runnable::run, resultFuture::complete);
try {
NetworkSlicingConfig networkSlicingConfig =
- resultFuture.get(DEFAULT_TIMEOUT_MS, MILLISECONDS);
+ resultFuture.get(DEFAULT_TIMEOUT_MS, MILLISECONDS);
mNetworkSlicingConfig.setText(networkSlicingConfig.toString());
} catch (ExecutionException | InterruptedException | TimeoutException e) {
Log.e(TAG, "Unable to get slicing config: " + e.toString());