projects
/
pub
/
Android
/
ownCloud.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop' into check_account_existance_in_gallery
[pub/Android/ownCloud.git]
/
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
cfada45
..
2cd28dd
100644
(file)
--- a/
src/com/owncloud/android/ui/activity/FileActivity.java
+++ b/
src/com/owncloud/android/ui/activity/FileActivity.java
@@
-60,6
+60,12
@@
public abstract class FileActivity extends SherlockFragmentActivity {
/** Flag to signal that the activity will is finishing to enforce the creation of an ownCloud {@link Account} */
private boolean mRedirectingToSetupAccount = false;
/** Flag to signal that the activity will is finishing to enforce the creation of an ownCloud {@link Account} */
private boolean mRedirectingToSetupAccount = false;
+ /** Flag to signal when the value of mAccount was set */
+ private boolean mAccountWasSet;
+
+ /** Flag to signal when the value of mAccount was restored from a saved state */
+ private boolean mAccountWasRestored;
+
/**
* Loads the cownCloud {@link Account} and main {@link OCFile} to be handled by the instance of
/**
* Loads the cownCloud {@link Account} and main {@link OCFile} to be handled by the instance of
@@
-80,9
+86,14
@@
public abstract class FileActivity extends SherlockFragmentActivity {
mFile = getIntent().getParcelableExtra(FileActivity.EXTRA_FILE);
}
mFile = getIntent().getParcelableExtra(FileActivity.EXTRA_FILE);
}
+ Account oldAccount = mAccount;
grantValidAccount();
if (mAccount != null) {
grantValidAccount();
if (mAccount != null) {
- onAccountSet(savedInstanceState != null);
+ mAccountWasSet = true;
+ mAccountWasRestored = (savedInstanceState != null && mAccount.equals(oldAccount));
+ } else {
+ mAccountWasSet = false;
+ mAccountWasRestored = false;
}
}
}
}
@@
-99,11
+110,15
@@
public abstract class FileActivity extends SherlockFragmentActivity {
Account oldAccount = mAccount;
grantValidAccount();
if (mAccount != null && !mAccount.equals(oldAccount)) {
Account oldAccount = mAccount;
grantValidAccount();
if (mAccount != null && !mAccount.equals(oldAccount)) {
- onAccountSet(false);
+ mAccountWasSet = true;
+ mAccountWasRestored = false;
+ } else {
+ mAccountWasSet = false;
+ mAccountWasRestored = false;
}
}
}
}
+
-
/**
* Validates the ownCloud {@link Account} associated to the Activity any time it is restarted.
*
/**
* Validates the ownCloud {@link Account} associated to the Activity any time it is restarted.
*
@@
-126,6
+141,16
@@
public abstract class FileActivity extends SherlockFragmentActivity {
}
}
+ @Override
+ protected void onStart() {
+ // maybe better in onPostCreate() ?
+ super.onStart();
+ if (mAccountWasSet) {
+ onAccountSet(mAccountWasRestored);
+ }
+ }
+
+
/**
* Launches the account creation activity. To use when no ownCloud account is available
*/
/**
* Launches the account creation activity. To use when no ownCloud account is available
*/
@@
-214,7
+239,7
@@
public abstract class FileActivity extends SherlockFragmentActivity {
FileActivity.this.onAccountSet(false);
}
} catch (OperationCanceledException e) {
FileActivity.this.onAccountSet(false);
}
} catch (OperationCanceledException e) {
- Log_OC.
e
(TAG, "Account creation canceled");
+ Log_OC.
d
(TAG, "Account creation canceled");
} catch (Exception e) {
Log_OC.e(TAG, "Account creation finished in exception: ", e);
} catch (Exception e) {
Log_OC.e(TAG, "Account creation finished in exception: ", e);
@@
-224,7
+249,7
@@
public abstract class FileActivity extends SherlockFragmentActivity {
Log_OC.e(TAG, "Account creation callback with null bundle");
}
if (mAccount == null) {
Log_OC.e(TAG, "Account creation callback with null bundle");
}
if (mAccount == null) {
-
finish(
);
+
moveTaskToBack(true
);
}
}
}
}