1e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout/* 2e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Copyright (C) 2014 The Android Open Source Project 3e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 4e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * in compliance with the License. You may obtain a copy of the License at 6e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 7e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * http://www.apache.org/licenses/LICENSE-2.0 8e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 9e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Unless required by applicable law or agreed to in writing, software distributed under the License 10e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * or implied. See the License for the specific language governing permissions and limitations under 12e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * the License. 13e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 14e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutpackage android.support.v17.leanback.app; 15e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 16e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.app.Fragment; 17e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.graphics.drawable.Drawable; 18e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.os.Bundle; 19e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.support.v17.leanback.R; 20e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.support.v17.leanback.widget.SearchOrbView; 21e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.support.v17.leanback.widget.TitleHelper; 22e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.support.v17.leanback.widget.TitleView; 23e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.view.View; 24e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutimport android.view.ViewGroup; 25e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 26e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout/** 27e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Fragment support for managing branding on a 28e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * {@link android.support.v17.leanback.widget.TitleView}. 29e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * @hide 30e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 31e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stoutclass BrandedFragment extends Fragment { 32e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 33e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout // BUNDLE attribute for title is showing 34e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private static final String TITLE_SHOW = "titleShow"; 35e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 36e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private boolean mShowingTitle = true; 37e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private String mTitle; 38e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private Drawable mBadgeDrawable; 39e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private TitleView mTitleView; 40e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private SearchOrbView.Colors mSearchAffordanceColors; 41e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private boolean mSearchAffordanceColorSet; 42e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private View.OnClickListener mExternalOnSearchClickedListener; 43e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout private TitleHelper mTitleHelper; 44e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 45e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 46e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Sets the {@link TitleView}. 47e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 48e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout void setTitleView(TitleView titleView) { 49e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView = titleView; 50e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView == null) { 51e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleHelper = null; 52e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } else { 53e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setTitle(mTitle); 54e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setBadgeDrawable(mBadgeDrawable); 55e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mSearchAffordanceColorSet) { 56e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setSearchAffordanceColors(mSearchAffordanceColors); 57e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 58e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mExternalOnSearchClickedListener != null) { 59e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setOnSearchClickedListener(mExternalOnSearchClickedListener); 60e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 61e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (getView() instanceof ViewGroup) { 62e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleHelper = new TitleHelper((ViewGroup) getView(), mTitleView); 63e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 64e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 65e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 66e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 67e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 68e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Returns the {@link TitleView}. 69e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 70e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout TitleView getTitleView() { 71e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return mTitleView; 72e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 73e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 74e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 75e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Returns the {@link TitleHelper}. 76e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 77e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout TitleHelper getTitleHelper() { 78e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return mTitleHelper; 79e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 80e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 81e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout @Override 82e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void onSaveInstanceState(Bundle outState) { 83e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout super.onSaveInstanceState(outState); 84e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout outState.putBoolean(TITLE_SHOW, mShowingTitle); 85e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 86e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 87e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout @Override 88e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void onViewCreated(View view, Bundle savedInstanceState) { 89e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout super.onViewCreated(view, savedInstanceState); 90e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (savedInstanceState != null) { 91e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mShowingTitle = savedInstanceState.getBoolean(TITLE_SHOW); 92e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 93e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null && view instanceof ViewGroup) { 94e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleHelper = new TitleHelper((ViewGroup) view, mTitleView); 95e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 96e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 97e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 98e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout @Override 99e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void onDestroyView() { 100e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout super.onDestroyView(); 101e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleHelper = null; 102e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 103e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 104e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 105e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Shows or hides the {@link android.support.v17.leanback.widget.TitleView}. 106e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 107e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout void showTitle(boolean show) { 108e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout // TODO: handle interruptions? 109e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (show == mShowingTitle) { 110e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return; 111e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 112e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mShowingTitle = show; 113e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleHelper != null) { 114e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleHelper.showTitle(show); 115e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 116e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 117e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 118e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 119e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Sets the drawable displayed in the browse fragment title. 120e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 121e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * @param drawable The Drawable to display in the browse fragment title. 122e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 123e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void setBadgeDrawable(Drawable drawable) { 124e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mBadgeDrawable != drawable) { 125e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mBadgeDrawable = drawable; 126e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 127e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setBadgeDrawable(drawable); 128e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 129e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 130e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 131e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 132e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 133e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Returns the badge drawable used in the fragment title. 134e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 135e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public Drawable getBadgeDrawable() { 136e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return mBadgeDrawable; 137e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 138e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 139e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 140e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Sets a title for the browse fragment. 141e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 142e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * @param title The title of the browse fragment. 143e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 144e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void setTitle(String title) { 145e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitle = title; 146e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 147e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setTitle(title); 148e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 149e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 150e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 151e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 152e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Returns the title for the browse fragment. 153e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 154e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public String getTitle() { 155e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return mTitle; 156e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 157e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 158e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 159e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Sets a click listener for the search affordance. 160e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 161e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * <p>The presence of a listener will change the visibility of the search 162e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * affordance in the fragment title. When set to non-null, the title will 163e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * contain an element that a user may click to begin a search. 164e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 165e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * <p>The listener's {@link View.OnClickListener#onClick onClick} method 166e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * will be invoked when the user clicks on the search element. 167e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 168e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * @param listener The listener to call when the search element is clicked. 169e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 170e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void setOnSearchClickedListener(View.OnClickListener listener) { 171e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mExternalOnSearchClickedListener = listener; 172e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 173e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setOnSearchClickedListener(listener); 174e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 175e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 176e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 177e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 178e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Sets the {@link android.support.v17.leanback.widget.SearchOrbView.Colors} used to draw the search affordance. 179e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 180e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void setSearchAffordanceColors(SearchOrbView.Colors colors) { 181e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mSearchAffordanceColors = colors; 182e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mSearchAffordanceColorSet = true; 183e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 184e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setSearchAffordanceColors(mSearchAffordanceColors); 185e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 186e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 187e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 188e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 189f01172a8028e20a2d86c71c1024fbc973e67afa4Craig Stout * Returns the {@link android.support.v17.leanback.widget.SearchOrbView.Colors} 190f01172a8028e20a2d86c71c1024fbc973e67afa4Craig Stout * used to draw the search affordance. 191e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 192e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public SearchOrbView.Colors getSearchAffordanceColors() { 193e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mSearchAffordanceColorSet) { 194e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return mSearchAffordanceColors; 195e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 196e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView == null) { 197e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout throw new IllegalStateException("Fragment views not yet created"); 198e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 199e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return mTitleView.getSearchAffordanceColors(); 200e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 201e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 202e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 203e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Sets the color used to draw the search affordance. 204e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * A default brighter color will be set by the framework. 205e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * 206e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * @param color The color to use for the search affordance. 207e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 208e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void setSearchAffordanceColor(int color) { 209e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout setSearchAffordanceColors(new SearchOrbView.Colors(color)); 210e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 211e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 212e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout /** 213e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout * Returns the color used to draw the search affordance. 214e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout */ 215e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public int getSearchAffordanceColor() { 216e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout return getSearchAffordanceColors().color; 217e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 218e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 219e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout @Override 220e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void onStart() { 221e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout super.onStart(); 222e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 223e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.setVisibility(mShowingTitle ? View.VISIBLE : View.INVISIBLE); 224e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 225e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 226e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 227e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout @Override 228e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void onPause() { 229e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 230e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.enableAnimation(false); 231e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 232e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout super.onPause(); 233e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 234e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout 235e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout @Override 236e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout public void onResume() { 237e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout super.onResume(); 238e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout if (mTitleView != null) { 239e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout mTitleView.enableAnimation(true); 240e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 241e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout } 242e7246ef136ed686d8caf339d4d1fd8e37b499c6aCraig Stout} 243