diff --git a/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java b/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java index 29c544b89c..a02d2e324d 100644 --- a/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java @@ -69,6 +69,13 @@ public abstract class BaseActivity extends AppCompatActivity implements Injectab return accountManager; } + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + Account account = accountManager.getCurrentAccount(); + setAccount(account, false); + } + @Override protected void onPostCreate(@Nullable Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); @@ -97,12 +104,6 @@ public abstract class BaseActivity extends AppCompatActivity implements Injectab } } - public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { - super.onCreate(savedInstanceState, persistentState); - Account account = accountManager.getCurrentAccount(); - setAccount(account, false); - } - @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); @@ -177,6 +178,7 @@ public abstract class BaseActivity extends AppCompatActivity implements Injectab if (newAccount == null) { /// no account available: force account creation createAccount(true); + finish(); } else { currentAccount = newAccount; } diff --git a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index 1cb4a8c185..053926f197 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -2558,8 +2558,9 @@ public class FileDisplayActivity extends FileActivity @Override public void onStart() { super.onStart(); - Optional optionalUser = getUser(); - if (optionalUser.isPresent()) { + final Optional optionalUser = getUser(); + final FileDataStorageManager storageManager = getStorageManager(); + if (optionalUser.isPresent() && storageManager != null) { /// Check whether the 'main' OCFile handled by the Activity is contained in the // current Account OCFile file = getFile(); @@ -2571,17 +2572,17 @@ public class FileDisplayActivity extends FileActivity // cache until the upload is successful get parent from path parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName())); - if (getStorageManager().getFileByPath(parentPath) == null) { + if (storageManager.getFileByPath(parentPath) == null) { file = null; // not able to know the directory where the file is uploading } } else { - file = getStorageManager().getFileByPath(file.getRemotePath()); + file = storageManager.getFileByPath(file.getRemotePath()); // currentDir = null if not in the current Account } } if (file == null) { // fall back to root folder - file = getStorageManager().getFileByPath(OCFile.ROOT_PATH); // never returns null + file = storageManager.getFileByPath(OCFile.ROOT_PATH); // never returns null } setFile(file);