From: David A. Velasco Date: Tue, 26 Feb 2013 11:49:15 +0000 (+0100) Subject: Fixed bug: show the selected image in the gallery, instead of always the first in... X-Git-Tag: oc-android-1.4.3~39^2~42 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/def870aa0fffb6127d77efe1bda3f7dc617406c8?ds=sidebyside Fixed bug: show the selected image in the gallery, instead of always the first in the folder --- diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index 1e9d108a..6741e33f 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -102,14 +102,13 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi mParentFolder = mStorageManager.getFileByPath(OCFile.PATH_SEPARATOR); } - createViewPager(); - - if (savedInstanceState == null) { - mWaitingToPreview = (mFile.isDown())?null:mFile; - } else { + mWaitingToPreview = null; + if (savedInstanceState != null) { mWaitingToPreview = (OCFile) savedInstanceState.getParcelable(KEY_WAITING_TO_PREVIEW); } + createViewPager(); + mDownloadConnection = new PreviewImageServiceConnection(); bindService(new Intent(this, FileDownloader.class), mDownloadConnection, Context.BIND_AUTO_CREATE); mUploadConnection = new PreviewImageServiceConnection(); @@ -120,8 +119,11 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi private void createViewPager() { mPreviewImagePagerAdapter = new PreviewImagePagerAdapter(getSupportFragmentManager(), mParentFolder, mAccount, mStorageManager); mViewPager = (ViewPager) findViewById(R.id.fragmentPager); + int position = mPreviewImagePagerAdapter.getFilePosition(mFile); + Log.e(TAG, "Setting initial position " + position); mViewPager.setAdapter(mPreviewImagePagerAdapter); mViewPager.setOnPageChangeListener(this); + mViewPager.setCurrentItem((position >= 0) ? position : 0); } @@ -302,6 +304,7 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi */ @Override public void onPageSelected(int position) { + Log.e(TAG, "onPageSelected " + position); OCFile currentFile = mPreviewImagePagerAdapter.getFileAt(position); getSupportActionBar().setTitle(currentFile.getFileName()); if (currentFile.isDown()) { diff --git a/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java b/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java index 22aa4953..c6fd7ca9 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java +++ b/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java @@ -110,6 +110,10 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { return fragment; } + public int getFilePosition(OCFile file) { + return mImageFiles.indexOf(file); + } + @Override public int getCount() { return mImageFiles.size(); @@ -129,11 +133,13 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { public int getItemPosition(Object object) { Log.e(TAG, "getItemPosition "); if (mObsoleteFragments.contains(object)) { + mObsoleteFragments.remove(object); return POSITION_NONE; } return super.getItemPosition(object); } - + + /* * * Called when a change in the shown pages is going to start being made. *