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

Commit d1fa427d authored by Paul Hu's avatar Paul Hu Committed by Android (Google) Code Review
Browse files

Merge "Replace the permission of internal connectivity checks"

parents adcd4302 a6af6b6c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ package android {
    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
    field public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
@@ -126,6 +126,7 @@ package android {
    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
@@ -135,6 +136,7 @@ package android {
    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
    field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
@@ -4342,7 +4344,7 @@ package android.net {
  public class ConnectivityManager {
    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
    method @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS) public String getCaptivePortalServerUrl();
    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
+16 −5
Original line number Diff line number Diff line
@@ -1006,7 +1006,7 @@ public class ConnectivityManager {
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL)
    @RequiresPermission(android.Manifest.permission.NETWORK_STACK)
    @Nullable
    public Network getActiveNetworkForUid(int uid) {
        return getActiveNetworkForUid(uid, false);
@@ -1135,7 +1135,7 @@ public class ConnectivityManager {
     *
     * {@hide}
     */
    @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL)
    @RequiresPermission(android.Manifest.permission.NETWORK_STACK)
    @UnsupportedAppUsage
    public NetworkInfo getActiveNetworkInfoForUid(int uid) {
        return getActiveNetworkInfoForUid(uid, false);
@@ -1370,10 +1370,14 @@ public class ConnectivityManager {
     * The system network validation may be using different strategies to detect captive portals,
     * so this method does not necessarily return a URL used by the system. It only returns a URL
     * that may be relevant for other components trying to detect captive portals.
     *
     * @hide
     * @deprecated This API returns URL which is not guaranteed to be one of the URLs used by the
     *             system.
     */
    @Deprecated
    @SystemApi
    @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS)
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public String getCaptivePortalServerUrl() {
        try {
            return mService.getCaptivePortalServerUrl();
@@ -2399,6 +2403,7 @@ public class ConnectivityManager {
     * @return an array of 0 or more {@code String} of tethered dhcp ranges.
     * {@hide}
     */
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public String[] getTetheredDhcpRanges() {
        try {
            return mService.getTetheredDhcpRanges();
@@ -2978,7 +2983,7 @@ public class ConnectivityManager {
     *        HTTP proxy.  A {@code null} value will clear the global HTTP proxy.
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL)
    @RequiresPermission(android.Manifest.permission.NETWORK_STACK)
    public void setGlobalProxy(ProxyInfo p) {
        try {
            mService.setGlobalProxy(p);
@@ -3123,6 +3128,7 @@ public class ConnectivityManager {
     * Get the mobile provisioning url.
     * {@hide}
     */
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public String getMobileProvisioningUrl() {
        try {
            return mService.getMobileProvisioningUrl();
@@ -3169,6 +3175,7 @@ public class ConnectivityManager {

    /** {@hide} - returns the factory serial number */
    @UnsupportedAppUsage
    @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
    public int registerNetworkFactory(Messenger messenger, String name) {
        try {
            return mService.registerNetworkFactory(messenger, name);
@@ -3179,6 +3186,7 @@ public class ConnectivityManager {

    /** {@hide} */
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
    @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
    public void unregisterNetworkFactory(Messenger messenger) {
        try {
            mService.unregisterNetworkFactory(messenger);
@@ -3196,6 +3204,7 @@ public class ConnectivityManager {
     * Register a NetworkAgent with ConnectivityService.
     * @return NetID corresponding to NetworkAgent.
     */
    @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
    public int registerNetworkAgent(Messenger messenger, NetworkInfo ni, LinkProperties lp,
            NetworkCapabilities nc, int score, NetworkMisc misc) {
        return registerNetworkAgent(messenger, ni, lp, nc, score, misc,
@@ -3207,6 +3216,7 @@ public class ConnectivityManager {
     * Register a NetworkAgent with ConnectivityService.
     * @return NetID corresponding to NetworkAgent.
     */
    @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
    public int registerNetworkAgent(Messenger messenger, NetworkInfo ni, LinkProperties lp,
            NetworkCapabilities nc, int score, NetworkMisc misc, int factorySerialNumber) {
        try {
@@ -4201,7 +4211,7 @@ public class ConnectivityManager {
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL)
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public void startCaptivePortalApp(Network network) {
        try {
            mService.startCaptivePortalApp(network);
@@ -4317,6 +4327,7 @@ public class ConnectivityManager {
     * Resets all connectivity manager settings back to factory defaults.
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public void factoryReset() {
        try {
            mService.factoryReset();
+13 −1
Original line number Diff line number Diff line
@@ -1614,6 +1614,14 @@
    <permission android:name="android.permission.NETWORK_STACK"
        android:protectionLevel="signature" />

    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
                android:protectionLevel="signature" />

    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
    <permission android:name="android.permission.NETWORK_FACTORY"
                android:protectionLevel="signature" />

    <!-- Allows Settings and SystemUI to call methods in Networking services
         <p>Not for use by third-party or privileged applications.
         @SystemApi
@@ -1744,7 +1752,11 @@
    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
        android:protectionLevel="normal" />

    <!-- @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
         uses have been replaced by a more appropriate permission. Most uses have been replaced with
         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
         individual functions to figure out what permission now protects the individual function.
         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
         @hide -->
    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
        android:protectionLevel="signature|privileged" />
+1 −1
Original line number Diff line number Diff line
@@ -508,7 +508,7 @@
        -->
    <string translatable="false" name="config_mobile_hotspot_provision_app_no_ui"></string>
    <!-- Sent in response to a provisioning check. The caller must hold the
         permission android.permission.CONNECTIVITY_INTERNAL for Settings to
         permission android.permission.TETHER_PRIVILEGED for Settings to
         receive this response.

         See config_mobile_hotspot_provision_response
+2 −2
Original line number Diff line number Diff line
@@ -73,9 +73,9 @@
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <!-- This permission is added for API call setAirplaneMode() in ConnectivityManager -->
    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
    <uses-permission android:name="android.permission.TETHER_PRIVILEGED" />
    <!-- This permission is added for API call setAirplaneMode() in ConnectivityManager -->
    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.DEVICE_POWER" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Loading