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

Commit 97dfd349 authored by Gilles Debunne's avatar Gilles Debunne
Browse files

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

Change-Id: Icc6ec78d2392a300b43b522b3dc18d0ab1223116
parent cf891887
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;
    }