fix theme and hopefully a crash

This commit is contained in:
izzy2lost
2025-10-26 05:05:30 -04:00
parent c22353ebb2
commit a187c03268
9 changed files with 694 additions and 142 deletions
+15 -15
View File
@@ -3,18 +3,18 @@ plugins {
}
android {
namespace 'com.izzy2lost.psx2'
compileSdk 36
ndkVersion '28.2.13676358'
namespace = 'com.izzy2lost.psx2'
compileSdk = 36
ndkVersion = '28.2.13676358'
defaultConfig {
applicationId "com.izzy2lost.psx2"
minSdk 26
targetSdk 36
applicationId = "com.izzy2lost.psx2"
minSdk = 26
targetSdk = 36
versionCode 10
versionName "1.0.8"
// APK
setProperty("archivesBaseName","PSX2_${versionCode}_${new Date().format('yyyyMMddHHmm')}")
base.archivesName = "PSX2_${versionCode}_${new Date().format('yyyyMMddHHmm')}"
externalNativeBuild {
cmake {
@@ -36,8 +36,8 @@ android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
minifyEnabled = true
shrinkResources = true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
ndk {
debugSymbolLevel 'SYMBOL_TABLE'
@@ -46,13 +46,13 @@ android {
}
// Relax lint for test release builds
lint {
checkReleaseBuilds false
abortOnError false
checkReleaseBuilds = false
abortOnError = false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
coreLibraryDesugaringEnabled true
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
coreLibraryDesugaringEnabled = true
}
externalNativeBuild {
cmake {
@@ -66,7 +66,7 @@ android {
}
exclude 'META-INF/DEPENDENCIES'
}
buildToolsVersion '36.0.0'
buildToolsVersion = '36.0.0'
}
tasks.register('bumpVersion') {
+2 -1
View File
@@ -43,7 +43,8 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="false"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
tools:ignore="UnusedAttribute">
<meta-data android:name="android.max_aspect" android:value="2.4" />
@@ -423,19 +423,12 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Force dark mode for consistent appearance
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// Android 12+ (API 31+)
getWindow().getDecorView().getWindowInsetsController().setSystemBarsAppearance(0,
android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS |
android.view.WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS);
}
// Force dark mode using AppCompat
// FORCE dark mode always - ignore system setting
androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode(
androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES);
super.onCreate(savedInstanceState);
// Enable edge-to-edge for Android 15+ compatibility
EdgeToEdge.enable(this);
@@ -1277,14 +1270,9 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
Uri treeUri = data.getData();
if (treeUri != null) {
final int takeFlags = (data.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION));
if ((takeFlags & Intent.FLAG_GRANT_READ_URI_PERMISSION) != 0) {
if (takeFlags != 0) {
try {
getContentResolver().takePersistableUriPermission(treeUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
} catch (SecurityException ignored) {}
}
if ((takeFlags & Intent.FLAG_GRANT_WRITE_URI_PERMISSION) != 0) {
try {
getContentResolver().takePersistableUriPermission(treeUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(treeUri, takeFlags);
} catch (SecurityException ignored) {}
}
// Save folder and optionally show games
@@ -1670,12 +1658,6 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
return true;
}
// Handle back button for non-gamepad sources
if (p_keyCode == KeyEvent.KEYCODE_BACK) {
showExitDialog();
return true;
}
// Skip SDL controller manager to avoid mapping conflicts
return super.onKeyDown(p_keyCode, p_event);
}
@@ -1795,12 +1777,7 @@ public class MainActivity extends AppCompatActivity implements GamesCoverDialogF
}
}
@Override
public void onBackPressed() {
// Fallback for older Android versions
super.onBackPressed();
showExitDialog();
}
// Removed deprecated onBackPressed() - using OnBackPressedCallback instead
private void showExitDialog() {
new MaterialAlertDialogBuilder(this,
+442
View File
@@ -0,0 +1,442 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/fl_board"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Menu button in top left corner -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_settings"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="0dp"
android:insetBottom="0dp"
android:gravity="center"
android:text=""
app:icon="@drawable/menu_24px"
app:iconTint="@color/md_theme_tertiary"
app:iconGravity="textStart"
app:iconSize="24dp"
app:iconPadding="0dp"
app:rippleColor="#80cdcdcd"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_margin="12dp"/>
<!-- Pause/Play button in top right corner -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pause_play"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="0dp"
android:insetBottom="0dp"
android:gravity="center"
android:text=""
app:icon="@drawable/play_circle_24px"
app:iconTint="@color/brand_primary"
app:iconGravity="textStart"
app:iconSize="24dp"
app:iconPadding="0dp"
app:rippleColor="#80cdcdcd"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_margin="12dp"
android:visibility="gone"/>
<!-- Visibility toggle removed -->
<LinearLayout
android:id="@+id/ll_quick_actions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btn_settings">
<!-- GAMES button removed; games dialog now opens after setup wizard and from drawer -->
<!-- SAVES button removed; use drawer or Quick Actions for save states -->
</LinearLayout>
<!-- Portrait control stack: Joy above D-Pad; both above Select/Start; Right cluster above Select/Start -->
<LinearLayout
android:id="@+id/ll_pad_select_start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:visibility="visible"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_select"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="select"
android:textColor="#FFFFFFFF"
app:rippleColor="#80cdcdcd" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_start"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="start"
android:textColor="#FFFFFFFF"
app:rippleColor="#80cdcdcd" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_pad_right_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@id/ll_pad_select_start"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginBottom="8dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_l3"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="70dp"
android:layout_height="38dp"
android:layout_marginEnd="8dp"
android:text="L3"
app:rippleColor="#80cdcdcd" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_r3"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="70dp"
android:layout_height="38dp"
android:layout_marginStart="8dp"
android:text="R3"
app:rippleColor="#80cdcdcd" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_l2"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="70dp"
android:layout_height="38dp"
android:layout_marginEnd="8dp"
android:text="L2"
app:rippleColor="#80cdcdcd" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_r2"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="70dp"
android:layout_height="38dp"
android:layout_marginStart="8dp"
android:text="R2"
app:rippleColor="#80cdcdcd" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_l1"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="70dp"
android:layout_height="38dp"
android:layout_marginEnd="8dp"
android:text="L1"
app:rippleColor="#80cdcdcd" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_r1"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="70dp"
android:layout_height="38dp"
android:layout_marginStart="8dp"
android:text="R1"
app:rippleColor="#80cdcdcd" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_x"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:text=""
android:gravity="center"
app:icon="@drawable/ic_ps2_square"
app:iconTint="#FF80C0"
app:iconPadding="0dp"
app:iconSize="20dp"
app:iconGravity="textStart"
app:rippleColor="#80cdcdcd" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_y"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text=""
android:gravity="center"
app:icon="@drawable/ic_ps2_triangle"
app:iconTint="#00D000"
app:iconPadding="0dp"
app:iconSize="20dp"
app:iconGravity="textStart"
app:rippleColor="#80cdcdcd" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_a"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:text=""
android:gravity="center"
app:icon="@drawable/ic_ps2_x"
app:iconTint="#4080FF"
app:iconPadding="0dp"
app:iconSize="20dp"
app:iconGravity="textStart"
app:rippleColor="#80cdcdcd" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_b"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text=""
android:gravity="center"
app:icon="@drawable/ic_ps2_circle"
app:iconTint="#FF3030"
app:iconPadding="0dp"
app:iconSize="20dp"
app:iconGravity="textStart"
app:rippleColor="#80cdcdcd" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_pad_joy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginBottom="6dp">
<com.izzy2lost.psx2.JoystickView
android:id="@+id/joystick_view"
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_margin="2dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_pad_dpad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@id/ll_pad_joy"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="12dp"
android:layout_marginBottom="0dp">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:rowCount="3"
android:columnCount="3">
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_row="0"
android:layout_column="0" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_dir_top"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="0dp"
android:insetBottom="0dp"
android:gravity="center"
android:layout_row="0"
android:layout_column="1"
android:text=""
app:icon="@drawable/ic_arrow_up"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="18dp"
app:rippleColor="#80cdcdcd" />
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_row="0"
android:layout_column="2" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_dir_left"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="0dp"
android:insetBottom="0dp"
android:gravity="center"
android:layout_row="1"
android:layout_column="0"
android:text=""
app:icon="@drawable/ic_arrow_left"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="18dp"
app:rippleColor="#80cdcdcd" />
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_row="1"
android:layout_column="1" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_dir_right"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="0dp"
android:insetBottom="0dp"
android:gravity="center"
android:layout_row="1"
android:layout_column="2"
android:text=""
app:icon="@drawable/ic_arrow_right"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="18dp"
app:rippleColor="#80cdcdcd" />
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_row="2"
android:layout_column="0" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_pad_dir_bottom"
style="@style/PSX2.ElevatedTransparentButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="0dp"
android:insetBottom="0dp"
android:gravity="center"
android:layout_row="2"
android:layout_column="1"
android:text=""
app:icon="@drawable/ic_arrow_down"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="18dp"
app:rippleColor="#80cdcdcd" />
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_row="2"
android:layout_column="2" />
</GridLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- Left drawer (NavigationView) -->
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:itemIconTint="@color/md_theme_onSurface"
app:itemTextColor="@color/md_theme_onSurface"
app:headerLayout="@layout/drawer_header_settings" />
<!-- Right drawer (Quick Actions) -->
<include
android:id="@+id/end_drawer"
layout="@layout/drawer_right_quick_actions"
android:layout_width="280dp"
android:layout_height="match_parent"
android:layout_gravity="end" />
</androidx.drawerlayout.widget.DrawerLayout>
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/dlg_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_covers_gradient_blue"
android:orientation="vertical">
<LinearLayout
android:id="@+id/toolbar_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:gravity="center_vertical">
<ImageButton
android:id="@+id/btn_home"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@android:color/transparent"
android:contentDescription="Menu"
android:padding="4dp"
android:src="@drawable/menu_24px"
app:tint="@color/brand_primary" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:contentDescription="Search"
app:icon="@drawable/search_24px"
app:iconTint="@color/brand_primary"
app:iconGravity="textStart"
app:iconPadding="8dp"
app:iconSize="24dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_sort"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:contentDescription="Sort"
app:icon="@drawable/sort_24px"
app:iconTint="@color/brand_primary"
app:iconGravity="textStart"
app:iconPadding="8dp"
app:iconSize="24dp" />
</LinearLayout>
<!-- Letters row removed -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_covers"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:paddingTop="6dp"
android:paddingBottom="0dp"
android:clipToPadding="false" />
<!-- Hint below covers grid: yellow bulb right next to text -->
<LinearLayout
android:id="@+id/hint_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/img_hint_bulb"
android:layout_width="24dp"
android:layout_height="24dp"
android:tint="@color/covers_hint_yellow"
android:src="@drawable/lightbulb_2_24px"
android:layout_marginEnd="4dp"/>
<TextView
android:id="@+id/tv_covers_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/covers_hint_long_press"
android:textColor="@color/brand_primary"
android:textStyle="bold"
android:textSize="12sp"/>
</LinearLayout>
<!-- Download button below covers, centered with COVERS text -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_download"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="COVERS"
android:contentDescription="Download Covers"
app:icon="@drawable/download_24px"
app:iconTint="@color/brand_primary"
app:iconGravity="textStart"
app:iconPadding="20dp"
app:iconSize="34dp" />
</LinearLayout>
<!-- In-dialog navigation drawer to mirror main drawer -->
<com.google.android.material.navigation.NavigationView
android:id="@+id/dialog_nav_view"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:itemIconTint="@color/md_theme_onSurface"
app:itemTextColor="@color/md_theme_onSurface"
app:headerLayout="@layout/drawer_header_settings" />
</androidx.drawerlayout.widget.DrawerLayout>
+3 -3
View File
@@ -5,10 +5,10 @@
<color name="brand_secondary">@color/md_theme_secondary</color>
<color name="brand_outline">@color/md_theme_outline</color>
<color name="brand_accent">@color/md_theme_secondary</color>
<!-- Ripple based on primary (50% alpha) for light theme -->
<color name="brand_ripple">#800061A3</color>
<!-- Ripple based on primary (50% alpha) -->
<color name="brand_ripple">#809ECAFF</color>
<!-- Semi-transparent surface container for buttons (70% alpha) - dark theme -->
<!-- Semi-transparent surface container for buttons (70% alpha) -->
<color name="brand_surface_container_semi">#B31C2026</color>
<!-- PS2 face button colors (static) -->
+91 -90
View File
@@ -1,32 +1,33 @@
<resources>
<color name="md_theme_primary">#0061A3</color>
<color name="md_theme_onPrimary">#FFFFFF</color>
<!-- Light theme using dark theme colors for consistency -->
<color name="md_theme_primary">#9ECAFF</color>
<color name="md_theme_onPrimary">#003258</color>
<color name="md_theme_primaryContainer">#33A1FF</color>
<color name="md_theme_onPrimaryContainer">#00365E</color>
<color name="md_theme_secondary">#416184</color>
<color name="md_theme_onSecondary">#FFFFFF</color>
<color name="md_theme_secondaryContainer">#B4D4FE</color>
<color name="md_theme_onSecondaryContainer">#3C5C7F</color>
<color name="md_theme_tertiary">#883DA4</color>
<color name="md_theme_onTertiary">#FFFFFF</color>
<color name="md_theme_secondary">#A9C9F2</color>
<color name="md_theme_onSecondary">#0C3253</color>
<color name="md_theme_secondaryContainer">#2A4B6E</color>
<color name="md_theme_onSecondaryContainer">#9BBBE3</color>
<color name="md_theme_tertiary">#EEB1FF</color>
<color name="md_theme_onTertiary">#53006F</color>
<color name="md_theme_tertiaryContainer">#CD7DE8</color>
<color name="md_theme_onTertiaryContainer">#580375</color>
<color name="md_theme_error">#BA1A1A</color>
<color name="md_theme_onError">#FFFFFF</color>
<color name="md_theme_errorContainer">#FFDAD6</color>
<color name="md_theme_onErrorContainer">#93000A</color>
<color name="md_theme_background">#F8F9FF</color>
<color name="md_theme_onBackground">#181C22</color>
<color name="md_theme_surface">#F8F9FF</color>
<color name="md_theme_onSurface">#181C22</color>
<color name="md_theme_surfaceVariant">#DBE3F0</color>
<color name="md_theme_onSurfaceVariant">#404752</color>
<color name="md_theme_outline">#707883</color>
<color name="md_theme_outlineVariant">#BFC7D4</color>
<color name="md_theme_error">#FFB4AB</color>
<color name="md_theme_onError">#690005</color>
<color name="md_theme_errorContainer">#93000A</color>
<color name="md_theme_onErrorContainer">#FFDAD6</color>
<color name="md_theme_background">#0F1419</color>
<color name="md_theme_onBackground">#DFE2EA</color>
<color name="md_theme_surface">#0F1419</color>
<color name="md_theme_onSurface">#DFE2EA</color>
<color name="md_theme_surfaceVariant">#404752</color>
<color name="md_theme_onSurfaceVariant">#BFC7D4</color>
<color name="md_theme_outline">#89919E</color>
<color name="md_theme_outlineVariant">#404752</color>
<color name="md_theme_scrim">#000000</color>
<color name="md_theme_inverseSurface">#2C3137</color>
<color name="md_theme_inverseOnSurface">#EEF1F9</color>
<color name="md_theme_inversePrimary">#9ECAFF</color>
<color name="md_theme_inverseSurface">#DFE2EA</color>
<color name="md_theme_inverseOnSurface">#2C3137</color>
<color name="md_theme_inversePrimary">#0061A3</color>
<color name="md_theme_primaryFixed">#D1E4FF</color>
<color name="md_theme_onPrimaryFixed">#001D36</color>
<color name="md_theme_primaryFixedDim">#9ECAFF</color>
@@ -39,107 +40,107 @@
<color name="md_theme_onTertiaryFixed">#330045</color>
<color name="md_theme_tertiaryFixedDim">#EEB1FF</color>
<color name="md_theme_onTertiaryFixedVariant">#6E228A</color>
<color name="md_theme_surfaceDim">#D7DAE2</color>
<color name="md_theme_surfaceBright">#F8F9FF</color>
<color name="md_theme_surfaceContainerLowest">#FFFFFF</color>
<color name="md_theme_surfaceContainerLow">#F0F3FC</color>
<color name="md_theme_surfaceContainer">#EBEEF6</color>
<color name="md_theme_surfaceContainerHigh">#E5E8F0</color>
<color name="md_theme_surfaceContainerHighest">#DFE2EA</color>
<color name="md_theme_primary_mediumContrast">#003861</color>
<color name="md_theme_surfaceDim">#0F1419</color>
<color name="md_theme_surfaceBright">#353940</color>
<color name="md_theme_surfaceContainerLowest">#0A0E14</color>
<color name="md_theme_surfaceContainerLow">#181C22</color>
<color name="md_theme_surfaceContainer">#1C2026</color>
<color name="md_theme_surfaceContainerHigh">#262A30</color>
<color name="md_theme_surfaceContainerHighest">#31353B</color>
<color name="md_theme_primary_mediumContrast">#003A5F</color>
<color name="md_theme_onPrimary_mediumContrast">#FFFFFF</color>
<color name="md_theme_primaryContainer_mediumContrast">#0070BB</color>
<color name="md_theme_primaryContainer_mediumContrast">#1F76C5</color>
<color name="md_theme_onPrimaryContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_secondary_mediumContrast">#143859</color>
<color name="md_theme_secondary_mediumContrast">#384355</color>
<color name="md_theme_onSecondary_mediumContrast">#FFFFFF</color>
<color name="md_theme_secondaryContainer_mediumContrast">#506F94</color>
<color name="md_theme_secondaryContainer_mediumContrast">#6A7588</color>
<color name="md_theme_onSecondaryContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_tertiary_mediumContrast">#5B0777</color>
<color name="md_theme_tertiary_mediumContrast">#513A5B</color>
<color name="md_theme_onTertiary_mediumContrast">#FFFFFF</color>
<color name="md_theme_tertiaryContainer_mediumContrast">#994DB4</color>
<color name="md_theme_tertiaryContainer_mediumContrast">#846C8E</color>
<color name="md_theme_onTertiaryContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_error_mediumContrast">#740006</color>
<color name="md_theme_error_mediumContrast">#8C0009</color>
<color name="md_theme_onError_mediumContrast">#FFFFFF</color>
<color name="md_theme_errorContainer_mediumContrast">#CF2C27</color>
<color name="md_theme_errorContainer_mediumContrast">#DA342E</color>
<color name="md_theme_onErrorContainer_mediumContrast">#FFFFFF</color>
<color name="md_theme_background_mediumContrast">#F8F9FF</color>
<color name="md_theme_onBackground_mediumContrast">#181C22</color>
<color name="md_theme_surface_mediumContrast">#F8F9FF</color>
<color name="md_theme_onSurface_mediumContrast">#0D1117</color>
<color name="md_theme_surfaceVariant_mediumContrast">#DBE3F0</color>
<color name="md_theme_onSurfaceVariant_mediumContrast">#2F3741</color>
<color name="md_theme_outline_mediumContrast">#4B535E</color>
<color name="md_theme_outlineVariant_mediumContrast">#666E79</color>
<color name="md_theme_background_mediumContrast">#E8E8EA</color>
<color name="md_theme_onBackground_mediumContrast">#191C1E</color>
<color name="md_theme_surface_mediumContrast">#E8E8EA</color>
<color name="md_theme_onSurface_mediumContrast">#191C1E</color>
<color name="md_theme_surfaceVariant_mediumContrast">#E0E2EC</color>
<color name="md_theme_onSurfaceVariant_mediumContrast">#40434A</color>
<color name="md_theme_outline_mediumContrast">#5C5F66</color>
<color name="md_theme_outlineVariant_mediumContrast">#787A82</color>
<color name="md_theme_scrim_mediumContrast">#000000</color>
<color name="md_theme_inverseSurface_mediumContrast">#2C3137</color>
<color name="md_theme_inverseOnSurface_mediumContrast">#EEF1F9</color>
<color name="md_theme_inversePrimary_mediumContrast">#9ECAFF</color>
<color name="md_theme_primaryFixed_mediumContrast">#0070BB</color>
<color name="md_theme_inverseSurface_mediumContrast">#2E3036</color>
<color name="md_theme_inverseOnSurface_mediumContrast">#F0F0F4</color>
<color name="md_theme_inversePrimary_mediumContrast">#A6C8FF</color>
<color name="md_theme_primaryFixed_mediumContrast">#1F76C5</color>
<color name="md_theme_onPrimaryFixed_mediumContrast">#FFFFFF</color>
<color name="md_theme_primaryFixedDim_mediumContrast">#005794</color>
<color name="md_theme_primaryFixedDim_mediumContrast">#005DAB</color>
<color name="md_theme_onPrimaryFixedVariant_mediumContrast">#FFFFFF</color>
<color name="md_theme_secondaryFixed_mediumContrast">#506F94</color>
<color name="md_theme_secondaryFixed_mediumContrast">#6A7588</color>
<color name="md_theme_onSecondaryFixed_mediumContrast">#FFFFFF</color>
<color name="md_theme_secondaryFixedDim_mediumContrast">#37577A</color>
<color name="md_theme_secondaryFixedDim_mediumContrast">#515C6F</color>
<color name="md_theme_onSecondaryFixedVariant_mediumContrast">#FFFFFF</color>
<color name="md_theme_tertiaryFixed_mediumContrast">#994DB4</color>
<color name="md_theme_tertiaryFixed_mediumContrast">#846C8E</color>
<color name="md_theme_onTertiaryFixed_mediumContrast">#FFFFFF</color>
<color name="md_theme_tertiaryFixedDim_mediumContrast">#7D3299</color>
<color name="md_theme_tertiaryFixedDim_mediumContrast">#6A5474</color>
<color name="md_theme_onTertiaryFixedVariant_mediumContrast">#FFFFFF</color>
<color name="md_theme_surfaceDim_mediumContrast">#C3C6CE</color>
<color name="md_theme_surfaceBright_mediumContrast">#F8F9FF</color>
<color name="md_theme_surfaceDim_mediumContrast">#D9D9DC</color>
<color name="md_theme_surfaceBright_mediumContrast">#F9F9FC</color>
<color name="md_theme_surfaceContainerLowest_mediumContrast">#FFFFFF</color>
<color name="md_theme_surfaceContainerLow_mediumContrast">#F0F3FC</color>
<color name="md_theme_surfaceContainer_mediumContrast">#E5E8F0</color>
<color name="md_theme_surfaceContainerHigh_mediumContrast">#DADDE5</color>
<color name="md_theme_surfaceContainerHighest_mediumContrast">#CED2D9</color>
<color name="md_theme_primary_highContrast">#002E51</color>
<color name="md_theme_surfaceContainerLow_mediumContrast">#F3F3F6</color>
<color name="md_theme_surfaceContainer_mediumContrast">#EDEDF0</color>
<color name="md_theme_surfaceContainerHigh_mediumContrast">#E7E8EA</color>
<color name="md_theme_surfaceContainerHighest_mediumContrast">#E2E2E5</color>
<color name="md_theme_primary_highContrast">#00213D</color>
<color name="md_theme_onPrimary_highContrast">#FFFFFF</color>
<color name="md_theme_primaryContainer_highContrast">#004B80</color>
<color name="md_theme_primaryContainer_highContrast">#003A5F</color>
<color name="md_theme_onPrimaryContainer_highContrast">#FFFFFF</color>
<color name="md_theme_secondary_highContrast">#052E4F</color>
<color name="md_theme_secondary_highContrast">#172332</color>
<color name="md_theme_onSecondary_highContrast">#FFFFFF</color>
<color name="md_theme_secondaryContainer_highContrast">#2A4B6E</color>
<color name="md_theme_secondaryContainer_highContrast">#384355</color>
<color name="md_theme_onSecondaryContainer_highContrast">#FFFFFF</color>
<color name="md_theme_tertiary_highContrast">#4C0066</color>
<color name="md_theme_tertiary_highContrast">#2E1A39</color>
<color name="md_theme_onTertiary_highContrast">#FFFFFF</color>
<color name="md_theme_tertiaryContainer_highContrast">#70258C</color>
<color name="md_theme_tertiaryContainer_highContrast">#513A5B</color>
<color name="md_theme_onTertiaryContainer_highContrast">#FFFFFF</color>
<color name="md_theme_error_highContrast">#600004</color>
<color name="md_theme_error_highContrast">#4E0002</color>
<color name="md_theme_onError_highContrast">#FFFFFF</color>
<color name="md_theme_errorContainer_highContrast">#98000A</color>
<color name="md_theme_errorContainer_highContrast">#8C0009</color>
<color name="md_theme_onErrorContainer_highContrast">#FFFFFF</color>
<color name="md_theme_background_highContrast">#F8F9FF</color>
<color name="md_theme_onBackground_highContrast">#181C22</color>
<color name="md_theme_surface_highContrast">#F8F9FF</color>
<color name="md_theme_background_highContrast">#E8E8EA</color>
<color name="md_theme_onBackground_highContrast">#191C1E</color>
<color name="md_theme_surface_highContrast">#E8E8EA</color>
<color name="md_theme_onSurface_highContrast">#000000</color>
<color name="md_theme_surfaceVariant_highContrast">#DBE3F0</color>
<color name="md_theme_onSurfaceVariant_highContrast">#000000</color>
<color name="md_theme_outline_highContrast">#252D37</color>
<color name="md_theme_outlineVariant_highContrast">#424A55</color>
<color name="md_theme_surfaceVariant_highContrast">#E0E2EC</color>
<color name="md_theme_onSurfaceVariant_highContrast">#21242A</color>
<color name="md_theme_outline_highContrast">#40434A</color>
<color name="md_theme_outlineVariant_highContrast">#40434A</color>
<color name="md_theme_scrim_highContrast">#000000</color>
<color name="md_theme_inverseSurface_highContrast">#2C3137</color>
<color name="md_theme_inverseSurface_highContrast">#2E3036</color>
<color name="md_theme_inverseOnSurface_highContrast">#FFFFFF</color>
<color name="md_theme_inversePrimary_highContrast">#9ECAFF</color>
<color name="md_theme_primaryFixed_highContrast">#004B80</color>
<color name="md_theme_inversePrimary_highContrast">#E1ECFF</color>
<color name="md_theme_primaryFixed_highContrast">#003A5F</color>
<color name="md_theme_onPrimaryFixed_highContrast">#FFFFFF</color>
<color name="md_theme_primaryFixedDim_highContrast">#00345C</color>
<color name="md_theme_primaryFixedDim_highContrast">#002541</color>
<color name="md_theme_onPrimaryFixedVariant_highContrast">#FFFFFF</color>
<color name="md_theme_secondaryFixed_highContrast">#2A4B6E</color>
<color name="md_theme_secondaryFixed_highContrast">#384355</color>
<color name="md_theme_onSecondaryFixed_highContrast">#FFFFFF</color>
<color name="md_theme_secondaryFixedDim_highContrast">#0F3456</color>
<color name="md_theme_secondaryFixedDim_highContrast">#222C3D</color>
<color name="md_theme_onSecondaryFixedVariant_highContrast">#FFFFFF</color>
<color name="md_theme_tertiaryFixed_highContrast">#70258C</color>
<color name="md_theme_tertiaryFixed_highContrast">#513A5B</color>
<color name="md_theme_onTertiaryFixed_highContrast">#FFFFFF</color>
<color name="md_theme_tertiaryFixedDim_highContrast">#570074</color>
<color name="md_theme_tertiaryFixedDim_highContrast">#3A2444</color>
<color name="md_theme_onTertiaryFixedVariant_highContrast">#FFFFFF</color>
<color name="md_theme_surfaceDim_highContrast">#B5B9C1</color>
<color name="md_theme_surfaceBright_highContrast">#F8F9FF</color>
<color name="md_theme_surfaceDim_highContrast">#D9D9DC</color>
<color name="md_theme_surfaceBright_highContrast">#F9F9FC</color>
<color name="md_theme_surfaceContainerLowest_highContrast">#FFFFFF</color>
<color name="md_theme_surfaceContainerLow_highContrast">#EEF1F9</color>
<color name="md_theme_surfaceContainer_highContrast">#DFE2EA</color>
<color name="md_theme_surfaceContainerHigh_highContrast">#D1D4DC</color>
<color name="md_theme_surfaceContainerHighest_highContrast">#C3C6CE</color>
<color name="md_theme_surfaceContainerLow_highContrast">#F3F3F6</color>
<color name="md_theme_surfaceContainer_highContrast">#EDEDF0</color>
<color name="md_theme_surfaceContainerHigh_highContrast">#E7E8EA</color>
<color name="md_theme_surfaceContainerHighest_highContrast">#E2E2E5</color>
<color name="covers_hint_yellow">#FFEB3B</color>
<!-- Toggle button background colors -->
@@ -13,6 +13,7 @@
<item name="rippleColor">@color/brand_ripple</item>
<item name="backgroundTint">@color/brand_surface_container_semi</item>
<item name="android:textAllCaps">true</item>
<item name="strokeColor">@android:color/transparent</item>
<item name="strokeWidth">0dp</item>
</style>
+4 -4
View File
@@ -1,6 +1,9 @@
<resources>
<!-- Force dark theme for light mode - use same colors as night theme -->
<!-- Light theme using dark theme appearance -->
<style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
<item name="colorPrimary">@color/md_theme_primary</item>
<item name="colorOnPrimary">@color/md_theme_onPrimary</item>
<item name="colorPrimaryContainer">@color/md_theme_primaryContainer</item>
@@ -49,9 +52,6 @@
<item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest</item>
<!-- Default MaterialButton styles -->
<item name="materialButtonOutlinedStyle">@style/PSX2.OutlinedButton</item>
<!-- Force dark status and navigation bars -->
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
<!-- Fullscreen Material3 dialog theme with no frame and transparent window background -->