diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java index ec80f0b966f..00af9737b39 100644 --- a/src/com/android/settings/applications/manageapplications/ManageApplications.java +++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java @@ -46,6 +46,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageItemInfo; +import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; @@ -433,7 +434,7 @@ public class ManageApplications extends InstrumentedFragment mResetAppsHelper.onRestoreInstanceState(savedInstanceState); mAppBarLayout = getActivity().findViewById(R.id.app_bar); - disableToolBarScrollableBehavior(); + autoSetCollapsingToolbarLayoutScrolling(); return mRootView; } @@ -906,7 +907,7 @@ public class ManageApplications extends InstrumentedFragment } } - private void disableToolBarScrollableBehavior() { + private void autoSetCollapsingToolbarLayoutScrolling() { final CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams(); final AppBarLayout.Behavior behavior = new AppBarLayout.Behavior(); @@ -914,7 +915,8 @@ public class ManageApplications extends InstrumentedFragment new AppBarLayout.Behavior.DragCallback() { @Override public boolean canDrag(@NonNull AppBarLayout appBarLayout) { - return false; + return appBarLayout.getResources().getConfiguration().orientation + == Configuration.ORIENTATION_LANDSCAPE; } }); params.setBehavior(behavior); diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java index 5f15093259f..b4380ab4adc 100644 --- a/src/com/android/settings/core/SettingsBaseActivity.java +++ b/src/com/android/settings/core/SettingsBaseActivity.java @@ -22,6 +22,7 @@ import android.app.ActivityManager; import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; +import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.text.LineBreakConfig; import android.os.Bundle; @@ -117,7 +118,7 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE) .build())); } - disableCollapsingToolbarLayoutScrollingBehavior(); + autoSetCollapsingToolbarLayoutScrolling(); } else { super.setContentView(R.layout.settings_base_layout); } @@ -252,7 +253,7 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa return false; } - private void disableCollapsingToolbarLayoutScrollingBehavior() { + private void autoSetCollapsingToolbarLayoutScrolling() { if (mAppBarLayout == null) { return; } @@ -263,7 +264,9 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa new AppBarLayout.Behavior.DragCallback() { @Override public boolean canDrag(@NonNull AppBarLayout appBarLayout) { - return false; + // Header can be scrolling while device in landscape mode. + return appBarLayout.getResources().getConfiguration().orientation + == Configuration.ORIENTATION_LANDSCAPE; } }); params.setBehavior(behavior); diff --git a/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java b/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java index 6ce9f6f9ae8..f801cb9ec77 100644 --- a/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java +++ b/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java @@ -16,6 +16,7 @@ package com.android.settings.datetime.timezone; +import android.content.res.Configuration; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; @@ -97,7 +98,7 @@ public abstract class BaseTimeZonePicker extends InstrumentedFragment LinearLayoutManager.VERTICAL, /* reverseLayout */ false)); mRecyclerView.setAdapter(mAdapter); mAppBarLayout = getActivity().findViewById(R.id.app_bar); - disableToolBarScrollableBehavior(); + autoSetCollapsingToolbarLayoutScrolling(); // Initialize TimeZoneDataLoader only when mRecyclerView is ready to avoid race // during onDateLoaderReady callback. @@ -193,7 +194,7 @@ public abstract class BaseTimeZonePicker extends InstrumentedFragment void onListItemClick(T item); } - private void disableToolBarScrollableBehavior() { + private void autoSetCollapsingToolbarLayoutScrolling() { CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams(); AppBarLayout.Behavior behavior = new AppBarLayout.Behavior(); @@ -201,7 +202,8 @@ public abstract class BaseTimeZonePicker extends InstrumentedFragment new AppBarLayout.Behavior.DragCallback() { @Override public boolean canDrag(@NonNull AppBarLayout appBarLayout) { - return false; + return appBarLayout.getResources().getConfiguration().orientation + == Configuration.ORIENTATION_LANDSCAPE; } }); params.setBehavior(behavior);