Expose NetworkRegistrationInfo.getNrState() as public API
ConnectivityService is going to become a mainline module which will not able to access hidden APIs. DataConnectionStat needs to get the NR 5G state of the mobile data network for checking if the network type is 5G or not. API in NetworkRegistrationInfo is suggested to replace the original one in ServiceState. Thus, expose it as a public API to support it. Bug: 171183530 Test: make update-api ; m Test: atest CtsTelephonyTestCases Change-Id: I965499792286de4f1447559be66ca4be80bd0e6f
This commit is contained in:
@@ -47669,6 +47669,7 @@ package android.telephony {
|
||||
method @NonNull public java.util.List<java.lang.Integer> getAvailableServices();
|
||||
method @Nullable public android.telephony.CellIdentity getCellIdentity();
|
||||
method public int getDomain();
|
||||
method public int getNrState();
|
||||
method @Nullable public String getRegisteredPlmn();
|
||||
method public int getTransportType();
|
||||
method public boolean isRegistered();
|
||||
|
||||
@@ -45837,6 +45837,7 @@ package android.telephony {
|
||||
method @NonNull public java.util.List<java.lang.Integer> getAvailableServices();
|
||||
method @Nullable public android.telephony.CellIdentity getCellIdentity();
|
||||
method public int getDomain();
|
||||
method public int getNrState();
|
||||
method @Nullable public String getRegisteredPlmn();
|
||||
method public int getTransportType();
|
||||
method public boolean isRegistered();
|
||||
|
||||
@@ -49,7 +49,6 @@ public class DataConnectionStats extends BroadcastReceiver {
|
||||
private SignalStrength mSignalStrength;
|
||||
private ServiceState mServiceState;
|
||||
private int mDataState = TelephonyManager.DATA_DISCONNECTED;
|
||||
private int mNrState = NetworkRegistrationInfo.NR_STATE_NONE;
|
||||
|
||||
public DataConnectionStats(Context context, Handler listenerHandler) {
|
||||
mContext = context;
|
||||
@@ -96,7 +95,7 @@ public class DataConnectionStats extends BroadcastReceiver {
|
||||
: regInfo.getAccessNetworkTechnology();
|
||||
// If the device is in NSA NR connection the networkType will report as LTE.
|
||||
// For cell dwell rate metrics, this should report NR instead.
|
||||
if (mNrState == NetworkRegistrationInfo.NR_STATE_CONNECTED) {
|
||||
if (regInfo != null && regInfo.getNrState() == NetworkRegistrationInfo.NR_STATE_CONNECTED) {
|
||||
networkType = TelephonyManager.NETWORK_TYPE_NR;
|
||||
}
|
||||
if (DEBUG) Log.d(TAG, String.format("Noting data connection for network type %s: %svisible",
|
||||
@@ -153,7 +152,6 @@ public class DataConnectionStats extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onServiceStateChanged(ServiceState state) {
|
||||
mServiceState = state;
|
||||
mNrState = state.getNrState();
|
||||
notePhoneDataConnectionState();
|
||||
}
|
||||
|
||||
|
||||
@@ -370,7 +370,6 @@ public final class NetworkRegistrationInfo implements Parcelable {
|
||||
* Get the 5G NR connection state.
|
||||
*
|
||||
* @return the 5G NR connection state.
|
||||
* @hide
|
||||
*/
|
||||
public @NRState int getNrState() {
|
||||
return mNrState;
|
||||
|
||||
Reference in New Issue
Block a user