From 37aaa8513b827a720043db8083f00763f96f92b2 Mon Sep 17 00:00:00 2001
From: tehcneko <88844448+tehcneko@users.noreply.github.com>
Date: Sat, 11 Sep 2021 15:15:32 +0800
Subject: [PATCH] [app] Add send in crash activity (#1100)
---
.../ui/activity/CrashReportActivity.java | 16 ++-
.../ui/activity/base/BaseActivity.java | 8 --
.../main/res/drawable/ic_round_send_24.xml | 30 +++++
.../main/res/layout/activity_crash_report.xml | 121 +++++++++++-------
app/src/main/res/values/strings.xml | 5 +-
5 files changed, 120 insertions(+), 60 deletions(-)
create mode 100644 app/src/main/res/drawable/ic_round_send_24.xml
diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/CrashReportActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/CrashReportActivity.java
index b9907b8d..0caa5f72 100644
--- a/app/src/main/java/org/lsposed/manager/ui/activity/CrashReportActivity.java
+++ b/app/src/main/java/org/lsposed/manager/ui/activity/CrashReportActivity.java
@@ -25,16 +25,16 @@ import android.content.ClipboardManager;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
-import com.google.android.material.snackbar.Snackbar;
-
import org.lsposed.manager.BuildConfig;
import org.lsposed.manager.R;
import org.lsposed.manager.databinding.ActivityCrashReportBinding;
+import org.lsposed.manager.util.NavUtil;
import java.time.LocalDateTime;
@@ -46,14 +46,22 @@ public class CrashReportActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
binding = ActivityCrashReportBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- binding.copyLogs.setOnClickListener(v -> {
+ binding.sendLogs.setOnClickListener(view -> {
+ Intent sendIntent = new Intent();
+ sendIntent.setAction(Intent.ACTION_SEND);
+ sendIntent.putExtra(Intent.EXTRA_TEXT, getAllErrorDetailsFromIntent(getIntent()));
+ sendIntent.setType("text/plain");
+ startActivity(Intent.createChooser(sendIntent, null));
+ });
+ binding.reportIssue.setOnClickListener(view -> {
var clipboard = getSystemService(ClipboardManager.class);
//Are there any devices without clipboard...?
if (clipboard != null) {
ClipData clip = ClipData.newPlainText("LSPManagerCrashInfo", getAllErrorDetailsFromIntent(getIntent()));
clipboard.setPrimaryClip(clip);
- Snackbar.make(binding.snackbar, R.string.copy_toast_msg, Snackbar.LENGTH_SHORT).show();
+ Toast.makeText(this, R.string.crash_info_copied, Toast.LENGTH_LONG).show();
}
+ NavUtil.startURL(this, "https://github.com/LSPosed/LSPosed/issues");
});
}
diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java
index 0bf428be..a9c8b658 100644
--- a/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java
+++ b/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java
@@ -20,7 +20,6 @@
package org.lsposed.manager.ui.activity.base;
-import android.content.SharedPreferences;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Build;
@@ -31,7 +30,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
-import org.lsposed.manager.App;
import org.lsposed.manager.BuildConfig;
import org.lsposed.manager.ConfigManager;
import org.lsposed.manager.R;
@@ -43,12 +41,6 @@ import rikka.material.app.MaterialActivity;
public class BaseActivity extends MaterialActivity {
- protected static SharedPreferences preferences;
-
- static {
- preferences = App.getPreferences();
- }
-
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/app/src/main/res/drawable/ic_round_send_24.xml b/app/src/main/res/drawable/ic_round_send_24.xml
new file mode 100644
index 00000000..fe861f36
--- /dev/null
+++ b/app/src/main/res/drawable/ic_round_send_24.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_crash_report.xml b/app/src/main/res/layout/activity_crash_report.xml
index cf15a962..f6c41d00 100644
--- a/app/src/main/res/layout/activity_crash_report.xml
+++ b/app/src/main/res/layout/activity_crash_report.xml
@@ -18,67 +18,96 @@
~ Copyright (C) 2021 LSPosed Contributors
-->
-
-
+ android:minHeight="148dp"
+ android:outlineAmbientShadowColor="@color/home_secondary_outline_ambient_shadow_color"
+ android:outlineSpotShadowColor="@color/home_secondary_outline_spot_shadow_color"
+ app:cardCornerRadius="8dp"
+ app:cardElevation="@dimen/home_secondary_elevation">
-
+ android:orientation="vertical">
-
+
+
+
+
+
+
+
+
+
+
+
+
+ android:padding="8dp"
+ android:orientation="vertical">
-
-
-
+ android:layout_marginEnd="8dp"
+ android:minWidth="0dp"
+ android:text="@string/send_crash_info"
+ app:icon="@drawable/ic_round_send_24" />
-
+
-
+
-
-
+
-
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 29f4c211..41eebe18 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -190,6 +190,7 @@
LSPosed app is newer than framework. Please update LSPosed framework.
LSPosed framework is newer than app. Please update the app from /data/adb/lspd/manager.apk manually.
Manager crashed
- Copy crash info
- Copied
+ report this to
+ Send crash info
+ Crash info copied to clipboard