private void onFinishedAnimation(int newScreen) { final boolean toLeft = newScreen > mCurrentScreen; final boolean toRight = newScreen < mCurrentScreen; final boolean changed = newScreen != mCurrentScreen; mCurrentScreen = newScreen; mIndicator.setLevel(mCurrentScreen, mItemCount); Launcher.setScreen(mCurrentScreen); mNextScreen = INVALID_SCREEN; fillToGalleryRight(); fillToGalleryLeft(); if (toLeft) { detachOffScreenChildren(true); } else if (toRight) { detachOffScreenChildren(false); } if (changed) { /* * setSelectedPositionInt( newScreen ); setNextSelectedPositionInt( newScreen ); checkSelectionChanged(); * * if( mPageChangeListener != null ) mPageChangeListener.onPageChanged( newScreen, mItemCount ); */ } clearChildrenCache(); }
@Override protected void onRestoreInstanceState(Parcelable state) { Log.e(TAG, "onRestoreInstanceState"); SavedState savedState = (SavedState) state; super.onRestoreInstanceState(savedState.getSuperState()); if (savedState.currentScreen != -1) { mCurrentScreen = savedState.currentScreen; Launcher.setScreen(mCurrentScreen); } }
private void initWorkspace(Context context, AttributeSet attrs, int defStyle) { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Workspace, defStyle, 0); mDefaultScreen = a.getInt(R.styleable.Workspace_defaultScreen, 0); a.recycle(); setHapticFeedbackEnabled(false); mScrollInterpolator = new WorkspaceOvershootInterpolator(); mScroller = new Scroller(context, mScrollInterpolator); mCurrentScreen = mDefaultScreen; Launcher.setScreen(mCurrentScreen); final ViewConfiguration configuration = ViewConfiguration.get(getContext()); mTouchSlop = configuration.getScaledTouchSlop(); mMaximumVelocity = configuration.getScaledMaximumFlingVelocity(); int overscrollMode = a.getInt(R.styleable.Workspace_overscroll, 0); setOverScroll(overscrollMode); }