X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/def870aa0fffb6127d77efe1bda3f7dc617406c8..a3aca94694441e12e449a127903310148fdf60f0:/src/com/owncloud/android/ui/preview/PreviewImageActivity.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index 6741e33f..0bc7e6b6 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -58,6 +58,7 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi public static final String TAG = PreviewImageActivity.class.getSimpleName(); public static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW"; + private static final String KEY_WAITING_FOR_BINDER = "WAITING_FOR_BINDER"; private OCFile mFile; private OCFile mParentFolder; @@ -71,6 +72,8 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi private ServiceConnection mDownloadConnection, mUploadConnection = null; private FileUploaderBinder mUploaderBinder = null; private OCFile mWaitingToPreview = null; + + private boolean mRequestWaitingForBinder; @Override @@ -102,9 +105,12 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi mParentFolder = mStorageManager.getFileByPath(OCFile.PATH_SEPARATOR); } - mWaitingToPreview = null; if (savedInstanceState != null) { mWaitingToPreview = (OCFile) savedInstanceState.getParcelable(KEY_WAITING_TO_PREVIEW); + mRequestWaitingForBinder = savedInstanceState.getBoolean(KEY_WAITING_FOR_BINDER); + } else { + mWaitingToPreview = null; + mRequestWaitingForBinder = false; } createViewPager(); @@ -131,6 +137,7 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putParcelable(KEY_WAITING_TO_PREVIEW, mWaitingToPreview); + outState.putBoolean(KEY_WAITING_FOR_BINDER, mRequestWaitingForBinder); } @@ -143,6 +150,12 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi if (component.equals(new ComponentName(PreviewImageActivity.this, FileDownloader.class))) { Log.d(TAG, "Download service connected"); mDownloaderBinder = (FileDownloaderBinder) service; + if (mRequestWaitingForBinder) { + if (mWaitingToPreview != null) { + requestForDownload(); + } + mRequestWaitingForBinder = false; + } } else if (component.equals(new ComponentName(PreviewImageActivity.this, FileUploader.class))) { Log.d(TAG, "Upload service connected"); @@ -271,12 +284,16 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi private void requestForDownload() { Log.e(TAG, "REQUEST FOR DOWNLOAD : " + mWaitingToPreview.getFileName()); - if (!mDownloaderBinder.isDownloading(mAccount, mWaitingToPreview)) { + if (mDownloaderBinder == null) { + mRequestWaitingForBinder = true; + + } else if (!mDownloaderBinder.isDownloading(mAccount, mWaitingToPreview)) { Intent i = new Intent(this, FileDownloader.class); i.putExtra(FileDownloader.EXTRA_ACCOUNT, mAccount); i.putExtra(FileDownloader.EXTRA_FILE, mWaitingToPreview); startService(i); } + mViewPager.invalidate(); } @Override @@ -289,9 +306,6 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi Log.e(TAG, "BEFORE NOTIFY DATA SET CHANGED"); mPreviewImagePagerAdapter.notifyDataSetChanged(); Log.e(TAG, "AFTER NOTIFY DATA SET CHANGED"); - //Log.e(TAG, "BEFORE INVALIDATE"); - //mViewPager.postInvalidate(); - //Log.e(TAG, "AFTER INVALIDATE"); } } } @@ -312,7 +326,6 @@ public class PreviewImageActivity extends SherlockFragmentActivity implements Fi } else { mWaitingToPreview = currentFile; requestForDownload(); - mViewPager.invalidate(); } }