diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-04-27 18:45:35 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-04-27 18:45:35 +0300 |
commit | 581bfdaf092ef31bb525cf15862a059d01b244f7 (patch) | |
tree | 7314fd4c493d4428477de483566885cdf9fe7001 | |
parent | ef7e2815b0835390227e16562f8f531b198c27bd (diff) |
Fix #1014 - 🔌 Handle offline state when adding accounts1014-handle-offline-state-when-adding-accounts
3 files changed, 9 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java index e996da53..e64a370d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java @@ -104,6 +104,7 @@ public class ImportAccountActivity extends AppCompatActivity { runOnUiThread(() -> { restoreCleanState(); if (e instanceof UnknownErrorException && e.getMessage().contains("No address associated with hostname")) { + // https://github.com/stefan-niedermann/nextcloud-notes/issues/1014 binding.status.setText(R.string.you_have_to_be_connected_to_the_internet_in_order_to_add_an_account); binding.status.setVisibility(View.VISIBLE); } else { 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 da93e648..e0300be1 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 @@ -41,6 +41,7 @@ import com.nextcloud.android.sso.exceptions.AccountImportCancelledException; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException; import com.nextcloud.android.sso.exceptions.TokenMismatchException; +import com.nextcloud.android.sso.exceptions.UnknownErrorException; import com.nextcloud.android.sso.helper.SingleAccountHelper; import java.util.Collection; @@ -71,6 +72,7 @@ import it.niedermann.owncloud.notes.main.navigation.NavigationClickListener; import it.niedermann.owncloud.notes.main.navigation.NavigationItem; import it.niedermann.owncloud.notes.persistence.CapabilitiesClient; import it.niedermann.owncloud.notes.persistence.CapabilitiesWorker; +import it.niedermann.owncloud.notes.persistence.SSOClient; import it.niedermann.owncloud.notes.persistence.entity.Account; import it.niedermann.owncloud.notes.persistence.entity.Note; import it.niedermann.owncloud.notes.shared.model.Capabilities; @@ -641,6 +643,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A }).start(); })); } catch (Exception e) { + SSOClient.invalidateAPICache(ssoAccount); // Happens when importing an already existing account the second time if (e instanceof TokenMismatchException && mainViewModel.getLocalAccountByAccountName(ssoAccount.name) != null) { Log.w(TAG, "Received " + TokenMismatchException.class.getSimpleName() + " and the given ssoAccount.name (" + ssoAccount.name + ") does already exist in the database. Assume that this account has already been imported."); @@ -649,6 +652,9 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A // TODO there is already a sync in progress and results in displaying a TokenMissMatchException snackbar which conflicts with this one coordinatorLayout.post(() -> BrandedSnackbar.make(coordinatorLayout, R.string.account_already_imported, Snackbar.LENGTH_LONG).show()); }); + } else if (e instanceof UnknownErrorException && e.getMessage().contains("No address associated with hostname")) { + // https://github.com/stefan-niedermann/nextcloud-notes/issues/1014 + runOnUiThread(() -> Snackbar.make(coordinatorLayout, R.string.you_have_to_be_connected_to_the_internet_in_order_to_add_an_account, Snackbar.LENGTH_LONG).show()); } else { e.printStackTrace(); runOnUiThread(() -> { diff --git a/fastlane/metadata/android/en-US/changelogs/3004001.txt b/fastlane/metadata/android/en-US/changelogs/3004001.txt index 42471085..b1d2dee0 100644 --- a/fastlane/metadata/android/en-US/changelogs/3004001.txt +++ b/fastlane/metadata/android/en-US/changelogs/3004001.txt @@ -1,3 +1,4 @@ - ⚠️️ Display confirm dialog when deleting an account with unsynchronized changes (#989) - by @AlpAcA0072 - ➖ Allow dashes in note titles (#1104) -- 🌐 Support links in tables (#1115)
\ No newline at end of file +- 🌐 Support links in tables (#1115) +- 🔌 Handle offline state when adding accounts (#1014)
\ No newline at end of file |