diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml index 6acd9ff079650..59506564400b6 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml @@ -36,13 +36,15 @@ - 216dp - 260dp - 304dp - 174dp - 218dp - 262dp + 179dp + 137dp 24dp 24dp \ No newline at end of file diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java index 8b1e397c2199c..a1cd37189b510 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java @@ -36,19 +36,14 @@ import com.google.android.material.resources.TextAppearanceConfig; * A base Activity that has a collapsing toolbar layout is used for the activities intending to * enable the collapsing toolbar function. */ -public class CollapsingToolbarBaseActivity extends FragmentActivity implements - AppBarLayout.OnOffsetChangedListener { +public class CollapsingToolbarBaseActivity extends FragmentActivity { - private static final int TOOLBAR_MAX_LINE_NUMBER = 2; - private static final int FULLY_EXPANDED_OFFSET = 0; private static final float TOOLBAR_LINE_SPACING_MULTIPLIER = 1.1f; - private static final String KEY_IS_TOOLBAR_COLLAPSED = "is_toolbar_collapsed"; @Nullable private CollapsingToolbarLayout mCollapsingToolbarLayout; @Nullable private AppBarLayout mAppBarLayout; - private boolean mIsToolbarCollapsed; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -58,14 +53,9 @@ public class CollapsingToolbarBaseActivity extends FragmentActivity implements super.setContentView(R.layout.collapsing_toolbar_base_layout); mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar); mAppBarLayout = findViewById(R.id.app_bar); - if (mAppBarLayout != null) { - mAppBarLayout.addOnOffsetChangedListener(this); + if (mCollapsingToolbarLayout != null) { + mCollapsingToolbarLayout.setLineSpacingMultiplier(TOOLBAR_LINE_SPACING_MULTIPLIER); } - if (savedInstanceState != null) { - mIsToolbarCollapsed = savedInstanceState.getBoolean(KEY_IS_TOOLBAR_COLLAPSED); - } - - initCollapsingToolbar(); disableCollapsingToolbarLayoutScrollingBehavior(); final Toolbar toolbar = findViewById(R.id.action_bar); @@ -125,23 +115,6 @@ public class CollapsingToolbarBaseActivity extends FragmentActivity implements return true; } - @Override - public void onOffsetChanged(AppBarLayout appBarLayout, int offset) { - if (offset == FULLY_EXPANDED_OFFSET) { - mIsToolbarCollapsed = false; - } else { - mIsToolbarCollapsed = true; - } - } - - @Override - protected void onSaveInstanceState(@NonNull Bundle outState) { - super.onSaveInstanceState(outState); - if (isChangingConfigurations()) { - outState.putBoolean(KEY_IS_TOOLBAR_COLLAPSED, mIsToolbarCollapsed); - } - } - /** * Returns an instance of collapsing toolbar. */ @@ -174,43 +147,4 @@ public class CollapsingToolbarBaseActivity extends FragmentActivity implements }); params.setBehavior(behavior); } - - @SuppressWarnings("RestrictTo") - private void initCollapsingToolbar() { - if (mCollapsingToolbarLayout == null || mAppBarLayout == null) { - return; - } - mCollapsingToolbarLayout.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { - @Override - public void onLayoutChange(View v, int left, int top, int right, int bottom, - int oldLeft, int oldTop, int oldRight, int oldBottom) { - v.removeOnLayoutChangeListener(this); - if (mIsToolbarCollapsed) { - return; - } - final int count = mCollapsingToolbarLayout.getLineCount(); - if (count > TOOLBAR_MAX_LINE_NUMBER) { - final ViewGroup.LayoutParams lp = mCollapsingToolbarLayout.getLayoutParams(); - lp.height = getResources() - .getDimensionPixelSize(R.dimen.toolbar_three_lines_height); - mCollapsingToolbarLayout.setScrimVisibleHeightTrigger( - getResources().getDimensionPixelSize( - R.dimen.scrim_visible_height_trigger_three_lines)); - mCollapsingToolbarLayout.setLayoutParams(lp); - mCollapsingToolbarLayout - .setLineSpacingMultiplier(TOOLBAR_LINE_SPACING_MULTIPLIER); - } else if (count == TOOLBAR_MAX_LINE_NUMBER) { - final ViewGroup.LayoutParams lp = mCollapsingToolbarLayout.getLayoutParams(); - lp.height = getResources() - .getDimensionPixelSize(R.dimen.toolbar_two_lines_height); - mCollapsingToolbarLayout.setScrimVisibleHeightTrigger( - getResources().getDimensionPixelSize( - R.dimen.scrim_visible_height_trigger_two_lines)); - mCollapsingToolbarLayout.setLayoutParams(lp); - mCollapsingToolbarLayout - .setLineSpacingMultiplier(TOOLBAR_LINE_SPACING_MULTIPLIER); - } - } - }); - } } diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseFragment.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseFragment.java index e7026686d9ff0..cfb12bc30b8a7 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseFragment.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseFragment.java @@ -34,12 +34,9 @@ import com.google.android.material.appbar.CollapsingToolbarLayout; /** * A base fragment that has a collapsing toolbar layout for enabling the collapsing toolbar design. */ -public abstract class CollapsingToolbarBaseFragment extends Fragment implements - AppBarLayout.OnOffsetChangedListener { +public abstract class CollapsingToolbarBaseFragment extends Fragment { - private static final int TOOLBAR_MAX_LINE_NUMBER = 2; - private static final int FULLY_EXPANDED_OFFSET = 0; - private static final String KEY_IS_TOOLBAR_COLLAPSED = "is_toolbar_collapsed"; + private static final float TOOLBAR_LINE_SPACING_MULTIPLIER = 1.1f; @Nullable private CoordinatorLayout mCoordinatorLayout; @@ -51,7 +48,6 @@ public abstract class CollapsingToolbarBaseFragment extends Fragment implements private Toolbar mToolbar; @NonNull private FrameLayout mContentFrameLayout; - private boolean mIsToolbarCollapsed; @Nullable @Override @@ -62,13 +58,9 @@ public abstract class CollapsingToolbarBaseFragment extends Fragment implements mCoordinatorLayout = view.findViewById(R.id.content_parent); mCollapsingToolbarLayout = view.findViewById(R.id.collapsing_toolbar); mAppBarLayout = view.findViewById(R.id.app_bar); - if (mAppBarLayout != null) { - mAppBarLayout.addOnOffsetChangedListener(this); + if (mCollapsingToolbarLayout != null) { + mCollapsingToolbarLayout.setLineSpacingMultiplier(TOOLBAR_LINE_SPACING_MULTIPLIER); } - if (savedInstanceState != null) { - mIsToolbarCollapsed = savedInstanceState.getBoolean(KEY_IS_TOOLBAR_COLLAPSED); - } - initCollapsingToolbar(); disableCollapsingToolbarLayoutScrollingBehavior(); mToolbar = view.findViewById(R.id.action_bar); mContentFrameLayout = view.findViewById(R.id.content_frame); @@ -82,23 +74,6 @@ public abstract class CollapsingToolbarBaseFragment extends Fragment implements requireActivity().setActionBar(mToolbar); } - @Override - public void onSaveInstanceState(@NonNull Bundle outState) { - super.onSaveInstanceState(outState); - if (getActivity().isChangingConfigurations()) { - outState.putBoolean(KEY_IS_TOOLBAR_COLLAPSED, mIsToolbarCollapsed); - } - } - - @Override - public void onOffsetChanged(AppBarLayout appBarLayout, int offset) { - if (offset == FULLY_EXPANDED_OFFSET) { - mIsToolbarCollapsed = false; - } else { - mIsToolbarCollapsed = true; - } - } - /** * Return an instance of CoordinatorLayout. */ @@ -147,39 +122,4 @@ public abstract class CollapsingToolbarBaseFragment extends Fragment implements }); params.setBehavior(behavior); } - - @SuppressWarnings("RestrictTo") - private void initCollapsingToolbar() { - if (mCollapsingToolbarLayout == null || mAppBarLayout == null) { - return; - } - mCollapsingToolbarLayout.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { - @Override - public void onLayoutChange(View v, int left, int top, int right, int bottom, - int oldLeft, int oldTop, int oldRight, int oldBottom) { - v.removeOnLayoutChangeListener(this); - if (mIsToolbarCollapsed) { - return; - } - final int count = mCollapsingToolbarLayout.getLineCount(); - if (count > TOOLBAR_MAX_LINE_NUMBER) { - final ViewGroup.LayoutParams lp = mCollapsingToolbarLayout.getLayoutParams(); - lp.height = getResources() - .getDimensionPixelSize(R.dimen.toolbar_three_lines_height); - mCollapsingToolbarLayout.setScrimVisibleHeightTrigger( - getResources().getDimensionPixelSize( - R.dimen.scrim_visible_height_trigger_three_lines)); - mCollapsingToolbarLayout.setLayoutParams(lp); - } else if (count == TOOLBAR_MAX_LINE_NUMBER) { - final ViewGroup.LayoutParams lp = mCollapsingToolbarLayout.getLayoutParams(); - lp.height = getResources() - .getDimensionPixelSize(R.dimen.toolbar_two_lines_height); - mCollapsingToolbarLayout.setScrimVisibleHeightTrigger( - getResources().getDimensionPixelSize( - R.dimen.scrim_visible_height_trigger_two_lines)); - mCollapsingToolbarLayout.setLayoutParams(lp); - } - } - }); - } }