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

Commit 6c963980 authored by Xavier Ducrohet's avatar Xavier Ducrohet Committed by Android (Google) Code Review
Browse files

Merge "Setup ActionBars in layoutlib the same way the platform does it."

parents 13c7b822 7396348d
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
	<ImageView
			android:layout_height="wrap_content"
			android:layout_width="wrap_content"/>
    <include layout="@android:layout/action_bar_home" />
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
+2 −2
Original line number Diff line number Diff line
@@ -474,7 +474,7 @@ public final class Matrix_Delegate {
        }

        Matrix_Delegate other = sManager.getDelegate(other_matrix);
        if (d == null) {
        if (other == null) {
            return false;
        }

@@ -570,7 +570,7 @@ public final class Matrix_Delegate {
        }

        Matrix_Delegate other = sManager.getDelegate(other_matrix);
        if (d == null) {
        if (other == null) {
            return false;
        }

+50 −12
Original line number Diff line number Diff line
@@ -145,6 +145,14 @@ abstract class CustomBar extends LinearLayout {
        }
    }

    protected void loadIconById(int id, String iconReference) {
        ResourceValue value = getResourceValue(iconReference);
        if (value != null) {
            loadIconById(id, value);
        }
    }


    protected Drawable loadIcon(int index, ResourceType type, String name) {
        BridgeContext bridgeContext = (BridgeContext) mContext;
        RenderResources res = bridgeContext.getRenderResources();
@@ -162,32 +170,62 @@ abstract class CustomBar extends LinearLayout {
        if (child instanceof ImageView) {
            ImageView imageView = (ImageView) child;

            Drawable drawable = ResourceHelper.getDrawable(
                    value, (BridgeContext) mContext);
            if (drawable != null) {
                imageView.setBackgroundDrawable(drawable);
            return loadIcon(imageView, value);
        }

            return drawable;
        return null;
    }

    private Drawable loadIconById(int id, ResourceValue value) {
        View child = findViewById(id);
        if (child instanceof ImageView) {
            ImageView imageView = (ImageView) child;

            return loadIcon(imageView, value);
        }

        return null;
    }


    private Drawable loadIcon(ImageView imageView, ResourceValue value) {
        Drawable drawable = ResourceHelper.getDrawable(value, (BridgeContext) mContext);
        if (drawable != null) {
            imageView.setImageDrawable(drawable);
        }

        return drawable;
    }

    protected TextView setText(int index, String stringReference) {
        View child = getChildAt(index);
        if (child instanceof TextView) {
            TextView textView = (TextView) child;
            setText(textView, stringReference);
            return textView;
        }

        return null;
    }

    protected TextView setTextById(int id, String stringReference) {
        View child = findViewById(id);
        if (child instanceof TextView) {
            TextView textView = (TextView) child;
            setText(textView, stringReference);
            return textView;
        }

        return null;
    }

    private void setText(TextView textView, String stringReference) {
        ResourceValue value = getResourceValue(stringReference);
        if (value != null) {
            textView.setText(value.getValue());
        } else {
            textView.setText(stringReference);
        }
            return textView;
        }

        return null;
    }

    protected void setStyle(String themeEntryName) {
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ public class FakeActionBar extends CustomBar {
        // Cannot access the inside items through id because no R.id values have been
        // created for them.
        // We do know the order though.
        loadIcon(0, icon);
        loadIconById(android.R.id.home, icon);
        mTextView = setText(1, label);

        setStyle("actionBarStyle");