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

Commit e18dde9c authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 10843824 from 576099b9 to 24Q1-release

Change-Id: I588bd7597848da5acaf6ca3087a3b8419d0104dd
parents 7dce61f0 576099b9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@
gen/
.vscode/
*.code-workspace
.gradle/

AconfigFlags.bp

0 → 100644
+279 −0
Original line number Diff line number Diff line
// Copyright (C) 2023 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

aconfig_srcjars = [
    ":android.app.usage.flags-aconfig-java{.generated_srcjars}",
    ":android.content.pm.flags-aconfig-java{.generated_srcjars}",
    ":android.os.flags-aconfig-java{.generated_srcjars}",
    ":android.os.vibrator.flags-aconfig-java{.generated_srcjars}",
    ":android.security.flags-aconfig-java{.generated_srcjars}",
    ":android.view.flags-aconfig-java{.generated_srcjars}",
    ":camera_platform_flags_core_java_lib{.generated_srcjars}",
    ":com.android.window.flags.window-aconfig-java{.generated_srcjars}",
    ":com.android.hardware.input-aconfig-java{.generated_srcjars}",
    ":com.android.text.flags-aconfig-java{.generated_srcjars}",
    ":telecom_flags_core_java_lib{.generated_srcjars}",
    ":telephony_flags_core_java_lib{.generated_srcjars}",
    ":android.companion.virtual.flags-aconfig-java{.generated_srcjars}",
    ":android.view.inputmethod.flags-aconfig-java{.generated_srcjars}",
    ":android.widget.flags-aconfig-java{.generated_srcjars}",
    ":com.android.media.flags.bettertogether-aconfig-java{.generated_srcjars}",
    ":sdk_sandbox_flags_lib{.generated_srcjars}",
    ":android.permission.flags-aconfig-java{.generated_srcjars}",
    ":hwui_flags_java_lib{.generated_srcjars}",
]

filegroup {
    name: "framework-minus-apex-aconfig-srcjars",
    srcs: aconfig_srcjars,
}

// Aconfig declarations and libraries for the core framework
java_defaults {
    name: "framework-minus-apex-aconfig-libraries",
    // Add java_aconfig_libraries to here to add them to the core framework
    srcs: aconfig_srcjars,
    // Add aconfig-annotations-lib as a dependency for the optimization
    libs: ["aconfig-annotations-lib"],
}

// Default flags for java_aconfig_libraries that go into framework-minus-apex
// These libraries will not work standalone
java_defaults {
    name: "framework-minus-apex-aconfig-java-defaults",
    sdk_version: "core_platform",
    libs: ["fake_device_config"],
}

