X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/288dbd63489b0acf6f27b5862b5b14357b74e052..fe4fc7a61283b74a89f3586d51363ca32cd59db0:/src/com/owncloud/android/ui/fragment/FileDetailFragment.java diff --git a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java index e5cf6d7a..768275cd 100644 --- a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -44,9 +44,8 @@ import com.owncloud.android.files.services.FileUploader.FileUploaderBinder; import com.owncloud.android.lib.common.network.OnDatatransferProgressListener; 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.dialog.RemoveFileDialogFragment; +import com.owncloud.android.ui.dialog.RenameFileDialogFragment; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.Log_OC; @@ -57,9 +56,7 @@ import com.owncloud.android.utils.Log_OC; * @author Bartek Przybylski * @author David A. Velasco */ -public class FileDetailFragment extends FileFragment implements - OnClickListener, - ConfirmationDialogFragment.ConfirmationDialogFragmentListener, EditNameDialogListener { +public class FileDetailFragment extends FileFragment implements OnClickListener { private int mLayout; private View mView; @@ -101,7 +98,7 @@ public class FileDetailFragment extends FileFragment implements @Override - public void onCreate(Bundle savedInstanceState) { + public void onActivityCreated(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); } @@ -150,8 +147,8 @@ public class FileDetailFragment extends FileFragment implements @Override public void onStop() { - super.onStop(); leaveTransferProgress(); + super.onStop(); } @@ -178,13 +175,15 @@ public class FileDetailFragment extends FileFragment implements public void onPrepareOptionsMenu (Menu menu) { super.onPrepareOptionsMenu(menu); - FileMenuFilter mf = new FileMenuFilter( - getFile(), - mContainerActivity.getStorageManager().getAccount(), - mContainerActivity, - getSherlockActivity() - ); - mf.filter(menu); + if (mContainerActivity.getStorageManager() != null) { + FileMenuFilter mf = new FileMenuFilter( + getFile(), + mContainerActivity.getStorageManager().getAccount(), + mContainerActivity, + getSherlockActivity() + ); + mf.filter(menu); + } // additional restriction for this fragment MenuItem item = menu.findItem(R.id.action_see_details); @@ -214,11 +213,13 @@ public class FileDetailFragment extends FileFragment implements return true; } case R.id.action_remove_file: { - showDialogToRemoveFile(); + RemoveFileDialogFragment dialog = RemoveFileDialogFragment.newInstance(getFile()); + dialog.show(getFragmentManager(), FTAG_CONFIRMATION); return true; } case R.id.action_rename_file: { - showDialogToRenameFile(); + RenameFileDialogFragment dialog = RenameFileDialogFragment.newInstance(getFile()); + dialog.show(getFragmentManager(), FTAG_RENAME_FILE); return true; } case R.id.action_cancel_download: @@ -287,55 +288,6 @@ public class FileDetailFragment extends FileFragment implements } } - private void showDialogToRemoveFile() { - OCFile file = getFile(); - ConfirmationDialogFragment confDialog = ConfirmationDialogFragment.newInstance( - R.string.confirmation_remove_alert, - new String[]{file.getFileName()}, - file.isDown() ? R.string.confirmation_remove_remote_and_local : R.string.confirmation_remove_remote, - file.isDown() ? R.string.confirmation_remove_local : -1, - R.string.common_cancel); - confDialog.setOnConfirmationListener(this); - confDialog.show(getFragmentManager(), FTAG_CONFIRMATION); - } - - - private void showDialogToRenameFile() { - OCFile file = getFile(); - String fileName = file.getFileName(); - int extensionStart = file.isFolder() ? -1 : fileName.lastIndexOf("."); - int selectionEnd = (extensionStart >= 0) ? extensionStart : fileName.length(); - EditNameDialog dialog = EditNameDialog.newInstance(getString(R.string.rename_dialog_title), fileName, 0, selectionEnd, this); - dialog.show(getFragmentManager(), FTAG_RENAME_FILE); - } - - - @Override - public void onConfirmation(String callerTag) { - OCFile file = getFile(); - if (callerTag.equals(FTAG_CONFIRMATION)) { - if (mContainerActivity.getStorageManager().getFileById(file.getFileId()) != null) { - mContainerActivity.getFileOperationsHelper().removeFile(file, true); - } - } - } - - @Override - public void onNeutral(String callerTag) { - OCFile file = getFile(); - mContainerActivity.getStorageManager().removeFile(file, false, true); // TODO perform in background task / new thread - if (file.getStoragePath() != null) { - file.setStoragePath(null); - updateFileDetails(file, mAccount); - } - } - - @Override - public void onCancel(String callerTag) { - Log_OC.d(TAG, "REMOVAL CANCELED"); - } - - /** * Check if the fragment was created with an empty layout. An empty fragment can't show file details, must be replaced. * @@ -378,7 +330,7 @@ public class FileDetailFragment extends FileFragment implements // set file details setFilename(file.getFileName()); - setFiletype(file.getMimetype()); + setFiletype(file.getMimetype(), file.getFileName()); setFilesize(file.getFileLength()); if(ocVersionSupportsTimeCreated()){ setTimeCreated(file.getCreationTimestamp()); @@ -430,8 +382,9 @@ public class FileDetailFragment extends FileFragment implements /** * Updates the MIME type in view * @param mimetype to set + * @param filename */ - private void setFiletype(String mimetype) { + private void setFiletype(String mimetype, String filename) { TextView tv = (TextView) getView().findViewById(R.id.fdType); if (tv != null) { String printableMimetype = DisplayUtils.convertMIMEtoPrettyPrint(mimetype);; @@ -439,7 +392,7 @@ public class FileDetailFragment extends FileFragment implements } ImageView iv = (ImageView) getView().findViewById(R.id.fdIcon); if (iv != null) { - iv.setImageResource(DisplayUtils.getResourceId(mimetype)); + iv.setImageResource(DisplayUtils.getResourceId(mimetype, filename)); } } @@ -549,15 +502,6 @@ public class FileDetailFragment extends FileFragment implements } - public void onDismiss(EditNameDialog dialog) { - if (dialog.getResult()) { - String newFilename = dialog.getNewFilename(); - Log_OC.d(TAG, "name edit dialog dismissed with new name " + newFilename); - mContainerActivity.getFileOperationsHelper().renameFile(getFile(), newFilename); - } - } - - public void listenForTransferProgress() { if (mProgressListener != null) { if (mContainerActivity.getFileDownloaderBinder() != null) {