X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/eb2d8e28dc01abcb45a95002268e74db39befe3f..9cac3b60a574f2b82cb3b33b45d3a4ba9a2f4d3e:/src/com/owncloud/android/ui/activity/FileDisplayActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 0753525a..cf43c6ad 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -19,7 +19,6 @@ package com.owncloud.android.ui.activity; import java.io.File; - import android.accounts.Account; import android.app.AlertDialog; import android.app.Dialog; @@ -42,6 +41,7 @@ import android.os.IBinder; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; //import android.support.v4.content.LocalBroadcastManager; import android.util.Log; @@ -67,9 +67,9 @@ import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder; import com.owncloud.android.files.services.FileUploader.FileUploaderBinder; import com.owncloud.android.operations.CreateFolderOperation; -import com.owncloud.android.lib.operations.common.RemoteOperation; -import com.owncloud.android.lib.operations.common.RemoteOperationResult; -import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.operations.RemoteOperation; +import com.owncloud.android.lib.common.operations.RemoteOperationResult; +import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.operations.CreateShareOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.RenameFileOperation; @@ -79,14 +79,13 @@ import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.services.OperationsService; import com.owncloud.android.syncadapter.FileSyncAdapter; import com.owncloud.android.ui.dialog.EditNameDialog; +import com.owncloud.android.ui.dialog.SslUntrustedCertDialog; import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener; -import com.owncloud.android.ui.dialog.SslValidatorDialog; -import com.owncloud.android.ui.dialog.SslValidatorDialog.OnSslValidatorListener; +import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener; import com.owncloud.android.ui.fragment.FileDetailFragment; import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.ui.fragment.OCFileListFragment; import com.owncloud.android.ui.preview.PreviewImageActivity; -import com.owncloud.android.ui.preview.PreviewImageFragment; import com.owncloud.android.ui.preview.PreviewMediaFragment; import com.owncloud.android.ui.preview.PreviewVideoActivity; import com.owncloud.android.utils.DisplayUtils; @@ -101,7 +100,7 @@ import com.owncloud.android.utils.Log_OC; */ public class FileDisplayActivity extends HookActivity implements -OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, EditNameDialogListener { +OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener, EditNameDialogListener { private ArrayAdapter mDirectories; @@ -120,12 +119,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW"; private static final String KEY_SYNC_IN_PROGRESS = "SYNC_IN_PROGRESS"; - private static final String KEY_REFRESH_SHARES_IN_PROGRESS = "SHARES_IN_PROGRESS"; + //private static final String KEY_REFRESH_SHARES_IN_PROGRESS = "SHARES_IN_PROGRESS"; public static final int DIALOG_SHORT_WAIT = 0; private static final int DIALOG_CHOOSE_UPLOAD_SOURCE = 1; - private static final int DIALOG_SSL_VALIDATOR = 2; - private static final int DIALOG_CERT_NOT_SAVED = 3; + //private static final int DIALOG_SSL_VALIDATOR = 2; + private static final int DIALOG_CERT_NOT_SAVED = 2; public static final String ACTION_DETAILS = "com.owncloud.android.ui.activity.action.DETAILS"; @@ -142,6 +141,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private boolean mSyncInProgress = false; //private boolean mRefreshSharesInProgress = false; + private String DIALOG_UNTRUSTED_CERT; + @Override protected void onCreate(Bundle savedInstanceState) { Log_OC.d(TAG, "onCreate() start"); @@ -207,6 +208,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa protected void onStart() { super.onStart(); getSupportActionBar().setIcon(DisplayUtils.getSeasonalIconId()); + refeshListOfFilesFragment(); } @Override @@ -680,7 +682,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa // Listen for sync messages IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START); syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END); - syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_SIZE_SYNCED); + //syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_SIZE_SYNCED); syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED); syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED); syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED); @@ -739,14 +741,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa @Override - protected void onPrepareDialog(int id, Dialog dialog, Bundle args) { - if (id == DIALOG_SSL_VALIDATOR && mLastSslUntrustedServerResult != null) { - ((SslValidatorDialog)dialog).updateResult(mLastSslUntrustedServerResult); - } - } - - - @Override protected Dialog onCreateDialog(int id) { Dialog dialog = null; AlertDialog.Builder builder; @@ -804,10 +798,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa dialog = builder.create(); break; } - case DIALOG_SSL_VALIDATOR: { - dialog = SslValidatorDialog.newInstance(this, mLastSslUntrustedServerResult, this); - break; - } case DIALOG_CERT_NOT_SAVED: { builder = new AlertDialog.Builder(this); builder.setMessage(getResources().getString(R.string.ssl_validator_not_saved)); @@ -976,7 +966,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa if (synchResult != null) { if (synchResult.getCode().equals(RemoteOperationResult.ResultCode.SSL_RECOVERABLE_PEER_UNVERIFIED)) { mLastSslUntrustedServerResult = synchResult; - showDialog(DIALOG_SSL_VALIDATOR); } } } @@ -1065,7 +1054,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa if ((getSharesResult != null) && RemoteOperationResult.ResultCode.SSL_RECOVERABLE_PEER_UNVERIFIED.equals(getSharesResult.getCode())) { mLastSslUntrustedServerResult = getSharesResult; - showDialog(DIALOG_SSL_VALIDATOR); + showUntrustedCertDialog(mLastSslUntrustedServerResult); } //setSupportProgressBarIndeterminateVisibility(mRefreshSharesInProgress || mSyncInProgress); @@ -1348,10 +1337,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { - OCFile file = getStorageManager().getFileByPath(getFile().getRemotePath()); - if (file != null) { - setFile(file); - } refreshShowDetails(); refeshListOfFilesFragment(); } @@ -1360,10 +1345,6 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private void onUnshareLinkOperationFinish(UnshareLinkOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { - OCFile file = getStorageManager().getFileByPath(getFile().getRemotePath()); - if (file != null) { - setFile(file); - } refreshShowDetails(); refeshListOfFilesFragment(); } else if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { @@ -1377,16 +1358,16 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa if (details != null) { OCFile file = details.getFile(); if (file != null) { - file = getStorageManager().getFileByPath(file.getRemotePath()); { - if (!(details instanceof PreviewMediaFragment || details instanceof PreviewImageFragment)) { - showDetails(file); - } else if (details instanceof PreviewMediaFragment) { - startMediaPreview(file, 0, false); - } - } - invalidateOptionsMenu(); - } - } + file = getStorageManager().getFileByPath(file.getRemotePath()); + if (details instanceof PreviewMediaFragment) { + // Refresh OCFile of the fragment + ((PreviewMediaFragment) details).updateFile(file); + } else { + showDetails(file); + } + } + invalidateOptionsMenu(); + } } /** @@ -1416,7 +1397,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa msg.show(); if (result.isSslRecoverableException()) { mLastSslUntrustedServerResult = result; - showDialog(DIALOG_SSL_VALIDATOR); + showUntrustedCertDialog(mLastSslUntrustedServerResult); } } } @@ -1483,7 +1464,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa msg.show(); if (result.isSslRecoverableException()) { mLastSslUntrustedServerResult = result; - showDialog(DIALOG_SSL_VALIDATOR); + showUntrustedCertDialog(mLastSslUntrustedServerResult); } } } @@ -1608,5 +1589,34 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa mRefreshSharesInProgress = true; } */ + + /** + * Show untrusted cert dialog + */ + public void showUntrustedCertDialog(RemoteOperationResult result) { + // Show a dialog with the certificate info + SslUntrustedCertDialog dialog = SslUntrustedCertDialog.newInstance(result, this); + FragmentManager fm = getSupportFragmentManager(); + FragmentTransaction ft = fm.beginTransaction(); + dialog.show(ft, DIALOG_UNTRUSTED_CERT); + + } + + /** + * Dismiss untrusted cert dialog + */ + public void dismissUntrustedCertDialog(){ + Fragment frag = getSupportFragmentManager().findFragmentByTag(DIALOG_UNTRUSTED_CERT); + if (frag != null) { + SslUntrustedCertDialog dialog = (SslUntrustedCertDialog) frag; + dialog.dismiss(); + } + } + + @Override + public void onCancelCertificate() { + // TODO Auto-generated method stub + + } }