X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/fc2af5b03e9aeef0bcb985690dabb919984e874a..31827bce0c5e5d2d595610c08aad60ee3c2fe170:/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java b/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java index 22aa4953..b6b28375 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java +++ b/src/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java @@ -36,7 +36,7 @@ import android.view.ViewGroup; import com.owncloud.android.datamodel.DataStorageManager; import com.owncloud.android.datamodel.OCFile; -import com.owncloud.android.ui.fragment.FileDownloadFragment; +import com.owncloud.android.ui.fragment.FileFragment; /** * Adapter class that provides Fragment instances @@ -51,6 +51,7 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { private Vector mImageFiles; private Account mAccount; private Set mObsoleteFragments; + private Set mObsoletePositions; private DataStorageManager mStorageManager; /* @@ -70,7 +71,7 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { */ public PreviewImagePagerAdapter(FragmentManager fragmentManager, OCFile parentFolder, Account account, DataStorageManager storageManager) { super(fragmentManager); - + if (fragmentManager == null) { throw new IllegalArgumentException("NULL FragmentManager instance"); } @@ -85,6 +86,8 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { mStorageManager = storageManager; mImageFiles = mStorageManager.getDirectoryImages(parentFolder); mObsoleteFragments = new HashSet(); + mObsoletePositions = new HashSet(); + //mFragmentManager = fragmentManager; } @@ -99,17 +102,20 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { public Fragment getItem(int i) { - Log.e(TAG, "GETTING PAGE " + i); OCFile file = mImageFiles.get(i); Fragment fragment = null; if (file.isDown()) { - fragment = new PreviewImageFragment(file, mAccount); + fragment = new PreviewImageFragment(file, mAccount, mObsoletePositions.contains(Integer.valueOf(i))); } else { - fragment = new FileDownloadFragment(file, mAccount); + fragment = new FileDownloadFragment(file, mAccount, mObsoletePositions.contains(Integer.valueOf(i))); } return fragment; } + public int getFilePosition(OCFile file) { + return mImageFiles.indexOf(file); + } + @Override public int getCount() { return mImageFiles.size(); @@ -121,24 +127,41 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { } public void updateFile(int position, OCFile file) { - mImageFiles.set(position, file); mObsoleteFragments.add(instantiateItem(null, position)); + mObsoletePositions.add(Integer.valueOf(position)); + mImageFiles.set(position, file); } @Override public int getItemPosition(Object object) { - Log.e(TAG, "getItemPosition "); if (mObsoleteFragments.contains(object)) { + mObsoleteFragments.remove(object); return POSITION_NONE; } return super.getItemPosition(object); } - - /* * + + + /** + * Should not be used for not already started fragments... + * + * @return + */ + protected FileFragment getFragmentAt(int position) { + try { + return (FileFragment) instantiateItem(null, position); + + } catch (Exception e) { + return null; + } + } + + + /* -* * Called when a change in the shown pages is going to start being made. * * @param container The containing View which is displaying this adapter's page views. - * -/ + *- / @Override public void startUpdate(ViewGroup container) { Log.e(TAG, "** startUpdate"); @@ -177,7 +200,7 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { } fragment.setMenuVisibility(false); mFragments.set(position, fragment); - Log.e(TAG, "** \t adding fragment at position " + position + ", containerId " + container.getId()); + //Log.e(TAG, "** \t adding fragment at position " + position + ", containerId " + container.getId()); mCurTransaction.add(container.getId(), fragment); return fragment; @@ -283,6 +306,6 @@ public class PreviewImagePagerAdapter extends FragmentStatePagerAdapter { } } } - } */ - + } + */ }