Loading src/java/com/android/internal/telephony/metrics/MetricsCollector.java +2 −1 Original line number Diff line number Diff line Loading @@ -769,7 +769,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { perSimStatus.pin1Enabled, // isPin1Enabled perSimStatus.minimumVoltageClass, // simVoltageClass perSimStatus.userModifiedApnTypes, // userModifiedApnTypeBitmask perSimStatus.unmeteredNetworks); // unmeteredNetworks perSimStatus.unmeteredNetworks, // unmeteredNetworks perSimStatus.vonrEnabled); // vonrEnabled data.add(statsEvent); result = StatsManager.PULL_SUCCESS; } Loading src/java/com/android/internal/telephony/metrics/PerSimStatus.java +18 −2 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ public class PerSimStatus { public final int minimumVoltageClass; public final int userModifiedApnTypes; public final long unmeteredNetworks; public final boolean vonrEnabled; /** Returns the current sim status of the given {@link Phone}. */ @Nullable Loading Loading @@ -103,7 +104,8 @@ public class PerSimStatus { iccCard == null ? false : iccCard.getIccLockEnabled(), getMinimumVoltageClass(phone), getUserModifiedApnTypes(phone), persistAtomsStorage.getUnmeteredNetworks(phone.getPhoneId(), carrierId)); persistAtomsStorage.getUnmeteredNetworks(phone.getPhoneId(), carrierId), isVonrEnabled(phone)); } private PerSimStatus( Loading @@ -122,7 +124,8 @@ public class PerSimStatus { boolean pin1Enabled, int minimumVoltageClass, int userModifiedApnTypes, long unmeteredNetworks) { long unmeteredNetworks, boolean vonrEnabled) { this.carrierId = carrierId; this.phoneNumberSourceUicc = phoneNumberSourceUicc; this.phoneNumberSourceCarrier = phoneNumberSourceCarrier; Loading @@ -139,6 +142,7 @@ public class PerSimStatus { this.minimumVoltageClass = minimumVoltageClass; this.userModifiedApnTypes = userModifiedApnTypes; this.unmeteredNetworks = unmeteredNetworks; this.vonrEnabled = vonrEnabled; } @Nullable Loading Loading @@ -272,4 +276,16 @@ public class PerSimStatus { return bitmask; } } /** Returns true if VoNR is enabled */ private static boolean isVonrEnabled(Phone phone) { TelephonyManager telephonyManager = phone.getContext() .getSystemService(TelephonyManager.class); if (telephonyManager == null) { return false; } telephonyManager = telephonyManager.createForSubscriptionId(phone.getSubId()); return telephonyManager.isVoNrEnabled(); } } tests/telephonytests/src/com/android/internal/telephony/metrics/PerSimStatusTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(UiccSlot.VOLTAGE_CLASS_A).when(uiccSlot1).getMinimumVoltageClass(); doReturn(uiccSlot1).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(false).when(mTelephonyManager).isVoNrEnabled(); // phone 1 setup doReturn(mContext).when(mSecondPhone).getContext(); doReturn(1).when(mSecondPhone).getPhoneId(); Loading Loading @@ -189,6 +190,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_A, perSimStatus1.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus1.unmeteredNetworks); assertEquals(false, perSimStatus1.vonrEnabled); assertEquals(101, perSimStatus2.carrierId); assertEquals(1, perSimStatus2.phoneNumberSourceUicc); assertEquals(2, perSimStatus2.phoneNumberSourceCarrier); Loading @@ -207,6 +209,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_B, perSimStatus2.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus2.unmeteredNetworks); assertEquals(false, perSimStatus2.vonrEnabled); } @Test Loading Loading @@ -254,6 +257,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(UiccSlot.VOLTAGE_CLASS_A).when(uiccSlot1).getMinimumVoltageClass(); doReturn(uiccSlot1).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(true).when(mTelephonyManager).isVoNrEnabled(); PerSimStatus perSimStatus = PerSimStatus.getCurrentState(mPhone); Loading @@ -274,6 +278,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_A, perSimStatus.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus.unmeteredNetworks); assertEquals(true, perSimStatus.vonrEnabled); } @Test Loading Loading @@ -313,6 +318,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(UiccSlot.VOLTAGE_CLASS_A).when(uiccSlot1).getMinimumVoltageClass(); doReturn(uiccSlot1).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(true).when(mTelephonyManager).isVoNrEnabled(); PerSimStatus perSimStatus = PerSimStatus.getCurrentState(mPhone); Loading @@ -333,6 +339,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_A, perSimStatus.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus.unmeteredNetworks); assertEquals(true, perSimStatus.vonrEnabled); } @Test Loading Loading @@ -368,6 +375,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(iccCard).when(mPhone).getIccCard(); doReturn(null).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(true).when(mTelephonyManager).isVoNrEnabled(); PerSimStatus perSimStatus = PerSimStatus.getCurrentState(mPhone); Loading @@ -388,5 +396,6 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_UNKNOWN, perSimStatus.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus.unmeteredNetworks); assertEquals(true, perSimStatus.vonrEnabled); } } Loading
src/java/com/android/internal/telephony/metrics/MetricsCollector.java +2 −1 Original line number Diff line number Diff line Loading @@ -769,7 +769,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { perSimStatus.pin1Enabled, // isPin1Enabled perSimStatus.minimumVoltageClass, // simVoltageClass perSimStatus.userModifiedApnTypes, // userModifiedApnTypeBitmask perSimStatus.unmeteredNetworks); // unmeteredNetworks perSimStatus.unmeteredNetworks, // unmeteredNetworks perSimStatus.vonrEnabled); // vonrEnabled data.add(statsEvent); result = StatsManager.PULL_SUCCESS; } Loading
src/java/com/android/internal/telephony/metrics/PerSimStatus.java +18 −2 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ public class PerSimStatus { public final int minimumVoltageClass; public final int userModifiedApnTypes; public final long unmeteredNetworks; public final boolean vonrEnabled; /** Returns the current sim status of the given {@link Phone}. */ @Nullable Loading Loading @@ -103,7 +104,8 @@ public class PerSimStatus { iccCard == null ? false : iccCard.getIccLockEnabled(), getMinimumVoltageClass(phone), getUserModifiedApnTypes(phone), persistAtomsStorage.getUnmeteredNetworks(phone.getPhoneId(), carrierId)); persistAtomsStorage.getUnmeteredNetworks(phone.getPhoneId(), carrierId), isVonrEnabled(phone)); } private PerSimStatus( Loading @@ -122,7 +124,8 @@ public class PerSimStatus { boolean pin1Enabled, int minimumVoltageClass, int userModifiedApnTypes, long unmeteredNetworks) { long unmeteredNetworks, boolean vonrEnabled) { this.carrierId = carrierId; this.phoneNumberSourceUicc = phoneNumberSourceUicc; this.phoneNumberSourceCarrier = phoneNumberSourceCarrier; Loading @@ -139,6 +142,7 @@ public class PerSimStatus { this.minimumVoltageClass = minimumVoltageClass; this.userModifiedApnTypes = userModifiedApnTypes; this.unmeteredNetworks = unmeteredNetworks; this.vonrEnabled = vonrEnabled; } @Nullable Loading Loading @@ -272,4 +276,16 @@ public class PerSimStatus { return bitmask; } } /** Returns true if VoNR is enabled */ private static boolean isVonrEnabled(Phone phone) { TelephonyManager telephonyManager = phone.getContext() .getSystemService(TelephonyManager.class); if (telephonyManager == null) { return false; } telephonyManager = telephonyManager.createForSubscriptionId(phone.getSubId()); return telephonyManager.isVoNrEnabled(); } }
tests/telephonytests/src/com/android/internal/telephony/metrics/PerSimStatusTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(UiccSlot.VOLTAGE_CLASS_A).when(uiccSlot1).getMinimumVoltageClass(); doReturn(uiccSlot1).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(false).when(mTelephonyManager).isVoNrEnabled(); // phone 1 setup doReturn(mContext).when(mSecondPhone).getContext(); doReturn(1).when(mSecondPhone).getPhoneId(); Loading Loading @@ -189,6 +190,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_A, perSimStatus1.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus1.unmeteredNetworks); assertEquals(false, perSimStatus1.vonrEnabled); assertEquals(101, perSimStatus2.carrierId); assertEquals(1, perSimStatus2.phoneNumberSourceUicc); assertEquals(2, perSimStatus2.phoneNumberSourceCarrier); Loading @@ -207,6 +209,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_B, perSimStatus2.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus2.unmeteredNetworks); assertEquals(false, perSimStatus2.vonrEnabled); } @Test Loading Loading @@ -254,6 +257,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(UiccSlot.VOLTAGE_CLASS_A).when(uiccSlot1).getMinimumVoltageClass(); doReturn(uiccSlot1).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(true).when(mTelephonyManager).isVoNrEnabled(); PerSimStatus perSimStatus = PerSimStatus.getCurrentState(mPhone); Loading @@ -274,6 +278,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_A, perSimStatus.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus.unmeteredNetworks); assertEquals(true, perSimStatus.vonrEnabled); } @Test Loading Loading @@ -313,6 +318,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(UiccSlot.VOLTAGE_CLASS_A).when(uiccSlot1).getMinimumVoltageClass(); doReturn(uiccSlot1).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(true).when(mTelephonyManager).isVoNrEnabled(); PerSimStatus perSimStatus = PerSimStatus.getCurrentState(mPhone); Loading @@ -333,6 +339,7 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_A, perSimStatus.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus.unmeteredNetworks); assertEquals(true, perSimStatus.vonrEnabled); } @Test Loading Loading @@ -368,6 +375,7 @@ public class PerSimStatusTest extends TelephonyTest { doReturn(iccCard).when(mPhone).getIccCard(); doReturn(null).when(mUiccController).getUiccSlotForPhone(0); doReturn(NETWORK_TYPE_BITMASK_GSM).when(mPersistAtomsStorage).getUnmeteredNetworks(0, 100); doReturn(true).when(mTelephonyManager).isVoNrEnabled(); PerSimStatus perSimStatus = PerSimStatus.getCurrentState(mPhone); Loading @@ -388,5 +396,6 @@ public class PerSimStatusTest extends TelephonyTest { PER_SIM_STATUS__SIM_VOLTAGE_CLASS__VOLTAGE_CLASS_UNKNOWN, perSimStatus.minimumVoltageClass); assertEquals(NETWORK_TYPE_BITMASK_GSM, perSimStatus.unmeteredNetworks); assertEquals(true, perSimStatus.vonrEnabled); } }