Annotate @SystemApi with required permissions.
Most @SystemApi methods should be protected with system (or higher) permissions, so annotate common methods with @RequiresPermission to make automatic verification easier. Verification is really only relevant when calling into system services (where permissions checking can happen on the other side of a Binder call), so annotate managers with the new @SystemService annotation, which is now automatically documented. This is purely a docs change; no logic changes are being made. Test: make -j32 update-api && make -j32 offline-sdk-docs Bug: 62263906 Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
This commit is contained in:
@@ -19,6 +19,7 @@ package android.app.usage;
|
|||||||
import static com.android.internal.util.Preconditions.checkNotNull;
|
import static com.android.internal.util.Preconditions.checkNotNull;
|
||||||
|
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.SystemService;
|
||||||
import android.app.usage.NetworkStats.Bucket;
|
import android.app.usage.NetworkStats.Bucket;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
@@ -82,6 +83,7 @@ import android.util.Log;
|
|||||||
* the above permission, even to access an app's own data usage, and carrier-privileged apps were
|
* the above permission, even to access an app's own data usage, and carrier-privileged apps were
|
||||||
* not included.
|
* not included.
|
||||||
*/
|
*/
|
||||||
|
@SystemService(Context.NETWORK_STATS_SERVICE)
|
||||||
public class NetworkStatsManager {
|
public class NetworkStatsManager {
|
||||||
private static final String TAG = "NetworkStatsManager";
|
private static final String TAG = "NetworkStatsManager";
|
||||||
private static final boolean DBG = false;
|
private static final boolean DBG = false;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package android.net;
|
package android.net;
|
||||||
|
|
||||||
|
import android.annotation.SystemService;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.IEthernetManager;
|
import android.net.IEthernetManager;
|
||||||
import android.net.IEthernetServiceListener;
|
import android.net.IEthernetServiceListener;
|
||||||
@@ -31,6 +32,7 @@ import java.util.ArrayList;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemService(Context.ETHERNET_SERVICE)
|
||||||
public class EthernetManager {
|
public class EthernetManager {
|
||||||
private static final String TAG = "EthernetManager";
|
private static final String TAG = "EthernetManager";
|
||||||
private static final int MSG_AVAILABILITY_CHANGED = 1000;
|
private static final int MSG_AVAILABILITY_CHANGED = 1000;
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ package android.net;
|
|||||||
import static com.android.internal.util.Preconditions.checkNotNull;
|
import static com.android.internal.util.Preconditions.checkNotNull;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.SystemService;
|
||||||
|
import android.content.Context;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
@@ -34,12 +36,9 @@ import java.net.Socket;
|
|||||||
* This class contains methods for managing IPsec sessions, which will perform kernel-space
|
* This class contains methods for managing IPsec sessions, which will perform kernel-space
|
||||||
* encryption and decryption of socket or Network traffic.
|
* encryption and decryption of socket or Network traffic.
|
||||||
*
|
*
|
||||||
* <p>An IpSecManager may be obtained by calling {@link
|
|
||||||
* android.content.Context#getSystemService(String) Context#getSystemService(String)} with {@link
|
|
||||||
* android.content.Context#IPSEC_SERVICE Context#IPSEC_SERVICE}
|
|
||||||
*
|
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemService(Context.IPSEC_SERVICE)
|
||||||
public final class IpSecManager {
|
public final class IpSecManager {
|
||||||
private static final String TAG = "IpSecManager";
|
private static final String TAG = "IpSecManager";
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package android.net;
|
package android.net;
|
||||||
|
|
||||||
|
import android.annotation.RequiresPermission;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.app.DownloadManager;
|
import android.app.DownloadManager;
|
||||||
import android.app.backup.BackupManager;
|
import android.app.backup.BackupManager;
|
||||||
@@ -243,6 +244,7 @@ public class TrafficStats {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
|
||||||
public static void setThreadStatsUid(int uid) {
|
public static void setThreadStatsUid(int uid) {
|
||||||
NetworkManagementSocketTagger.setThreadSocketStatsUid(uid);
|
NetworkManagementSocketTagger.setThreadSocketStatsUid(uid);
|
||||||
}
|
}
|
||||||
@@ -255,6 +257,7 @@ public class TrafficStats {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
|
||||||
public static void clearThreadStatsUid() {
|
public static void clearThreadStatsUid() {
|
||||||
NetworkManagementSocketTagger.setThreadSocketStatsUid(-1);
|
NetworkManagementSocketTagger.setThreadSocketStatsUid(-1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package android.net.nsd;
|
package android.net.nsd;
|
||||||
|
|
||||||
import android.annotation.SdkConstant;
|
import android.annotation.SdkConstant;
|
||||||
|
import android.annotation.SystemService;
|
||||||
import android.annotation.SdkConstant.SdkConstantType;
|
import android.annotation.SdkConstant.SdkConstantType;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -113,11 +114,9 @@ import com.android.internal.util.Protocol;
|
|||||||
* http://www.iana.org/form/ports-service. Existing services can be found at
|
* http://www.iana.org/form/ports-service. Existing services can be found at
|
||||||
* http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
|
* http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
|
||||||
*
|
*
|
||||||
* Get an instance of this class by calling {@link android.content.Context#getSystemService(String)
|
|
||||||
* Context.getSystemService(Context.NSD_SERVICE)}.
|
|
||||||
*
|
|
||||||
* {@see NsdServiceInfo}
|
* {@see NsdServiceInfo}
|
||||||
*/
|
*/
|
||||||
|
@SystemService(Context.NSD_SERVICE)
|
||||||
public final class NsdManager {
|
public final class NsdManager {
|
||||||
private static final String TAG = NsdManager.class.getSimpleName();
|
private static final String TAG = NsdManager.class.getSimpleName();
|
||||||
private static final boolean DBG = false;
|
private static final boolean DBG = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user