Skip to content
Permalink
Browse files

Fix problem with sharing large terminal transcript

Fixes #1166.
  • Loading branch information...
fornwall committed Jul 14, 2019
1 parent 9298082 commit 445da0c4eaf1c699b10c5963f95440df6c8abdce
Showing with 12 additions and 1 deletion.
  1. +12 −1 app/src/main/java/com/termux/app/TermuxActivity.java
@@ -722,7 +722,18 @@ public boolean onContextItemSelected(MenuItem item) {
if (session != null) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, session.getEmulator().getScreen().getTranscriptText().trim());
String transcriptText = session.getEmulator().getScreen().getTranscriptText().trim();
// See https://github.com/termux/termux-app/issues/1166.
final int MAX_LENGTH = 100_000;
if (transcriptText.length() > MAX_LENGTH) {
int cutOffIndex = transcriptText.length() - MAX_LENGTH;
int nextNewlineIndex = transcriptText.indexOf('\n', cutOffIndex);
if (nextNewlineIndex != -1 && nextNewlineIndex != transcriptText.length() - 1) {
cutOffIndex = nextNewlineIndex + 1;
}
transcriptText = transcriptText.substring(cutOffIndex).trim();
}
intent.putExtra(Intent.EXTRA_TEXT, transcriptText);
intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_transcript_title));
startActivity(Intent.createChooser(intent, getString(R.string.share_transcript_chooser_title)));
}

0 comments on commit 445da0c

Please sign in to comment.
You can’t perform that action at this time.