Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6266b5b1 authored by John Wu's avatar John Wu
Browse files

[Ravenwood] Move redirection classes out of f/b/r

For all redirection classes that are not highly tied to Ravenwood's
internal implementation, they should live side-by-side with the original
code it is replacing.

Bug: 375620876
Flag: EXEMPT host test change only
Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh
Change-Id: Ia0742d0144e729b1beb8502fdf86978774a59100
Merged-In: I0d4f2c399e3ba10ff95d690a01fc0bbfb2f8d585
parent 6cc7c9df
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ import dalvik.system.CloseGuard;
 * </p>
 * </p>
 */
 */
@RavenwoodKeepWholeClass
@RavenwoodKeepWholeClass
@RavenwoodRedirectionClass("CursorWindow_host")
@RavenwoodRedirectionClass("CursorWindow_ravenwood")
public class CursorWindow extends SQLiteClosable implements Parcelable {
public class CursorWindow extends SQLiteClosable implements Parcelable {
    private static final String STATS_TAG = "CursorWindowStats";
    private static final String STATS_TAG = "CursorWindowStats";


+11 −9
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@ package android.database;


import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteException;
import android.os.Parcel;
import android.os.Parcel;
import android.ravenwood.annotation.RavenwoodKeepWholeClass;
import android.util.Base64;
import android.util.Base64;


import java.text.DecimalFormat;
import java.text.DecimalFormat;
@@ -26,9 +27,10 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.HashMap;
import java.util.List;
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 static long sNextId = 1;


    private String mName;
    private String mName;
@@ -41,7 +43,7 @@ public class CursorWindow_host {
    private final List<Row> mRows = new ArrayList<>();
    private final List<Row> mRows = new ArrayList<>();


    public static long nativeCreate(String name, int cursorWindowSize) {
    public static long nativeCreate(String name, int cursorWindowSize) {
        CursorWindow_host instance = new CursorWindow_host();
        CursorWindow_ravenwood instance = new CursorWindow_ravenwood();
        instance.mName = name;
        instance.mName = name;
        long instanceId = sNextId++;
        long instanceId = sNextId++;
        sInstances.put(instanceId, instance);
        sInstances.put(instanceId, instance);
@@ -66,7 +68,7 @@ public class CursorWindow_host {
    }
    }


    public static boolean nativeAllocRow(long windowPtr) {
    public static boolean nativeAllocRow(long windowPtr) {
        CursorWindow_host instance = sInstances.get(windowPtr);
        CursorWindow_ravenwood instance = sInstances.get(windowPtr);
        Row row = new Row();
        Row row = new Row();
        row.mFields = new String[instance.mColumnNum];
        row.mFields = new String[instance.mColumnNum];
        row.mTypes = new int[instance.mColumnNum];
        row.mTypes = new int[instance.mColumnNum];
@@ -76,7 +78,7 @@ public class CursorWindow_host {
    }
    }


    private static boolean put(long windowPtr, String value, int type, int row, int column) {
    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) {
        if (row >= instance.mRows.size() || column >= instance.mColumnNum) {
            return false;
            return false;
        }
        }
@@ -87,7 +89,7 @@ public class CursorWindow_host {
    }
    }


    public static int nativeGetType(long windowPtr, int row, int column) {
    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) {
        if (row >= instance.mRows.size() || column >= instance.mColumnNum) {
            return Cursor.FIELD_TYPE_NULL;
            return Cursor.FIELD_TYPE_NULL;
        }
        }
@@ -101,7 +103,7 @@ public class CursorWindow_host {
    }
    }


    public static String nativeGetString(long windowPtr, int row, int column) {
    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) {
        if (row >= instance.mRows.size() || column >= instance.mColumnNum) {
            return null;
            return null;
        }
        }
@@ -164,7 +166,7 @@ public class CursorWindow_host {
    }
    }


