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