Widgets tray should preserve scroll position during screen rotation
> This used to work, but when I got rid of preloading which was
handled by linear manager to increase scrolling speed, the save
and restore instance that was being handled by the linear layout
manager created using Launcher context also went away. Hence,
bringing back custom LinearLayoutManager.
Change-Id: Ibccdf80533a5ace06cc6c6932b257c223cbac0ff
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index d2d1d02..b2f96d0 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1961,9 +1961,6 @@
outState.putInt(RUNTIME_STATE_PENDING_ADD_WIDGET_ID, mPendingAddWidgetId);
}
- // Save the current widgets tray?
- // TODO(hyunyoungs)
-
if (mLauncherCallbacks != null) {
mLauncherCallbacks.onSaveInstanceState(outState);
}
diff --git a/src/com/android/launcher3/widget/WidgetsRecyclerView.java b/src/com/android/launcher3/widget/WidgetsRecyclerView.java
index fe9c51c..9c13b44 100644
--- a/src/com/android/launcher3/widget/WidgetsRecyclerView.java
+++ b/src/com/android/launcher3/widget/WidgetsRecyclerView.java
@@ -23,7 +23,6 @@
import android.util.AttributeSet;
import android.view.View;
import com.android.launcher3.BaseRecyclerView;
-import com.android.launcher3.R;
import com.android.launcher3.model.PackageItemInfo;
import com.android.launcher3.model.WidgetsModel;
@@ -58,6 +57,9 @@
protected void onFinishInflate() {
super.onFinishInflate();
addOnItemTouchListener(this);
+ // create a layout manager with Launcher's context so that scroll position
+ // can be preserved during screen rotation.
+ setLayoutManager(new LinearLayoutManager(getContext()));
}
public int getFastScrollerTrackColor(int defaultTrackColor) {