9595import com .amaze .filemanager .utils .color .ColorUsage ;
9696import net .gnu .explorer .MediaPlayerActivity ;
9797import java .util .LinkedList ;
98+ import android .os .*;
9899
99100public class ScrollGalleryView extends LinearLayout implements OnDoubleTapListener , OnClickListener {//OnTouchListener,
100101
@@ -253,22 +254,29 @@ public ScrollGalleryView(final Context context, final AttributeSet attrs, final
253254
254255 }
255256
256- // @Override
257- // public Parcelable onSaveInstanceState() {
258- // Parcelable superState = super.onSaveInstanceState();
259- // Parcel p = new Parcel();
260- // p.writeSerializable(SLIDESHOW);
261- // superState.writeToParcel(p, 1);
262- // return superState;
263- // }
264- //
265- // @Override
266- // public void onRestoreInstanceState(Parcelable state) {
267- // super.onRestoreInstanceState(state);
268- // SLIDESHOW = state.
269- // }
257+ @ Override
258+ public Parcelable onSaveInstanceState () {
259+ final Bundle bundle = new Bundle ();
260+ bundle .putParcelable ("instanceState" , super .onSaveInstanceState ());
261+ bundle .putBoolean ("SLIDESHOW" , SLIDESHOW );
262+ removeCallbacks (runSlideshow );
263+ return bundle ;
264+ }
265+
266+ @ Override
267+ public void onRestoreInstanceState (Parcelable state ) {
268+ Log .d (TAG , "onRestoreInstanceState " + state );
269+ if (state != null && state instanceof Bundle ) {
270+ final Bundle bundle = (Bundle ) state ;
271+ SLIDESHOW = bundle .getBoolean ("SLIDESHOW" , false );
272+ postDelayed (runSlideshow , ImageFragment .curDelay );
273+ super .onRestoreInstanceState (bundle .getParcelable ("instanceState" ));
274+ } else {
275+ super .onRestoreInstanceState (state );
276+ }
277+ }
270278
271- private Runnable runNoti = new Runnable () {
279+ private Runnable runSorting = new Runnable () {
272280 @ Override
273281 public void run () {
274282 setCurrentItem (pageSelected , false );
@@ -285,7 +293,7 @@ public void run() {
285293 }
286294 };
287295
288- private Runnable run = new Runnable () {
296+ private Runnable runSlideshow = new Runnable () {
289297 @ Override
290298 public void run () {
291299 if (SLIDESHOW ) {
@@ -300,8 +308,8 @@ public void run() {
300308 };
301309
302310 public void resetDelay () {
303- removeCallbacks (run );
304- postDelayed (run , ImageFragment .curDelay );
311+ removeCallbacks (runSlideshow );
312+ postDelayed (runSlideshow , ImageFragment .curDelay );
305313 }
306314
307315 private final ViewPager .SimpleOnPageChangeListener viewPagerChangeListener = new ViewPager .SimpleOnPageChangeListener () {
@@ -384,20 +392,20 @@ public void onScrolled(final RecyclerView recyclerView, final int dx, final int
384392 //paddingLeft = thumbnailsRecyclerView.getPaddingLeft();
385393 Log .d (TAG , "onScrolled dx " + dx + ", dy " + dy + ", PaddingLeft " + paddingLeft + ", PaddingRight " + thumbnailsRecyclerView .getPaddingRight ());
386394 final int mid ;
387- if (paddingLeft > thumbnailSize / 2 ) {
395+ // if (paddingLeft > thumbnailSize / 2) {
388396 mid = ((measuredWidth ) / 2 - paddingLeft ) / thumbnailSize ;//
389- } else {
390- mid = ((measuredWidth + thumbnailSize ) / 2 - paddingLeft ) / thumbnailSize ;
391- }
397+ // } else {
398+ // mid = ((measuredWidth + thumbnailSize) / 2 - paddingLeft) / thumbnailSize;
399+ // }
392400 ImageView childAt = (ImageView ) mLayoutManager .getChildAt (mid );
393401 if (childAt == null ) {
394402 Log .d (TAG , "onScrolled childAt == null, pageSelected " + pageSelected + ", mid " + mid + ", ChildCount " + childCount );
395- thumbnailsRecyclerView .setPadding (measuredWidth / 2 - (sizeMediaFiles - 1 - pageSelected ) * thumbnailSize / 2 , 0 , 0 , 0 );
403+ // thumbnailsRecyclerView.setPadding(measuredWidth / 2 - (sizeMediaFiles - 1 - pageSelected) * thumbnailSize / 2, 0, 0, 0);
396404 childAt = (ImageView ) mLayoutManager .getChildAt (mid - 1 );
397405 }
398406 int mediaPos = Integer .valueOf (childAt .getContentDescription () + "" );
399407 Log .d (TAG , "onScrolled paddingLeft " + paddingLeft + ", mid " + mid + ", mediaPos " + mediaPos + ", childAt " + childAt );
400- setCurrentItem (mediaPos + 1 , false );//pos + 1
408+ setCurrentItem (mediaPos + 1 , false );
401409
402410 }
403411
@@ -527,7 +535,7 @@ public boolean onSingleTapConfirmed(final MotionEvent event) {
527535//// rightRecycler.setLayoutParams(lp);
528536// }
529537
530- public ScrollGalleryView setFileMedia (final List <File > infos ) {//, final List<String> mimes, final String parentPath
538+ public void setFileMedia (final List <File > infos ) {//, final List<String> mimes, final String parentPath
531539 SLIDESHOW = false ;
532540 mListOfMedia = infos ;
533541 sizeMediaFiles = mListOfMedia .size ();
@@ -539,7 +547,6 @@ public ScrollGalleryView setFileMedia(final List<File> infos) {//, final List<St
539547 initializeViewPager ();
540548 infoLayout .setVisibility (View .VISIBLE );
541549 thumbnailsRecyclerView .setVisibility (View .VISIBLE );
542- return this ;
543550 }
544551
545552 private void initializeViewPager () {
@@ -555,26 +562,7 @@ private void initializeViewPager() {
555562 //}
556563 }
557564
558- // private void setCurrentItem(final int newPagerPos, boolean smoothScroll) {
559- // if (sizeMediaFiles < 1) {
560- // return;
561- // }
562- // Log.d(TAG, "setCurrentItem curPagerPos " + pageSelected + " to newPagerPos " + newPagerPos);
563- // int mediaPos = pageSelected == 0 ? (sizeMediaFiles - 1) : pageSelected == (sizeMediaFiles + 1) ? 0 : (pageSelected - 1);
564- // ImageView childAt = (ImageView) mLayoutManager.findViewByPosition(mediaPos);
565- // if (childAt != null) {
566- // childAt.setBackgroundColor(0x80808080);
567- // }
568- // viewPager.setCurrentItem(newPagerPos, smoothScroll);
569- //
570- // mediaPos = newPagerPos == 0 ? (sizeMediaFiles - 1) : newPagerPos == (sizeMediaFiles + 1) ? 0 : (newPagerPos - 1);
571- // childAt = (ImageView) mLayoutManager.findViewByPosition(mediaPos);
572- // if (childAt != null) {
573- // childAt.setBackgroundColor((0xc0ffffff));
574- // }
575- // }
576-
577- public ScrollGalleryView setCurrentItem (final int newPagerPos , boolean smoothScroll ) {
565+ public void setCurrentItem (final int newPagerPos , boolean smoothScroll ) {
578566 Log .d (TAG , "setCurrentItem curPagerPos " + pageSelected + " to newPagerPos " + newPagerPos );
579567 int mediaPos = pageSelected == 0 ? (sizeMediaFiles - 1 ) : pageSelected == (sizeMediaFiles + 1 ) ? 0 : (pageSelected - 1 );
580568 ImageView childAt = (ImageView ) mLayoutManager .findViewByPosition (mediaPos );
@@ -588,15 +576,13 @@ public ScrollGalleryView setCurrentItem(final int newPagerPos, boolean smoothScr
588576 if (childAt != null ) {
589577 childAt .setBackgroundColor ((0xc0ffffff ));
590578 }
591- return this ;
592579 }
593580
594- public ScrollGalleryView setThumbnailSize (final int thumbnailSize ) {
581+ public void setThumbnailSize (final int thumbnailSize ) {
595582 this .thumbnailSize = thumbnailSize ;
596- return this ;
597583 }
598584
599- public ScrollGalleryView hideThumbnails (final boolean thumbnailsHiddenEnabled ) {
585+ public void hideThumbnails (final boolean thumbnailsHiddenEnabled ) {
600586 this .hidden = thumbnailsHiddenEnabled ;
601587 if (thumbnailsHiddenEnabled ) {
602588 thumbnailsRecyclerView .setVisibility (GONE );
@@ -606,7 +592,6 @@ public ScrollGalleryView hideThumbnails(final boolean thumbnailsHiddenEnabled) {
606592 infoLayout .setVisibility (VISIBLE );
607593 postDelayed (runUpdateInfo , 10 );
608594 }
609- return this ;
610595 }
611596
612597// private void scrollRecycler(final int mediaPos, final View thumbnail) {
@@ -732,7 +717,7 @@ public void run() {
732717 if (sizeMediaFiles > 1 ) {
733718 SLIDESHOW = true ;
734719 hideThumbnails (true );
735- postDelayed (run , ImageFragment .curDelay );
720+ postDelayed (runSlideshow , ImageFragment .curDelay );
736721 }
737722 break ;
738723 case R .id .wallpaperButton :
@@ -846,7 +831,7 @@ public void onNegative(MaterialDialog materialDialog) {
846831 int t = pageSelected ;
847832 setFileMedia (mListOfMedia );
848833 pageSelected = t ;
849- postDelayed (runNoti , 20 );
834+ postDelayed (runSorting , 20 );
850835 break ;
851836 case R .id .fileSize :
852837 if (orderType .equals ("Size" )) {
@@ -865,7 +850,7 @@ public void onNegative(MaterialDialog materialDialog) {
865850 t = pageSelected ;
866851 setFileMedia (mListOfMedia );
867852 pageSelected = t ;
868- postDelayed (runNoti , 20 );
853+ postDelayed (runSorting , 20 );
869854 break ;
870855 case R .id .fileDate :
871856 if (orderType .equals ("Date" )) {
@@ -884,7 +869,7 @@ public void onNegative(MaterialDialog materialDialog) {
884869 t = pageSelected ;
885870 setFileMedia (mListOfMedia );
886871 pageSelected = t ;
887- postDelayed (runNoti , 20 );
872+ postDelayed (runSorting , 20 );
888873 break ;
889874 case R .id .addshortcut :
890875 AndroidUtils .addShortcut (mContext , f );
0 commit comments