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

Commit 8628387c authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am b226d295: am c6a06d43: Merge "Revert "Fix issue with using locally defined...

am b226d295: am c6a06d43: Merge "Revert "Fix issue with using locally defined attrs in a shared lib"" into lmp-dev

* commit 'b226d295':
  Revert "Fix issue with using locally defined attrs in a shared lib"
parents 7ce8d27f b226d295
Loading
Loading
Loading
Loading
+4 −23
Original line number Diff line number Diff line
@@ -1324,21 +1324,7 @@ static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject cla
        config.density = 0;

        // Skip through XML attributes until the end or the next possible match.
        // We make two assumptions about the order of attributes:
        // 1) Among attributes with the same package ID, the attributes are
        //    sorted by increasing resource ID.
        // 2) Groups of attributes with the same package ID are in the same
        //    order.
        // 3) The same sorting is applied to the input attributes as is
        //    to the attributes in the XML.
        //
        // ex: 02010000, 02010001, 010100f4, 010100f5
        //
        // The total order of attributes (including package ID) can not be linear
        // as shared libraries get assigned dynamic package IDs at runtime, which
        // may break the sort order established at build time.
        while (ix < NX && (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(curXmlAttr) ||
                    curIdent > curXmlAttr)) {
        while (ix < NX && curIdent > curXmlAttr) {
            ix++;
            curXmlAttr = xmlParser->getAttributeNameResID(ix);
        }
@@ -1353,9 +1339,7 @@ static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject cla
        }

        // Skip through the style values until the end or the next possible match.
        while (styleEnt < endStyleEnt &&
                (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(styleEnt->map.name.ident) ||
                 curIdent > styleEnt->map.name.ident)) {
        while (styleEnt < endStyleEnt && curIdent > styleEnt->map.name.ident) {
            styleEnt++;
        }
        // Retrieve the current style attribute if it matches, and step to next.
@@ -1371,9 +1355,7 @@ static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject cla
        }

        // Skip through the default style values until the end or the next possible match.
        while (defStyleEnt < endDefStyleEnt &&
                (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(defStyleEnt->map.name.ident) ||
                 curIdent > defStyleEnt->map.name.ident)) {
        while (defStyleEnt < endDefStyleEnt && curIdent > defStyleEnt->map.name.ident) {
            defStyleEnt++;
        }
        // Retrieve the current default style attribute if it matches, and step to next.
@@ -1535,8 +1517,7 @@ static jboolean android_content_AssetManager_retrieveAttributes(JNIEnv* env, job
        config.density = 0;

        // Skip through XML attributes until the end or the next possible match.
        while (ix < NX && (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(curXmlAttr) ||
                    curIdent > curXmlAttr)) {
        while (ix < NX && curIdent > curXmlAttr) {
            ix++;
            curXmlAttr = xmlParser->getAttributeNameResID(ix);
        }
+1 −5
Original line number Diff line number Diff line
@@ -1185,11 +1185,7 @@ uint32_t ResXMLParser::getAttributeNameResID(size_t idx) const
{
    int32_t id = getAttributeNameID(idx);
    if (id >= 0 && (size_t)id < mTree.mNumResIds) {
        uint32_t resId = dtohl(mTree.mResIds[id]);
        if (mTree.mDynamicRefTable == NULL ||
                mTree.mDynamicRefTable->lookupResourceId(&resId) == NO_ERROR) {
            return resId;
        }
        return dtohl(mTree.mResIds[id]);
    }
    return 0;
}
+0 −26
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/sample_layout"/>

    <com.google.android.test.shared_library.AddressView xmlns:address="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#03a9f4"
        address:name="Librarian L"
        address:streetNumber="21"
        address:streetName="Android Lane"
        address:city="AndroidVille"
        address:state="OS"
        address:zip="12345"
        address:country="Mobile"/>

</LinearLayout>
+0 −1
Original line number Diff line number Diff line
@@ -28,5 +28,4 @@
    </string-array>

    <string name="racoon">Racoon</string>
    <string name="sample_layout">This is an example of a layout this library provides.</string>
</resources>
+5 −1
Original line number Diff line number Diff line
@@ -18,11 +18,15 @@ package com.google.android.test.shared_library;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class ActivityMain extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TextView content = new TextView(this);
        content.setText("Dummy main entry for this apk; not really needed...");
        setContentView(content);
    }
}