diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-12 18:53:10 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-05-12 18:53:10 +0000 |
commit | aed8185aa4ac37516bd48177a3206d9857d5dfaf (patch) | |
tree | ef05967b971984591cc7563a65e03177c3588fac | |
parent | 5812797ea38ef879683336f37c4db2875640d324 (diff) | |
parent | 6fd39cd2e17d4dc768dd2466931b3ab9fcc2d88a (diff) | |
download | Telephony-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.xml | 6 | ||||
-rw-r--r-- | res/values/strings.xml | 12 | ||||
-rwxr-xr-x | src/com/android/phone/PhoneInterfaceManager.java | 8 | ||||
-rw-r--r-- | src/com/android/phone/settings/RadioInfo.java | 66 |
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()); |