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

Commit 151a0880 authored by Sunny Shao's avatar Sunny Shao
Browse files

Fix the header can't be scrolling problem in landscape mode

- Settings header is restricted scrolling by this ag/15029686
- To void some pages can't show the contain part while heading unscrolling.
  We allow the header can be scrolling in the landscape mode.

Fixes: 207353353
Test: make RunSettingsRoboTests -j
Change-Id: Ice97c6244716d4768167feb78588807d13b06a94
parent 248895db
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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;
@@ -431,7 +432,7 @@ public class ManageApplications extends InstrumentedFragment
        mResetAppsHelper.onRestoreInstanceState(savedInstanceState);

        mAppBarLayout = getActivity().findViewById(R.id.app_bar);
        disableToolBarScrollableBehavior();
        autoSetCollapsingToolbarLayoutScrolling();

        return mRootView;
    }
@@ -893,7 +894,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();
@@ -901,7 +902,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);
+6 −3
Original line number Diff line number Diff line
@@ -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);
+5 −3
Original line number Diff line number Diff line
@@ -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);