diff options
-rw-r--r-- | Android.bp | 17 | ||||
-rw-r--r-- | api/Android.bp | 5 | ||||
-rw-r--r-- | api/api.go | 3 | ||||
-rw-r--r-- | api/api_test.go | 9 | ||||
-rw-r--r-- | core/api/system-current.txt | 25 | ||||
-rw-r--r-- | core/api/test-current.txt | 8 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/Android.bp | 20 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/current.txt | 1 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/module-lib-current.txt | 1 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/module-lib-removed.txt | 1 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/removed.txt | 1 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/system-current.txt | 26 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/system-lint-baseline.txt | 47 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/system-removed.txt | 1 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/test-current.txt | 9 | ||||
-rw-r--r-- | packages/CrashRecovery/framework/api/test-removed.txt | 1 |
16 files changed, 128 insertions, 47 deletions
diff --git a/Android.bp b/Android.bp index bfe749a7b49b..26d0d65f329c 100644 --- a/Android.bp +++ b/Android.bp @@ -144,9 +144,6 @@ filegroup { // For the generated R.java and Manifest.java ":framework-res{.aapt.srcjar}", - // Java/AIDL sources to be moved out to CrashRecovery module - ":framework-crashrecovery-sources", - // etc. ":framework-javastream-protos", ":statslog-framework-java-gen", // FrameworkStatsLog.java @@ -432,7 +429,12 @@ java_library { name: "framework-non-updatable-unbundled-impl-libs", static_libs: [ "framework-location.impl", - ], + ] + select(soong_config_variable("ANDROID", "release_crashrecovery_module"), { + "true": [], + default: [ + "framework-platformcrashrecovery.impl", + ], + }), sdk_version: "core_platform", installable: false, } @@ -565,7 +567,12 @@ java_library { "documents-ui-compat-config", "calendar-provider-compat-config", "contacts-provider-platform-compat-config", - ], + ] + select(soong_config_variable("ANDROID", "release_crashrecovery_module"), { + "true": [], + default: [ + "framework-platformcrashrecovery-compat-config", + ], + }), } platform_compat_config { diff --git a/api/Android.bp b/api/Android.bp index 3c92cb26b0fe..ff674c7f8bd3 100644 --- a/api/Android.bp +++ b/api/Android.bp @@ -101,7 +101,9 @@ combined_apis { "true": [ "framework-crashrecovery", ], - default: [], + default: [ + "framework-platformcrashrecovery", + ], }) + select(release_flag("RELEASE_RANGING_STACK"), { true: [ "framework-ranging", @@ -436,6 +438,7 @@ java_defaults { impl_library_visibility: ["//frameworks/base"], defaults_visibility: [ "//frameworks/base/location", + "//frameworks/base/packages/CrashRecovery/framework", "//frameworks/base/nfc", ], plugins: ["error_prone_android_framework"], diff --git a/api/api.go b/api/api.go index 29083dfc8968..f32bdc32f75d 100644 --- a/api/api.go +++ b/api/api.go @@ -28,6 +28,7 @@ const conscrypt = "conscrypt.module.public.api" const i18n = "i18n.module.public.api" const virtualization = "framework-virtualization" const location = "framework-location" +const platformCrashrecovery = "framework-platformcrashrecovery" var core_libraries_modules = []string{art, conscrypt, i18n} @@ -39,7 +40,7 @@ var core_libraries_modules = []string{art, conscrypt, i18n} // APIs. // In addition, the modules in this list are allowed to contribute to test APIs // stubs. -var non_updatable_modules = []string{virtualization, location} +var non_updatable_modules = []string{virtualization, location, platformCrashrecovery} // The intention behind this soong plugin is to generate a number of "merged" // API-related modules that would otherwise require a large amount of very diff --git a/api/api_test.go b/api/api_test.go index 166f053978f2..28109b5ea2cf 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -78,10 +78,7 @@ func gatherRequiredDepsForTest() string { "stub-annotations", } - extraSdkLibraryModules := []string{ - "framework-virtualization", - "framework-location", - } + extraSdkLibraryModules := non_updatable_modules extraSystemModules := []string{ "core-public-stubs-system-modules", @@ -184,10 +181,10 @@ func gatherRequiredDepsForTest() string { func TestCombinedApisDefaults(t *testing.T) { + testNonUpdatableModules := append(non_updatable_modules, "framework-foo", "framework-bar") result := android.GroupFixturePreparers( prepareForTestWithCombinedApis, - java.FixtureWithLastReleaseApis( - "framework-location", "framework-virtualization", "framework-foo", "framework-bar"), + java.FixtureWithLastReleaseApis(testNonUpdatableModules...), android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.VendorVars = map[string]map[string]string{ "boolean_var": { diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 389789b5fff4..afd7c4395b2b 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -14083,31 +14083,6 @@ package android.service.wallpapereffectsgeneration { } -package android.service.watchdog { - - public abstract class ExplicitHealthCheckService extends android.app.Service { - ctor public ExplicitHealthCheckService(); - method public final void notifyHealthCheckPassed(@NonNull String); - method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent); - method public abstract void onCancelHealthCheck(@NonNull String); - method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages(); - method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages(); - method public abstract void onRequestHealthCheck(@NonNull String); - field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"; - field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService"; - } - - public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable { - ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long); - method public int describeContents(); - method public long getHealthCheckTimeoutMillis(); - method @NonNull public String getPackageName(); - method public void writeToParcel(android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR; - } - -} - package android.service.wearable { @FlaggedApi("android.app.wearable.enable_data_request_observer_api") public interface WearableSensingDataRequester { diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 79bea0188308..b79db4e5bd51 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -3290,14 +3290,6 @@ package android.service.voice { } -package android.service.watchdog { - - public abstract class ExplicitHealthCheckService extends android.app.Service { - method public void setCallback(@Nullable android.os.RemoteCallback); - } - -} - package android.speech { public abstract class RecognitionService extends android.app.Service { diff --git a/packages/CrashRecovery/framework/Android.bp b/packages/CrashRecovery/framework/Android.bp index 1be776d07674..2beffda34b05 100644 --- a/packages/CrashRecovery/framework/Android.bp +++ b/packages/CrashRecovery/framework/Android.bp @@ -6,7 +6,25 @@ filegroup { ], path: "java", visibility: [ - "//frameworks/base:__subpackages__", "//packages/modules/CrashRecovery/framework", ], } + +java_sdk_library { + name: "framework-platformcrashrecovery", + srcs: [":framework-crashrecovery-sources"], + defaults: ["framework-non-updatable-unbundled-defaults"], + aidl: { + include_dirs: [ + "frameworks/base/core/java", + ], + }, + impl_library_visibility: [ + "//frameworks/base:__subpackages__", + ], +} + +platform_compat_config { + name: "framework-platformcrashrecovery-compat-config", + src: ":framework-platformcrashrecovery", +} diff --git a/packages/CrashRecovery/framework/api/current.txt b/packages/CrashRecovery/framework/api/current.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/packages/CrashRecovery/framework/api/current.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/packages/CrashRecovery/framework/api/module-lib-current.txt b/packages/CrashRecovery/framework/api/module-lib-current.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/packages/CrashRecovery/framework/api/module-lib-current.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/packages/CrashRecovery/framework/api/module-lib-removed.txt b/packages/CrashRecovery/framework/api/module-lib-removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/packages/CrashRecovery/framework/api/module-lib-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/packages/CrashRecovery/framework/api/removed.txt b/packages/CrashRecovery/framework/api/removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/packages/CrashRecovery/framework/api/removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/packages/CrashRecovery/framework/api/system-current.txt b/packages/CrashRecovery/framework/api/system-current.txt new file mode 100644 index 000000000000..3a48a4ab02f2 --- /dev/null +++ b/packages/CrashRecovery/framework/api/system-current.txt @@ -0,0 +1,26 @@ +// Signature format: 2.0 +package android.service.watchdog { + + public abstract class ExplicitHealthCheckService extends android.app.Service { + ctor public ExplicitHealthCheckService(); + method public final void notifyHealthCheckPassed(@NonNull String); + method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent); + method public abstract void onCancelHealthCheck(@NonNull String); + method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages(); + method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages(); + method public abstract void onRequestHealthCheck(@NonNull String); + field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"; + field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService"; + } + + public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable { + ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long); + method public int describeContents(); + method public long getHealthCheckTimeoutMillis(); + method @NonNull public String getPackageName(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR; + } + +} + diff --git a/packages/CrashRecovery/framework/api/system-lint-baseline.txt b/packages/CrashRecovery/framework/api/system-lint-baseline.txt new file mode 100644 index 000000000000..f52be7cc12ca --- /dev/null +++ b/packages/CrashRecovery/framework/api/system-lint-baseline.txt @@ -0,0 +1,47 @@ +// Baseline format: 1.0 +InvalidNullabilityOverride: android.service.watchdog.ExplicitHealthCheckService#onBind(android.content.Intent): + Invalid nullability on type android.content.Intent in parameter `intent` in method `onBind`. Parameter in method override cannot use a non-null type when the corresponding type from the super method is platform-nullness. +InvalidNullabilityOverride: android.service.watchdog.ExplicitHealthCheckService#onBind(android.content.Intent) parameter #0: + Invalid nullability on type android.content.Intent in parameter `intent` in method `onBind`. Parameter in method override cannot use a non-null type when the corresponding type from the super method is platform-nullness. + + +MissingNullability: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#writeToParcel(android.os.Parcel,int): + Missing nullability on parameter `parcel` in method `writeToParcel` + + +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService: + New API must be flagged with @FlaggedApi: class android.service.watchdog.ExplicitHealthCheckService +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#BIND_PERMISSION: + New API must be flagged with @FlaggedApi: field android.service.watchdog.ExplicitHealthCheckService.BIND_PERMISSION +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#SERVICE_INTERFACE: + New API must be flagged with @FlaggedApi: field android.service.watchdog.ExplicitHealthCheckService.SERVICE_INTERFACE +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#notifyHealthCheckPassed(String): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.notifyHealthCheckPassed(String) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#onBind(android.content.Intent): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.onBind(android.content.Intent) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#onCancelHealthCheck(String): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.onCancelHealthCheck(String) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#onGetRequestedPackages(): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.onGetRequestedPackages() +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#onGetSupportedPackages(): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.onGetSupportedPackages() +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService#onRequestHealthCheck(String): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.onRequestHealthCheck(String) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig: + New API must be flagged with @FlaggedApi: class android.service.watchdog.ExplicitHealthCheckService.PackageConfig +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#CREATOR: + New API must be flagged with @FlaggedApi: field android.service.watchdog.ExplicitHealthCheckService.PackageConfig.CREATOR +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#PackageConfig(String, long): + New API must be flagged with @FlaggedApi: constructor android.service.watchdog.ExplicitHealthCheckService.PackageConfig(String,long) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#PackageConfig(String,long): + New API must be flagged with @FlaggedApi: constructor android.service.watchdog.ExplicitHealthCheckService.PackageConfig(String,long) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#describeContents(): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.PackageConfig.describeContents() +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#getHealthCheckTimeoutMillis(): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.PackageConfig.getHealthCheckTimeoutMillis() +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#getPackageName(): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.PackageConfig.getPackageName() +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#writeToParcel(android.os.Parcel, int): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.PackageConfig.writeToParcel(android.os.Parcel,int) +UnflaggedApi: android.service.watchdog.ExplicitHealthCheckService.PackageConfig#writeToParcel(android.os.Parcel,int): + New API must be flagged with @FlaggedApi: method android.service.watchdog.ExplicitHealthCheckService.PackageConfig.writeToParcel(android.os.Parcel,int)
\ No newline at end of file diff --git a/packages/CrashRecovery/framework/api/system-removed.txt b/packages/CrashRecovery/framework/api/system-removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/packages/CrashRecovery/framework/api/system-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/packages/CrashRecovery/framework/api/test-current.txt b/packages/CrashRecovery/framework/api/test-current.txt new file mode 100644 index 000000000000..54f501faa250 --- /dev/null +++ b/packages/CrashRecovery/framework/api/test-current.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.service.watchdog { + + public abstract class ExplicitHealthCheckService extends android.app.Service { + method public void setCallback(@Nullable android.os.RemoteCallback); + } + +} + diff --git a/packages/CrashRecovery/framework/api/test-removed.txt b/packages/CrashRecovery/framework/api/test-removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/packages/CrashRecovery/framework/api/test-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 |