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

Commit bace9a17 authored by Paul Duffin's avatar Paul Duffin
Browse files

Switch service-permissions to java_sdk_library

Previously, the droidstubs generated the system-server API into the
current.txt and removed.txt files which are usually associated with the
public API surface. This change moves that specification into the
system-server....txt files and verifies that no public APIs are leaking
into the stubs.

Bug: 155164730
Test: m java
Change-Id: I907533c36dcb6c0ef679b0098d497d88476d8b95
parent cdde51ea
Loading
Loading
Loading
Loading
+28 −10
Original line number Diff line number Diff line
@@ -63,9 +63,9 @@ mainline_service_stubs_args =
    "--hide-annotation android.annotation.Hide " +
    "--hide InternalClasses " // com.android.* classes are okay in this interface

// Defaults for mainline module provided java_sdk_library instances.
// Defaults common to all mainline module java_sdk_library instances.
java_defaults {
    name: "framework-module-defaults",
    name: "framework-module-common-defaults",

    // Additional annotations used for compiling both the implementation and the
    // stubs libraries.
@@ -88,14 +88,6 @@ java_defaults {
        enabled: true,
        sdk_version: "module_current",
    },
    system: {
        enabled: true,
        sdk_version: "module_current",
    },
    module_lib: {
        enabled: true,
        sdk_version: "module_current",
    },

    // Configure framework module specific metalava options.
    droiddoc_options: [mainline_stubs_args],
@@ -127,6 +119,32 @@ java_defaults {
    sdk_version: "module_current",
}

// Defaults for mainline module provided java_sdk_library instances.
java_defaults {
    name: "framework-module-defaults",
    defaults: ["framework-module-common-defaults"],

    system: {
        enabled: true,
        sdk_version: "module_current",
    },
    module_lib: {
        enabled: true,
        sdk_version: "module_current",
    },
}

// Defaults for mainline module system server provided java_sdk_library instances.
java_defaults {
    name: "framework-system-server-module-defaults",
    defaults: ["framework-module-common-defaults"],

    system_server: {
        enabled: true,
        sdk_version: "module_current",
    },
}

stubs_defaults {
    name: "framework-module-stubs-defaults-publicapi",
    args: mainline_framework_stubs_args,
+15 −28
Original line number Diff line number Diff line
@@ -20,14 +20,26 @@ filegroup {
    path: "java",
}

java_library {
java_sdk_library {
    name: "service-permission",
    defaults: ["framework-system-server-module-defaults"],
    visibility: [
        "//frameworks/base/services/core",
        "//frameworks/base/apex/permission",
        "//frameworks/base/apex/permission/testing",
        "//frameworks/base/apex/permission/tests",
        "//frameworks/base/services/tests/mockingservicestests",
    ],
    impl_library_visibility: [
        "//visibility:override",
        "//frameworks/base/apex/permission/tests",
        "//frameworks/base/services/tests/mockingservicestests",
        "//frameworks/base/services/tests/servicestests",
    ],
    srcs: [
        ":service-permission-sources",
    ],
    sdk_version: "module_current",
    libs: [
        "framework-annotations-lib",
        "framework-permission",
    ],
    apex_available: [
@@ -36,28 +48,3 @@ java_library {
    ],
    installable: true,
}

droidstubs {
    name: "service-permission-stubs-srcs",
    srcs: [ ":service-permission-sources" ],
    defaults: ["service-module-stubs-srcs-defaults"],
    check_api: {
        last_released: {
            api_file: ":service-permission.api.system-server.latest",
            removed_api_file: ":service-permission-removed.api.system-server.latest",
        },
        api_lint: {
            new_since: ":service-permission.api.system-server.latest",
        },
    },
    visibility: ["//visibility:private"],
    dist: { dest: "service-permission.txt" },
}

java_library {
    name: "service-permission-stubs",
    srcs: [":service-permission-stubs-srcs"],
    defaults: ["service-module-stubs-defaults"],
    visibility: ["//frameworks/base/services/core"],
    dist: { dest: "service-permission.jar" },
}
+0 −45
Original line number Diff line number Diff line
// Signature format: 2.0
package com.android.permission.persistence {

  public interface RuntimePermissionsPersistence {
    method @NonNull public static com.android.permission.persistence.RuntimePermissionsPersistence createInstance();
    method public void deleteForUser(@NonNull android.os.UserHandle);
    method @Nullable public com.android.permission.persistence.RuntimePermissionsState readForUser(@NonNull android.os.UserHandle);
    method public void writeForUser(@NonNull com.android.permission.persistence.RuntimePermissionsState, @NonNull android.os.UserHandle);
  }

  public final class RuntimePermissionsState {
    ctor public RuntimePermissionsState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>);
    method @Nullable public String getFingerprint();
    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getPackagePermissions();
    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getSharedUserPermissions();
    method public int getVersion();
    field public static final int NO_VERSION = -1; // 0xffffffff
  }

  public static final class RuntimePermissionsState.PermissionState {
    ctor public RuntimePermissionsState.PermissionState(@NonNull String, boolean, int);
    method public int getFlags();
    method @NonNull public String getName();
    method public boolean isGranted();
  }

}

package com.android.role.persistence {

  public interface RolesPersistence {
    method @NonNull public static com.android.role.persistence.RolesPersistence createInstance();
    method public void deleteForUser(@NonNull android.os.UserHandle);
    method @Nullable public com.android.role.persistence.RolesState readForUser(@NonNull android.os.UserHandle);
    method public void writeForUser(@NonNull com.android.role.persistence.RolesState, @NonNull android.os.UserHandle);
  }

  public final class RolesState {
    ctor public RolesState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.Set<java.lang.String>>);
    method @Nullable public String getPackagesHash();
    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRoles();
    method public int getVersion();
  }

}
+46 −0
Original line number Diff line number Diff line
// Signature format: 2.0
package com.android.permission.persistence {

  public interface RuntimePermissionsPersistence {
    method @NonNull public static com.android.permission.persistence.RuntimePermissionsPersistence createInstance();
    method public void deleteForUser(@NonNull android.os.UserHandle);
    method @Nullable public com.android.permission.persistence.RuntimePermissionsState readForUser(@NonNull android.os.UserHandle);
    method public void writeForUser(@NonNull com.android.permission.persistence.RuntimePermissionsState, @NonNull android.os.UserHandle);
  }

  public final class RuntimePermissionsState {
    ctor public RuntimePermissionsState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>);
    method @Nullable public String getFingerprint();
    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getPackagePermissions();
    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getSharedUserPermissions();
    method public int getVersion();
    field public static final int NO_VERSION = -1; // 0xffffffff
  }

  public static final class RuntimePermissionsState.PermissionState {
    ctor public RuntimePermissionsState.PermissionState(@NonNull String, boolean, int);
    method public int getFlags();
    method @NonNull public String getName();
    method public boolean isGranted();
  }

}

package com.android.role.persistence {

  public interface RolesPersistence {
    method @NonNull public static com.android.role.persistence.RolesPersistence createInstance();
    method public void deleteForUser(@NonNull android.os.UserHandle);
    method @Nullable public com.android.role.persistence.RolesState readForUser(@NonNull android.os.UserHandle);
    method public void writeForUser(@NonNull com.android.role.persistence.RolesState, @NonNull android.os.UserHandle);
  }

  public final class RolesState {
    ctor public RolesState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.Set<java.lang.String>>);
    method @Nullable public String getPackagesHash();
    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRoles();
    method public int getVersion();
  }

}
+1 −0
Original line number Diff line number Diff line
// Signature format: 2.0
Loading