Introduce framework-minus-apex and create jobscheduler-framework.jar

Bug: 137763703
Test: Clean local build + "flash -w" and boot
Test: Presubmit
Test: atest CtsJobSchedulerTestCases
Test: ./cts/tests/signature/runSignatureTests.sh
Change-Id: Ie2a5a7a17f903ac18de0bcdde5be25311a62fa01
This commit is contained in:
Makoto Onuki
2019-08-05 12:54:20 -07:00
parent 8cfff7b8b2
commit 62242c48e0
22 changed files with 85 additions and 33 deletions

View File

@@ -25,8 +25,36 @@
//
// READ ME: ########################################################
java_defaults {
name: "framework-aidl-export-defaults",
aidl: {
export_include_dirs: [
// From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
"core/java",
"graphics/java",
"location/java",
"lowpan/java",
"media/java",
"media/apex/java",
"media/mca/effect/java",
"media/mca/filterfw/java",
"media/mca/filterpacks/java",
"drm/java",
"opengl/java",
"sax/java",
"telecomm/java",
"telephony/java",
"wifi/java",
"keystore/java",
"rs/java",
],
},
}
java_defaults {
name: "framework-defaults",
defaults: ["framework-aidl-export-defaults"],
installable: true,
srcs: [
@@ -78,9 +106,6 @@ java_defaults {
"core/java/android/app/ISearchManagerCallback.aidl",
"core/java/android/app/IServiceConnection.aidl",
"core/java/android/app/IStopUserCallback.aidl",
"core/java/android/app/job/IJobCallback.aidl",
"core/java/android/app/job/IJobScheduler.aidl",
"core/java/android/app/job/IJobService.aidl",
"core/java/android/app/ITransientNotification.aidl",
"core/java/android/app/IUidObserver.aidl",
"core/java/android/app/IUiAutomationConnection.aidl",
@@ -702,27 +727,6 @@ java_defaults {
],
aidl: {
export_include_dirs: [
// From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
"core/java",
"graphics/java",
"location/java",
"lowpan/java",
"media/java",
"media/apex/java",
"media/mca/effect/java",
"media/mca/filterfw/java",
"media/mca/filterpacks/java",
"drm/java",
"opengl/java",
"sax/java",
"telecomm/java",
"telephony/java",
"wifi/java",
"keystore/java",
"rs/java",
],
include_dirs: [
"system/update_engine/binder_bindings",
"frameworks/native/aidl/binder",
@@ -838,7 +842,7 @@ filegroup {
}
java_library {
name: "framework",
name: "framework-minus-apex",
defaults: ["framework-defaults"],
javac_shard_size: 150,
required: [
@@ -847,6 +851,17 @@ java_library {
],
}
java_library {
name: "framework",
defaults: ["framework-aidl-export-defaults"],
installable: true,
static_libs: [
"framework-minus-apex",
"jobscheduler-framework",
],
sdk_version: "core_platform",
}
java_library {
name: "framework-annotation-proc",
defaults: ["framework-defaults"],
@@ -1371,8 +1386,9 @@ stubs_defaults {
":updatable-media-srcs-without-aidls",
"test-mock/src/**/*.java",
"test-runner/src/**/*.java",
":jobscheduler-framework-source",
],
srcs_lib: "framework",
srcs_lib: "framework-minus-apex",
srcs_lib_whitelist_dirs: frameworks_base_subdirs,
srcs_lib_whitelist_pkgs: packages_to_document,
libs: framework_docs_only_libs,
@@ -1428,8 +1444,9 @@ stubs_defaults {
":opt-net-voip-srcs",
":core_public_api_files",
":updatable-media-srcs-without-aidls",
":jobscheduler-framework-source",
],
srcs_lib: "framework",
srcs_lib: "framework-minus-apex",
srcs_lib_whitelist_dirs: frameworks_base_subdirs,
srcs_lib_whitelist_pkgs: packages_to_document,
local_sourcepaths: frameworks_base_subdirs,

View File

@@ -0,0 +1,29 @@
filegroup {
name: "jobscheduler-framework-source",
srcs: [
"java/**/*.java",
"java/android/app/job/IJobCallback.aidl",
"java/android/app/job/IJobScheduler.aidl",
"java/android/app/job/IJobService.aidl",
],
path: "java",
}
java_library {
name: "jobscheduler-framework",
installable: true,
sdk_version: "core_platform",
srcs: [
":jobscheduler-framework-source",
],
aidl: {
export_include_dirs: [
"java",
],
},
libs: [
"framework-minus-apex",
],
}

View File

@@ -14,7 +14,6 @@
* limitations under the License.
*/
// in android.app so ContextImpl has package access
package android.app;
import android.app.job.IJobScheduler;
@@ -27,10 +26,12 @@ import android.os.RemoteException;
import java.util.List;
// APEX NOTE: Class path referred to by robolectric, so can't move it.
/**
* Concrete implementation of the JobScheduler interface
*
* Note android.app.job is the better package to put this class, but we can't move it there
* because that'd break robolectric. Grr.
*
* @hide
*/
public class JobSchedulerImpl extends JobScheduler {

View File

@@ -52,6 +52,11 @@ public class JobParameters implements Parcelable {
/**
* All the stop reason codes. This should be regarded as an immutable array at runtime.
*
* Note the order of these values will affect "dumpsys batterystats", and we do not want to
* change the order of existing fields, so adding new fields is okay but do not remove or
* change existing fields. When deprecating a field, just replace that with "-1" in this array.
*
* @hide
*/
public static final int[] JOB_STOP_REASON_CODES = {

View File

@@ -21,7 +21,7 @@ java_sdk_library {
"androidx.annotation_annotation",
],
api_packages: ["com.android.location.provider"],
srcs_lib: "framework",
srcs_lib: "framework-minus-apex",
srcs_lib_whitelist_dirs: ["location/java"],
srcs_lib_whitelist_pkgs: ["com.android.internal.location"],
}

View File

@@ -18,7 +18,7 @@ java_sdk_library {
name: "com.android.mediadrm.signer",
srcs: ["java/**/*.java"],
api_packages: ["com.android.mediadrm.signer"],
srcs_lib: "framework",
srcs_lib: "framework-minus-apex",
srcs_lib_whitelist_dirs: ["media/java"],
srcs_lib_whitelist_pkgs: ["android.media"],
}

View File

@@ -25,7 +25,7 @@ java_sdk_library {
"android.test.mock",
],
srcs_lib: "framework",
srcs_lib: "framework-minus-apex",
srcs_lib_whitelist_dirs: ["core/java"],
srcs_lib_whitelist_pkgs: ["android"],
compile_dex: true,