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

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

am 5519852e: Merge "Implement action bar tab mode for Toolbar-based decor...

am 5519852e: Merge "Implement action bar tab mode for Toolbar-based decor action bars" into lmp-preview-dev

* commit '5519852e01a646af65efeee30f5b8e80c2cd87e7':
  Implement action bar tab mode for Toolbar-based decor action bars
parents 52dea945 bc1ff4dd
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1339,7 +1339,8 @@ public class Toolbar extends ViewGroup {
                return getPaddingTop();
                return getPaddingTop();


            case Gravity.BOTTOM:
            case Gravity.BOTTOM:
                return getPaddingBottom() - child.getMeasuredHeight() - lp.bottomMargin;
                return getHeight() - getPaddingBottom() -
                        child.getMeasuredHeight() - lp.bottomMargin;


            default:
            default:
            case Gravity.CENTER_VERTICAL:
            case Gravity.CENTER_VERTICAL:
+3 −0
Original line number Original line Diff line number Diff line
@@ -281,6 +281,9 @@ public class ToolbarActionBar extends ActionBar {


    @Override
    @Override
    public void setNavigationMode(@NavigationMode int mode) {
    public void setNavigationMode(@NavigationMode int mode) {
        if (mode == ActionBar.NAVIGATION_MODE_TABS) {
            throw new IllegalArgumentException("Tabs not supported in this configuration");
        }
        mDecorToolbar.setNavigationMode(mode);
        mDecorToolbar.setNavigationMode(mode);
    }
    }


+1 −4
Original line number Original line Diff line number Diff line
@@ -349,10 +349,7 @@ public class ActionBarView extends AbsActionBarView implements DecorToolbar {
        return mIncludeTabs;
        return mIncludeTabs;
    }
    }


    public void setEmbeddedTabView(View view) {
    @Override
        setEmbeddedTabView((ScrollingTabContainerView) view);
    }

    public void setEmbeddedTabView(ScrollingTabContainerView tabs) {
    public void setEmbeddedTabView(ScrollingTabContainerView tabs) {
        if (mTabScrollView != null) {
        if (mTabScrollView != null) {
            removeView(mTabScrollView);
            removeView(mTabScrollView);
+1 −1
Original line number Original line Diff line number Diff line
@@ -71,7 +71,7 @@ public interface DecorToolbar {


    int getDisplayOptions();
    int getDisplayOptions();
    void setDisplayOptions(int opts);
    void setDisplayOptions(int opts);
    void setEmbeddedTabView(View tabView);
    void setEmbeddedTabView(ScrollingTabContainerView tabView);
    boolean hasEmbeddedTabs();
    boolean hasEmbeddedTabs();
    boolean isTitleTruncated();
    boolean isTitleTruncated();
    void setCollapsible(boolean collapsible);
    void setCollapsible(boolean collapsible);
+25 −2
Original line number Original line Diff line number Diff line
@@ -397,8 +397,19 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
    }
    }


    @Override
    @Override
    public void setEmbeddedTabView(View tabView) {
    public void setEmbeddedTabView(ScrollingTabContainerView tabView) {
        if (mTabView != null && mTabView.getParent() == mToolbar) {
            mToolbar.removeView(mTabView);
        }
        mTabView = tabView;
        mTabView = tabView;
        if (tabView != null && mNavigationMode == ActionBar.NAVIGATION_MODE_TABS) {
            mToolbar.addView(mTabView, 0);
            Toolbar.LayoutParams lp = (Toolbar.LayoutParams) mTabView.getLayoutParams();
            lp.width = ViewGroup.LayoutParams.WRAP_CONTENT;
            lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
            lp.gravity = Gravity.START | Gravity.BOTTOM;
            tabView.setAllowCollapse(true);
        }
    }
    }


    @Override
    @Override
@@ -436,6 +447,11 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
                        mToolbar.removeView(mSpinner);
                        mToolbar.removeView(mSpinner);
                    }
                    }
                    break;
                    break;
                case ActionBar.NAVIGATION_MODE_TABS:
                    if (mTabView != null && mTabView.getParent() == mToolbar) {
                        mToolbar.removeView(mTabView);
                    }
                    break;
            }
            }


            mNavigationMode = mode;
            mNavigationMode = mode;
@@ -448,7 +464,14 @@ public class ToolbarWidgetWrapper implements DecorToolbar {
                    mToolbar.addView(mSpinner, 0);
                    mToolbar.addView(mSpinner, 0);
                    break;
                    break;
                case ActionBar.NAVIGATION_MODE_TABS:
                case ActionBar.NAVIGATION_MODE_TABS:
                    throw new IllegalStateException("Tabs not supported in this configuration");
                    if (mTabView != null) {
                        mToolbar.addView(mTabView, 0);
                        Toolbar.LayoutParams lp = (Toolbar.LayoutParams) mTabView.getLayoutParams();
                        lp.width = ViewGroup.LayoutParams.WRAP_CONTENT;
                        lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
                        lp.gravity = Gravity.START | Gravity.BOTTOM;
                    }
                    break;
                default:
                default:
                    throw new IllegalArgumentException("Invalid navigation mode " + mode);
                    throw new IllegalArgumentException("Invalid navigation mode " + mode);
            }
            }