Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-07-02 10:08:31 +0300
committerStefan Niedermann <info@niedermann.it>2020-07-02 10:08:31 +0300
commit4f421425220c21b0c8598fc241709cebb5ea98f1 (patch)
treee93eb0641a2d17470f42cede6e46ed34f3acd695 /app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
parent32bcd2616d9b81cc96b31e58b4af31c72748671f (diff)
Display exception tips on total crash
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java60
1 files changed, 1 insertions, 59 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
index b7f0cbdc..308529c3 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
@@ -2,12 +2,7 @@ package it.niedermann.owncloud.notes.exception;
import android.app.Dialog;
import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.os.Bundle;
-import android.provider.Settings;
import android.view.View;
import androidx.annotation.NonNull;
@@ -15,23 +10,12 @@ import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatDialogFragment;
import androidx.fragment.app.DialogFragment;
-import com.nextcloud.android.sso.exceptions.NextcloudApiNotRespondingException;
-import com.nextcloud.android.sso.exceptions.NextcloudFilesAppNotSupportedException;
-import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
-import com.nextcloud.android.sso.exceptions.TokenMismatchException;
-
-import org.json.JSONException;
-
-import java.net.ConnectException;
-import java.net.SocketTimeoutException;
import java.util.ArrayList;
-import it.niedermann.owncloud.notes.BuildConfig;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.databinding.DialogExceptionBinding;
import it.niedermann.owncloud.notes.exception.tips.TipsAdapter;
-import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS;
import static it.niedermann.owncloud.notes.shared.util.ClipboardUtil.copyToClipboard;
public class ExceptionDialogFragment extends AppCompatDialogFragment {
@@ -68,49 +52,7 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment {
binding.statusMessage.setText(getString(R.string.error_sync, throwables.size() > 0 ? throwables.get(0).getLocalizedMessage() : getString(R.string.error_unknown)));
binding.stacktrace.setText(debugInfos);
- for (Throwable t : throwables) {
- if (t instanceof TokenMismatchException) {
- adapter.add(R.string.error_dialog_tip_token_mismatch_retry);
- adapter.add(R.string.error_dialog_tip_token_mismatch_clear_storage);
- Intent intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS)
- .setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID))
- .putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_deck_info);
- adapter.add(R.string.error_dialog_tip_clear_storage, intent);
- adapter.add(R.string.error_dialog_tip_clear_storage);
- } else if (t instanceof NextcloudFilesAppNotSupportedException) {
- adapter.add(R.string.error_dialog_tip_files_outdated);
- } else if (t instanceof NextcloudApiNotRespondingException) {
- if (VERSION.SDK_INT >= VERSION_CODES.M) {
- adapter.add(R.string.error_dialog_tip_disable_battery_optimizations, new Intent().setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS).putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_battery_settings));
- } else {
- adapter.add(R.string.error_dialog_tip_disable_battery_optimizations);
- }
- adapter.add(R.string.error_dialog_tip_files_force_stop);
- adapter.add(R.string.error_dialog_tip_files_delete_storage);
- } else if (t instanceof SocketTimeoutException || t instanceof ConnectException) {
- adapter.add(R.string.error_dialog_timeout_instance);
- adapter.add(R.string.error_dialog_timeout_toggle, new Intent(Settings.ACTION_WIFI_SETTINGS).putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_network));
- } else if (t instanceof JSONException || t instanceof NullPointerException) {
- adapter.add(R.string.error_dialog_check_server);
- } else if (t instanceof NextcloudHttpRequestFailedException) {
- int statusCode = ((NextcloudHttpRequestFailedException) t).getStatusCode();
- switch (statusCode) {
- case 302:
- adapter.add(R.string.error_dialog_server_app_enabled);
- adapter.add(R.string.error_dialog_redirect);
- break;
- case 500:
- adapter.add(R.string.error_dialog_check_server_logs);
- break;
- case 503:
- adapter.add(R.string.error_dialog_check_maintenance);
- break;
- case 507:
- adapter.add(R.string.error_dialog_insufficient_storage);
- break;
- }
- }
- }
+ adapter.setThrowables(throwables);
return new AlertDialog.Builder(requireActivity())
.setView(binding.getRoot())