Make get/setSystemThresholdReportingRequestedWhileIdle @SystemApi

SignalStrengthUpdateRequest#setSystemThresholdReportingRequestedWhileIdle
is built to replace the deprecated feature
PhoneStateListener#LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH.

The only client (Bluetooth) does not allow hidden API call.
@SystemApi is the next option while the API is not intended
to be public yet.

The javadoc is also updated to be more precise on when the
permission is required.

Bug: 205544105
Test: atest TelephonyManagerTest
CTS-Coverage-Bug: 205602896
Change-Id: Ia72cc1c77cf5b97458f8f6191a24bfa77a861234
This commit is contained in:
Rambo Wang 2021-11-22 13:14:36 -08:00
parent e908851af5
commit 1b85e74899
2 changed files with 15 additions and 1 deletions

View File

@ -11698,6 +11698,14 @@ package android.telephony {
field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
}
public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
method public boolean isSystemThresholdReportingRequestedWhileIdle();
}
public static final class SignalStrengthUpdateRequest.Builder {
method @NonNull @RequiresPermission("android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH") public android.telephony.SignalStrengthUpdateRequest.Builder setSystemThresholdReportingRequestedWhileIdle(boolean);
}
public final class SmsCbCmasInfo implements android.os.Parcelable {
ctor public SmsCbCmasInfo(int, int, int, int, int, int);
method public int describeContents();

View File

@ -19,6 +19,7 @@ package android.telephony;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.os.Binder;
import android.os.IBinder;
import android.os.Parcel;
@ -130,7 +131,10 @@ public final class SignalStrengthUpdateRequest implements Parcelable {
/**
* Set the builder object if require reporting on the system thresholds when device is idle.
*
* <p>This can only used by the system caller. Requires permission
* <p>This is intended to be used by the system privileged caller only. When setting to
* {@code true}, signal strength update request through
* {@link TelephonyManager#setSignalStrengthUpdateRequest(SignalStrengthUpdateRequest)}
* will require permission
* {@link android.Manifest.permission#LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH}.
*
* @param isSystemThresholdReportingRequestedWhileIdle true if request reporting on the
@ -138,6 +142,7 @@ public final class SignalStrengthUpdateRequest implements Parcelable {
* @return the builder to facilitate the chaining
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH)
public @NonNull Builder setSystemThresholdReportingRequestedWhileIdle(
boolean isSystemThresholdReportingRequestedWhileIdle) {
@ -191,6 +196,7 @@ public final class SignalStrengthUpdateRequest implements Parcelable {
*
* @hide
*/
@SystemApi
public boolean isSystemThresholdReportingRequestedWhileIdle() {
return mIsSystemThresholdReportingRequestedWhileIdle;
}