From 5b32faae4d808efff8581048e784798740b2606b Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Wed, 30 Apr 2014 18:37:55 +0200 Subject: [PATCH] Refactoring to reduce dependencies and duplicated code (WIP) --- .../android/ui/activity/UploadFilesActivity.java | 4 +- .../ConfirmationDialogFragment.java | 2 +- .../android/ui/fragment/FileDetailFragment.java | 58 ++++++++------- .../android/ui/fragment/OCFileListFragment.java | 82 ++++++++++++---------- .../android/ui/preview/FileDownloadFragment.java | 12 ---- .../android/ui/preview/PreviewImageActivity.java | 29 -------- .../android/ui/preview/PreviewImageFragment.java | 22 +++--- .../android/ui/preview/PreviewMediaFragment.java | 53 +++++++------- 8 files changed, 115 insertions(+), 147 deletions(-) rename src/com/owncloud/android/ui/{fragment => dialog}/ConfirmationDialogFragment.java (99%) diff --git a/src/com/owncloud/android/ui/activity/UploadFilesActivity.java b/src/com/owncloud/android/ui/activity/UploadFilesActivity.java index 8b4a41d2..db0802ba 100644 --- a/src/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/src/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -36,10 +36,10 @@ import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.OnNavigationListener; import com.actionbarsherlock.view.MenuItem; import com.owncloud.android.R; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; import com.owncloud.android.ui.dialog.IndeterminateProgressDialog; -import com.owncloud.android.ui.fragment.ConfirmationDialogFragment; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; import com.owncloud.android.ui.fragment.LocalFileListFragment; -import com.owncloud.android.ui.fragment.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.FileStorageUtils; import com.owncloud.android.utils.Log_OC; diff --git a/src/com/owncloud/android/ui/fragment/ConfirmationDialogFragment.java b/src/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java similarity index 99% rename from src/com/owncloud/android/ui/fragment/ConfirmationDialogFragment.java rename to src/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java index bb9adbe2..52c1ac48 100644 --- a/src/com/owncloud/android/ui/fragment/ConfirmationDialogFragment.java +++ b/src/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java @@ -16,7 +16,7 @@ * */ -package com.owncloud.android.ui.fragment; +package com.owncloud.android.ui.dialog; import android.app.AlertDialog; import android.app.Dialog; diff --git a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java index ddbaca37..33fef5e0 100644 --- a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -61,6 +61,7 @@ import com.owncloud.android.operations.SynchronizeFileOperation; import com.owncloud.android.ui.activity.ConflictsResolveActivity; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; import com.owncloud.android.ui.dialog.EditNameDialog; import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener; import com.owncloud.android.ui.preview.PreviewImageFragment; @@ -83,7 +84,6 @@ public class FileDetailFragment extends FileFragment implements private int mLayout; private View mView; private Account mAccount; - private FileDataStorageManager mStorageManager; private UploadFinishReceiver mUploadFinishReceiver; public ProgressListener mProgressListener; @@ -103,7 +103,6 @@ public class FileDetailFragment extends FileFragment implements public FileDetailFragment() { super(); mAccount = null; - mStorageManager = null; mLayout = R.layout.file_details_empty; mProgressListener = null; } @@ -119,7 +118,6 @@ public class FileDetailFragment extends FileFragment implements public FileDetailFragment(OCFile fileToDetail, Account ocAccount) { super(fileToDetail); mAccount = ocAccount; - mStorageManager = null; // we need a context to init this; the container activity is not available yet at this moment mLayout = R.layout.file_details_empty; mProgressListener = null; } @@ -185,8 +183,8 @@ public class FileDetailFragment extends FileFragment implements public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mAccount != null) { - mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); - OCFile file = mStorageManager.getFileByPath(getFile().getRemotePath()); + OCFile file = ((FileActivity)getActivity()).getStorageManager(). + getFileByPath(getFile().getRemotePath()); if (file != null) { setFile(file); } @@ -361,17 +359,17 @@ public class FileDetailFragment extends FileFragment implements public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_share_file: { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().shareFileWithLink(getFile(), activity); return true; } case R.id.action_unshare_file: { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().unshareFileWithLink(getFile(), activity); return true; } case R.id.action_open_file_with: { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().openFile(getFile(), activity); return true; } @@ -428,7 +426,7 @@ public class FileDetailFragment extends FileFragment implements CheckBox cb = (CheckBox) getView().findViewById(R.id.fdKeepInSync); OCFile file = getFile(); file.setKeepInSync(cb.isChecked()); - mStorageManager.saveFile(file); + ((FileActivity)getActivity()).getStorageManager().saveFile(file); /// register the OCFile instance in the observer service to monitor local updates; /// if necessary, the file is download @@ -494,11 +492,17 @@ public class FileDetailFragment extends FileFragment implements } } else { - mLastRemoteOperation = new SynchronizeFileOperation(file, null, mStorageManager, mAccount, true, getActivity()); + mLastRemoteOperation = new SynchronizeFileOperation( + file, + null, + ((FileActivity)getActivity()).getStorageManager(), + mAccount, + true, + getActivity()); mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity()); // update ui - ((FileDisplayActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getActivity()).showLoadingDialog(); } } @@ -507,13 +511,15 @@ public class FileDetailFragment extends FileFragment implements public void onConfirmation(String callerTag) { OCFile file = getFile(); if (callerTag.equals(FTAG_CONFIRMATION)) { - if (mStorageManager.getFileById(file.getFileId()) != null) { + FileDataStorageManager storageManager = + ((FileActivity)getActivity()).getStorageManager(); + if (storageManager.getFileById(file.getFileId()) != null) { mLastRemoteOperation = new RemoveFileOperation( file, true, - mStorageManager); + storageManager); mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity()); - ((FileDisplayActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getActivity()).showLoadingDialog(); } } } @@ -521,7 +527,7 @@ public class FileDetailFragment extends FileFragment implements @Override public void onNeutral(String callerTag) { OCFile file = getFile(); - mStorageManager.removeFile(file, false, true); // TODO perform in background task / new thread + ((FileActivity)getActivity()).getStorageManager().removeFile(file, false, true); // TODO perform in background task / new thread if (file.getStoragePath() != null) { file.setStoragePath(null); updateFileDetails(file, mAccount); @@ -551,11 +557,12 @@ public class FileDetailFragment extends FileFragment implements */ public void updateFileDetails(OCFile file, Account ocAccount) { setFile(file); + FileDataStorageManager storageManager = ((FileActivity)getActivity()).getStorageManager(); if (ocAccount != null && ( - mStorageManager == null || + storageManager == null || (mAccount != null && !mAccount.equals(ocAccount)) )) { - mStorageManager = new FileDataStorageManager(ocAccount, getActivity().getApplicationContext().getContentResolver()); + storageManager = new FileDataStorageManager(ocAccount, getActivity().getApplicationContext().getContentResolver()); } mAccount = ocAccount; updateFileDetails(false, false); @@ -577,9 +584,10 @@ public class FileDetailFragment extends FileFragment implements public void updateFileDetails(boolean transferring, boolean refresh) { if (readyToShow()) { - - if (refresh && mStorageManager != null) { - setFile(mStorageManager.getFileByPath(getFile().getRemotePath())); + FileDataStorageManager storageManager = + ((FileActivity)getActivity()).getStorageManager(); + if (refresh && storageManager != null) { + setFile(storageManager.getFileByPath(getFile().getRemotePath())); } OCFile file = getFile(); @@ -779,7 +787,7 @@ public class FileDetailFragment extends FileFragment implements if (getFile().getRemotePath().equals(uploadRemotePath) || renamedInUpload) { if (uploadWasFine) { - setFile(mStorageManager.getFileByPath(uploadRemotePath)); + setFile(((FileActivity)getActivity()).getStorageManager().getFileByPath(uploadRemotePath)); } if (renamedInUpload) { String newName = (new File(uploadRemotePath)).getName(); @@ -809,7 +817,7 @@ public class FileDetailFragment extends FileFragment implements newFilename, new FileDataStorageManager(mAccount, getActivity().getContentResolver())); mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity()); - ((FileDisplayActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getActivity()).showLoadingDialog(); } } @@ -834,7 +842,7 @@ public class FileDetailFragment extends FileFragment implements private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) { - ((FileDisplayActivity) getActivity()).dismissLoadingDialog(); + ((FileActivity) getActivity()).dismissLoadingDialog(); if (result.isSuccess()) { Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG); msg.show(); @@ -850,7 +858,7 @@ public class FileDetailFragment extends FileFragment implements } private void onRenameFileOperationFinish(RenameFileOperation operation, RemoteOperationResult result) { - ((FileDisplayActivity) getActivity()).dismissLoadingDialog(); + ((FileActivity) getActivity()).dismissLoadingDialog(); if (result.isSuccess()) { updateFileDetails(((RenameFileOperation)operation).getFile(), mAccount); @@ -877,7 +885,7 @@ public class FileDetailFragment extends FileFragment implements } private void onSynchronizeFileOperationFinish(SynchronizeFileOperation operation, RemoteOperationResult result) { - ((FileDisplayActivity) getActivity()).dismissLoadingDialog(); + ((FileActivity) getActivity()).dismissLoadingDialog(); OCFile file = getFile(); if (!result.isSuccess()) { if (result.getCode() == ResultCode.SYNC_CONFLICT) { diff --git a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java index c11420b0..b7adb26a 100644 --- a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -32,12 +32,13 @@ import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.RenameFileOperation; import com.owncloud.android.operations.SynchronizeFileOperation; -import com.owncloud.android.ui.activity.FileDisplayActivity; +import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.TransferServiceGetter; import com.owncloud.android.ui.adapter.FileListListAdapter; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; import com.owncloud.android.ui.dialog.EditNameDialog; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener; -import com.owncloud.android.ui.fragment.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; import com.owncloud.android.ui.preview.PreviewImageFragment; import com.owncloud.android.ui.preview.PreviewMediaFragment; import com.owncloud.android.utils.Log_OC; @@ -110,7 +111,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName super.onActivityCreated(savedInstanceState); Log_OC.e(TAG, "onActivityCreated() start"); - mAdapter = new FileListListAdapter(getActivity(), mContainerActivity); + mAdapter = new FileListListAdapter(getSherlockActivity(), mContainerActivity); if (savedInstanceState != null) { mFile = savedInstanceState.getParcelable(EXTRA_FILE); @@ -162,7 +163,8 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName int moveCount = 0; if(mFile != null){ - FileDataStorageManager storageManager = mContainerActivity.getStorageManager(); + FileDataStorageManager storageManager = + ((FileActivity)getSherlockActivity()).getStorageManager(); String parentPath = null; if (mFile.getParentId() != FileDataStorageManager.ROOT_PARENT_ID) { @@ -249,7 +251,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName @Override public void onItemClick(AdapterView l, View v, int position, long id) { - OCFile file = mContainerActivity.getStorageManager().createFileInstance( + OCFile file = ((FileActivity)getSherlockActivity()).getStorageManager().createFileInstance( (Cursor) mAdapter.getItem(position)); if (file != null) { if (file.isFolder()) { @@ -270,7 +272,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName // media preview mContainerActivity.startMediaPreview(file, 0, true); } else { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().openFile(file, activity); } @@ -293,10 +295,10 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName @Override public void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); - MenuInflater inflater = getActivity().getMenuInflater(); + MenuInflater inflater = getSherlockActivity().getMenuInflater(); inflater.inflate(R.menu.file_actions_menu, menu); AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; - OCFile targetFile = mContainerActivity.getStorageManager().createFileInstance( + OCFile targetFile = ((FileActivity)getSherlockActivity()).getStorageManager().createFileInstance( (Cursor) mAdapter.getItem(info.position)); List toHide = new ArrayList(); List toDisable = new ArrayList(); @@ -311,8 +313,8 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName toHide.add(R.id.action_sync_file); toHide.add(R.id.action_see_details); toHide.add(R.id.action_send_file); - if ( mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) || - mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) ) { + if ( mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), targetFile) || + mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), targetFile) ) { toDisable.add(R.id.action_rename_file); toDisable.add(R.id.action_remove_file); @@ -332,12 +334,12 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName } else { toHide.add(R.id.action_sync_file); } - if ( mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile)) { + if ( mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), targetFile)) { toHide.add(R.id.action_cancel_upload); toDisable.add(R.id.action_rename_file); toDisable.add(R.id.action_remove_file); - } else if ( mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile)) { + } else if ( mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), targetFile)) { toHide.add(R.id.action_cancel_download); toDisable.add(R.id.action_rename_file); toDisable.add(R.id.action_remove_file); @@ -382,16 +384,16 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName @Override public boolean onContextItemSelected (MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); - mTargetFile = mContainerActivity.getStorageManager().createFileInstance( + mTargetFile = ((FileActivity)getSherlockActivity()).getStorageManager().createFileInstance( (Cursor) mAdapter.getItem(info.position)); switch (item.getItemId()) { case R.id.action_share_file: { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().shareFileWithLink(mTargetFile, activity); return true; } case R.id.action_unshare_file: { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().unshareFileWithLink(mTargetFile, activity); return true; } @@ -427,14 +429,20 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName } case R.id.action_sync_file: { Account account = AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()); - RemoteOperation operation = new SynchronizeFileOperation(mTargetFile, null, mContainerActivity.getStorageManager(), account, true, getSherlockActivity()); + RemoteOperation operation = new SynchronizeFileOperation( + mTargetFile, + null, + ((FileActivity)getSherlockActivity()).getStorageManager(), + account, + true, + getSherlockActivity()); operation.execute(account, getSherlockActivity(), mContainerActivity, mHandler, getSherlockActivity()); - ((FileDisplayActivity) getSherlockActivity()).showLoadingDialog(); + ((FileActivity) getSherlockActivity()).showLoadingDialog(); return true; } case R.id.action_cancel_download: { FileDownloaderBinder downloaderBinder = mContainerActivity.getFileDownloaderBinder(); - Account account = AccountUtils.getCurrentOwnCloudAccount(getActivity()); + Account account = AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()); if (downloaderBinder != null && downloaderBinder.isDownloading(account, mTargetFile)) { downloaderBinder.cancel(account, mTargetFile); listDirectory(); @@ -444,7 +452,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName } case R.id.action_cancel_upload: { FileUploaderBinder uploaderBinder = mContainerActivity.getFileUploaderBinder(); - Account account = AccountUtils.getCurrentOwnCloudAccount(getActivity()); + Account account = AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()); if (uploaderBinder != null && uploaderBinder.isUploading(account, mTargetFile)) { uploaderBinder.cancel(account, mTargetFile); listDirectory(); @@ -453,7 +461,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName return true; } case R.id.action_see_details: { - ((FileFragment.ContainerActivity)getActivity()).showDetails(mTargetFile); + ((FileFragment.ContainerActivity)getSherlockActivity()).showDetails(mTargetFile); return true; } case R.id.action_send_file: { @@ -464,7 +472,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName } else { - FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + FileActivity activity = (FileActivity) getSherlockActivity(); activity.getFileOperationsHelper().sendDownloadedFile(mTargetFile, activity); } return true; @@ -499,7 +507,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName * @param directory File to be listed */ public void listDirectory(OCFile directory) { - FileDataStorageManager storageManager = mContainerActivity.getStorageManager(); + FileDataStorageManager storageManager = ((FileActivity)getSherlockActivity()).getStorageManager(); if (storageManager != null) { // Check input parameters for null @@ -552,12 +560,6 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName public void startSyncFolderOperation(OCFile folder); /** - * Getter for the current DataStorageManager in the container activity - */ - public FileDataStorageManager getStorageManager(); - - - /** * Callback method invoked when a the 'transfer state' of a file changes. * * This happens when a download or upload is started or ended for a file. @@ -574,7 +576,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName */ public void onTransferStateChanged(OCFile file, boolean downloading, boolean uploading); - void startDownloadForSending(OCFile file); + public void startDownloadForSending(OCFile file); } @@ -584,12 +586,14 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName if (dialog.getResult()) { String newFilename = dialog.getNewFilename(); Log_OC.d(TAG, "name edit dialog dismissed with new name " + newFilename); - RemoteOperation operation = new RenameFileOperation(mTargetFile, - AccountUtils.getCurrentOwnCloudAccount(getActivity()), - newFilename, - mContainerActivity.getStorageManager()); + RemoteOperation operation = + new RenameFileOperation( + mTargetFile, + AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), + newFilename, + ((FileActivity)getSherlockActivity()).getStorageManager()); operation.execute(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), getSherlockActivity(), mContainerActivity, mHandler, getSherlockActivity()); - ((FileDisplayActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getSherlockActivity()).showLoadingDialog(); } } @@ -597,20 +601,22 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName @Override public void onConfirmation(String callerTag) { if (callerTag.equals(FileDetailFragment.FTAG_CONFIRMATION)) { - if (mContainerActivity.getStorageManager().getFileById(mTargetFile.getFileId()) != null) { + FileDataStorageManager storageManager = + ((FileActivity)getSherlockActivity()).getStorageManager(); + if (storageManager.getFileById(mTargetFile.getFileId()) != null) { RemoteOperation operation = new RemoveFileOperation( mTargetFile, true, - mContainerActivity.getStorageManager()); + storageManager); operation.execute(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), getSherlockActivity(), mContainerActivity, mHandler, getSherlockActivity()); - ((FileDisplayActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getSherlockActivity()).showLoadingDialog(); } } } @Override public void onNeutral(String callerTag) { - mContainerActivity.getStorageManager().removeFile(mTargetFile, false, true); // TODO perform in background task / new thread + ((FileActivity)getSherlockActivity()).getStorageManager().removeFile(mTargetFile, false, true); // TODO perform in background task / new thread listDirectory(); mContainerActivity.onTransferStateChanged(mTargetFile, false, false); } diff --git a/src/com/owncloud/android/ui/preview/FileDownloadFragment.java b/src/com/owncloud/android/ui/preview/FileDownloadFragment.java index c8fd2d29..5bbc5345 100644 --- a/src/com/owncloud/android/ui/preview/FileDownloadFragment.java +++ b/src/com/owncloud/android/ui/preview/FileDownloadFragment.java @@ -154,18 +154,6 @@ public class FileDownloadFragment extends FileFragment implements OnClickListene } - /** - * {@inheritDoc} - */ - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - if (mAccount != null) { - //mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver());; - } - } - - @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java index d7cc36d6..12b5cce3 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -26,9 +26,6 @@ import android.content.SharedPreferences; import android.os.Bundle; import android.os.IBinder; import android.preference.PreferenceManager; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.view.MotionEvent; import android.view.View; @@ -54,7 +51,6 @@ import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; import com.owncloud.android.ui.activity.PinCodeActivity; -import com.owncloud.android.ui.dialog.LoadingDialog; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.Log_OC; @@ -74,8 +70,6 @@ public class PreviewImageActivity extends FileActivity implements FileFragment.C public static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW"; private static final String KEY_WAITING_FOR_BINDER = "WAITING_FOR_BINDER"; - private static final String DIALOG_WAIT_TAG = "DIALOG_WAIT"; - private ViewPager mViewPager; private PreviewImagePagerAdapter mPreviewImagePagerAdapter; @@ -292,29 +286,6 @@ public class PreviewImageActivity extends FileActivity implements FileFragment.C } /** - * Show loading dialog - */ - public void showLoadingDialog() { - // Construct dialog - LoadingDialog loading = new LoadingDialog(getResources().getString(R.string.wait_a_moment)); - FragmentManager fm = getSupportFragmentManager(); - FragmentTransaction ft = fm.beginTransaction(); - loading.show(ft, DIALOG_WAIT_TAG); - - } - - /** - * Dismiss loading dialog - */ - public void dismissLoadingDialog(){ - Fragment frag = getSupportFragmentManager().findFragmentByTag(DIALOG_WAIT_TAG); - if (frag != null) { - LoadingDialog loading = (LoadingDialog) frag; - loading.dismiss(); - } - } - - /** * {@inheritDoc} */ @Override diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 3a374e08..70ffa792 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -58,7 +58,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.ui.activity.FileActivity; -import com.owncloud.android.ui.fragment.ConfirmationDialogFragment; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.utils.Log_OC; @@ -79,7 +79,6 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper private View mView; private Account mAccount; - private FileDataStorageManager mStorageManager; private ImageView mImageView; private TextView mMessageView; private ProgressBar mProgressWheel; @@ -106,7 +105,6 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper public PreviewImageFragment(OCFile fileToDetail, Account ocAccount, boolean ignoreFirstSavedState) { super(fileToDetail); mAccount = ocAccount; - mStorageManager = null; // we need a context to init this; the container activity is not available yet at this moment mIgnoreFirstSavedState = ignoreFirstSavedState; } @@ -121,7 +119,6 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper public PreviewImageFragment() { super(); mAccount = null; - mStorageManager = null; mIgnoreFirstSavedState = false; } @@ -173,7 +170,6 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); if (savedInstanceState != null) { if (!mIgnoreFirstSavedState) { OCFile file = (OCFile)savedInstanceState.getParcelable(PreviewImageFragment.EXTRA_FILE); @@ -181,8 +177,8 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper // Update the file if (mAccount!= null) { - mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); - OCFile updatedFile = mStorageManager.getFileByPath(file.getRemotePath()); + OCFile updatedFile = ((FileActivity)getSherlockActivity()). + getStorageManager().getFileByPath(file.getRemotePath()); if (updatedFile != null) { setFile(updatedFile); } else { @@ -433,13 +429,15 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper */ @Override public void onConfirmation(String callerTag) { - if (mStorageManager.getFileById(getFile().getFileId()) != null) { // check that the file is still there; + FileDataStorageManager storageManager = + ((FileActivity)getSherlockActivity()).getStorageManager(); + if (storageManager.getFileById(getFile().getFileId()) != null) { // check that the file is still there; mLastRemoteOperation = new RemoveFileOperation( getFile(), // TODO we need to review the interface with RemoteOperations, and use OCFile IDs instead of OCFile objects as parameters true, - mStorageManager); + storageManager); mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity()); - ((PreviewImageActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getActivity()).showLoadingDialog(); } } @@ -450,7 +448,7 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper @Override public void onNeutral(String callerTag) { OCFile file = getFile(); - mStorageManager.removeFile(file, false, true); // TODO perform in background task / new thread + ((FileActivity)getSherlockActivity()).getStorageManager().removeFile(file, false, true); // TODO perform in background task / new thread finish(); } @@ -657,7 +655,7 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper } private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) { - ((PreviewImageActivity) getActivity()).dismissLoadingDialog(); + ((FileActivity) getActivity()).dismissLoadingDialog(); if (result.isSuccess()) { Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG); diff --git a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index 7fa399ae..02c4e2d6 100644 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -63,8 +63,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.ui.activity.FileActivity; -import com.owncloud.android.ui.activity.FileDisplayActivity; -import com.owncloud.android.ui.fragment.ConfirmationDialogFragment; +import com.owncloud.android.ui.dialog.ConfirmationDialogFragment; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.utils.Log_OC; @@ -89,7 +88,6 @@ public class PreviewMediaFragment extends FileFragment implements private View mView; private Account mAccount; - private FileDataStorageManager mStorageManager; private ImageView mImagePreview; private VideoView mVideoPreview; private int mSavedPlaybackPosition; @@ -119,7 +117,6 @@ public class PreviewMediaFragment extends FileFragment implements super(fileToDetail); mAccount = ocAccount; mSavedPlaybackPosition = startPlaybackPosition; - mStorageManager = null; // we need a context to init this; the container activity is not available yet at this moment mAutoplay = autoplay; } @@ -135,7 +132,6 @@ public class PreviewMediaFragment extends FileFragment implements super(); mAccount = null; mSavedPlaybackPosition = 0; - mStorageManager = null; mAutoplay = true; } @@ -194,7 +190,6 @@ public class PreviewMediaFragment extends FileFragment implements super.onActivityCreated(savedInstanceState); Log_OC.e(TAG, "onActivityCreated"); - mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); if (savedInstanceState != null) { setFile((OCFile)savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_FILE)); mAccount = savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_ACCOUNT); @@ -378,27 +373,27 @@ public class PreviewMediaFragment extends FileFragment implements private void unshareFileWithLink() { stopPreview(false); - FileActivity activity = (FileActivity)((FileFragment.ContainerActivity)getActivity()); + FileActivity activity = (FileActivity)getSherlockActivity(); activity.getFileOperationsHelper().unshareFileWithLink(getFile(), activity); } private void shareFileWithLink() { stopPreview(false); - FileActivity activity = (FileActivity)((FileFragment.ContainerActivity)getActivity()); + FileActivity activity = (FileActivity)getSherlockActivity(); activity.getFileOperationsHelper().shareFileWithLink(getFile(), activity); } private void sendFile() { stopPreview(false); - FileActivity activity = (FileActivity)((FileFragment.ContainerActivity)getActivity()); + FileActivity activity = (FileActivity)getSherlockActivity(); activity.getFileOperationsHelper().sendDownloadedFile(getFile(), activity); } private void seeDetails() { stopPreview(false); - ((FileFragment.ContainerActivity)getActivity()).showDetails(getFile()); + ((FileFragment.ContainerActivity)getSherlockActivity()).showDetails(getFile()); } @@ -481,8 +476,8 @@ public class PreviewMediaFragment extends FileFragment implements @Override public boolean onError(MediaPlayer mp, int what, int extra) { if (mVideoPreview.getWindowToken() != null) { - String message = MediaService.getMessageForMediaError(getActivity(), what, extra); - new AlertDialog.Builder(getActivity()) + String message = MediaService.getMessageForMediaError(getSherlockActivity(), what, extra); + new AlertDialog.Builder(getSherlockActivity()) .setMessage(message) .setPositiveButton(android.R.string.VideoView_error_button, new DialogInterface.OnClickListener() { @@ -529,7 +524,7 @@ public class PreviewMediaFragment extends FileFragment implements if (mMediaServiceBinder != null && mMediaController != null) { mMediaServiceBinder.unregisterMediaController(mMediaController); } - getActivity().unbindService(mMediaServiceConnection); + getSherlockActivity().unbindService(mMediaServiceConnection); mMediaServiceConnection = null; mMediaServiceBinder = null; } @@ -546,7 +541,7 @@ public class PreviewMediaFragment extends FileFragment implements private void startFullScreenVideo() { - Intent i = new Intent(getActivity(), PreviewVideoActivity.class); + Intent i = new Intent(getSherlockActivity(), PreviewVideoActivity.class); i.putExtra(FileActivity.EXTRA_ACCOUNT, mAccount); i.putExtra(FileActivity.EXTRA_FILE, getFile()); i.putExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, mVideoPreview.isPlaying()); @@ -591,7 +586,7 @@ public class PreviewMediaFragment extends FileFragment implements if (mMediaServiceConnection == null) { mMediaServiceConnection = new MediaServiceConnection(); } - getActivity().bindService( new Intent(getActivity(), + getSherlockActivity().bindService( new Intent(getSherlockActivity(), MediaService.class), mMediaServiceConnection, Context.BIND_AUTO_CREATE); @@ -603,8 +598,8 @@ public class PreviewMediaFragment extends FileFragment implements @Override public void onServiceConnected(ComponentName component, IBinder service) { - if (getActivity() != null) { - if (component.equals(new ComponentName(getActivity(), MediaService.class))) { + if (getSherlockActivity() != null) { + if (component.equals(new ComponentName(getSherlockActivity(), MediaService.class))) { Log_OC.d(TAG, "Media service connected"); mMediaServiceBinder = (MediaServiceBinder) service; if (mMediaServiceBinder != null) { @@ -631,12 +626,12 @@ public class PreviewMediaFragment extends FileFragment implements @Override public void onServiceDisconnected(ComponentName component) { - if (component.equals(new ComponentName(getActivity(), MediaService.class))) { + if (component.equals(new ComponentName(getSherlockActivity(), MediaService.class))) { Log_OC.e(TAG, "Media service suddenly disconnected"); if (mMediaController != null) { mMediaController.setMediaPlayer(null); } else { - Toast.makeText(getActivity(), "No media controller to release when disconnected from media service", Toast.LENGTH_SHORT).show(); + Toast.makeText(getSherlockActivity(), "No media controller to release when disconnected from media service", Toast.LENGTH_SHORT).show(); } mMediaServiceBinder = null; mMediaServiceConnection = null; @@ -694,7 +689,7 @@ public class PreviewMediaFragment extends FileFragment implements } finally { if (toastIt) { - Toast.makeText(getActivity(), "There is no application to handle file " + file.getFileName(), Toast.LENGTH_SHORT).show(); + Toast.makeText(getSherlockActivity(), "There is no application to handle file " + file.getFileName(), Toast.LENGTH_SHORT).show(); } } @@ -726,14 +721,16 @@ public class PreviewMediaFragment extends FileFragment implements @Override public void onConfirmation(String callerTag) { OCFile file = getFile(); - if (mStorageManager.getFileById(file.getFileId()) != null) { // check that the file is still there; + FileDataStorageManager storageManager = + ((FileActivity)getSherlockActivity()).getStorageManager(); + if (storageManager.getFileById(file.getFileId()) != null) { // check that the file is still there; stopPreview(true); mLastRemoteOperation = new RemoveFileOperation( file, // TODO we need to review the interface with RemoteOperations, and use OCFile IDs instead of OCFile objects as parameters true, - mStorageManager); + storageManager); mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity()); - ((FileDisplayActivity) getActivity()).showLoadingDialog(); + ((FileActivity) getSherlockActivity()).showLoadingDialog(); } } @@ -745,7 +742,7 @@ public class PreviewMediaFragment extends FileFragment implements public void onNeutral(String callerTag) { OCFile file = getFile(); stopPreview(true); - mStorageManager.removeFile(file, false, true); // TODO perform in background task / new thread + ((FileActivity)getSherlockActivity()).getStorageManager().removeFile(file, false, true); // TODO perform in background task / new thread finish(); } @@ -781,14 +778,14 @@ public class PreviewMediaFragment extends FileFragment implements } private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) { - ((FileDisplayActivity) getActivity()).dismissLoadingDialog(); + ((FileActivity) getSherlockActivity()).dismissLoadingDialog(); if (result.isSuccess()) { - Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG); + Toast msg = Toast.makeText(getSherlockActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG); msg.show(); finish(); } else { - Toast msg = Toast.makeText(getActivity(), R.string.remove_fail_msg, Toast.LENGTH_LONG); + Toast msg = Toast.makeText(getSherlockActivity(), R.string.remove_fail_msg, Toast.LENGTH_LONG); msg.show(); if (result.isSslRecoverableException()) { // TODO show the SSL warning dialog @@ -812,7 +809,7 @@ public class PreviewMediaFragment extends FileFragment implements * Finishes the preview */ private void finish() { - getActivity().onBackPressed(); + getSherlockActivity().onBackPressed(); } -- 2.11.0