From f76c20d036e88369c42958aa046a1c0345fdeca2 Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Sun, 12 Jun 2022 00:37:09 +0500 Subject: [PATCH] Added: Init `TermuxShellEnvironment` at app startup This will currently cache `TermuxAppShellEnvironment` so that its not regenerated for each shell started since it contains some slightly expensive operations. --- app/src/main/java/com/termux/app/TermuxApplication.java | 3 +++ .../shell/command/environment/TermuxShellEnvironment.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/app/src/main/java/com/termux/app/TermuxApplication.java b/app/src/main/java/com/termux/app/TermuxApplication.java index 2af2a8db..1688ab0b 100644 --- a/app/src/main/java/com/termux/app/TermuxApplication.java +++ b/app/src/main/java/com/termux/app/TermuxApplication.java @@ -60,6 +60,9 @@ public class TermuxApplication extends Application { } TermuxAmSocketServer.setupTermuxAmSocketServer(context); + + // Init TermuxShellEnvironment constants and caches after everything has been setup including termux-am-socket server + TermuxShellEnvironment.init(this); } } diff --git a/termux-shared/src/main/java/com/termux/shared/termux/shell/command/environment/TermuxShellEnvironment.java b/termux-shared/src/main/java/com/termux/shared/termux/shell/command/environment/TermuxShellEnvironment.java index dce3c534..635a4326 100644 --- a/termux-shared/src/main/java/com/termux/shared/termux/shell/command/environment/TermuxShellEnvironment.java +++ b/termux-shared/src/main/java/com/termux/shared/termux/shell/command/environment/TermuxShellEnvironment.java @@ -28,6 +28,11 @@ public class TermuxShellEnvironment extends AndroidShellEnvironment { shellCommandShellEnvironment = new TermuxShellCommandShellEnvironment(); } + /** Init {@link TermuxShellEnvironment} constants and caches. */ + public synchronized static void init(@NonNull Context currentPackageContext) { + TermuxAppShellEnvironment.setTermuxAppEnvironment(currentPackageContext); + } + /** Get shell environment for Termux. */ @NonNull @Override