Merge "[Ravenwood] Move redirection classes out of f/b/r" into main
diff --git a/core/java/android/database/CursorWindow.java b/core/java/android/database/CursorWindow.java
index ef59e0a..93ef5c3 100644
--- a/core/java/android/database/CursorWindow.java
+++ b/core/java/android/database/CursorWindow.java
@@ -45,7 +45,7 @@
* </p>
*/
@RavenwoodKeepWholeClass
-@RavenwoodRedirectionClass("CursorWindow_host")
+@RavenwoodRedirectionClass("CursorWindow_ravenwood")
public class CursorWindow extends SQLiteClosable implements Parcelable {
private static final String STATS_TAG = "CursorWindowStats";
diff --git a/ravenwood/runtime-helper-src/framework/android/database/CursorWindow_host.java b/core/java/android/database/CursorWindow_ravenwood.java
similarity index 89%
rename from ravenwood/runtime-helper-src/framework/android/database/CursorWindow_host.java
rename to core/java/android/database/CursorWindow_ravenwood.java
index e21a9cd..990ec5e 100644
--- a/ravenwood/runtime-helper-src/framework/android/database/CursorWindow_host.java
+++ b/core/java/android/database/CursorWindow_ravenwood.java
@@ -17,6 +17,7 @@
import android.database.sqlite.SQLiteException;
import android.os.Parcel;
+import android.ravenwood.annotation.RavenwoodKeepWholeClass;
import android.util.Base64;
import java.text.DecimalFormat;
@@ -26,9 +27,10 @@
import java.util.HashMap;
import java.util.List;
-public class CursorWindow_host {
+@RavenwoodKeepWholeClass
+class CursorWindow_ravenwood {
- private static final HashMap<Long, CursorWindow_host> sInstances = new HashMap<>();
+ private static final HashMap<Long, CursorWindow_ravenwood> sInstances = new HashMap<>();
private static long sNextId = 1;
private String mName;
@@ -41,7 +43,7 @@
private final List<Row> mRows = new ArrayList<>();
public static long nativeCreate(String name, int cursorWindowSize) {
- CursorWindow_host instance = new CursorWindow_host();
+ CursorWindow_ravenwood instance = new CursorWindow_ravenwood();
instance.mName = name;
long instanceId = sNextId++;
sInstances.put(instanceId, instance);
@@ -66,7 +68,7 @@
}
public static boolean nativeAllocRow(long windowPtr) {
- CursorWindow_host instance = sInstances.get(windowPtr);
+ CursorWindow_ravenwood instance = sInstances.get(windowPtr);
Row row = new Row();
row.mFields = new String[instance.mColumnNum];
row.mTypes = new int[instance.mColumnNum];
@@ -76,7 +78,7 @@
}
private static boolean put(long windowPtr, String value, int type, int row, int column) {
- CursorWindow_host instance = sInstances.get(windowPtr);
+ CursorWindow_ravenwood instance = sInstances.get(windowPtr);
if (row >= instance.mRows.size() || column >= instance.mColumnNum) {
return false;
}
@@ -87,7 +89,7 @@
}
public static int nativeGetType(long windowPtr, int row, int column) {
- CursorWindow_host instance = sInstances.get(windowPtr);
+ CursorWindow_ravenwood instance = sInstances.get(windowPtr);
if (row >= instance.mRows.size() || column >= instance.mColumnNum) {
return Cursor.FIELD_TYPE_NULL;
}
@@ -101,7 +103,7 @@
}
public static String nativeGetString(long windowPtr, int row, int column) {
- CursorWindow_host instance = sInstances.get(windowPtr);
+ CursorWindow_ravenwood instance = sInstances.get(windowPtr);
if (row >= instance.mRows.size() || column >= instance.mColumnNum) {
return null;
}
@@ -164,7 +166,7 @@
}
public static void nativeWriteToParcel(long windowPtr, Parcel parcel) {
- CursorWindow_host window = sInstances.get(windowPtr);
+ CursorWindow_ravenwood window = sInstances.get(windowPtr);
parcel.writeString(window.mName);
parcel.writeInt(window.mColumnNum);
parcel.writeInt(window.mRows.size());
@@ -176,7 +178,7 @@
public static long nativeCreateFromParcel(Parcel parcel) {
long windowPtr = nativeCreate(null, 0);
- CursorWindow_host window = sInstances.get(windowPtr);
+ CursorWindow_ravenwood window = sInstances.get(windowPtr);
window.mName = parcel.readString();
window.mColumnNum = parcel.readInt();
int rowCount = parcel.readInt();
diff --git a/core/java/android/os/MessageQueue.java b/core/java/android/os/MessageQueue.java
index 53da4a9..5a7650b 100644
--- a/core/java/android/os/MessageQueue.java
+++ b/core/java/android/os/MessageQueue.java
@@ -40,7 +40,7 @@
* {@link Looper#myQueue() Looper.myQueue()}.
*/
@android.ravenwood.annotation.RavenwoodKeepWholeClass
-@android.ravenwood.annotation.RavenwoodRedirectionClass("MessageQueue_host")
+@android.ravenwood.annotation.RavenwoodRedirectionClass("MessageQueue_ravenwood")
public final class MessageQueue {
private static final String TAG = "MessageQueue";
private static final boolean DEBUG = false;
diff --git a/ravenwood/runtime-helper-src/framework/android/os/MessageQueue_host.java b/core/java/android/os/MessageQueue_ravenwood.java
similarity index 87%
rename from ravenwood/runtime-helper-src/framework/android/os/MessageQueue_host.java
rename to core/java/android/os/MessageQueue_ravenwood.java
index 1b63adc..4033707 100644
--- a/ravenwood/runtime-helper-src/framework/android/os/MessageQueue_host.java
+++ b/core/java/android/os/MessageQueue_ravenwood.java
@@ -16,13 +16,16 @@
package android.os;
+import android.ravenwood.annotation.RavenwoodKeepWholeClass;
+
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
-public class MessageQueue_host {
+@RavenwoodKeepWholeClass
+class MessageQueue_ravenwood {
private static final AtomicLong sNextId = new AtomicLong(1);
- private static final Map<Long, MessageQueue_host> sInstances = new ConcurrentHashMap<>();
+ private static final Map<Long, MessageQueue_ravenwood> sInstances = new ConcurrentHashMap<>();
private boolean mDeleted = false;
@@ -37,8 +40,8 @@
}
}
- private static MessageQueue_host getInstance(long id) {
- MessageQueue_host q = sInstances.get(id);
+ private static MessageQueue_ravenwood getInstance(long id) {
+ MessageQueue_ravenwood q = sInstances.get(id);
if (q == null) {
throw new RuntimeException("MessageQueue doesn't exist with id=" + id);
}
@@ -48,7 +51,7 @@
public static long nativeInit() {
final long id = sNextId.getAndIncrement();
- final MessageQueue_host q = new MessageQueue_host();
+ final MessageQueue_ravenwood q = new MessageQueue_ravenwood();
sInstances.put(id, q);
return id;
}
diff --git a/core/java/com/android/internal/os/LongArrayMultiStateCounter.java b/core/java/com/android/internal/os/LongArrayMultiStateCounter.java
index dfb2884..1f9a39d 100644
--- a/core/java/com/android/internal/os/LongArrayMultiStateCounter.java
+++ b/core/java/com/android/internal/os/LongArrayMultiStateCounter.java
@@ -60,14 +60,14 @@
* @hide
*/
@RavenwoodKeepWholeClass
-@RavenwoodRedirectionClass("LongArrayMultiStateCounter_host")
+@RavenwoodRedirectionClass("LongArrayMultiStateCounter_ravenwood")
public final class LongArrayMultiStateCounter implements Parcelable {
/**
* Container for a native equivalent of a long[].
*/
@RavenwoodKeepWholeClass
- @RavenwoodRedirectionClass("LongArrayContainer_host")
+ @RavenwoodRedirectionClass("LongArrayMultiStateCounter_ravenwood$LongArrayContainer")
public static class LongArrayContainer {
private static NativeAllocationRegistry sRegistry;
diff --git a/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongArrayMultiStateCounter_host.java b/core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java
similarity index 84%
rename from ravenwood/runtime-helper-src/framework/com/android/internal/os/LongArrayMultiStateCounter_host.java
rename to core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java
index 9ce8ea8..e5caa6a 100644
--- a/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongArrayMultiStateCounter_host.java
+++ b/core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java
@@ -18,6 +18,7 @@
import android.os.BadParcelableException;
import android.os.Parcel;
+import android.ravenwood.annotation.RavenwoodKeepWholeClass;
import java.util.Arrays;
import java.util.HashMap;
@@ -25,7 +26,52 @@
/**
* Native implementation substitutions for the LongArrayMultiStateCounter class.
*/
-public class LongArrayMultiStateCounter_host {
+@RavenwoodKeepWholeClass
+class LongArrayMultiStateCounter_ravenwood {
+
+ static class LongArrayContainer {
+ private static final HashMap<Long, long[]> sInstances = new HashMap<>();
+ private static long sNextId = 1;
+
+ public static long native_init(int arrayLength) {
+ long[] array = new long[arrayLength];
+ long instanceId = sNextId++;
+ sInstances.put(instanceId, array);
+ return instanceId;
+ }
+
+ static long[] getInstance(long instanceId) {
+ return sInstances.get(instanceId);
+ }
+
+ public static void native_setValues(long instanceId, long[] values) {
+ System.arraycopy(values, 0, getInstance(instanceId), 0, values.length);
+ }
+
+ public static void native_getValues(long instanceId, long[] values) {
+ System.arraycopy(getInstance(instanceId), 0, values, 0, values.length);
+ }
+
+ public static boolean native_combineValues(long instanceId, long[] array, int[] indexMap) {
+ long[] values = getInstance(instanceId);
+
+ boolean nonZero = false;
+ Arrays.fill(array, 0);
+
+ for (int i = 0; i < values.length; i++) {
+ int index = indexMap[i];
+ if (index < 0 || index >= array.length) {
+ throw new IndexOutOfBoundsException("Index " + index + " is out of bounds: [0, "
+ + (array.length - 1) + "]");
+ }
+ if (values[i] != 0) {
+ array[index] += values[i];
+ nonZero = true;
+ }
+ }
+ return nonZero;
+ }
+ }
/**
* A reimplementation of {@link LongArrayMultiStateCounter}, only in
@@ -288,13 +334,13 @@
public static void native_setValues(long instanceId, int state, long containerInstanceId) {
getInstance(instanceId).setValue(state,
- LongArrayContainer_host.getInstance(containerInstanceId));
+ LongArrayContainer.getInstance(containerInstanceId));
}
public static void native_updateValues(long instanceId, long containerInstanceId,
long timestampMs) {
getInstance(instanceId).updateValue(
- LongArrayContainer_host.getInstance(containerInstanceId), timestampMs);
+ LongArrayContainer.getInstance(containerInstanceId), timestampMs);
}
public static void native_setState(long instanceId, int state, long timestampMs) {
@@ -308,15 +354,15 @@
public static void native_incrementValues(long instanceId, long containerInstanceId,
long timestampMs) {
getInstance(instanceId).incrementValues(
- LongArrayContainer_host.getInstance(containerInstanceId), timestampMs);
+ LongArrayContainer.getInstance(containerInstanceId), timestampMs);
}
public static void native_addCounts(long instanceId, long containerInstanceId) {
- getInstance(instanceId).addCounts(LongArrayContainer_host.getInstance(containerInstanceId));
+ getInstance(instanceId).addCounts(LongArrayContainer.getInstance(containerInstanceId));
}
public static void native_getCounts(long instanceId, long containerInstanceId, int state) {
- getInstance(instanceId).getValues(LongArrayContainer_host.getInstance(containerInstanceId),
+ getInstance(instanceId).getValues(LongArrayContainer.getInstance(containerInstanceId),
state);
}
diff --git a/core/java/com/android/internal/os/LongMultiStateCounter.java b/core/java/com/android/internal/os/LongMultiStateCounter.java
index c386a86..ee855d5 100644
--- a/core/java/com/android/internal/os/LongMultiStateCounter.java
+++ b/core/java/com/android/internal/os/LongMultiStateCounter.java
@@ -60,7 +60,7 @@
* @hide
*/
@RavenwoodKeepWholeClass
-@RavenwoodRedirectionClass("LongMultiStateCounter_host")
+@RavenwoodRedirectionClass("LongMultiStateCounter_ravenwood")
public final class LongMultiStateCounter implements Parcelable {
private static NativeAllocationRegistry sRegistry;
diff --git a/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongMultiStateCounter_host.java b/core/java/com/android/internal/os/LongMultiStateCounter_ravenwood.java
similarity index 97%
rename from ravenwood/runtime-helper-src/framework/com/android/internal/os/LongMultiStateCounter_host.java
rename to core/java/com/android/internal/os/LongMultiStateCounter_ravenwood.java
index 1d95aa1..42db37f 100644
--- a/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongMultiStateCounter_host.java
+++ b/core/java/com/android/internal/os/LongMultiStateCounter_ravenwood.java
@@ -18,13 +18,15 @@
import android.os.BadParcelableException;
import android.os.Parcel;
+import android.ravenwood.annotation.RavenwoodKeepWholeClass;
import java.util.HashMap;
/**
* Native implementation substitutions for the LongMultiStateCounter class.
*/
-public class LongMultiStateCounter_host {
+@RavenwoodKeepWholeClass
+class LongMultiStateCounter_ravenwood {
/**
* A reimplementation of {@link com.android.internal.os.LongMultiStateCounter}, only in
diff --git a/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongArrayContainer_host.java b/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongArrayContainer_host.java
deleted file mode 100644
index c18c307..0000000
--- a/ravenwood/runtime-helper-src/framework/com/android/internal/os/LongArrayContainer_host.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2024 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 com.android.internal.os;
-
-import java.util.Arrays;
-import java.util.HashMap;
-
-public class LongArrayContainer_host {
- private static final HashMap<Long, long[]> sInstances = new HashMap<>();
- private static long sNextId = 1;
-
- public static long native_init(int arrayLength) {
- long[] array = new long[arrayLength];
- long instanceId = sNextId++;
- sInstances.put(instanceId, array);
- return instanceId;
- }
-
- static long[] getInstance(long instanceId) {
- return sInstances.get(instanceId);
- }
-
- public static void native_setValues(long instanceId, long[] values) {
- System.arraycopy(values, 0, getInstance(instanceId), 0, values.length);
- }
-
- public static void native_getValues(long instanceId, long[] values) {
- System.arraycopy(getInstance(instanceId), 0, values, 0, values.length);
- }
-
- public static boolean native_combineValues(long instanceId, long[] array, int[] indexMap) {
- long[] values = getInstance(instanceId);
-
- boolean nonZero = false;
- Arrays.fill(array, 0);
-
- for (int i = 0; i < values.length; i++) {
- int index = indexMap[i];
- if (index < 0 || index >= array.length) {
- throw new IndexOutOfBoundsException("Index " + index + " is out of bounds: [0, "
- + (array.length - 1) + "]");
- }
- if (values[i] != 0) {
- array[index] += values[i];
- nonZero = true;
- }
- }
- return nonZero;
- }
-}
diff --git a/ravenwood/texts/ravenwood-annotation-allowed-classes.txt b/ravenwood/texts/ravenwood-annotation-allowed-classes.txt
index a26fe66..5d24c3a 100644
--- a/ravenwood/texts/ravenwood-annotation-allowed-classes.txt
+++ b/ravenwood/texts/ravenwood-annotation-allowed-classes.txt
@@ -12,7 +12,9 @@
com.android.internal.os.BatteryStatsHistoryIterator
com.android.internal.os.Clock
com.android.internal.os.LongArrayMultiStateCounter
+com.android.internal.os.LongArrayMultiStateCounter_ravenwood
com.android.internal.os.LongMultiStateCounter
+com.android.internal.os.LongMultiStateCounter_ravenwood
com.android.internal.os.MonotonicClock
com.android.internal.os.PowerProfile
com.android.internal.os.PowerStats
@@ -140,6 +142,7 @@
android.os.Looper
android.os.Message
android.os.MessageQueue
+android.os.MessageQueue_ravenwood
android.os.PackageTagsList
android.os.Parcel
android.os.ParcelFileDescriptor
@@ -232,6 +235,7 @@
android.database.CursorIndexOutOfBoundsException
android.database.CursorJoiner
android.database.CursorWindow
+android.database.CursorWindow_ravenwood
android.database.CursorWrapper
android.database.DataSetObservable
android.database.DataSetObserver