From b2b1afc71bbb6ee52400b809d507735aaf5ac829 Mon Sep 17 00:00:00 2001 From: cvirostek Date: Wed, 25 Jul 2018 21:54:08 -0700 Subject: [PATCH] Fix scenario causing termux-dialog to hang If termux-dialog is called while Termux already has a dialog open, the new dialog fails to open and the command will hang until it is manually terminated. This fix allows multiple dialogs to be open at once, ensuring that termux-dialog will not hang. --- app/src/main/java/com/termux/api/DialogActivity.java | 11 +---------- .../main/java/com/termux/api/TermuxApiReceiver.java | 2 +- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/termux/api/DialogActivity.java b/app/src/main/java/com/termux/api/DialogActivity.java index 90919791c..c10f5a4b6 100644 --- a/app/src/main/java/com/termux/api/DialogActivity.java +++ b/app/src/main/java/com/termux/api/DialogActivity.java @@ -54,7 +54,7 @@ */ public class DialogActivity extends AppCompatActivity { - static boolean resultReturned = false; + private boolean resultReturned = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -81,15 +81,6 @@ protected void onNewIntent(Intent intent) { setIntent(intent); } - @Override - protected void onPause() { - super.onPause(); - - if (!resultReturned) { - postResult(this, null); - } - } - @Override protected void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/termux/api/TermuxApiReceiver.java b/app/src/main/java/com/termux/api/TermuxApiReceiver.java index 9f3469f4f..b7ba74d96 100644 --- a/app/src/main/java/com/termux/api/TermuxApiReceiver.java +++ b/app/src/main/java/com/termux/api/TermuxApiReceiver.java @@ -64,7 +64,7 @@ public void onReceive(Context context, Intent intent) { } break; case "Dialog": - context.startActivity(new Intent(context, DialogActivity.class).putExtras(intent.getExtras()).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + context.startActivity(new Intent(context, DialogActivity.class).putExtras(intent.getExtras()).addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK)); break; case "Download": DownloadAPI.onReceive(this, context, intent);