diff --git a/app/src/main/java/com/termux/app/activities/SettingsActivity.java b/app/src/main/java/com/termux/app/activities/SettingsActivity.java index 5ef65a3d..3e3c23de 100644 --- a/app/src/main/java/com/termux/app/activities/SettingsActivity.java +++ b/app/src/main/java/com/termux/app/activities/SettingsActivity.java @@ -69,19 +69,24 @@ public class SettingsActivity extends AppCompatActivity { Preference aboutPreference = findPreference("about"); if (aboutPreference != null) { aboutPreference.setOnPreferenceClickListener(preference -> { - String title = "About"; + new Thread() { + @Override + public void run() { + String title = "About"; - StringBuilder aboutString = new StringBuilder(); - aboutString.append(TermuxUtils.getAppInfoMarkdownString(context, false)); + StringBuilder aboutString = new StringBuilder(); + aboutString.append(TermuxUtils.getAppInfoMarkdownString(context, false)); - String termuxPluginAppsInfo = TermuxUtils.getTermuxPluginAppsInfoMarkdownString(context); - if (termuxPluginAppsInfo != null) - aboutString.append("\n\n").append(termuxPluginAppsInfo); + String termuxPluginAppsInfo = TermuxUtils.getTermuxPluginAppsInfoMarkdownString(context); + if (termuxPluginAppsInfo != null) + aboutString.append("\n\n").append(termuxPluginAppsInfo); - aboutString.append("\n\n").append(TermuxUtils.getDeviceInfoMarkdownString(context)); - aboutString.append("\n\n").append(TermuxUtils.getImportantLinksMarkdownString(context)); + aboutString.append("\n\n").append(TermuxUtils.getDeviceInfoMarkdownString(context)); + aboutString.append("\n\n").append(TermuxUtils.getImportantLinksMarkdownString(context)); - ReportActivity.startReportActivity(context, new ReportInfo(UserAction.ABOUT, TermuxConstants.TERMUX_APP.TERMUX_SETTINGS_ACTIVITY_NAME, title, null, aboutString.toString(), null, false)); + ReportActivity.startReportActivity(context, new ReportInfo(UserAction.ABOUT, TermuxConstants.TERMUX_APP.TERMUX_SETTINGS_ACTIVITY_NAME, title, null, aboutString.toString(), null, false)); + } + }.start(); return true; }); diff --git a/app/src/main/java/com/termux/app/terminal/TermuxTerminalViewClient.java b/app/src/main/java/com/termux/app/terminal/TermuxTerminalViewClient.java index 8b2a3f94..7700cc62 100644 --- a/app/src/main/java/com/termux/app/terminal/TermuxTerminalViewClient.java +++ b/app/src/main/java/com/termux/app/terminal/TermuxTerminalViewClient.java @@ -494,26 +494,34 @@ public class TermuxTerminalViewClient extends TermuxTerminalViewClientBase { TerminalSession session = mActivity.getCurrentSession(); if (session == null) return; - String transcriptText = ShellUtils.getTerminalSessionTranscriptText(session, false, true); + final String transcriptText = ShellUtils.getTerminalSessionTranscriptText(session, false, true); if (transcriptText == null) return; - transcriptText = DataUtils.getTruncatedCommandOutput(transcriptText, DataUtils.TRANSACTION_SIZE_LIMIT_IN_BYTES, false, true, false).trim(); + Logger.showToast(mActivity, mActivity.getString(R.string.msg_generating_report), true); - StringBuilder reportString = new StringBuilder(); + new Thread() { + @Override + public void run() { - String title = TermuxConstants.TERMUX_APP_NAME + " Report Issue"; + String transcriptTextTruncated = DataUtils.getTruncatedCommandOutput(transcriptText, DataUtils.TRANSACTION_SIZE_LIMIT_IN_BYTES, false, true, false).trim(); - reportString.append("## Transcript\n"); - reportString.append("\n").append(MarkdownUtils.getMarkdownCodeForString(transcriptText, true)); + StringBuilder reportString = new StringBuilder(); - reportString.append("\n\n").append(TermuxUtils.getAppInfoMarkdownString(mActivity, true)); - reportString.append("\n\n").append(TermuxUtils.getDeviceInfoMarkdownString(mActivity)); + String title = TermuxConstants.TERMUX_APP_NAME + " Report Issue"; - String termuxAptInfo = TermuxUtils.geAPTInfoMarkdownString(mActivity); - if (termuxAptInfo != null) - reportString.append("\n\n").append(termuxAptInfo); + reportString.append("## Transcript\n"); + reportString.append("\n").append(MarkdownUtils.getMarkdownCodeForString(transcriptTextTruncated, true)); - ReportActivity.startReportActivity(mActivity, new ReportInfo(UserAction.REPORT_ISSUE_FROM_TRANSCRIPT, TermuxConstants.TERMUX_APP.TERMUX_ACTIVITY_NAME, title, null, reportString.toString(), "\n\n" + TermuxUtils.getReportIssueMarkdownString(mActivity), false)); + reportString.append("\n\n").append(TermuxUtils.getAppInfoMarkdownString(mActivity, true)); + reportString.append("\n\n").append(TermuxUtils.getDeviceInfoMarkdownString(mActivity)); + + String termuxAptInfo = TermuxUtils.geAPTInfoMarkdownString(mActivity); + if (termuxAptInfo != null) + reportString.append("\n\n").append(termuxAptInfo); + + ReportActivity.startReportActivity(mActivity, new ReportInfo(UserAction.REPORT_ISSUE_FROM_TRANSCRIPT, TermuxConstants.TERMUX_APP.TERMUX_ACTIVITY_NAME, title, null, reportString.toString(), "\n\n" + TermuxUtils.getReportIssueMarkdownString(mActivity), false)); + } + }.start(); } public void doPaste() { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fe0851c9..ca4cb766 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -66,7 +66,7 @@ Autofill password Reset - Terminal reset. + Terminal reset Kill process (%d) Really kill this session? @@ -75,7 +75,9 @@ Keep screen on Help Settings + Report Issue + Generating Report The &TERMUX_STYLING_APP_NAME; Plugin App is not installed. Install