Skip to content

Commit 397359b

Browse files
Added: Add support for shared day/night theming based on night-mode termux.properties value
Also add a toolbar to the activities for later use.
1 parent 8188172 commit 397359b

File tree

7 files changed

+166
-128
lines changed

7 files changed

+166
-128
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
android:allowBackup="false"
1313
android:icon="@drawable/ic_launcher"
1414
android:label="@string/app_name"
15-
android:theme="@android:style/Theme.Material.Light.DarkActionBar"
15+
android:theme="@style/Theme.BaseActivity.DayNight.DarkActionBar"
1616
tools:ignore="GoogleAppIndexingWarning">
1717

1818
<receiver
@@ -32,7 +32,7 @@
3232
<activity
3333
android:name=".activities.TermuxWidgetMainActivity"
3434
android:exported="true"
35-
android:theme="@style/Theme.MaterialComponents.DayNight.TermuxPrimaryActivity">
35+
android:theme="@style/Theme.BaseActivity.DayNight.NoActionBar">
3636
</activity>
3737

3838
<activity-alias
@@ -48,7 +48,8 @@
4848
<activity
4949
android:name=".TermuxCreateShortcutActivity"
5050
android:exported="true"
51-
android:label="@string/title_single_shortcut_name">
51+
android:label="@string/title_single_shortcut_name"
52+
android:theme="@style/Theme.BaseActivity.DayNight.NoActionBar">
5253
<intent-filter>
5354
<action android:name="android.intent.action.CREATE_SHORTCUT" />
5455
<category android:name="android.intent.category.DEFAULT" />

app/src/main/java/com/termux/widget/TermuxCreateShortcutActivity.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.termux.widget;
22

3-
import android.app.Activity;
43
import android.app.AlertDialog;
54
import android.content.Context;
65
import android.content.pm.ShortcutManager;
@@ -11,7 +10,9 @@
1110
import android.widget.ListView;
1211

1312
import androidx.annotation.RequiresApi;
13+
import androidx.appcompat.app.AppCompatActivity;
1414

15+
import com.termux.shared.activity.media.AppCompatActivityUtils;
1516
import com.termux.shared.data.DataUtils;
1617
import com.termux.shared.logger.Logger;
1718
import com.termux.shared.termux.TermuxConstants;
@@ -21,7 +22,7 @@
2122
import java.io.File;
2223
import java.util.Arrays;
2324

24-
public class TermuxCreateShortcutActivity extends Activity {
25+
public class TermuxCreateShortcutActivity extends AppCompatActivity {
2526

2627
private ListView mListView;
2728
private File mCurrentDirectory;
@@ -32,8 +33,10 @@ public class TermuxCreateShortcutActivity extends Activity {
3233
@Override
3334
protected void onCreate(Bundle savedInstanceState) {
3435
super.onCreate(savedInstanceState);
35-
setContentView(R.layout.shortcuts_listview);
36+
setContentView(R.layout.activity_termux_create_shortcut);
3637
mListView = findViewById(R.id.list);
38+
39+
AppCompatActivityUtils.setToolbar(this, com.termux.shared.R.id.toolbar);
3740
}
3841

3942
@Override
@@ -70,7 +73,7 @@ private void updateListview(File directory) {
7073
Arrays.sort(mCurrentFiles, (f1, f2) -> f1.getName().compareTo(f2.getName()));
7174

7275
final boolean isTopDir = directory.equals(TermuxConstants.TERMUX_SHORTCUT_SCRIPTS_DIR);
73-
getActionBar().setDisplayHomeAsUpEnabled(!isTopDir);
76+
AppCompatActivityUtils.setShowBackButtonInActionBar(this, !isTopDir);
7477

7578
if (isTopDir && mCurrentFiles.length == 0) {
7679
// Create if necessary so user can more easily add.

app/src/main/java/com/termux/widget/TermuxWidgetApplication.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.termux.shared.logger.Logger;
77
import com.termux.shared.termux.crash.TermuxCrashUtils;
88
import com.termux.shared.termux.settings.preferences.TermuxWidgetAppSharedPreferences;
9+
import com.termux.shared.termux.theme.TermuxThemeUtils;
910

1011
public class TermuxWidgetApplication extends Application {
1112

@@ -19,6 +20,9 @@ public void onCreate() {
1920
setLogLevel(getApplicationContext(), true);
2021

2122
Logger.logDebug("Starting Application");
23+
24+
// Set NightMode.APP_NIGHT_MODE
25+
TermuxThemeUtils.setAppNightMode(context);
2226
}
2327

2428
public static void setLogLevel(Context context, boolean commitToFile) {

app/src/main/java/com/termux/widget/activities/TermuxWidgetMainActivity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@
1414
import androidx.annotation.RequiresApi;
1515
import androidx.appcompat.app.AppCompatActivity;
1616

17+
import com.termux.shared.activity.media.AppCompatActivityUtils;
1718
import com.termux.shared.android.PackageUtils;
1819
import com.termux.shared.errors.Error;
1920
import com.termux.shared.file.FileUtils;
2021
import com.termux.shared.logger.Logger;
2122
import com.termux.shared.markdown.MarkdownUtils;
2223
import com.termux.shared.termux.TermuxConstants;
2324
import com.termux.shared.termux.file.TermuxFileUtils;
25+
import com.termux.shared.theme.NightMode;
2426
import com.termux.widget.R;
2527
import com.termux.widget.ShortcutFile;
2628
import com.termux.widget.TermuxWidgetProvider;
@@ -51,6 +53,11 @@ protected void onCreate(Bundle savedInstanceState) {
5153

5254
setContentView(R.layout.activity_termux_widget_main);
5355

56+
AppCompatActivityUtils.setNightMode(this, NightMode.getAppNightMode().getName(), true);
57+
58+
AppCompatActivityUtils.setToolbar(this, com.termux.shared.R.id.toolbar);
59+
AppCompatActivityUtils.setToolbarTitle(this, com.termux.shared.R.id.toolbar, TermuxConstants.TERMUX_WIDGET_APP_NAME, 0);
60+
5461
TextView pluginInfo = findViewById(R.id.textview_plugin_info);
5562
pluginInfo.setText(getString(R.string.plugin_info, TermuxConstants.TERMUX_GITHUB_REPO_URL,
5663
TermuxConstants.TERMUX_WIDGET_GITHUB_REPO_URL));
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:layout_width="match_parent"
4+
android:layout_height="match_parent"
5+
android:orientation="vertical">
6+
7+
<include
8+
layout="@layout/partial_primary_toolbar"
9+
android:id="@+id/partial_primary_toolbar"/>
10+
11+
<ListView
12+
android:id="@+id/list"
13+
android:layout_height="wrap_content"
14+
android:layout_width="match_parent">
15+
</ListView>
16+
17+
</LinearLayout>

0 commit comments

Comments
 (0)