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

Commit e05bb956 authored by Deepanshu Gupta's avatar Deepanshu Gupta
Browse files

Fix native method signatures

Some new methods have been added which are yet to be implemented.

Change-Id: Ie5a0657c7ccbe95200c270d5c15b516a385b083b
parent bd28e2d9
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
@@ -47,6 +47,20 @@ import com.android.tools.layoutlib.annotations.LayoutlibDelegate;
        return 0;
    }

    @LayoutlibDelegate
    /*package*/ static int nGetMultipleIntMethod(Class<?> targetClass, String methodName,
            int numParams) {
        // TODO: return the right thing.
        return 0;
    }

    @LayoutlibDelegate
    /*package*/ static int nGetMultipleFloatMethod(Class<?> targetClass, String methodName,
            int numParams) {
        // TODO: return the right thing.
        return 0;
    }

    @LayoutlibDelegate
    /*package*/ static void nCallIntMethod(Object target, long methodID, int arg) {
        // do nothing
@@ -56,4 +70,40 @@ import com.android.tools.layoutlib.annotations.LayoutlibDelegate;
    /*package*/ static void nCallFloatMethod(Object target, long methodID, float arg) {
        // do nothing
    }

    @LayoutlibDelegate
    /*package*/ static void nCallTwoIntMethod(Object target, long methodID, int arg1,
            int arg2) {
        // do nothing
    }

    @LayoutlibDelegate
    /*package*/ static void nCallFourIntMethod(Object target, long methodID, int arg1,
            int arg2, int arg3, int arg4) {
        // do nothing
    }

    @LayoutlibDelegate
    /*package*/ static void nCallMultipleIntMethod(Object target, long methodID,
            int[] args) {
        // do nothing
    }

    @LayoutlibDelegate
    /*package*/ static void nCallTwoFloatMethod(Object target, long methodID, float arg1,
            float arg2) {
        // do nothing
    }

    @LayoutlibDelegate
    /*package*/ static void nCallFourFloatMethod(Object target, long methodID, float arg1,
            float arg2, float arg3, float arg4) {
        // do nothing
    }

    @LayoutlibDelegate
    /*package*/ static void nCallMultipleFloatMethod(Object target, long methodID,
            float[] args) {
        // do nothing
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -518,7 +518,8 @@ public final class Bitmap_Delegate {
    }

    @LayoutlibDelegate
    /*package*/ static void nativeSetHasAlpha(long nativeBitmap, boolean hasAlpha) {
    /*package*/ static void nativeSetAlphaAndPremultiplied(long nativeBitmap, boolean hasAlpha,
            boolean isPremul) {
        // get the delegate from the native int.
        Bitmap_Delegate delegate = sManager.getDelegate(nativeBitmap);
        if (delegate == null) {
+11 −8
Original line number Diff line number Diff line
@@ -786,7 +786,7 @@ public final class Canvas_Delegate {
    }

    @LayoutlibDelegate
    /*package*/ static void native_drawPath(long nativeCanvas, int path, long paint) {
    /*package*/ static void native_drawPath(long nativeCanvas, long path, long paint) {
        final Path_Delegate pathDelegate = Path_Delegate.getDelegate(path);
        if (pathDelegate == null) {
            return;
@@ -975,8 +975,10 @@ public final class Canvas_Delegate {
    @LayoutlibDelegate
    /*package*/ static void native_drawText(long nativeCanvas,
            final char[] text, final int index, final int count,
            final float startX, final float startY, final int flags, long paint) {
            final float startX, final float startY, final int flags, long paint,
            long typeface) {

        // TODO: use typeface.
        draw(nativeCanvas, paint, false /*compositeOnly*/, false /*forceSrcMode*/,
                new GcSnapshot.Drawable() {
            @Override
@@ -1005,30 +1007,31 @@ public final class Canvas_Delegate {

    @LayoutlibDelegate
    /*package*/ static void native_drawText(long nativeCanvas, String text,
            int start, int end, float x, float y, final int flags, long paint) {
            int start, int end, float x, float y, final int flags, long paint,
            long typeface) {
        int count = end - start;
        char[] buffer = TemporaryBuffer.obtain(count);
        TextUtils.getChars(text, start, end, buffer, 0);

        native_drawText(nativeCanvas, buffer, 0, count, x, y, flags, paint);
        native_drawText(nativeCanvas, buffer, 0, count, x, y, flags, paint, typeface);
    }

    @LayoutlibDelegate
    /*package*/ static void native_drawTextRun(long nativeCanvas, String text,
            int start, int end, int contextStart, int contextEnd,
            float x, float y, int flags, long paint) {
            float x, float y, int flags, long paint, long typeface) {
        int count = end - start;
        char[] buffer = TemporaryBuffer.obtain(count);
        TextUtils.getChars(text, start, end, buffer, 0);

        native_drawText(nativeCanvas, buffer, 0, count, x, y, flags, paint);
        native_drawText(nativeCanvas, buffer, 0, count, x, y, flags, paint, typeface);
    }

    @LayoutlibDelegate
    /*package*/ static void native_drawTextRun(long nativeCanvas, char[] text,
            int start, int count, int contextStart, int contextCount,
            float x, float y, int flags, long paint) {
        native_drawText(nativeCanvas, text, start, count, x, y, flags, paint);
            float x, float y, int flags, long paint, long typeface) {
        native_drawText(nativeCanvas, text, start, count, x, y, flags, paint, typeface);
    }

    @LayoutlibDelegate
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ public abstract class ColorFilter_Delegate {
    // ---- native methods ----

    @LayoutlibDelegate
    /*package*/ static void finalizer(long native_instance, long nativeColorFilter) {
    /*package*/ static void destroyFilter(long native_instance, long nativeColorFilter) {
        sManager.removeJavaReferenceFor(native_instance);
    }

+1 −1
Original line number Diff line number Diff line
@@ -654,7 +654,7 @@ public final class Matrix_Delegate {
    }

    @LayoutlibDelegate
    /*package*/ static boolean native_invert(long native_object, int inverse) {
    /*package*/ static boolean native_invert(long native_object, long inverse) {
        Matrix_Delegate d = sManager.getDelegate(native_object);
        if (d == null) {
            return false;
Loading