X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/30b72638a6cd1b1ae6e7c1fbc770985db3bd7ae8..25f488cfe1a77ea40faf3a933aa7f50b17848e1c:/src/com/owncloud/android/ui/activity/FileActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileActivity.java b/src/com/owncloud/android/ui/activity/FileActivity.java index a566ccdb..17aa8c04 100644 --- a/src/com/owncloud/android/ui/activity/FileActivity.java +++ b/src/com/owncloud/android/ui/activity/FileActivity.java @@ -61,7 +61,6 @@ import com.owncloud.android.operations.SynchronizeFolderOperation; import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.services.OperationsService; import com.owncloud.android.services.OperationsService.OperationsServiceBinder; -import com.owncloud.android.ui.dialog.CreateFolderDialogFragment; import com.owncloud.android.ui.dialog.LoadingDialog; import com.owncloud.android.ui.dialog.SharePasswordDialogFragment; import com.owncloud.android.utils.ErrorMessageAdapter; @@ -152,6 +151,8 @@ public class FileActivity extends SherlockFragmentActivity mFromNotification = getIntent().getBooleanExtra(FileActivity.EXTRA_FROM_NOTIFICATION, false); } + AccountUtils.updateAccountVersion(this); // best place, before any access to AccountManager or database + setAccount(account, savedInstanceState != null); mOperationsServiceConnection = new OperationsServiceConnection(); @@ -168,7 +169,16 @@ public class FileActivity extends SherlockFragmentActivity } - + @Override + protected void onNewIntent (Intent intent) { + Log_OC.v(TAG, "onNewIntent() start"); + Account current = AccountUtils.getCurrentOwnCloudAccount(this); + if (current != null && mAccount != null && !mAccount.name.equals(current.name)) { + mAccount = current; + } + Log_OC.v(TAG, "onNewIntent() stop"); + } + /** * Since ownCloud {@link Account}s can be managed from the system setting menu, * the existence of the {@link Account} associated to the instance must be checked @@ -176,46 +186,54 @@ public class FileActivity extends SherlockFragmentActivity */ @Override protected void onRestart() { + Log_OC.v(TAG, "onRestart() start"); super.onRestart(); - boolean validAccount = (mAccount != null && AccountUtils.setCurrentOwnCloudAccount(getApplicationContext(), mAccount.name)); + boolean validAccount = (mAccount != null && AccountUtils.exists(mAccount, this)); if (!validAccount) { swapToDefaultAccount(); } + Log_OC.v(TAG, "onRestart() end"); } @Override protected void onStart() { + Log_OC.v(TAG, "onStart() start"); super.onStart(); if (mAccountWasSet) { onAccountSet(mAccountWasRestored); } + Log_OC.v(TAG, "onStart() end"); } @Override protected void onResume() { + Log_OC.v(TAG, "onResume() start"); super.onResume(); if (mOperationsServiceBinder != null) { doOnResumeAndBound(); } - + Log_OC.v(TAG, "onResume() end"); } @Override protected void onPause() { - + Log_OC.v(TAG, "onPause() start"); + if (mOperationsServiceBinder != null) { mOperationsServiceBinder.removeOperationListener(this); } super.onPause(); + Log_OC.v(TAG, "onPause() end"); } @Override protected void onDestroy() { + Log_OC.v(TAG, "onDestroy() start"); if (mOperationsServiceConnection != null) { unbindService(mOperationsServiceConnection); mOperationsServiceBinder = null; @@ -230,6 +248,7 @@ public class FileActivity extends SherlockFragmentActivity } super.onDestroy(); + Log_OC.v(TAG, "onDestroy() end"); } @@ -245,7 +264,8 @@ public class FileActivity extends SherlockFragmentActivity */ protected void setAccount(Account account, boolean savedAccount) { Account oldAccount = mAccount; - boolean validAccount = (account != null && AccountUtils.setCurrentOwnCloudAccount(getApplicationContext(), account.name)); + boolean validAccount = + (account != null && AccountUtils.setCurrentOwnCloudAccount(getApplicationContext(), account.name)); if (validAccount) { mAccount = account; mAccountWasSet = true; @@ -546,7 +566,9 @@ public class FileActivity extends SherlockFragmentActivity } } - private void onSynchronizeFolderOperationFinish(SynchronizeFolderOperation operation, RemoteOperationResult result) { + private void onSynchronizeFolderOperationFinish( + SynchronizeFolderOperation operation, RemoteOperationResult result + ) { if (!result.isSuccess() && result.getCode() != ResultCode.CANCELLED){ Toast t = Toast.makeText(this, ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()), Toast.LENGTH_LONG);