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

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstefan-niedermann <info@niedermann.it>2020-03-16 01:53:19 +0300
committerstefan-niedermann <info@niedermann.it>2020-03-16 01:53:19 +0300
commit27899c11b5e1649ef23041130d46e99dc3c40252 (patch)
treead5fdee7854e4d01fd54a4d68649a3b9a55271c9 /app/src/main/java/it/niedermann/nextcloud/deck/ui/exception
parentba3684fa3d6ef7001795d16fe9d314458669de9a (diff)
Enhance exception handling
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/exception')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java58
1 files changed, 10 insertions, 48 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java
index f82d58e41..18712f896 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java
@@ -2,83 +2,45 @@ package it.niedermann.nextcloud.deck.ui.exception;
import android.content.ClipData;
import android.content.ClipboardManager;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
import android.os.Bundle;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
-import com.nextcloud.android.sso.helper.VersionCheckHelper;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Objects;
-
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.ActivityExceptionBinding;
+import it.niedermann.nextcloud.deck.util.ExceptionUtil;
public class ExceptionActivity extends AppCompatActivity {
-
- private ActivityExceptionBinding binding;
+ private String debugInfo;
public static final String KEY_THROWABLE = "T";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
- binding = ActivityExceptionBinding.inflate(getLayoutInflater());
+ ActivityExceptionBinding binding = ActivityExceptionBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
super.onCreate(savedInstanceState);
- binding.copy.setOnClickListener((v) -> copyStacktraceToClipboard());
- binding.close.setOnClickListener((v) -> finish());
-
Throwable throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE));
throwable.printStackTrace();
+
setSupportActionBar(binding.toolbar);
- Objects.requireNonNull(getSupportActionBar()).setTitle(R.string.error);
+ binding.toolbar.setTitle(R.string.error);
binding.message.setText(throwable.getMessage());
+ debugInfo = ExceptionUtil.getDebugInfos(this, throwable);
- String debugInfo = "";
-
- try {
- PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
- debugInfo += "App Version: " + pInfo.versionName;
- debugInfo += "\nApp Version Code: " + pInfo.versionCode;
- } catch (PackageManager.NameNotFoundException e) {
- debugInfo += "\nApp Version: " + e.getMessage();
- e.printStackTrace();
- }
+ binding.stacktrace.setText(debugInfo);
- try {
- debugInfo += "\nFiles App Version Code: " + VersionCheckHelper.getNextcloudFilesVersionCode(this);
- } catch (PackageManager.NameNotFoundException e) {
- debugInfo += "\nFiles App Version Code: " + e.getMessage();
- e.printStackTrace();
- }
-
- debugInfo += "\n\n---\n";
- debugInfo += "\nOS Version: " + System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")";
- debugInfo += "\nOS API Level: " + android.os.Build.VERSION.SDK_INT;
- debugInfo += "\nDevice: " + android.os.Build.DEVICE;
- debugInfo += "\nModel (and Product): " + android.os.Build.MODEL + " (" + android.os.Build.PRODUCT + ")";
-
- debugInfo += "\n\n---";
-
- binding.stacktrace.setText(debugInfo + "\n\n" + getStacktraceOf(throwable));
- }
-
- private String getStacktraceOf(Throwable e) {
- StringWriter sw = new StringWriter();
- e.printStackTrace(new PrintWriter(sw));
- return sw.toString();
+ binding.copy.setOnClickListener((v) -> copyStacktraceToClipboard());
+ binding.close.setOnClickListener((v) -> finish());
}
private void copyStacktraceToClipboard() {
final android.content.ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
- ClipData clipData = ClipData.newPlainText(getString(R.string.simple_exception), "```\n" + binding.stacktrace.getText() + "\n```");
+ ClipData clipData = ClipData.newPlainText(getString(R.string.simple_exception), "```\n" + debugInfo + "\n```");
clipboardManager.setPrimaryClip(clipData);
Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show();
}