summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zhen Zhang <zzhen@google.com> 2020-07-20 19:29:20 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-07-20 19:29:20 +0000
commitcfeb7627b760ff0caf4c0f2746657bcbec54b2ed (patch)
treec2d0d53ea3005de74cd8c78698e983258cadd9dc
parenta0315ad1a5cf3ed210f84b83b2d845c4fccfba3b (diff)
parent068ddf7b06a81244bb1e52db72e387c70bf724ef (diff)
Merge "Scroll the hiding page to top on tab changed in sharesheet" into rvc-qpr-dev
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java1
-rw-r--r--core/java/com/android/internal/widget/ResolverDrawerLayout.java17
2 files changed, 13 insertions, 5 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index fbf050ad08f6..3a89dcd96487 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -3134,6 +3134,7 @@ public class ChooserActivity extends ResolverActivity implements
// ends up disabled. That's because at some point the old tab's vertical scrolling is
// disabled and the new tab's is enabled. For context, see b/159997845
setVerticalScrollEnabled(true);
+ mResolverDrawerLayout.scrollNestedScrollableChildBackToTop();
}
@Override
diff --git a/core/java/com/android/internal/widget/ResolverDrawerLayout.java b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
index 3f708f84750c..90eeabb47e9a 100644
--- a/core/java/com/android/internal/widget/ResolverDrawerLayout.java
+++ b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
@@ -464,11 +464,7 @@ public class ResolverDrawerLayout extends ViewGroup {
smoothScrollTo(mCollapsibleHeight + mUncollapsibleHeight, yvel);
mDismissOnScrollerFinished = true;
} else {
- if (isNestedListChildScrolled()) {
- mNestedListChild.smoothScrollToPosition(0);
- } else if (isNestedRecyclerChildScrolled()) {
- mNestedRecyclerChild.smoothScrollToPosition(0);
- }
+ scrollNestedScrollableChildBackToTop();
smoothScrollTo(yvel < 0 ? 0 : mCollapsibleHeight, yvel);
}
}
@@ -493,6 +489,17 @@ public class ResolverDrawerLayout extends ViewGroup {
return handled;
}
+ /**
+ * Scroll nested scrollable child back to top if it has been scrolled.
+ */
+ public void scrollNestedScrollableChildBackToTop() {
+ if (isNestedListChildScrolled()) {
+ mNestedListChild.smoothScrollToPosition(0);
+ } else if (isNestedRecyclerChildScrolled()) {
+ mNestedRecyclerChild.smoothScrollToPosition(0);
+ }
+ }
+
private void onSecondaryPointerUp(MotionEvent ev) {
final int pointerIndex = ev.getActionIndex();
final int pointerId = ev.getPointerId(pointerIndex);