Revert "Resolve compat perf regression via @NoLogging annotation"
Revert submission 34109140-compat-nologging
Reason for revert: Caused a mainline build break b/427861064
Reverted changes: /q/submissionid:34109140-compat-nologging
Change-Id: Ic47203a3fe326ab224406f7c0b8c8561b1237098
diff --git a/java/android/compat/annotation/Android.bp b/java/android/compat/annotation/Android.bp
index 96265cd..27695bd 100644
--- a/java/android/compat/annotation/Android.bp
+++ b/java/android/compat/annotation/Android.bp
@@ -27,7 +27,6 @@
"EnabledAfter.java",
"EnabledSince.java",
"LoggingOnly.java",
- "NoLogging.java",
"Overridable.java",
],
apex_available: [
@@ -47,7 +46,6 @@
"EnabledAfter.java",
"EnabledSince.java",
"LoggingOnly.java",
- "NoLogging.java",
"Overridable.java",
"UnsupportedAppUsage.java",
],
diff --git a/java/android/compat/annotation/NoLogging.java b/java/android/compat/annotation/NoLogging.java
deleted file mode 100644
index c6423f1..0000000
--- a/java/android/compat/annotation/NoLogging.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package android.compat.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.RetentionPolicy.SOURCE;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Used to indicate that a compatibility {@link ChangeId} change should not be logged.
- *
- * This is used to improve performance by avoiding the overhead of logging changes that are
- * accessed in performance-critical code.
- *
- * @hide
- */
-@Retention(SOURCE)
-@Target({FIELD})
-public @interface NoLogging {
-}
\ No newline at end of file
diff --git a/java/android/processor/compat/changeid/Change.java b/java/android/processor/compat/changeid/Change.java
index 5f32d39..0418a85 100644
--- a/java/android/processor/compat/changeid/Change.java
+++ b/java/android/processor/compat/changeid/Change.java
@@ -24,7 +24,6 @@
final String name;
final boolean disabled;
final boolean loggingOnly;
- final boolean noLogging;
final Integer enabledAfter;
final Integer enabledSince;
final String description;
@@ -46,25 +45,14 @@
*/
final String sourcePosition;
- Change(
- Long id,
- String name,
- boolean disabled,
- boolean loggingOnly,
- boolean noLogging,
- Integer enabledAfter,
- Integer enabledSince,
- String description,
- boolean overridable,
- String javaPackage,
- String className,
- String qualifiedClass,
- String sourcePosition) {
+ Change(Long id, String name, boolean disabled, boolean loggingOnly, Integer enabledAfter,
+ Integer enabledSince, String description, boolean overridable, String javaPackage,
+ String className,
+ String qualifiedClass, String sourcePosition) {
this.id = id;
this.name = name;
this.disabled = disabled;
this.loggingOnly = loggingOnly;
- this.noLogging = noLogging;
this.enabledAfter = enabledAfter;
this.enabledSince = enabledSince;
this.description = description;
@@ -80,7 +68,6 @@
String name;
boolean disabled;
boolean loggingOnly;
- boolean noLogging;
Integer enabledAfter;
Integer enabledSince;
String description;
@@ -113,11 +100,6 @@
return this;
}
- public Builder noLogging() {
- this.noLogging = true;
- return this;
- }
-
public Builder enabledAfter(int sdkVersion) {
this.enabledAfter = sdkVersion;
return this;
@@ -159,20 +141,8 @@
}
public Change build() {
- return new Change(
- id,
- name,
- disabled,
- loggingOnly,
- noLogging,
- enabledAfter,
- enabledSince,
- description,
- overridable,
- javaPackage,
- javaClass,
- qualifiedClass,
- sourcePosition);
+ return new Change(id, name, disabled, loggingOnly, enabledAfter, enabledSince,
+ description, overridable, javaPackage, javaClass, qualifiedClass, sourcePosition);
}
}
}
diff --git a/java/android/processor/compat/changeid/ChangeIdProcessor.java b/java/android/processor/compat/changeid/ChangeIdProcessor.java
index 2acd285..97b5f31 100644
--- a/java/android/processor/compat/changeid/ChangeIdProcessor.java
+++ b/java/android/processor/compat/changeid/ChangeIdProcessor.java
@@ -71,7 +71,6 @@
private static final String ENABLED_AFTER_CLASS_NAME = "android.compat.annotation.EnabledAfter";
private static final String ENABLED_SINCE_CLASS_NAME = "android.compat.annotation.EnabledSince";
private static final String LOGGING_CLASS_NAME = "android.compat.annotation.LoggingOnly";
- private static final String NO_LOGGING_CLASS_NAME = "android.compat.annotation.NoLogging";
private static final String TARGET_SDK_VERSION = "targetSdkVersion";
private static final String OVERRIDABLE_CLASS_NAME = "android.compat.annotation.Overridable";
@@ -190,9 +189,6 @@
case LOGGING_CLASS_NAME:
builder.loggingOnly();
break;
- case NO_LOGGING_CLASS_NAME:
- builder.noLogging();
- break;
case ENABLED_AFTER_CLASS_NAME:
builder.enabledAfter((Integer)(Objects.requireNonNull(sdkValue).getValue()));
break;
diff --git a/java/android/processor/compat/changeid/XmlWriter.java b/java/android/processor/compat/changeid/XmlWriter.java
index a255d4e..772aa41 100644
--- a/java/android/processor/compat/changeid/XmlWriter.java
+++ b/java/android/processor/compat/changeid/XmlWriter.java
@@ -64,7 +64,6 @@
private static final String XML_ID_ATTR = "id";
private static final String XML_DISABLED_ATTR = "disabled";
private static final String XML_LOGGING_ATTR = "loggingOnly";
- private static final String XML_NO_LOGGING_ATTR = "noLogging";
private static final String XML_ENABLED_AFTER_ATTR = "enableAfterTargetSdk";
private static final String XML_ENABLED_SINCE_ATTR = "enableSinceTargetSdk";
private static final String XML_DESCRIPTION_ATTR = "description";
@@ -92,9 +91,6 @@
if (change.loggingOnly) {
newElement.setAttribute(XML_LOGGING_ATTR, "true");
}
- if (change.noLogging) {
- newElement.setAttribute(XML_NO_LOGGING_ATTR, "true");
- }
if (change.enabledAfter != null) {
newElement.setAttribute(XML_ENABLED_AFTER_ATTR, change.enabledAfter.toString());
}
diff --git a/javatest/android/processor/compat/changeid/ChangeIdProcessorTest.java b/javatest/android/processor/compat/changeid/ChangeIdProcessorTest.java
index 21a95e4..18a6e8b 100644
--- a/javatest/android/processor/compat/changeid/ChangeIdProcessorTest.java
+++ b/javatest/android/processor/compat/changeid/ChangeIdProcessorTest.java
@@ -66,16 +66,6 @@
"@Target({FIELD})",
"public @interface LoggingOnly {",
"}"),
- JavaFileObjects.forSourceLines("android.compat.annotation.NoLogging",
- "package android.compat.annotation;",
- "import static java.lang.annotation.ElementType.FIELD;",
- "import static java.lang.annotation.RetentionPolicy.SOURCE;",
- "import java.lang.annotation.Retention;",
- "import java.lang.annotation.Target;",
- "@Retention(SOURCE)",
- "@Target({FIELD})",
- "public @interface NoLogging {",
- "}"),
JavaFileObjects.forSourceLines("android.compat.annotation.EnabledAfter",
"package android.compat.annotation;",
"import static java.lang.annotation.ElementType.FIELD;",
@@ -503,34 +493,6 @@
}
@Test
- public void testNoLogging() {
- JavaFileObject[] source = {
- JavaFileObjects.forSourceLines(
- "libcore.util.Compat",
- "package libcore.util;",
- "import android.compat.annotation.ChangeId;",
- "import android.compat.annotation.NoLogging;",
- "public class Compat {",
- " @NoLogging",
- " @ChangeId",
- " static final long MY_CHANGE_ID = 123456789l;",
- "}")
- };
- String expectedFile = HEADER + "<config>" +
- "<compat-change id=\"123456789\" name=\"MY_CHANGE_ID\" noLogging=\"true\">" +
- "<meta-data definedIn=\"libcore.util.Compat\" " +
- "sourcePosition=\"libcore/util/Compat.java:6\"/>" +
- "</compat-change></config>";
- Compilation compilation =
- Compiler.javac()
- .withProcessors(new ChangeIdProcessor())
- .compile(ObjectArrays.concat(mAnnotations, source, JavaFileObject.class));
- CompilationSubject.assertThat(compilation).succeeded();
- CompilationSubject.assertThat(compilation).generatedFile(CLASS_OUTPUT, "libcore.util",
- "Compat_compat_config.xml").contentsAsString(UTF_8).isEqualTo(expectedFile);
- }
-
- @Test
public void testIgnoredParams() {
JavaFileObject[] source = {
JavaFileObjects.forSourceLines(