Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13d52971 authored by SongFerngWang's avatar SongFerngWang
Browse files

Add getPhoneCapability function in TelephonyManager

- Add a resource for Device's Nr information.
- Expose below as systemApi
  - getDeviceNrCapabilityBitmask()
  - getMaxActiveInternetData()
  - getMaxActivePacketSwitchedVoiceCalls()
Bug: 175711587
Test: atest TelephonyManager#testGetPhoneCapability
atest PhoneCapabilityTest
atest PhoneConfigurationManagerTest
atest CellularNetworkValidatorTest
atest PhoneSwitcherTest
atest TelephonyRegistryTest
atest PhoneCapabilityTest

Change-Id: Ide25344787c15b3a57a9e6621766ad02a906f12e
parent 1581f4fc
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -41171,12 +41171,6 @@ package android.telephony {
    field public static final int SCAN_TYPE_PERIODIC = 1; // 0x1
  }
  public final class PhoneCapability implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
  }
  public class PhoneNumberFormattingTextWatcher implements android.text.TextWatcher {
    ctor public PhoneNumberFormattingTextWatcher();
    ctor public PhoneNumberFormattingTextWatcher(String);
@@ -41353,10 +41347,6 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onMessageWaitingIndicatorChanged(boolean);
  }
  public static interface PhoneStateListener.PhoneCapabilityChangedListener {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
  }
  public static interface PhoneStateListener.PreciseDataConnectionStateChangedListener {
    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseDataConnectionStateChanged(@NonNull android.telephony.PreciseDataConnectionState);
  }
+17 −0
Original line number Diff line number Diff line
@@ -10964,6 +10964,18 @@ package android.telephony {
    field public static final int REASON_UNSPECIFIED = 0; // 0x0
  }
  public final class PhoneCapability implements android.os.Parcelable {
    method public int describeContents();
    method public int getDeviceNrCapabilityBitmask();
    method @IntRange(from=1) public int getMaxActiveInternetData();
    method @IntRange(from=1) public int getMaxActivePacketSwitchedVoiceCalls();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
    field public static final int DEVICE_NR_CAPABILITY_NONE = 0; // 0x0
    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
  }
  public final class PhoneNumberRange implements android.os.Parcelable {
    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
    method public int describeContents();
@@ -11052,6 +11064,10 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
  }
  public static interface PhoneStateListener.PhoneCapabilityChangedListener {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
  }
  public static interface PhoneStateListener.PhysicalChannelConfigChangedListener {
    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPhysicalChannelConfigChanged(@NonNull java.util.List<android.telephony.PhysicalChannelConfig>);
  }
@@ -11476,6 +11492,7 @@ package android.telephony {
    method public int getMaxNumberOfSimultaneouslyActiveSims();
    method public static long getMaxNumberVerificationTimeoutMillis();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
    method public int getSimApplicationState();
+2 −1
Original line number Diff line number Diff line
@@ -1698,8 +1698,9 @@ public class PhoneStateListener {

    /**
     * Interface for phone capability listener.
     *
     * @hide
     */
    @SystemApi
    public interface PhoneCapabilityChangedListener {
        /**
         * Callback invoked when phone capability changes.
+5 −0
Original line number Diff line number Diff line
@@ -4631,4 +4631,9 @@
         dreaming. This allows the AoD to rotate on devices without a wake device_orientation
         sensor. Note that this flag should only be enabled for development/testing use. -->
    <bool name="config_forceOrientationListenerEnabledWhileDreaming">false</bool>

    <!-- Whether the device enable the standalone (SA) mode of 5G NR.-->
    <bool name="config_telephony5gStandalone">false</bool>
    <!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
    <bool name="config_telephony5gNonStandalone">false</bool>
</resources>
+3 −0
Original line number Diff line number Diff line
@@ -4159,4 +4159,7 @@
  <java-symbol type="string" name="sensor_privacy_start_use_camera_notification_content" />
  <java-symbol type="string" name="sensor_privacy_start_use_dialog_turn_on_button" />
  <java-symbol type="string" name="sensor_privacy_notification_channel_label" />

  <java-symbol type="bool" name="config_telephony5gStandalone" />
  <java-symbol type="bool" name="config_telephony5gNonStandalone" />
</resources>
Loading