Merge "Use GlobalVisibleRect for view height...instead of view height." into androidx-master-dev
diff --git a/recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/ViewAutoScroller.java b/recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/ViewAutoScroller.java
index 34b43e2..1faf59c 100644
--- a/recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/ViewAutoScroller.java
+++ b/recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/ViewAutoScroller.java
@@ -22,6 +22,7 @@
import static androidx.recyclerview.selection.Shared.VERBOSE;
import android.graphics.Point;
+import android.graphics.Rect;
import android.util.Log;
import androidx.annotation.NonNull;
@@ -243,31 +244,33 @@
*/
private static final class RuntimeHost extends ScrollHost {
- private final RecyclerView mRecyclerView;
+ private final RecyclerView mView;
- RuntimeHost(@NonNull RecyclerView recyclerView) {
- mRecyclerView = recyclerView;
+ RuntimeHost(@NonNull RecyclerView view) {
+ mView = view;
}
@Override
void runAtNextFrame(@NonNull Runnable r) {
- ViewCompat.postOnAnimation(mRecyclerView, r);
+ ViewCompat.postOnAnimation(mView, r);
}
@Override
void removeCallback(@NonNull Runnable r) {
- mRecyclerView.removeCallbacks(r);
+ mView.removeCallbacks(r);
}
@Override
void scrollBy(int dy) {
if (VERBOSE) Log.v(TAG, "Scrolling view by: " + dy);
- mRecyclerView.scrollBy(0, dy);
+ mView.scrollBy(0, dy);
}
@Override
int getViewHeight() {
- return mRecyclerView.getHeight();
+ Rect r = new Rect();
+ mView.getGlobalVisibleRect(r);
+ return r.height();
}
}
}