Merge "Dedup *fragments information common to apex and sdk" am: f9e1b913c4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Scheduling/+/2152639
Change-Id: Idc25a77abcc722b3b96c1c81457a7e01db673843
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/apex/Android.bp b/apex/Android.bp
index a3fc24f..dcacec9 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -81,6 +81,7 @@
systemserverclasspath_fragments: ["com.android.scheduling-systemserverclasspath-fragment"],
prebuilts: ["current_sdkinfo"],
manifest: "manifest.json",
+ androidManifest: "AndroidManifest.xml",
file_contexts: ":com.android.scheduling-file_contexts",
key: "com.android.scheduling.key",
}
diff --git a/apex/AndroidManifest.xml b/apex/AndroidManifest.xml
index ec78924..dee0cb0 100644
--- a/apex/AndroidManifest.xml
+++ b/apex/AndroidManifest.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright 2022 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.
+ -->
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.scheduling">
- <!-- APEX does not have classes.dex -->
- <application android:hasCode="false" />
+ package="com.android.scheduling">
+ <!-- APEX does not have classes.dex -->
+ <application android:hasCode="false">
+ <apex-system-service
+ android:name="com.android.server.scheduling.RebootReadinessManagerService$Lifecycle"
+ android:minSdkVersion="31"
+ android:path="/apex/com.android.scheduling/javalib/service-scheduling.jar"
+ />
+ </application>
</manifest>
diff --git a/service/java/com/android/server/scheduling/RebootReadinessLogger.java b/service/java/com/android/server/scheduling/RebootReadinessLogger.java
index 61ed254..dad8e10 100644
--- a/service/java/com/android/server/scheduling/RebootReadinessLogger.java
+++ b/service/java/com/android/server/scheduling/RebootReadinessLogger.java
@@ -338,13 +338,17 @@
}
private void writeRebootStatsToFile(RebootStats rebootStats, AtomicFile rebootStatsFile) {
- try (FileOutputStream stream = rebootStatsFile.startWrite()) {
- XmlWriter writer = new XmlWriter(new PrintWriter(stream));
+ FileOutputStream stream = null;
+ try {
+ stream = rebootStatsFile.startWrite();
+ PrintWriter pw = new PrintWriter(stream);
+ XmlWriter writer = new XmlWriter(pw);
XmlWriter.write(writer, rebootStats);
- writer.close();
+ pw.flush();
rebootStatsFile.finishWrite(stream);
} catch (Exception e) {
Log.e(TAG, "Could not write reboot readiness stats: " + e);
+ rebootStatsFile.failWrite(stream);
}
}
diff --git a/service/java/com/android/server/scheduling/RebootReadinessShellCommand.java b/service/java/com/android/server/scheduling/RebootReadinessShellCommand.java
index 1adeca6..c8ccf17 100644
--- a/service/java/com/android/server/scheduling/RebootReadinessShellCommand.java
+++ b/service/java/com/android/server/scheduling/RebootReadinessShellCommand.java
@@ -109,6 +109,7 @@
PROPERTY_DISABLE_SUBSYSTEMS_CHECK, "true", false);
break;
case "disable-interactivity-check":
+ case "--disable-interactivity-check":
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_REBOOT_READINESS,
PROPERTY_DISABLE_INTERACTIVITY_CHECK, "true", false);
break;
@@ -213,7 +214,7 @@
pw.println(" --interactivity-threshold-ms <INTERACTIVITY-THRESHOLD-MS>:");
pw.println(" How long the device must not have been interacted with before");
pw.println(" being deemed ready to reboot.");
- pw.println(" --disable-interactivity-checks:");
+ pw.println(" --disable-interactivity-check / disable-interactivity-check:");
pw.println(" Disable interactivity checks.");
pw.println(" --disable-subsystems-check:");
pw.println(" Disable subsystems checks:");
diff --git a/tests/Android.bp b/tests/Android.bp
index 36be7c4..13d143a 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -22,4 +22,6 @@
srcs: ["src/**/*.java"],
static_libs: ["androidx.test.rules", "truth-prebuilt", "androidx.test.core"],
test_suites: ["general-tests", "cts", "mts-scheduling"],
+ target_sdk_version: "31",
+ min_sdk_version: "31",
}
diff --git a/tests/unittests/Android.bp b/tests/unittests/Android.bp
index 5d89778..14b6884 100644
--- a/tests/unittests/Android.bp
+++ b/tests/unittests/Android.bp
@@ -38,7 +38,7 @@
"libstaticjvmtiagent",
],
compile_multilib: "both",
- min_sdk_version: "current",
- target_sdk_version: "current",
+ target_sdk_version: "31",
+ min_sdk_version: "31",
test_suites: ["general-tests", "mts-scheduling"],
}