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

Commit 996f22f4 authored by ztenghui's avatar ztenghui Committed by Tenghui Zhu
Browse files

Supporrt tapas build for vector tests

Such that UX team has less pain on building the VD / AVD assets.
This also requires removing internal API dependence in the test.

To build the VectorDrawableTest with prebuilt SDK.
<root dir>/tapas VectorDrawableTest
<root dir>/make -j64 showcommand
Then later for incremental build.
<root dir>/mmm ./frameworks/base/tests/VectorDrawableTest/ -j20

b/18260896

Change-Id: Id559074df78d7c2a5c529c545834da23986bc15f
parent 002bc810
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -23,4 +23,6 @@ LOCAL_PACKAGE_NAME := VectorDrawableTest

LOCAL_MODULE_TAGS := tests

LOCAL_SDK_VERSION := current

include $(BUILD_PACKAGE)
+33 −1
Original line number Diff line number Diff line
@@ -17,11 +17,18 @@ import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.VectorDrawable;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Xml;
import android.widget.TextView;
import android.widget.Button;
import android.widget.GridLayout;
import android.widget.ScrollView;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import java.io.IOException;
import java.text.DecimalFormat;

@SuppressWarnings({"UnusedDeclaration"})
@@ -60,6 +67,31 @@ public class VectorDrawablePerformance extends Activity {
            R.drawable.vector_drawable30,
    };

    public static VectorDrawable create(Resources resources, int rid) {
        try {
            final XmlPullParser parser = resources.getXml(rid);
            final AttributeSet attrs = Xml.asAttributeSet(parser);
            int type;
            while ((type=parser.next()) != XmlPullParser.START_TAG &&
                    type != XmlPullParser.END_DOCUMENT) {
                // Empty loop
            }
            if (type != XmlPullParser.START_TAG) {
                throw new XmlPullParserException("No start tag found");
            }

            final VectorDrawable drawable = new VectorDrawable();
            drawable.inflate(resources, parser, attrs);

            return drawable;
        } catch (XmlPullParserException e) {
            Log.e(LOGCAT, "parser error", e);
        } catch (IOException e) {
            Log.e(LOGCAT, "parser error", e);
        }
        return null;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -72,7 +104,7 @@ public class VectorDrawablePerformance extends Activity {
        VectorDrawable []d = new VectorDrawable[icon.length];
        long time =  android.os.SystemClock.elapsedRealtimeNanos();
        for (int i = 0; i < icon.length; i++) {
             d[i] = VectorDrawable.create(res,icon[i]);
             d[i] = create(res,icon[i]);
        }
        time =  android.os.SystemClock.elapsedRealtimeNanos()-time;
        TextView t = new TextView(this);