1e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell/* 2e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * Copyright (C) 2014 The Android Open Source Project 3e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * 4e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * Licensed under the Apache License, Version 2.0 (the "License"); 5e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * you may not use this file except in compliance with the License. 6e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * You may obtain a copy of the License at 7e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * 8e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * http://www.apache.org/licenses/LICENSE-2.0 9e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * 10e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * Unless required by applicable law or agreed to in writing, software 11e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * distributed under the License is distributed on an "AS IS" BASIS, 12e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * See the License for the specific language governing permissions and 14e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * limitations under the License. 15e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell */ 16e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell 17e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell 18e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellpackage com.android.internal.widget; 19e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell 2094283533aba1b8c895728feb40462250a1ebecceDoris Liuimport android.animation.Animator; 21e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.content.Context; 22e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.graphics.drawable.Drawable; 23e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.os.Parcelable; 24e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.util.SparseArray; 25e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.view.Menu; 26e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.view.View; 27e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.view.ViewGroup; 28e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.view.Window; 29e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.widget.AdapterView; 30e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport android.widget.SpinnerAdapter; 31fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar 32fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyarimport com.android.internal.view.menu.MenuBuilder; 33e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellimport com.android.internal.view.menu.MenuPresenter; 34e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell 35e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell/** 36e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * Common interface for a toolbar that sits as part of the window decor. 37e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * Layouts that control window decor use this as a point of interaction with different 38e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * bar implementations. 39e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * 40e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell * @hide 41e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell */ 42e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powellpublic interface DecorToolbar { 43e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell ViewGroup getViewGroup(); 44e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell Context getContext(); 45e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean isSplit(); 46e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean hasExpandedActionView(); 47e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void collapseActionView(); 48e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setWindowCallback(Window.Callback cb); 49e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setWindowTitle(CharSequence title); 50e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell CharSequence getTitle(); 51e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setTitle(CharSequence title); 52e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell CharSequence getSubtitle(); 53e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setSubtitle(CharSequence subtitle); 54e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void initProgress(); 55e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void initIndeterminateProgress(); 56e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean canSplit(); 57e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setSplitView(ViewGroup splitView); 58e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setSplitToolbar(boolean split); 59e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setSplitWhenNarrow(boolean splitWhenNarrow); 60e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean hasIcon(); 61e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean hasLogo(); 62e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setIcon(int resId); 63e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setIcon(Drawable d); 64e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setLogo(int resId); 65e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setLogo(Drawable d); 66e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean canShowOverflowMenu(); 67e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean isOverflowMenuShowing(); 68e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean isOverflowMenuShowPending(); 69e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean showOverflowMenu(); 70e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean hideOverflowMenu(); 71e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setMenuPrepared(); 72e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setMenu(Menu menu, MenuPresenter.Callback cb); 73e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void dismissPopupMenus(); 74e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell 75e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell int getDisplayOptions(); 76e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setDisplayOptions(int opts); 77e002c2fb39f9df1db38a7412832882ae622660d4Adam Powell void setEmbeddedTabView(ScrollingTabContainerView tabView); 78e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean hasEmbeddedTabs(); 79e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell boolean isTitleTruncated(); 80e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setCollapsible(boolean collapsible); 81e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setHomeButtonEnabled(boolean enable); 82e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell int getNavigationMode(); 83e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setNavigationMode(int mode); 84e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setDropdownParams(SpinnerAdapter adapter, AdapterView.OnItemSelectedListener listener); 85e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setDropdownSelectedPosition(int position); 86e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell int getDropdownSelectedPosition(); 87e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell int getDropdownItemCount(); 88e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setCustomView(View view); 89e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell View getCustomView(); 90e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void animateToVisibility(int visibility); 9194283533aba1b8c895728feb40462250a1ebecceDoris Liu Animator setupAnimatorToVisibility(int visibility, long duration); 92e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setNavigationIcon(Drawable icon); 93e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setNavigationIcon(int resId); 94e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setNavigationContentDescription(CharSequence description); 95e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void setNavigationContentDescription(int resId); 96e91f7c0219d0f47d9c44a4933b571b0a482ec058Yigit Boyar void setDefaultNavigationContentDescription(int defaultNavigationContentDescription); 9730f5dc935b30a72982cc2ee04c8c2a17ba95e885Yigit Boyar void setDefaultNavigationIcon(Drawable icon); 98e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void saveHierarchyState(SparseArray<Parcelable> toolbarStates); 99e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell void restoreHierarchyState(SparseArray<Parcelable> toolbarStates); 100fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar void setBackgroundDrawable(Drawable d); 101fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar int getHeight(); 102fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar void setVisibility(int visible); 103fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar int getVisibility(); 104fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar void setMenuCallbacks(MenuPresenter.Callback presenterCallback, 105fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar MenuBuilder.Callback menuBuilderCallback); 106fe6d57c366ba78295d3320cb73512f02876eed61Yigit Boyar Menu getMenu(); 107e021e6ed8931a0a8296af182fc9b0c76b64fb0c4Adam Powell} 108