// Camera
java_aconfig_library {
    name: "camera_platform_flags_core_java_lib",
    aconfig_declarations: "camera_platform_flags",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Telecom
java_aconfig_library {
    name: "telecom_flags_core_java_lib",
    aconfig_declarations: "telecom_flags",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Telephony
java_aconfig_library {
    name: "telephony_flags_core_java_lib",
    aconfig_declarations: "telephony_flags",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Window
aconfig_declarations {
    name: "com.android.window.flags.window-aconfig",
    package: "com.android.window.flags",
    srcs: ["core/java/android/window/flags/*.aconfig"],
}

java_aconfig_library {
    name: "com.android.window.flags.window-aconfig-java",
    aconfig_declarations: "com.android.window.flags.window-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Input
aconfig_declarations {
    name: "com.android.hardware.input.input-aconfig",
    package: "com.android.hardware.input",
    srcs: ["core/java/android/hardware/input/*.aconfig"],
}

java_aconfig_library {
    name: "com.android.hardware.input-aconfig-java",
    aconfig_declarations: "com.android.hardware.input.input-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Text
aconfig_declarations {
    name: "com.android.text.flags-aconfig",
    package: "com.android.text.flags",
    srcs: ["core/java/android/text/flags/*.aconfig"],
}

java_aconfig_library {
    name: "com.android.text.flags-aconfig-java",
    aconfig_declarations: "com.android.text.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

cc_aconfig_library {
    name: "aconfig_text_flags_c_lib",
    aconfig_declarations: "com.android.text.flags-aconfig",
}

// Security
aconfig_declarations {
    name: "android.security.flags-aconfig",
    package: "android.security",
    srcs: ["core/java/android/security/*.aconfig"],
}

java_aconfig_library {
    name: "android.security.flags-aconfig-java",
    aconfig_declarations: "android.security.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

java_aconfig_library {
    name: "android.security.flags-aconfig-java-host",
    aconfig_declarations: "android.security.flags-aconfig",
    host_supported: true,
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// UsageStats
aconfig_declarations {
    name: "android.app.usage.flags-aconfig",
    package: "android.app.usage",
    srcs: ["core/java/android/app/usage/*.aconfig"],
}

java_aconfig_library {
    name: "android.app.usage.flags-aconfig-java",
    aconfig_declarations: "android.app.usage.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// OS
aconfig_declarations {
    name: "android.os.flags-aconfig",
    package: "android.os",
    srcs: ["core/java/android/os/*.aconfig"],
}

java_aconfig_library {
    name: "android.os.flags-aconfig-java",
    aconfig_declarations: "android.os.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// VirtualDeviceManager
java_aconfig_library {
    name: "android.companion.virtual.flags-aconfig-java",
    aconfig_declarations: "android.companion.virtual.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

aconfig_declarations {
    name: "android.companion.virtual.flags-aconfig",
    package: "android.companion.virtual.flags",
    srcs: ["core/java/android/companion/virtual/*.aconfig"],
}

// InputMethod
aconfig_declarations {
    name: "android.view.inputmethod.flags-aconfig",
    package: "android.view.inputmethod",
    srcs: ["core/java/android/view/inputmethod/flags.aconfig"],
}

java_aconfig_library {
    name: "android.view.inputmethod.flags-aconfig-java",
    aconfig_declarations: "android.view.inputmethod.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Vibrator
aconfig_declarations {
    name: "android.os.vibrator.flags-aconfig",
    package: "android.os.vibrator",
    srcs: ["core/java/android/os/vibrator/*.aconfig"],
}

java_aconfig_library {
    name: "android.os.vibrator.flags-aconfig-java",
    aconfig_declarations: "android.os.vibrator.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// View
aconfig_declarations {
    name: "android.view.flags-aconfig",
    package: "android.view.flags",
    srcs: ["core/java/android/view/flags/*.aconfig"],
}

java_aconfig_library {
    name: "android.view.flags-aconfig-java",
    aconfig_declarations: "android.view.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Widget
aconfig_declarations {
    name: "android.widget.flags-aconfig",
    package: "android.widget.flags",
    srcs: ["core/java/android/widget/flags/*.aconfig"],
}

java_aconfig_library {
    name: "android.widget.flags-aconfig-java",
    aconfig_declarations: "android.widget.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Package Manager
aconfig_declarations {
    name: "android.content.pm.flags-aconfig",
    package: "android.content.pm",
    srcs: ["core/java/android/content/pm/*.aconfig"],
}

java_aconfig_library {
    name: "android.content.pm.flags-aconfig-java",
    aconfig_declarations: "android.content.pm.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Media BetterTogether
aconfig_declarations {
    name: "com.android.media.flags.bettertogether-aconfig",
    package: "com.android.media.flags",
    srcs: ["media/java/android/media/flags/media_better_together.aconfig"],
}

java_aconfig_library {
    name: "com.android.media.flags.bettertogether-aconfig-java",
    aconfig_declarations: "com.android.media.flags.bettertogether-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Permissions
aconfig_declarations {
    name: "android.permission.flags-aconfig",
    package: "android.permission.flags",
    srcs: ["core/java/android/permission/flags.aconfig"],
}

java_aconfig_library {
    name: "android.permission.flags-aconfig-java",
    aconfig_declarations: "android.permission.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Graphics
java_aconfig_library {
    name: "hwui_flags_java_lib",
    aconfig_declarations: "hwui_flags",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
+150 −17
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ filegroup {
        ":framework-jobscheduler-sources", // jobscheduler is not a module for R
        ":framework-keystore-sources",
        ":framework-identity-sources",
        ":framework-location-sources",
        ":framework-mca-effect-sources",
        ":framework-mca-filterfw-sources",
        ":framework-mca-filterpacks-sources",
@@ -163,6 +162,12 @@ java_library {
        //same purpose.
        "//external/robolectric:__subpackages__",
        "//frameworks/layoutlib:__subpackages__",

        // This is for the same purpose as robolectric -- to build "framework.jar" for host-side
        // testing.
        // TODO: Once Ravenwood is stable, move the host side jar targets to this directory,
        // and remove this line.
        "//frameworks/base/tools/hoststubgen:__subpackages__",
    ],
}

@@ -177,7 +182,6 @@ java_defaults {
            "graphics/java",
            "identity/java",
            "keystore/java",
            "location/java",
            "media/java",
            "media/mca/effect/java",
            "media/mca/filterfw/java",
@@ -267,6 +271,7 @@ java_defaults {
    defaults: [
        "framework-aidl-export-defaults",
        "latest_android_hardware_soundtrigger3_java_static",
        "framework-minus-apex-aconfig-libraries",
    ],
    srcs: [
        ":framework-non-updatable-sources",
@@ -286,7 +291,6 @@ java_defaults {
            ":framework-jobscheduler-sources",
            ":framework-keystore-sources",
            ":framework-identity-sources",
            ":framework-location-sources",
            ":framework-mca-effect-sources",
            ":framework-mca-filterfw-sources",
            ":framework-mca-filterpacks-sources",
@@ -404,24 +408,22 @@ java_defaults {
        "audiopolicy-aidl-java",
        "sounddose-aidl-java",
        "modules-utils-expresslog",
        "hoststubgen-annotations",
    ],
}

java_library {
    name: "framework-minus-apex",
// Separated so framework-minus-apex-defaults can be used without the libs dependency
java_defaults {
    name: "framework-minus-apex-with-libs-defaults",
    defaults: ["framework-minus-apex-defaults"],
    installable: true,
    // For backwards compatibility.
    stem: "framework",
    apex_available: ["//apex_available:platform"],
    visibility: [
        "//frameworks/base",
        // TODO(b/147128803) remove the below lines
        "//frameworks/base/apex/blobstore/framework",
        "//frameworks/base/apex/jobscheduler/framework",
        "//frameworks/base/packages/Tethering/tests/unit",
        "//packages/modules/Connectivity/Tethering/tests/unit",
    libs: [
        "framework-virtualization.stubs.module_lib",
        "framework-location.impl",
    ],
}

java_defaults {
    name: "framework-non-updatable-lint-defaults",
    lint: {
        extra_check_modules: ["AndroidFrameworkLintChecker"],
        disabled_checks: ["ApiMightLeakAppVisibility"],
@@ -435,6 +437,43 @@ java_library {
            "UseOfCallerAwareMethodsWithClearedIdentity",
        ],
    },
}

// we are unfortunately building the turbine jar twice, but more efficient and less complex
// than generating a similar set of stubs with metalava
java_library {
    name: "framework-minus-apex-headers",
    defaults: ["framework-minus-apex-defaults"],
    installable: false,
    // For backwards compatibility.
    stem: "framework",
    apex_available: ["//apex_available:platform"],
    visibility: [
        "//frameworks/base/location",
    ],
    compile_dex: false,
    headers_only: true,
}

java_library {
    name: "framework-minus-apex",
    defaults: [
        "framework-minus-apex-with-libs-defaults",
        "framework-non-updatable-lint-defaults",
    ],
    installable: true,
    // For backwards compatibility.
    stem: "framework",
    apex_available: ["//apex_available:platform"],
    visibility: [
        "//frameworks/base",
        "//frameworks/base/location",
        // TODO(b/147128803) remove the below lines
        "//frameworks/base/apex/blobstore/framework",
        "//frameworks/base/apex/jobscheduler/framework",
        "//frameworks/base/packages/Tethering/tests/unit",
        "//packages/modules/Connectivity/Tethering/tests/unit",
    ],
    errorprone: {
        javacflags: [
            "-Xep:AndroidFrameworkCompatChange:ERROR",
@@ -445,7 +484,7 @@ java_library {

java_library {
    name: "framework-minus-apex-intdefs",
    defaults: ["framework-minus-apex-defaults"],
    defaults: ["framework-minus-apex-with-libs-defaults"],
    plugins: ["intdef-annotation-processor"],

    // Errorprone and android lint will already run on framework-minus-apex, don't rerun them on
@@ -473,6 +512,7 @@ java_library {
    installable: false, // this lib is a build-only library
    static_libs: [
        "app-compat-annotations",
        "framework-location.impl",
        "framework-minus-apex",
        "framework-updatable-stubs-module_libs_api",
    ],
@@ -581,6 +621,7 @@ metalava_framework_docs_args = "" +
    "--api-lint-ignore-prefix org. " +
    "--error NoSettingsProvider " +
    "--error UnhiddenSystemApi " +
    "--error UnflaggedApi " +
    "--force-convert-to-warning-nullability-annotations +*:-android.*:+android.icu.*:-dalvik.* " +
    "--hide BroadcastBehavior " +
    "--hide CallbackInterface " +
@@ -700,7 +741,99 @@ stubs_defaults {
    ],
}

// Defaults for the java_sdk_libraries of unbundled jars from framework.
// java_sdk_libraries using these defaults should also add themselves to the
// non_updatable_modules list in frameworks/base/api/api.go
java_defaults {
    name: "framework-non-updatable-unbundled-defaults",
    defaults: ["framework-non-updatable-lint-defaults"],

    sdk_version: "core_platform",

    // Api scope settings
    public: {
        enabled: true,
        sdk_version: "module_current",
        libs: ["android_module_lib_stubs_current"],
    },
    system: {
        enabled: true,
        sdk_version: "module_current",
        libs: ["android_module_lib_stubs_current"],
    },
    module_lib: {
        enabled: true,
        sdk_version: "module_current",
        libs: ["android_module_lib_stubs_current"],
    },
    test: {
        enabled: true,
        sdk_version: "test_frameworks_core_current",
        libs: ["android_test_frameworks_core_stubs_current"],
    },

    stub_only_libs: [
        "framework-protos",
    ],
    impl_only_libs: [
        "framework-minus-apex-headers", // full access to framework-minus-apex including hidden API
        "framework-annotations-lib",
    ],
    visibility: ["//visibility:public"],
    stubs_library_visibility: ["//visibility:public"],
    stubs_source_visibility: ["//visibility:private"],
    impl_library_visibility: [
        ":__pkg__",
        "//frameworks/base",
        "//frameworks/base/api", // For framework-all
    ],
    defaults_visibility: [
        "//frameworks/base/location",
    ],
    plugins: [
        "error_prone_android_framework",
    ],
    errorprone: {
        javacflags: [
            "-Xep:AndroidFrameworkCompatChange:ERROR",
            "-Xep:AndroidFrameworkUid:ERROR",
        ],
    },

    // Include manual annotations in API txt files
    merge_annotations_dirs: ["metalava-manual"],

    // Use the source of annotations that affect metalava doc generation, since
    // the relevant generation instructions are themselves in javadoc, which is
    // not present in class files.
    api_srcs: [":framework-metalava-annotations"],

    // Framework modules are not generally shared libraries, i.e. they are not
    // intended, and must not be allowed, to be used in a <uses-library> manifest
    // entry.
    shared_library: false,

    // Prevent dependencies that do not specify an sdk_version from accessing the
    // implementation library by default and force them to use stubs instead.
    default_to_stubs: true,

    // Subdirectory for the artifacts that are copied to the dist directory
    dist_group: "android",

    droiddoc_options: [
        "--error UnhiddenSystemApi " +
            "--hide CallbackInterface " +
            "--hide HiddenTypedefConstant " +
            "--hide RequiresPermission " +
            "--enhance-documentation " +
            "--hide-package com.android.server ",
    ],

    annotations_enabled: true,
}

build = [
    "AconfigFlags.bp",
    "ProtoLibraries.bp",
    "TestProtoLibraries.bp",
]
+1 −3
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@ narayan@google.com #{LAST_RESORT_SUGGESTION}
ogunwale@google.com #{LAST_RESORT_SUGGESTION}
roosa@google.com #{LAST_RESORT_SUGGESTION}
smoreland@google.com #{LAST_RESORT_SUGGESTION}
svetoslavganov@android.com #{LAST_RESORT_SUGGESTION}
svetoslavganov@google.com #{LAST_RESORT_SUGGESTION}
yamasani@google.com #{LAST_RESORT_SUGGESTION}

# API changes are already covered by API-Review+1 (http://mdb/android-api-council)
@@ -30,7 +28,7 @@ per-file */TEST_MAPPING = *
# Support bulk translation updates
per-file */res*/values*/*.xml = byi@google.com, delphij@google.com

per-file **.bp,**.mk = hansson@google.com
per-file **.bp,**.mk = hansson@google.com, joeo@google.com, lamontjones@google.com
per-file TestProtoLibraries.bp = file:platform/platform_testing:/libraries/health/OWNERS
per-file TestProtoLibraries.bp = file:platform/tools/tradefederation:/OWNERS

+3 −3
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ public class LoginTest extends AbstractAutofillPerfTestCase {
                state.resumeTiming();
            }

            // Sanity check
            // Check for no errors
            callback.assertNoAsyncErrors();
        } finally {
            mAfm.unregisterCallback(callback);
@@ -190,7 +190,7 @@ public class LoginTest extends AbstractAutofillPerfTestCase {
                state.resumeTiming();
            }

            // Sanity check
            // Check for no errors
            callback.assertNoAsyncErrors();
        } finally {
            mAfm.unregisterCallback(callback);
@@ -303,7 +303,7 @@ public class LoginTest extends AbstractAutofillPerfTestCase {
                callback.expectEvent(mPassword, EVENT_INPUT_SHOWN);
            }

            // Sanity check
            // Check for no errors
            callback.assertNoAsyncErrors();
        } finally {
            mAfm.unregisterCallback(callback);
Loading