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

Commit 83322fd4 authored by Gilles Debunne's avatar Gilles Debunne Committed by Android (Google) Code Review
Browse files

Merge "Fix to display first tab as selected on tab widget creation."

parents 6967f096 97dfd349
Loading
Loading
Loading
Loading
+20 −11
Original line number Diff line number Diff line
@@ -26,8 +26,8 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;

/**
@@ -53,7 +53,8 @@ import android.view.accessibility.AccessibilityEvent;
public class TabWidget extends LinearLayout implements OnFocusChangeListener {
    private OnTabSelectionChanged mSelectionChangedListener;

    private int mSelectedTab = 0;
    // This value will be set to 0 as soon as the first tab is added to TabHost.
    private int mSelectedTab = -1;

    private Drawable mLeftStrip;
    private Drawable mRightStrip;
@@ -98,6 +99,9 @@ public class TabWidget extends LinearLayout implements OnFocusChangeListener {

    @Override
    protected int getChildDrawingOrder(int childCount, int i) {
        if (mSelectedTab == -1) {
            return i;
        } else {
            // Always draw the selected tab last, so that drop shadows are drawn
            // in the correct z-order.
            if (i == childCount - 1) {
@@ -108,6 +112,7 @@ public class TabWidget extends LinearLayout implements OnFocusChangeListener {
                return i;
            }
        }
    }

    private void initTabWidget() {
        setOrientation(LinearLayout.HORIZONTAL);
@@ -340,7 +345,9 @@ public class TabWidget extends LinearLayout implements OnFocusChangeListener {
            return;
        }

        if (mSelectedTab != -1) {
            getChildTabViewAt(mSelectedTab).setSelected(false);
        }
        mSelectedTab = index;
        getChildTabViewAt(mSelectedTab).setSelected(true);
        mStripMoved = true;
@@ -354,7 +361,9 @@ public class TabWidget extends LinearLayout implements OnFocusChangeListener {
    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
        event.setItemCount(getTabCount());
        event.setCurrentItemIndex(mSelectedTab);
        if (mSelectedTab != -1) {
            getChildTabViewAt(mSelectedTab).dispatchPopulateAccessibilityEvent(event);
        }
        return true;
    }