    public static void nativeWriteToParcel(long windowPtr, Parcel parcel) {
    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.writeString(window.mName);
        parcel.writeInt(window.mColumnNum);
        parcel.writeInt(window.mColumnNum);
        parcel.writeInt(window.mRows.size());
        parcel.writeInt(window.mRows.size());
@@ -176,7 +178,7 @@ public class CursorWindow_host {


    public static long nativeCreateFromParcel(Parcel parcel) {
    public static long nativeCreateFromParcel(Parcel parcel) {
        long windowPtr = nativeCreate(null, 0);
        long windowPtr = nativeCreate(null, 0);
        CursorWindow_host window = sInstances.get(windowPtr);
        CursorWindow_ravenwood window = sInstances.get(windowPtr);
        window.mName = parcel.readString();
        window.mName = parcel.readString();
        window.mColumnNum = parcel.readInt();
        window.mColumnNum = parcel.readInt();
        int rowCount = parcel.readInt();
        int rowCount = parcel.readInt();
+1 −1
Original line number Original line Diff line number Diff line
@@ -40,7 +40,7 @@ import java.util.ArrayList;
 * {@link Looper#myQueue() Looper.myQueue()}.
 * {@link Looper#myQueue() Looper.myQueue()}.
 */
 */
@android.ravenwood.annotation.RavenwoodKeepWholeClass
@android.ravenwood.annotation.RavenwoodKeepWholeClass
@android.ravenwood.annotation.RavenwoodRedirectionClass("MessageQueue_host")
@android.ravenwood.annotation.RavenwoodRedirectionClass("MessageQueue_ravenwood")
public final class MessageQueue {
public final class MessageQueue {
    private static final String TAG = "MessageQueue";
    private static final String TAG = "MessageQueue";
    private static final boolean DEBUG = false;
    private static final boolean DEBUG = false;
+8 −5
Original line number Original line Diff line number Diff line
@@ -16,13 +16,16 @@


package android.os;
package android.os;


import android.ravenwood.annotation.RavenwoodKeepWholeClass;

import java.util.Map;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
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 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;
    private boolean mDeleted = false;


@@ -37,8 +40,8 @@ public class MessageQueue_host {
        }
        }
    }
    }


    private static MessageQueue_host getInstance(long id) {
    private static MessageQueue_ravenwood getInstance(long id) {
        MessageQueue_host q = sInstances.get(id);
        MessageQueue_ravenwood q = sInstances.get(id);
        if (q == null) {
        if (q == null) {
            throw new RuntimeException("MessageQueue doesn't exist with id=" + id);
            throw new RuntimeException("MessageQueue doesn't exist with id=" + id);
        }
        }
@@ -48,7 +51,7 @@ public class MessageQueue_host {


    public static long nativeInit() {
    public static long nativeInit() {
        final long id = sNextId.getAndIncrement();
        final long id = sNextId.getAndIncrement();
        final MessageQueue_host q = new MessageQueue_host();
        final MessageQueue_ravenwood q = new MessageQueue_ravenwood();
        sInstances.put(id, q);
        sInstances.put(id, q);
        return id;
        return id;
    }
    }
+2 −2
Original line number Original line Diff line number Diff line
@@ -60,14 +60,14 @@ import java.util.concurrent.atomic.AtomicReference;
 * @hide
 * @hide
 */
 */
@RavenwoodKeepWholeClass
@RavenwoodKeepWholeClass
@RavenwoodRedirectionClass("LongArrayMultiStateCounter_host")
@RavenwoodRedirectionClass("LongArrayMultiStateCounter_ravenwood")
public final class LongArrayMultiStateCounter implements Parcelable {
public final class LongArrayMultiStateCounter implements Parcelable {


    /**
    /**
     * Container for a native equivalent of a long[].
     * Container for a native equivalent of a long[].
     */
     */
    @RavenwoodKeepWholeClass
    @RavenwoodKeepWholeClass
    @RavenwoodRedirectionClass("LongArrayContainer_host")
    @RavenwoodRedirectionClass("LongArrayMultiStateCounter_ravenwood$LongArrayContainer")
    public static class LongArrayContainer {
    public static class LongArrayContainer {
        private static NativeAllocationRegistry sRegistry;
        private static NativeAllocationRegistry sRegistry;


Loading