Copy utility classes into the jobscheduler module
Test: adb shell dumpsys jobscheduler
Change-Id: Ie618cc02df7f951bca451694b42e88ee4f65798d
diff --git a/Android.bp b/Android.bp
index 325077f..8f0e341 100644
--- a/Android.bp
+++ b/Android.bp
@@ -744,6 +744,27 @@
],
}
+// keep these files in sync with the apex/jobscheduler/service jarjar-rules.txt for
+// the jobscheduler module.
+filegroup {
+ name: "framework-jobscheduler-shared-srcs",
+ srcs: [
+ "core/java/com/android/internal/util/ArrayUtils.java",
+ "core/java/com/android/internal/util/BitUtils.java",
+ "core/java/com/android/internal/util/CollectionUtils.java",
+ "core/java/com/android/internal/util/ConcurrentUtils.java",
+ "core/java/com/android/internal/util/DumpUtils.java",
+ "core/java/com/android/internal/util/FastPrintWriter.java",
+ "core/java/com/android/internal/util/FastXmlSerializer.java",
+ "core/java/com/android/internal/util/FunctionalUtils.java",
+ "core/java/com/android/internal/util/ParseUtils.java",
+ "core/java/com/android/internal/util/Preconditions.java",
+ "core/java/com/android/internal/util/RingBufferIndices.java",
+ "core/java/com/android/internal/util/StatLogger.java",
+ "core/java/com/android/internal/util/XmlUtils.java",
+ ],
+}
+
// Build ext.jar
// ============================================================
java_library {
diff --git a/apex/jobscheduler/service/Android.bp b/apex/jobscheduler/service/Android.bp
index 69a9fd8..47267df 100644
--- a/apex/jobscheduler/service/Android.bp
+++ b/apex/jobscheduler/service/Android.bp
@@ -6,11 +6,17 @@
srcs: [
"java/**/*.java",
+ ":framework-jobscheduler-shared-srcs",
+ ":statslog-framework-java-gen", // FrameworkStatsLog.java
],
libs: [
"app-compat-annotations",
"framework",
"services.core",
+ "unsupportedappusage",
],
+
+ // Rename classes shared with the framework
+ jarjar_rules: "jarjar-rules.txt",
}
diff --git a/apex/jobscheduler/service/jarjar-rules.txt b/apex/jobscheduler/service/jarjar-rules.txt
new file mode 100644
index 0000000..2f01c4b
--- /dev/null
+++ b/apex/jobscheduler/service/jarjar-rules.txt
@@ -0,0 +1,18 @@
+# Rename all com.android.internal.util classes to prevent class name collisions
+# between this module and the other versions of the utility classes linked into
+# the framework.
+
+# These must be kept in sync with the framework-jobscheduler-shared-srcs filegroup.
+rule com.android.internal.util.ArrayUtils* com.android.internal.util.jobs.ArrayUtils@1
+rule com.android.internal.util.BitUtils* com.android.internal.util.jobs.BitUtils@1
+rule com.android.internal.util.CollectionUtils* com.android.internal.util.jobs.CollectionUtils@1
+rule com.android.internal.util.ConcurrentUtils* com.android.internal.util.jobs.ConcurrentUtils@1
+rule com.android.internal.util.DumpUtils* com.android.internal.util.jobs.DumpUtils@1
+rule com.android.internal.util.FastPrintWriter* com.android.internal.util.jobs.FastPrintWriter@1
+rule com.android.internal.util.FastXmlSerializer* com.android.internal.util.jobs.FastXmlSerializer@1
+rule com.android.internal.util.FunctionalUtils* com.android.internal.util.jobs.FunctionalUtils@1
+rule com.android.internal.util.ParseUtils* com.android.internal.util.jobs.ParseUtils@1
+rule com.android.internal.util.Preconditions* com.android.internal.util.jobs.Preconditions@1
+rule com.android.internal.util.RingBufferIndices* com.android.internal.util.jobs.RingBufferIndices@1
+rule com.android.internal.util.StatLogger* com.android.internal.util.jobs.StatLogger@1
+rule com.android.internal.util.XmlUtils* com.android.internal.util.jobs.XmlUtils@1