diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-06-11 14:07:29 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-06-11 14:07:29 +0300 |
commit | 0ed4dd2a9058dced0641a7db98cbfc6230582722 (patch) | |
tree | 03beed6f6ad14d2fc1a403fcdf106e643cb8edc9 /app/src/main/java | |
parent | 01daeda2ab5f07f6781bfda2295760c48b3933d2 (diff) |
Add more verbose log output in case of a NextcloudFilesAppAccountNotFoundException (#1256)
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java index 517904b2..5edb0482 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java @@ -4,6 +4,7 @@ import android.accounts.NetworkErrorException; import android.animation.AnimatorInflater; import android.app.SearchManager; import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Color; import android.graphics.PorterDuff; import android.net.Uri; @@ -49,8 +50,10 @@ import com.nextcloud.android.sso.helper.SingleAccountHelper; import java.net.HttpURLConnection; import java.util.Collection; import java.util.LinkedList; +import java.util.Map; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.stream.Collectors; import it.niedermann.owncloud.notes.LockedActivity; import it.niedermann.owncloud.notes.R; @@ -173,7 +176,24 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A final Account account = mainViewModel.getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(getApplicationContext()).name); runOnUiThread(() -> mainViewModel.postCurrentAccount(account)); } catch (NextcloudFilesAppAccountNotFoundException | NoCurrentAccountSelectedException e) { - runOnUiThread(() -> ExceptionDialogFragment.newInstance(e).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName())); + // Verbose log output for https://github.com/stefan-niedermann/nextcloud-notes/issues/1256 + final Throwable exception; + if (e instanceof NextcloudFilesAppAccountNotFoundException) { + final SharedPreferences ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext()); + final StringBuilder ssoPreferencesString = new StringBuilder() + .append("Current SSO account: ").append(ssoPreferences.getString("PREF_CURRENT_ACCOUNT_STRING", null)).append("\n") + .append("\n") + .append("SSO SharedPreferences: ").append("\n"); + for (Map.Entry<String, ?> entry : ssoPreferences.getAll().entrySet()) { + ssoPreferencesString.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n"); + } + ssoPreferencesString.append("\n") + .append("Available accounts in DB: ").append(TextUtils.join(", ", mainViewModel.getAccounts().stream().map(Account::getAccountName).collect(Collectors.toList()))); + exception = new RuntimeException(((NextcloudFilesAppAccountNotFoundException) e).getMessage(), new RuntimeException(ssoPreferencesString.toString(), e)); + } else { + exception = e; + } + runOnUiThread(() -> ExceptionDialogFragment.newInstance(exception).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName())); } }); } |