diff --git a/app/src/main/java/com/termux/app/TermuxActivity.java b/app/src/main/java/com/termux/app/TermuxActivity.java index 9d930bc8..7716af52 100644 --- a/app/src/main/java/com/termux/app/TermuxActivity.java +++ b/app/src/main/java/com/termux/app/TermuxActivity.java @@ -50,6 +50,8 @@ import com.termux.app.settings.properties.TermuxAppSharedProperties; import com.termux.shared.termux.interact.TextInputDialogUtils; import com.termux.shared.logger.Logger; import com.termux.shared.termux.TermuxUtils; +import com.termux.shared.termux.theme.TermuxThemeUtils; +import com.termux.shared.theme.NightMode; import com.termux.shared.theme.ThemeUtils; import com.termux.shared.view.ViewUtils; import com.termux.terminal.TerminalSession; @@ -408,7 +410,10 @@ public final class TermuxActivity extends Activity implements ServiceConnection private void setActivityTheme() { - if (ThemeUtils.shouldEnableDarkTheme(this, mProperties.getNightMode())) { + // Update NightMode.APP_NIGHT_MODE + TermuxThemeUtils.setAppNightMode(mProperties.getNightMode()); + + if (ThemeUtils.shouldEnableDarkTheme(this, NightMode.getAppNightMode().getName())) { this.setTheme(R.style.Theme_Termux_Black); } else { this.setTheme(R.style.Theme_Termux); @@ -416,7 +421,7 @@ public final class TermuxActivity extends Activity implements ServiceConnection } private void setDrawerTheme() { - if (ThemeUtils.shouldEnableDarkTheme(this, mProperties.getNightMode())) { + if (ThemeUtils.shouldEnableDarkTheme(this, NightMode.getAppNightMode().getName())) { findViewById(R.id.left_drawer).setBackgroundColor(ContextCompat.getColor(this, android.R.color.background_dark)); ((ImageButton) findViewById(R.id.settings_button)).setColorFilter(Color.WHITE); @@ -904,13 +909,16 @@ public final class TermuxActivity extends Activity implements ServiceConnection } private void reloadActivityStyling() { - if (mProperties!= null) { + if (mProperties != null) { mProperties.loadTermuxPropertiesFromDisk(); if (mExtraKeysView != null) { mExtraKeysView.setButtonTextAllCaps(mProperties.shouldExtraKeysTextBeAllCaps()); mExtraKeysView.reload(mProperties.getExtraKeysInfo()); } + + // Update NightMode.APP_NIGHT_MODE + TermuxThemeUtils.setAppNightMode(mProperties.getNightMode()); } setMargins(); diff --git a/app/src/main/java/com/termux/app/TermuxApplication.java b/app/src/main/java/com/termux/app/TermuxApplication.java index fbfc06ba..994168ac 100644 --- a/app/src/main/java/com/termux/app/TermuxApplication.java +++ b/app/src/main/java/com/termux/app/TermuxApplication.java @@ -7,19 +7,25 @@ import com.termux.shared.termux.TermuxConstants; import com.termux.shared.termux.crash.TermuxCrashUtils; import com.termux.shared.termux.settings.preferences.TermuxAppSharedPreferences; import com.termux.shared.logger.Logger; +import com.termux.shared.termux.theme.TermuxThemeUtils; public class TermuxApplication extends Application { public void onCreate() { super.onCreate(); + Context context = getApplicationContext(); + // Set crash handler for the app TermuxCrashUtils.setCrashHandler(this); // Set log config for the app - setLogConfig(getApplicationContext()); + setLogConfig(context); Logger.logDebug("Starting Application"); + + // Set NightMode.APP_NIGHT_MODE + TermuxThemeUtils.setAppNightMode(context); } public static void setLogConfig(Context context) { diff --git a/app/src/main/java/com/termux/app/terminal/TermuxSessionsListViewController.java b/app/src/main/java/com/termux/app/terminal/TermuxSessionsListViewController.java index 98a460e3..bf914b97 100644 --- a/app/src/main/java/com/termux/app/terminal/TermuxSessionsListViewController.java +++ b/app/src/main/java/com/termux/app/terminal/TermuxSessionsListViewController.java @@ -21,6 +21,7 @@ import androidx.core.content.ContextCompat; import com.termux.R; import com.termux.app.TermuxActivity; import com.termux.shared.termux.shell.command.runner.terminal.TermuxSession; +import com.termux.shared.theme.NightMode; import com.termux.shared.theme.ThemeUtils; import com.termux.terminal.TerminalSession; @@ -56,7 +57,7 @@ public class TermuxSessionsListViewController extends ArrayAdapter