由于公司项目采用Android Studio开发,在系统源码中进行编译的开发方式。
由于开发时kotlin版本太高,导致在系统中编译,报函数找不到的错误,所以只能升级系统kotlin的版本,同时由于app中使用了dagger2,顾顺便也将dagger2进行了升级。
注意:最佳的方式,是使用脚本,系统在编译镜像时,调用gradle编译apk,然后再将apk打包进系统镜像中,,但是公司目前没人愿意去搞这个方案,-_-|/ ....
升级kotlin版本到1.9.22
升级dagger2版本到2.46.1
一、升级kotlin版本
- external/kotlic
从1.4.30-release-302升级到1.9.22-release-704
git clone https://android.googlesource.com/platform/external/kotlinc -b android-14.0.0_r74
- external/kotlinx.atomicfu
从0.14.3升级到0.18.5
git clone https://android.googlesource.com/platform/external/kotlinx.atomicfu -b android-14.0.0_r74
- external/kotlinx.coroutines
从1.4.1升级到1.7.2
git clone https://android.googlesource.com/platform/external/kotlinx.coroutines -b android-14.0.0_r74
- external/kotlinx.metadata
从0.1.0升级到0.6.0
git clone https://android.googlesource.com/platform/external/kotlinx.metadata -b android-14.0.0_r74
二、升级dagger2版本
- external/dagger2
从2.28.1升级到2.46.1
git clone https://android.googlesource.com/platform/external/dagger2 -b android-14.0.0_r74
然后修改dagger2/java/dagger/internal/codegen/javac/JavacPluginModule.java文件
三、解决编译错误
- external/auto
修改auto代码,patch内容如下
From 43cae3b31fbbdd6d381d7345e915d6d97cfcc882 Mon Sep 17 00:00:00 2001
From: pujh <pujh@idste.cn>
Date: Wed, 20 Nov 2024 17:47:35 +0800
Subject: [PATCH] update kotlin to 1.9.22, dagger2 to 2.46.1
---
.../google/auto/common/AnnotationMirrors.java | 11 +
.../google/auto/common/AnnotationOutput.java | 265 ++++++++++++++++++
.../com/google/auto/common/MoreElements.java | 71 ++++-
3 files changed, 337 insertions(+), 10 deletions(-)
mode change 100644 => 100755 auto/common/src/main/java/com/google/auto/common/AnnotationMirrors.java
create mode 100755 auto/common/src/main/java/com/google/auto/common/AnnotationOutput.java
mode change 100644 => 100755 auto/common/src/main/java/com/google/auto/common/MoreElements.java
diff --git a/auto/common/src/main/java/com/google/auto/common/AnnotationMirrors.java b/auto/common/src/main/java/com/google/auto/common/AnnotationMirrors.java
old mode 100644
new mode 100755
index 62e5834e0f..f6def1cb0b
--- a/auto/common/src/main/java/com/google/auto/common/AnnotationMirrors.java
+++ b/auto/common/src/main/java/com/google/auto/common/AnnotationMirrors.java
@@ -152,5 +152,16 @@ public final class AnnotationMirrors {
.toSet();
}
+ /**
+ * Returns a string representation of the given annotation mirror, suitable for inclusion in a
+ * Java source file to reproduce the annotation in source form.
+ *
+ * <p>Fully qualified names are used for types in annotations, class literals, and enum constants,
+ * ensuring that the source form will compile without requiring additional imports.
+ */
+ public static String toString(AnnotationMirror annotationMirror) {
+ return AnnotationOutput.toString(annotationMirror);
+ }
+
private AnnotationMirrors() {}
}
diff --git a/auto/common/src/main/java/com/google/auto/common/AnnotationOutput.java b/auto/common/src/main/java/com/google/auto/common/AnnotationOutput.java
new file mode 100755
index 0000000000..c57d4c7cdf
--- /dev/null
+++ b/auto/common/src/main/java/com/google/auto/common/AnnotationOutput.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2014 Google LLC
+ *
+ * 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.
+ */
+package com.google.auto.common;
+
+import static com.google.auto.common.MoreTypes.asTypeElement;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Iterables;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import javax.lang.model.element.AnnotationMirror;
+import javax.lang.model.element.AnnotationValue;
+import javax.lang.model.element.AnnotationValueVisitor;
+import javax.lang.model.element.ExecutableElement;
+import javax.lang.model.element.VariableElement;
+import javax.lang.model.type.TypeMirror;
+import javax.lang.model.util.SimpleAnnotationValueVisitor8;
+
+/**
+ * Handling of default values for annotation members.
+ *
+ * @author emcmanus@google.com (Éamonn McManus)
+ */
+final class AnnotationOutput {
+ private AnnotationOutput() {} // There are no instances of this class.
+
+ /**
+ * Visitor that produces a string representation of an annotation value, suitable for inclusion in
+ * a Java source file as an annotation member or as the initializer of a variable of the
+ * appropriate type. The syntax for the two is the same except for annotation members that are
+ * themselves annotations. Within an annotation, an annotation member can be written as
+ * {@code @NestedAnnotation(...)}, while in an initializer it must be written as an object, for
+ * example the construction of an {@code @AutoAnnotation} class. That's why we have this abstract
+ * class and two concrete subclasses.
+ */
+ private static class SourceFormVisitor
+ extends SimpleAnnotationValueVisitor8<Void, StringBuilder> {
+
+ private String formatType(TypeMirror typeMirror) {
+ return asTypeElement(typeMirror).getQualifiedName().toString();
+ }
+
+ @Override
+ protected Void defaultAction(Object value, StringBuilder sb) {
+ sb.append(value);
+ return null;
+ }
+
+ @Override
+ public Void visitArray(List<? extends AnnotationValue> values, StringBuilder sb) {
+ sb.append('{');
+ String sep = "";
+ for (AnnotationValue value : values) {
+ sb.append(sep);
+ visit(value, sb);
+ sep = ", ";
+ }
+ sb.append('}');
+ return null;
+ }
+
+ @Override
+ public Void visitByte(byte b, StringBuilder sb) {
+ sb.append("(byte) ").append(b);
+ return null;
+ }
+
+ @Override
+ public Void visitShort(short s, StringBuilder sb) {
+ sb.append("(short) ").append(s);
+ return null;
+ }
+
+ @Override
+ public Void visitChar(char c, StringBuilder sb) {
+ appendQuoted(sb, c);
+ return null;
+ }
+
+ @Override
+ public Void visitLong(long i, StringBuilder sb) {
+ sb.append(i).append('L');
+ return null;
+ }
+
+ @Override
+ public Void visitDouble(double d, StringBuilder sb) {
+ if (Double.isNaN(d)) {
+ sb.append("Double.NaN");
+ } else if (d == Double.POSITIVE_INFINITY) {
+ sb.append("Double.POSITIVE_INFINITY");
+ } else if (d == Double.NEGATIVE_INFINITY) {
+ sb.append("Double.NEGATIVE_INFINITY");
+ } else {
+ sb.append(d);
+ }
+ return null;
+ }
+
+ @Override
+ public Void visitFloat(float f, StringBuilder sb) {
+ if (Float.isNaN(f)) {
+ sb.append("Float.NaN");
+ } else if (f == Float.POSITIVE_INFINITY) {
+ sb.append("Float.POSITIVE_INFINITY");
+ } else if (f == Float.NEGATIVE_INFINITY) {
+ sb.append("Float.NEGATIVE_INFINITY");
+ } else {
+ sb.append(f).append('F');
+ }
+ return null;
+ }
+
+ @Override
+ public Void visitEnumConstant(VariableElement c, StringBuilder sb) {
+ sb.append(formatType(c.asType())).append('.').append(c.getSimpleName());
+ return null;
+ }
+
+ @Override
+ public Void visitString(String s, StringBuilder sb) {
+ appendQuoted(sb, s);
+ return null;
+ }
+
+ @Override
+ public Void visitType(TypeMirror classConstant, StringBuilder sb) {
+ sb.append(formatType(classConstant)).append(".class");
+ return null;
+ }
+
+ @Override
+ public Void visitAnnotation(AnnotationMirror a, StringBuilder sb) {
+ sb.append('@').append(formatType(a.getAnnotationType()));
+ ImmutableMap<ExecutableElement, AnnotationValue> map =
+ ImmutableMap.copyOf(a.getElementValues());
+ if (!map.isEmpty()) {
+ sb.append('(');
+ Optional<AnnotationValue> shortForm = shortForm(map);
+ if (shortForm.isPresent()) {
+ this.visit(maybeShorten(shortForm.get()), sb);
+ } else {
+ String sep = "";
+ for (Map.Entry<ExecutableElement, AnnotationValue> entry : map.entrySet()) {
+ sb.append(sep).append(entry.getKey().getSimpleName()).append(" = ");
+ sep = ", ";
+ this.visit(maybeShorten(entry.getValue()), sb);
+ }
+ }
+ sb.append(')');
+ }
+ return null;
+ }
+ }
+
+ private static AnnotationValue maybeShorten(AnnotationValue value) {
+ return ARRAY_VISITOR.visit(value, value);
+ }
+
+ private static final AnnotationValueVisitor<AnnotationValue, AnnotationValue> ARRAY_VISITOR =
+ new SimpleAnnotationValueVisitor8<AnnotationValue, AnnotationValue>() {
+ @Override
+ public AnnotationValue visitArray(
+ List<? extends AnnotationValue> values, AnnotationValue input) {
+ if (values.size() == 1) {
+ // We can shorten @Foo(a = {23}) to @Foo(a = 23). For the specific case where `a` is
+ // actually `value`, we'll already have shortened that in visitAnnotation, so
+ // effectively we go from @Foo(value = {23}) to @Foo({23}) to @Foo(23).
+ return Iterables.getOnlyElement(values);
+ }
+ return input;
+ }
+
+ @Override
+ protected AnnotationValue defaultAction(Object o, AnnotationValue input) {
+ return input;
+ }
+ };
+
+ // We can shorten @Annot(value = 23) to @Annot(23).
+ private static Optional<AnnotationValue> shortForm(
+ Map<ExecutableElement, AnnotationValue> values) {
+ if (values.size() == 1
+ && Iterables.getOnlyElement(values.keySet()).getSimpleName().contentEquals("value")) {
+ return Optional.of(Iterables.getOnlyElement(values.values()));
+ }
+ return Optional.empty();
+ }
+
+ /**
+ * Returns a string representation of the given annotation value, suitable for inclusion in a Java
+ * source file as the initializer of a variable of the appropriate type.
+ */
+ static String toString(AnnotationValue annotationValue) {
+ StringBuilder sb = new StringBuilder();
+ new SourceFormVisitor().visit(annotationValue, sb);
+ return sb.toString();
+ }
+
+ /**
+ * Returns a string representation of the given annotation mirror, suitable for inclusion in a
+ * Java source file to reproduce the annotation in source form.
+ */
+ static String toString(AnnotationMirror annotationMirror) {
+ StringBuilder sb = new StringBuilder();
+ new SourceFormVisitor().visitAnnotation(annotationMirror, sb);
+ return sb.toString();
+ }
+
+ private static StringBuilder appendQuoted(StringBuilder sb, String s) {
+ sb.append('"');
+ for (int i = 0; i < s.length(); i++) {
+ appendEscaped(sb, s.charAt(i));
+ }
+ return sb.append('"');
+ }
+
+ private static StringBuilder appendQuoted(StringBuilder sb, char c) {
+ sb.append('\'');
+ appendEscaped(sb, c);
+ return sb.append('\'');
+ }
+
+ private static void appendEscaped(StringBuilder sb, char c) {
+ switch (c) {
+ case '\\':
+ case '"':
+ case '\'':
+ sb.append('\\').append(c);
+ break;
+ case '\n':
+ sb.append("\\n");
+ break;
+ case '\r':
+ sb.append("\\r");
+ break;
+ case '\t':
+ sb.append("\\t");
+ break;
+ default:
+ if (c < 0x20) {
+ sb.append(String.format("\\%03o", (int) c));
+ } else if (c < 0x7f || Character.isLetter(c)) {
+ sb.append(c);
+ } else {
+ sb.append(String.format("\\u%04x", (int) c));
+ }
+ break;
+ }
+ }
+}
diff --git a/auto/common/src/main/java/com/google/auto/common/MoreElements.java b/auto/common/src/main/java/com/google/auto/common/MoreElements.java
old mode 100644
new mode 100755
index 5e8e3541f0..8fb4b0bb51
--- a/auto/common/src/main/java/com/google/auto/common/MoreElements.java
+++ b/auto/common/src/main/java/com/google/auto/common/MoreElements.java
@@ -212,29 +212,80 @@ public final class MoreElements {
}
/**
- * Returns {@code true} iff the given element has an {@link AnnotationMirror} whose
- * {@linkplain AnnotationMirror#getAnnotationType() annotation type} has the same canonical name
- * as that of {@code annotationClass}. This method is a safer alternative to calling
- * {@link Element#getAnnotation} and checking for {@code null} as it avoids any interaction with
+ * Returns {@code true} iff the given element has an {@link AnnotationMirror} whose {@linkplain
+ * AnnotationMirror#getAnnotationType() annotation type} has the same canonical name as that of
+ * {@code annotationClass}. This method is a safer alternative to calling {@link
+ * Element#getAnnotation} and checking for {@code null} as it avoids any interaction with
* annotation proxies.
*/
- public static boolean isAnnotationPresent(Element element,
- Class<? extends Annotation> annotationClass) {
+ public static boolean isAnnotationPresent(
+ Element element, Class<? extends Annotation> annotationClass) {
return getAnnotationMirror(element, annotationClass).isPresent();
}
+ /**
+ * Returns {@code true} iff the given element has an {@link AnnotationMirror} whose {@linkplain
+ * AnnotationMirror#getAnnotationType() annotation type} has the same fully qualified name as that
+ * of {@code annotation}. This method is a safer alternative to calling {@link
+ * Element#getAnnotation} and checking for {@code null} as it avoids any interaction with
+ * annotation proxies.
+ */
+ public static boolean isAnnotationPresent(Element element, TypeElement annotation) {
+ return getAnnotationMirror(element, annotation).isPresent();
+ }
+
+ /**
+ * Returns {@code true} iff the given element has an {@link AnnotationMirror} whose {@linkplain
+ * AnnotationMirror#getAnnotationType() annotation type} has {@code annotationName} as its
+ * canonical name. This method is a safer alternative to calling {@link Element#getAnnotation} and
+ * checking for {@code null} as it avoids any interaction with annotation proxies.
+ */
+ public static boolean isAnnotationPresent(Element element, String annotationName) {
+ return getAnnotationMirror(element, annotationName).isPresent();
+ }
+
/**
* Returns an {@link AnnotationMirror} for the annotation of type {@code annotationClass} on
* {@code element}, or {@link Optional#absent()} if no such annotation exists. This method is a
* safer alternative to calling {@link Element#getAnnotation} as it avoids any interaction with
* annotation proxies.
*/
- public static Optional<AnnotationMirror> getAnnotationMirror(Element element,
- Class<? extends Annotation> annotationClass) {
- String annotationClassName = annotationClass.getCanonicalName();
+ public static Optional<AnnotationMirror> getAnnotationMirror(
+ Element element, Class<? extends Annotation> annotationClass) {
+ String name = annotationClass.getCanonicalName();
+ if (name == null) {
+ return Optional.absent();
+ }
+ return getAnnotationMirror(element, name);
+ }
+
+ /**
+ * Returns an {@link AnnotationMirror} for the annotation of type {@code annotation} on {@code
+ * element}, or {@link Optional#absent()} if no such annotation exists. This method is a safer
+ * alternative to calling {@link Element#getAnnotation} as it avoids any interaction with
+ * annotation proxies.
+ */
+ public static Optional<AnnotationMirror> getAnnotationMirror(
+ Element element, TypeElement annotation) {
+ for (AnnotationMirror elementAnnotation : element.getAnnotationMirrors()) {
+ if (elementAnnotation.getAnnotationType().asElement().equals(annotation)) {
+ return Optional.of(elementAnnotation);
+ }
+ }
+ return Optional.absent();
+ }
+
+ /**
+ * Returns an {@link AnnotationMirror} for the annotation whose type's canonical name is on {@code
+ * element}, or {@link Optional#absent()} if no such annotation exists. This method is a safer
+ * alternative to calling {@link Element#getAnnotation} as it avoids any interaction with
+ * annotation proxies.
+ */
+ public static Optional<AnnotationMirror> getAnnotationMirror(
+ Element element, String annotationName) {
for (AnnotationMirror annotationMirror : element.getAnnotationMirrors()) {
TypeElement annotationTypeElement = asType(annotationMirror.getAnnotationType().asElement());
- if (annotationTypeElement.getQualifiedName().contentEquals(annotationClassName)) {
+ if (annotationTypeElement.getQualifiedName().contentEquals(annotationName)) {
return Optional.of(annotationMirror);
}
}
--
2.42.0
- external/jarjar
git clone https://android.googlesource.com/platform/external/jarjar -b android-14.0.0_r74
- external/kotlinpoet
新增kotlinpoet库
git clone https://android.googlesource.com/platform/external/kotlinpoet -b android-14.0.0_r74
- external/ksp
新增ksp库
git clone https://android.googlesource.com/platform/external/ksp -b android-14.0.0_r74
- external/okio
从47fb0ddcd0bcf768a897dff723a1699341eea10f升级到3.7.0
git clone https://android.googlesource.com/platform/external/okio -b android-14.0.0_r74
- framework/base
按照以下patch修改代码:
From 7c4cb0d34fff2dc539c71846fa27ca31a9937098 Mon Sep 17 00:00:00 2001
From: pujh <pujh@idste.cn>
Date: Wed, 20 Nov 2024 17:55:32 +0800
Subject: [PATCH] fixed build error
---
libs/WindowManager/Shell/Android.bp | 7 ++++++-
.../wm/shell/common/FloatingContentCoordinator.kt | 1 -
libs/WindowManager/Shell/tests/unittest/Android.bp | 2 +-
packages/EasterEgg/Android.bp | 2 +-
packages/SystemUI/Android.bp | 6 +++---
.../src/com/android/systemui/flags/FlagManager.kt | 4 ++--
.../com/android/systemui/media/MediaDataManager.kt | 2 +-
.../systemui/media/RecommendationViewHolder.kt | 6 +++---
.../android/systemui/privacy/PrivacyItemController.kt | 5 +----
.../src/com/android/systemui/settings/UserTracker.kt | 4 +---
.../statusbar/NotificationShadeDepthController.kt | 1 -
.../systemui/statusbar/connectivity/SignalCallback.kt | 11 +----------
.../events/SystemStatusAnimationScheduler.kt | 9 ++++-----
.../notification/NotificationWakeUpCoordinator.kt | 6 +++---
.../coordinator/dagger/CoordinatorsModule.kt | 4 ++--
.../collection/render/SectionHeaderController.kt | 4 ++--
.../dagger/NotificationSectionHeadersModule.kt | 4 ++--
.../com/android/systemui/util/UserAwareController.kt | 3 +--
18 files changed, 34 insertions(+), 47 deletions(-)
diff --git a/libs/WindowManager/Shell/Android.bp b/libs/WindowManager/Shell/Android.bp
index cdff5858..3d791c3c 100644
--- a/libs/WindowManager/Shell/Android.bp
+++ b/libs/WindowManager/Shell/Android.bp
@@ -138,7 +138,12 @@ android_library {
"dagger2",
"jsr330",
],
- kotlincflags: ["-Xjvm-default=enable"],
+ libs: [
+ // Soong fails to automatically add this dependency because all the
+ // *.kt sources are inside a filegroup.
+ "kotlin-annotations",
+ ],
+ kotlincflags: ["-Xjvm-default=all"],
manifest: "AndroidManifest.xml",
plugins: ["dagger2-compiler"],
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/FloatingContentCoordinator.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/common/FloatingContentCoordinator.kt
index d5d072a8..122dcbb3 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/FloatingContentCoordinator.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/FloatingContentCoordinator.kt
@@ -94,7 +94,6 @@ class FloatingContentCoordinator constructor() {
* non-overlapping.
* @return The new bounds for this content.
*/
- @JvmDefault
fun calculateNewBoundsOnOverlap(
overlappingContentBounds: Rect,
otherContentBounds: List<Rect>
diff --git a/libs/WindowManager/Shell/tests/unittest/Android.bp b/libs/WindowManager/Shell/tests/unittest/Android.bp
index fb53e535..3e644e67 100644
--- a/libs/WindowManager/Shell/tests/unittest/Android.bp
+++ b/libs/WindowManager/Shell/tests/unittest/Android.bp
@@ -56,7 +56,7 @@ android_test {
"libstaticjvmtiagent",
],
- kotlincflags: ["-Xjvm-default=enable"],
+ kotlincflags: ["-Xjvm-default=all"],
plugins: ["dagger2-compiler"],
diff --git a/packages/EasterEgg/Android.bp b/packages/EasterEgg/Android.bp
index f8785f2b..e9fa7f8a 100644
--- a/packages/EasterEgg/Android.bp
+++ b/packages/EasterEgg/Android.bp
@@ -50,5 +50,5 @@ android_app {
manifest: "AndroidManifest.xml",
- kotlincflags: ["-Xjvm-default=enable"],
+ kotlincflags: ["-Xjvm-default=all"],
}
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index ad1b7082..4c009c42 100755
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -124,7 +124,7 @@ android_library {
],
manifest: "AndroidManifest.xml",
- kotlincflags: ["-Xjvm-default=enable"],
+ kotlincflags: ["-Xjvm-default=all"],
plugins: ["dagger2-compiler"],
}
@@ -217,7 +217,7 @@ android_library {
"android.test.runner",
"android.test.base",
],
- kotlincflags: ["-Xjvm-default=enable"],
+ kotlincflags: ["-Xjvm-default=all"],
aaptflags: [
"--extra-packages",
"com.android.systemui",
@@ -242,7 +242,7 @@ android_app {
proguard_flags_files: ["proguard.flags"],
},
- kotlincflags: ["-Xjvm-default=enable"],
+ kotlincflags: ["-Xjvm-default=all"],
dxflags: ["--multi-dex"],
required: [
diff --git a/packages/SystemUI/shared/src/com/android/systemui/flags/FlagManager.kt b/packages/SystemUI/shared/src/com/android/systemui/flags/FlagManager.kt
index e61cb5c9..ad1517e8 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/flags/FlagManager.kt
+++ b/packages/SystemUI/shared/src/com/android/systemui/flags/FlagManager.kt
@@ -94,7 +94,7 @@ class FlagManager constructor(
fun isEnabled(id: Int): Boolean? {
val data: String? = Settings.Secure.getString(
context.contentResolver, keyToSettingsPrefix(id))
- if (data == null || data?.isEmpty()) {
+ if (data == null || data.isEmpty()) {
return null
}
val json: JSONObject
@@ -169,4 +169,4 @@ class FlagManager constructor(
class InvalidFlagStorageException : Exception("Data found but is invalid")
class NoFlagResultsException : Exception(
- "SystemUI failed to communicate its flags back successfully")
\ No newline at end of file
+ "SystemUI failed to communicate its flags back successfully")
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
index 5d2d556a..ec5bb770 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
@@ -777,7 +777,7 @@ class MediaDataManager(
fun onNotificationRemoved(key: String) {
Assert.isMainThread()
val removed = mediaEntries.remove(key)
- if (useMediaResumption && removed?.resumeAction != null && removed?.isLocalSession()) {
+ if (useMediaResumption && removed?.resumeAction != null && removed.isLocalSession()) {
Log.d(TAG, "Not removing $key because resumable")
// Move to resume key (aka package name) if that key doesn't already exist.
val resumeAction = getResumeMediaAction(removed.resumeAction!!)
diff --git a/packages/SystemUI/src/com/android/systemui/media/RecommendationViewHolder.kt b/packages/SystemUI/src/com/android/systemui/media/RecommendationViewHolder.kt
index 142628cf..497b548e 100644
--- a/packages/SystemUI/src/com/android/systemui/media/RecommendationViewHolder.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/RecommendationViewHolder.kt
@@ -47,14 +47,14 @@ class RecommendationViewHolder private constructor(itemView: View) {
itemView.requireViewById(R.id.media_cover4_container),
itemView.requireViewById(R.id.media_cover5_container),
itemView.requireViewById(R.id.media_cover6_container))
- val mediaCoverItemsResIds = listOf<@IntegerRes Int>(
+ val mediaCoverItemsResIds = listOf<Int>(
R.id.media_cover1,
R.id.media_cover2,
R.id.media_cover3,
R.id.media_cover4,
R.id.media_cover5,
R.id.media_cover6)
- val mediaCoverContainersResIds = listOf<@IntegerRes Int>(
+ val mediaCoverContainersResIds = listOf<Int>(
R.id.media_cover1_container,
R.id.media_cover2_container,
R.id.media_cover3_container,
@@ -131,4 +131,4 @@ class RecommendationViewHolder private constructor(itemView: View) {
R.id.settings
)
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt
index e072b4a3..71b2c32c 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt
@@ -329,13 +329,10 @@ class PrivacyItemController @Inject constructor(
interface Callback {
fun onPrivacyItemsChanged(privacyItems: List<PrivacyItem>)
- @JvmDefault
fun onFlagAllChanged(flag: Boolean) {}
- @JvmDefault
fun onFlagMicCameraChanged(flag: Boolean) {}
- @JvmDefault
fun onFlagLocationChanged(flag: Boolean) {}
}
@@ -381,4 +378,4 @@ class PrivacyItemController @Inject constructor(
listeningCanceller = delegate.executeDelayed({ setListeningState() }, 0L)
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/settings/UserTracker.kt b/packages/SystemUI/src/com/android/systemui/settings/UserTracker.kt
index c7a8fa22..d5b6e2ed 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/UserTracker.kt
+++ b/packages/SystemUI/src/com/android/systemui/settings/UserTracker.kt
@@ -67,13 +67,11 @@ interface UserTracker : UserContentResolverProvider, UserContextProvider {
/**
* Notifies that the current user has changed.
*/
- @JvmDefault
fun onUserChanged(newUser: Int, userContext: Context) {}
/**
* Notifies that the current user's profiles have changed.
*/
- @JvmDefault
fun onProfilesChanged(profiles: List<UserInfo>) {}
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
index 46004db3..ed9ab8c1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
@@ -524,7 +524,6 @@ class NotificationShadeDepthController @Inject constructor(
*/
fun onWallpaperZoomOutChanged(zoomOut: Float)
- @JvmDefault
fun onBlurRadiusChanged(blurRadius: Int) {}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/SignalCallback.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/SignalCallback.kt
index 599beecb..fde73127 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/SignalCallback.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/SignalCallback.kt
@@ -29,7 +29,6 @@ interface SignalCallback {
*
* @param wifiIndicators a box type containing enough information to properly draw a Wi-Fi icon
*/
- @JvmDefault
fun setWifiIndicators(wifiIndicators: WifiIndicators) {}
/**
@@ -42,7 +41,6 @@ interface SignalCallback {
* NOTE: phones can have multiple subscriptions, so this [mobileDataIndicators] object should be
* indexed based on its [subId][MobileDataIndicators.subId]
*/
- @JvmDefault
fun setMobileDataIndicators(mobileDataIndicators: MobileDataIndicators) {}
/**
@@ -51,7 +49,6 @@ interface SignalCallback {
*
* @param subs a [SubscriptionInfo] for each subscription that we know about
*/
- @JvmDefault
fun setSubs(subs: List<@JvmSuppressWildcards SubscriptionInfo>) {}
/**
@@ -63,7 +60,6 @@ interface SignalCallback {
* @param show whether or not to show a "no sim" view
* @param simDetected whether any SIM is detected or not
*/
- @JvmDefault
fun setNoSims(show: Boolean, simDetected: Boolean) {}
/**
@@ -72,7 +68,6 @@ interface SignalCallback {
*
* @param icon an [IconState] for the current ethernet status
*/
- @JvmDefault
fun setEthernetIndicators(icon: IconState) {}
/**
@@ -80,7 +75,6 @@ interface SignalCallback {
*
* @param icon an [IconState] for the current airplane mode status
*/
- @JvmDefault
fun setIsAirplaneMode(icon: IconState) {}
/**
@@ -88,7 +82,6 @@ interface SignalCallback {
*
* @param enabled the current mobile data feature ennabled state
*/
- @JvmDefault
fun setMobileDataEnabled(enabled: Boolean) {}
/**
@@ -97,7 +90,6 @@ interface SignalCallback {
* @param noValidatedNetwork whether there is any validated network.
* @param noNetworksAvailable whether there is any WiFi networks available.
*/
- @JvmDefault
fun setConnectivityStatus(
noDefaultNetwork: Boolean,
noValidatedNetwork: Boolean,
@@ -109,7 +101,6 @@ interface SignalCallback {
* @param statusIcon the icon for the call indicator
* @param subId subscription ID for which to update the UI
*/
- @JvmDefault
fun setCallIndicator(statusIcon: IconState, subId: Int) {}
}
@@ -184,4 +175,4 @@ data class IconState(
.append("contentDescription=").append(contentDescription).append(']')
.toString()
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt b/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt
index 5a273294..406bfbbd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt
@@ -343,16 +343,15 @@ class SystemStatusAnimationScheduler @Inject constructor(
* interpolation they choose but realistically these are most likely to be simple alpha transitions
*/
interface SystemStatusAnimationCallback {
- @JvmDefault fun onSystemChromeAnimationUpdate(animator: ValueAnimator) {}
- @JvmDefault fun onSystemChromeAnimationStart() {}
- @JvmDefault fun onSystemChromeAnimationEnd() {}
+ fun onSystemChromeAnimationUpdate(animator: ValueAnimator) {}
+ fun onSystemChromeAnimationStart() {}
+ fun onSystemChromeAnimationEnd() {}
// Best method name, change my mind
- @JvmDefault
fun onSystemStatusAnimationTransitionToPersistentDot(contentDescription: String?): Animator? {
return null
}
- @JvmDefault fun onHidePersistentDot(): Animator? { return null }
+ fun onHidePersistentDot(): Animator? { return null }
}
interface SystemStatusChipAnimationCallback {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt
index 38b5ee88..b03ea867 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt
@@ -419,12 +419,12 @@ class NotificationWakeUpCoordinator @Inject constructor(
/**
* Called whenever the notifications are fully hidden or shown
*/
- @JvmDefault fun onFullyHiddenChanged(isFullyHidden: Boolean) {}
+ fun onFullyHiddenChanged(isFullyHidden: Boolean) {}
/**
* Called whenever the pulseExpansion changes
* @param expandingChanged if the user has started or stopped expanding
*/
- @JvmDefault fun onPulseExpansionChanged(expandingChanged: Boolean) {}
+ fun onPulseExpansionChanged(expandingChanged: Boolean) {}
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/dagger/CoordinatorsModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/dagger/CoordinatorsModule.kt
index a26d50d2..af91170e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/dagger/CoordinatorsModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/dagger/CoordinatorsModule.kt
@@ -48,7 +48,7 @@ interface CoordinatorsSubcomponent {
}
@Module(includes = [SensitiveContentCoordinatorModule::class])
-private abstract class InternalCoordinatorsModule {
+abstract class InternalCoordinatorsModule {
@Binds
@Internal
abstract fun bindNotifCoordinators(impl: NotifCoordinatorsImpl): NotifCoordinators
@@ -62,4 +62,4 @@ private annotation class Internal
@Scope
@MustBeDocumented
@Retention(AnnotationRetention.RUNTIME)
-annotation class CoordinatorScope
\ No newline at end of file
+annotation class CoordinatorScope
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt
index 8c15647c..7a135c6a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt
@@ -38,7 +38,7 @@ interface SectionHeaderController {
}
@SectionHeaderScope
-internal class SectionHeaderNodeControllerImpl @Inject constructor(
+class SectionHeaderNodeControllerImpl @Inject constructor(
@NodeLabel override val nodeLabel: String,
private val layoutInflater: LayoutInflater,
@HeaderText @StringRes private val headerTextResId: Int,
@@ -96,4 +96,4 @@ internal class SectionHeaderNodeControllerImpl @Inject constructor(
override val view: View
get() = _view!!
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt
index 2a9cfd03..75801a8d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt
@@ -145,7 +145,7 @@ interface SectionHeaderControllerSubcomponent {
}
@Module
-private abstract class SectionHeaderBindingModule {
+abstract class SectionHeaderBindingModule {
@Binds abstract fun bindsNodeController(impl: SectionHeaderNodeControllerImpl): NodeController
@Binds abstract fun bindsSectionHeaderController(
impl: SectionHeaderNodeControllerImpl
@@ -182,4 +182,4 @@ annotation class HeaderClickAction
@Scope
@Retention(AnnotationRetention.BINARY)
-annotation class SectionHeaderScope
\ No newline at end of file
+annotation class SectionHeaderScope
diff --git a/packages/SystemUI/src/com/android/systemui/util/UserAwareController.kt b/packages/SystemUI/src/com/android/systemui/util/UserAwareController.kt
index 693c2708..cf3ab99b 100644
--- a/packages/SystemUI/src/com/android/systemui/util/UserAwareController.kt
+++ b/packages/SystemUI/src/com/android/systemui/util/UserAwareController.kt
@@ -23,8 +23,7 @@ import android.os.UserHandle
* changes.
*/
interface UserAwareController {
- @JvmDefault
fun changeUser(newUser: UserHandle) {}
val currentUserId: Int
-}
\ No newline at end of file
+}
--
2.42.0
- tools/metalava
修改metalava/src/main/java/com/android/tools/metalava/model/text/TextTypeItem.kt文件
- packages/modules/common/build/allowed_deps.txt
修改packages/modules/common/build/allowed_deps.txt文件
- packages/modules/Permission/PermissionController
修改PermissionController/src/com/android/permissioncontroller/permission/ui/model/PermissionAppsViewModel.kt文件
修改PermissionController/src/com/android/permissioncontroller/permission/ui/model/ReviewOngoingUsageViewModel.kt文件
- packages/apps/DeskClock
修改DeskClock/src/com/android/deskclock/alarms/AlarmActivity.kt文件
修改DeskClock/src/com/android/deskclock/timer/TimerItem.kt文件
- prebuilts/misc/common/asm
参照: android.googlesource.com/platform/pr…
增加asm 9.2相关jar文件,并同步修改Android.bp
diff --git a/misc/common/asm/Android.bp b/misc/common/asm/Android.bp
old mode 100644
new mode 100755
index 86ca4d6c5..3068d0eef
--- a/misc/common/asm/Android.bp
+++ b/misc/common/asm/Android.bp
@@ -123,3 +123,54 @@ java_import {
jars: ["asm-util-7.0.jar"],
defaults: ["asm-7.0-defaults"],
}
+
+java_defaults {
+ name: "asm-9.2-defaults",
+ apex_available: [
+ "//apex_available:anyapex",
+ "//apex_available:platform",
+ ],
+}
+
+filegroup {
+ name: "asm-9.2-filegroup",
+ srcs: ["asm-9.2.jar"],
+ visibility: [
+ "//art/test:__subpackages__",
+ ],
+}
+
+java_import {
+ name: "asm-9.2",
+ host_supported: true,
+ jars: ["asm-9.2.jar"],
+ defaults: ["asm-9.2-defaults"],
+}
+
+java_import {
+ name: "asm-analysis-9.2",
+ host_supported: true,
+ jars: ["asm-analysis-9.2.jar"],
+ defaults: ["asm-9.2-defaults"],
+}
+
+java_import {
+ name: "asm-commons-9.2",
+ host_supported: true,
+ jars: ["asm-commons-9.2.jar"],
+ defaults: ["asm-9.2-defaults"],
+}
+
+java_import {
+ name: "asm-tree-9.2",
+ host_supported: true,
+ jars: ["asm-tree-9.2.jar"],
+ defaults: ["asm-9.2-defaults"],
+}
+
+java_import {
+ name: "asm-util-9.2",
+ host_supported: true,
+ jars: ["asm-util-9.2.jar"],
+ defaults: ["asm-9.2-defaults"],
+}
- prebuilts/sdk/current/androidx/Android.bp
- room版本从
2.3.0-beta02更新到2.6.1 - sqlite版本从
2.2.0-alpha01更新到2.4.0-alpha01
修改Android.bp,同时需要增加对应jar文件
diff --git a/sdk/current/androidx/Android.bp b/sdk/current/androidx/Android.bp
old mode 100644
new mode 100755
index f0f21597e..0fb55d65b
--- a/sdk/current/androidx/Android.bp
+++ b/sdk/current/androidx/Android.bp
@@ -2912,7 +2912,7 @@ android_library {
java_import {
name: "androidx.room_room-common-nodeps",
- jars: ["m2repository/androidx/room/room-common/2.3.0-beta02/room-common-2.3.0-beta02.jar"],
+ jars: ["m2repository/androidx/room/room-common/2.6.1/room-common-2.6.1.jar"],
sdk_version: "30",
host_supported: true,
apex_available: [
@@ -2934,13 +2934,15 @@ java_library_static {
static_libs: [
"androidx.room_room-common-nodeps",
"androidx.annotation_annotation",
+ "kotlin-stdlib-jdk8",
+ "kotlin-stdlib",
],
java_version: "1.7",
}
java_import_host {
name: "androidx.room_room-compiler-processing-nodeps",
- jars: ["m2repository/androidx/room/room-compiler-processing/2.3.0-beta02/room-compiler-processing-2.3.0-beta02.jar"],
+ jars: ["m2repository/androidx/room/room-compiler-processing/2.6.1/room-compiler-processing-2.6.1.jar"],
sdk_version: "30",
}
@@ -2948,15 +2950,15 @@ java_library_host {
name: "androidx.room_room-compiler-processing",
static_libs: [
"androidx.room_room-compiler-processing-nodeps",
- "kotlin-stdlib",
- "javapoet",
- "androidx.annotation_annotation",
- "guava",
"auto_common",
"auto_value_annotations",
- "kotlinx-metadata-jvm",
- "jetbrains-annotations",
"symbol-processing-api",
+ "guava",
+ "jetbrains-annotations",
+ "javapoet",
+ "kotlinpoet",
+ "kotlinpoet-javapoet",
+ "kotlin-stdlib",
"kotlin-stdlib-jdk8",
],
java_version: "1.7",
@@ -2964,7 +2966,7 @@ java_library_host {
java_import_host {
name: "androidx.room_room-compiler-nodeps",
- jars: ["m2repository/androidx/room/room-compiler/2.3.0-beta02/room-compiler-2.3.0-beta02.jar"],
+ jars: ["m2repository/androidx/room/room-compiler/2.6.1/room-compiler-2.6.1.jar"],
sdk_version: "30",
}
@@ -2973,25 +2975,100 @@ java_library_host {
static_libs: [
"androidx.room_room-compiler-nodeps",
"androidx.room_room-common",
- "androidx.room_room-migration",
"androidx.room_room-compiler-processing",
- "kotlin-stdlib",
+ "androidx.room_room-migration",
"auto_common",
"auto_value_annotations",
- "javapoet",
"symbol-processing-api",
- "xerial-sqlite-jdbc",
- "kotlinx-metadata-jvm",
- "commons-codec",
"jetbrains-annotations",
- "guava-21.0",
+ "javapoet",
+ "kotlinpoet",
+ "kotlinpoet-javapoet",
+ "commons-codec",
+ "kotlin-stdlib",
+ "xerial-sqlite-jdbc",
+ "guava",
+ ],
+ java_version: "1.7",
+}
+
+android_library_import {
+ name: "androidx.room_room-guava-nodeps",
+ aars: ["m2repository/androidx/room/room-guava/2.6.1/room-guava-2.6.1.aar"],
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ static_libs: [
+ "androidx.annotation_annotation",
+ "androidx.concurrent_concurrent-futures",
+ "androidx.room_room-common",
+ "androidx.arch.core_core-runtime",
+ "androidx.room_room-runtime",
+ ],
+}
+
+android_library {
+ name: "androidx.room_room-guava",
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ manifest: "manifests/androidx.room_room-guava/AndroidManifest.xml",
+ static_libs: [
+ "androidx.room_room-guava-nodeps",
+ "androidx.annotation_annotation",
+ "androidx.concurrent_concurrent-futures",
+ "androidx.room_room-common",
+ "androidx.arch.core_core-runtime",
+ "androidx.room_room-runtime",
+ ],
+ java_version: "1.7",
+}
+
+android_library_import {
+ name: "androidx.room_room-ktx-nodeps",
+ aars: ["m2repository/androidx/room/room-ktx/2.6.1/room-ktx-2.6.1.aar"],
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ static_libs: [
+ "androidx.room_room-common",
+ "kotlin-stdlib",
+ "kotlinx_coroutines_android",
+ "androidx.room_room-runtime",
+ ],
+}
+
+android_library {
+ name: "androidx.room_room-ktx",
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ manifest: "manifests/androidx.room_room-ktx/AndroidManifest.xml",
+ static_libs: [
+ "androidx.room_room-ktx-nodeps",
+ "androidx.room_room-common",
+ "kotlin-stdlib",
+ "kotlinx_coroutines_android",
+ "androidx.room_room-runtime",
],
java_version: "1.7",
}
java_import {
name: "androidx.room_room-migration-nodeps",
- jars: ["m2repository/androidx/room/room-migration/2.3.0-beta02/room-migration-2.3.0-beta02.jar"],
+ jars: ["m2repository/androidx/room/room-migration/2.6.1/room-migration-2.6.1.jar"],
sdk_version: "30",
host_supported: true,
apex_available: [
@@ -3013,15 +3090,87 @@ java_library_static {
static_libs: [
"androidx.room_room-migration-nodeps",
"androidx.room_room-common",
- "kotlin-stdlib",
"gson-prebuilt-jar",
+ "kotlin-stdlib",
+ ],
+ java_version: "1.7",
+}
+
+android_library_import {
+ name: "androidx.room_room-paging-guava-nodeps",
+ aars: ["m2repository/androidx/room/room-paging-guava/2.6.1/room-paging-guava-2.6.1.aar"],
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ static_libs: [
+ "kotlin-stdlib",
+ "androidx.paging_paging-guava",
+ "androidx.room_room-guava",
+ "androidx.room_room-paging",
+ ],
+}
+
+android_library {
+ name: "androidx.room_room-paging-guava",
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ manifest: "manifests/androidx.room_room-paging-guava/AndroidManifest.xml",
+ static_libs: [
+ "androidx.room_room-paging-guava-nodeps",
+ "kotlin-stdlib",
+ "androidx.paging_paging-guava",
+ "androidx.room_room-guava",
+ "androidx.room_room-paging",
+ ],
+ java_version: "1.7",
+}
+
+android_library_import {
+ name: "androidx.room_room-paging-nodeps",
+ aars: ["m2repository/androidx/room/room-paging/2.6.1/room-paging-2.6.1.aar"],
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ static_libs: [
+ "androidx.paging_paging-common",
+ "kotlin-stdlib",
+ "androidx.room_room-ktx",
+ "androidx.room_room-runtime",
+ ],
+}
+
+android_library {
+ name: "androidx.room_room-paging",
+ sdk_version: "30",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ min_sdk_version: "14",
+ manifest: "manifests/androidx.room_room-paging/AndroidManifest.xml",
+ static_libs: [
+ "androidx.room_room-paging-nodeps",
+ "androidx.paging_paging-common",
+ "kotlin-stdlib",
+ "androidx.room_room-ktx",
+ "androidx.room_room-runtime",
],
java_version: "1.7",
}
android_library_import {
name: "androidx.room_room-runtime-nodeps",
- aars: ["m2repository/androidx/room/room-runtime/2.3.0-beta02/room-runtime-2.3.0-beta02.aar"],
+ aars: ["m2repository/androidx/room/room-runtime/2.6.1/room-runtime-2.6.1.aar"],
sdk_version: "30",
apex_available: [
"//apex_available:platform",
@@ -3030,10 +3179,10 @@ android_library_import {
min_sdk_version: "14",
static_libs: [
"androidx.room_room-common",
- "androidx.sqlite_sqlite-framework",
- "androidx.sqlite_sqlite",
- "androidx.arch.core_core-runtime",
"androidx.annotation_annotation-experimental",
+ "androidx.arch.core_core-runtime",
+ "androidx.sqlite_sqlite",
+ "androidx.sqlite_sqlite-framework",
],
}
@@ -3049,17 +3198,17 @@ android_library {
static_libs: [
"androidx.room_room-runtime-nodeps",
"androidx.room_room-common",
- "androidx.sqlite_sqlite-framework",
- "androidx.sqlite_sqlite",
- "androidx.arch.core_core-runtime",
"androidx.annotation_annotation-experimental",
+ "androidx.arch.core_core-runtime",
+ "androidx.sqlite_sqlite",
+ "androidx.sqlite_sqlite-framework",
],
java_version: "1.7",
}
android_library_import {
name: "androidx.room_room-testing-nodeps",
- aars: ["m2repository/androidx/room/room-testing/2.3.0-beta02/room-testing-2.3.0-beta02.aar"],
+ aars: ["m2repository/androidx/room/room-testing/2.6.1/room-testing-2.6.1.aar"],
sdk_version: "30",
apex_available: [
"//apex_available:platform",
@@ -3070,10 +3219,10 @@ android_library_import {
"androidx.room_room-common",
"androidx.room_room-migration",
"junit",
+ "androidx.arch.core_core-runtime",
"androidx.room_room-runtime",
"androidx.sqlite_sqlite",
"androidx.sqlite_sqlite-framework",
- "androidx.arch.core_core-runtime",
],
}
@@ -3091,10 +3240,10 @@ android_library {
"androidx.room_room-common",
"androidx.room_room-migration",
"junit",
+ "androidx.arch.core_core-runtime",
"androidx.room_room-runtime",
"androidx.sqlite_sqlite",
"androidx.sqlite_sqlite-framework",
- "androidx.arch.core_core-runtime",
],
java_version: "1.7",
}
@@ -3311,7 +3460,7 @@ android_library {
android_library_import {
name: "androidx.sqlite_sqlite-framework-nodeps",
- aars: ["m2repository/androidx/sqlite/sqlite-framework/2.2.0-alpha01/sqlite-framework-2.2.0-alpha01.aar"],
+ aars: ["m2repository/androidx/sqlite/sqlite-framework/2.4.0-alpha01/sqlite-framework-2.4.0-alpha01.aar"],
sdk_version: "30",
apex_available: [
"//apex_available:platform",
@@ -3343,7 +3492,7 @@ android_library {
android_library_import {
name: "androidx.sqlite_sqlite-nodeps",
- aars: ["m2repository/androidx/sqlite/sqlite/2.2.0-alpha01/sqlite-2.2.0-alpha01.aar"],
+ aars: ["m2repository/androidx/sqlite/sqlite/2.4.0-alpha01/sqlite-2.4.0-alpha01.aar"],
sdk_version: "30",
apex_available: [
"//apex_available:platform",
- prebuilts/tools/common/m2/Android.bp
- gson-prebuilt-jar版本从
2.8.0升级到2.10.1版本 - kotlinx-metadata-jvm版本从
0.1.0升级到0.6.0版本
修改Android.bp,同时需要增加对应jar文件
diff --git a/tools/common/m2/Android.bp b/tools/common/m2/Android.bp
old mode 100644
new mode 100755
index 630a90d60..88848ad67
--- a/tools/common/m2/Android.bp
+++ b/tools/common/m2/Android.bp
@@ -78,7 +78,7 @@ java_import_host {
java_import {
name: "gson-prebuilt-jar",
- jars: ["repository/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar"],
+ jars: ["repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar"],
sdk_version: "current",
host_supported: true,
}
@@ -229,7 +229,7 @@ java_import {
// TODO: remove in favor of kotlinx_metadata_jvm
java_import {
name: "kotlinx-metadata-jvm",
- jars: ["repository/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.1.0/kotlinx-metadata-jvm-0.1.0.jar"],
+ jars: ["repository/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.6.0/kotlinx-metadata-jvm-0.6.0.jar"],
host_supported: true,
}
@@ -268,42 +268,6 @@ java_import {
host_supported: true,
}
-java_import {
- name: "kotlinx-coroutines-core-nodeps",
- jars: ["repository/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.3.0/kotlinx-coroutines-core-1.3.0.jar"],
-}
-
-// TODO: remove in favor of kotlinx_coroutines
-java_library_static {
- name: "kotlinx-coroutines-core",
- static_libs: [
- "kotlinx-coroutines-core-nodeps",
- "kotlin-stdlib"
- ],
- sdk_version: "current",
-}
-
-java_import {
- name: "kotlinx-coroutines-android-nodeps",
- jars: ["repository/org/jetbrains/kotlinx/kotlinx-coroutines-android/1.3.0/kotlinx-coroutines-android-1.3.0.jar"],
-}
-
-// TODO: remove in favor of kotlinx_coroutines_android
-java_library_static {
- name: "kotlinx-coroutines-android",
- static_libs: [
- "kotlin-stdlib",
- "kotlinx-coroutines-core",
- "kotlinx-coroutines-android-nodeps"
- ],
- sdk_version: "current",
-}
-
-java_import {
- name: "kotlinx-coroutines-core-jvm",
- jars: ["repository/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.4.2/kotlinx-coroutines-core-jvm-1.4.2.jar"],
-}
-
java_import_host {
name: "javax-annotation-api-prebuilt-host-jar",
jars: ["repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar"],