Merge "Revert "Fixing issue where the prediction bar could be misplaced after installing an app."" into ub-launcher3-burnaby
This commit is contained in:
@@ -120,24 +120,6 @@ public class AppsContainerRecyclerView extends BaseContainerRecyclerView {
|
||||
mApps = apps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdapter(Adapter adapter) {
|
||||
// Register a change listener to update the scroll position state whenever the data set
|
||||
// changes.
|
||||
adapter.registerAdapterDataObserver(new AdapterDataObserver() {
|
||||
@Override
|
||||
public void onChanged() {
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
refreshCurScrollPosition();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
super.setAdapter(adapter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the number of apps per row in this recycler view.
|
||||
*/
|
||||
@@ -387,7 +369,13 @@ public class AppsContainerRecyclerView extends BaseContainerRecyclerView {
|
||||
}
|
||||
|
||||
// We need to workaround the RecyclerView to get the right scroll position
|
||||
refreshCurScrollPosition();
|
||||
List<AlphabeticalAppsList.AdapterItem> items = mApps.getAdapterItems();
|
||||
getCurScrollState(mScrollPosState, items);
|
||||
if (mScrollPosState.rowIndex != -1) {
|
||||
int scrollY = getPaddingTop() + (mScrollPosState.rowIndex * mScrollPosState.rowHeight) +
|
||||
mPredictionBarHeight - mScrollPosState.rowTopOffset;
|
||||
updateScrollY(scrollY);
|
||||
}
|
||||
|
||||
// Scroll to the view at the position, anchored at the top of the screen. We call the scroll
|
||||
// method on the LayoutManager directly since it is not exposed by RecyclerView.
|
||||
@@ -476,19 +464,6 @@ public class AppsContainerRecyclerView extends BaseContainerRecyclerView {
|
||||
return rowCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Forces a refresh of the scroll position to any scroll listener.
|
||||
*/
|
||||
private void refreshCurScrollPosition() {
|
||||
List<AlphabeticalAppsList.AdapterItem> items = mApps.getAdapterItems();
|
||||
getCurScrollState(mScrollPosState, items);
|
||||
if (mScrollPosState.rowIndex != -1) {
|
||||
int scrollY = getPaddingTop() + (mScrollPosState.rowIndex * mScrollPosState.rowHeight) +
|
||||
mPredictionBarHeight - mScrollPosState.rowTopOffset;
|
||||
updateScrollY(scrollY);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current scroll state.
|
||||
*/
|
||||
|
||||
@@ -83,11 +83,11 @@ public class AppsContainerView extends BaseContainerView implements DragSource,
|
||||
private int mNumAppsPerRow;
|
||||
private int mNumPredictedAppsPerRow;
|
||||
// This coordinate is relative to this container view
|
||||
private final Point mBoundsCheckLastTouchDownPos = new Point(-1, -1);
|
||||
private Point mBoundsCheckLastTouchDownPos = new Point(-1, -1);
|
||||
// This coordinate is relative to its parent
|
||||
private final Point mIconLastTouchPos = new Point();
|
||||
// This coordinate is used to proxy click and long-click events to the prediction bar icons
|
||||
private final Point mPredictionIconTouchDownPos = new Point();
|
||||
private Point mIconLastTouchPos = new Point();
|
||||
// This coordinate is used to proxy click and long-click events
|
||||
private Point mPredictionIconTouchDownPos = new Point();
|
||||
private int mContentMarginStart;
|
||||
// Normal container insets
|
||||
private int mContainerInset;
|
||||
|
||||
Reference in New Issue
Block a user