Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
361f4f7
did i forget this?
thewizrd Oct 14, 2025
42ddb8f
gradle: update dependencies
thewizrd Oct 14, 2025
7fc28fb
SimpleWear: initial Material3Expressive migration
thewizrd Oct 19, 2025
4c48bc1
SimpleWear: remove legacy ConfirmationOverlay usage
thewizrd Oct 19, 2025
5142bbb
SimpleWear: migrate DashboardConfig to compose
thewizrd Oct 19, 2025
b98e31c
FirebaseConfigurator: add support for remote config real-time updates
thewizrd Oct 19, 2025
e93e5f4
MediaPlayerListUi: update layout
thewizrd Oct 19, 2025
9cc2a22
DashboardConfigUi: add previews
thewizrd Oct 19, 2025
872388e
CallManagerUi: update in call ui
thewizrd Oct 22, 2025
e546599
utils: add bundle serializable compat extension
thewizrd Oct 22, 2025
26b1932
SimpleWear: update all icons
thewizrd Oct 25, 2025
749d1c7
MediaPlayerUi: add dynamic theming based on artwork
thewizrd Oct 25, 2025
604c377
MediaControllerService: update active session logic
thewizrd Oct 26, 2025
07bbb35
tiles: update layouts to Material 3
thewizrd Oct 26, 2025
cb7cdf1
tiles: add new Now Playing tile
thewizrd Oct 27, 2025
ad9f37c
tiles: update previews
thewizrd Oct 27, 2025
7474924
gradle: update dependencies
thewizrd Oct 27, 2025
8717e59
SimpleWear: v1.17.0-build0
thewizrd Oct 27, 2025
1dfe224
gradle: migrate to toml catalog
thewizrd Oct 29, 2025
203105d
gradle: update dependencies
thewizrd Oct 29, 2025
02d9ad6
SimpleWear: update sleep timer icon
thewizrd Oct 30, 2025
dd6b1e7
SimpleWear: M3Expressive migration pt. 3
thewizrd Nov 1, 2025
ed27ae9
SimpleWear: M3Expressive migration pt. 4
thewizrd Nov 1, 2025
6ed8f5a
SimpleWear: minor ui fixes
thewizrd Nov 8, 2025
74de471
TimedActions: add support for sleep timer action
thewizrd Nov 8, 2025
cbad83b
gradle: target sdk v36
thewizrd Nov 9, 2025
cbeafba
SimpleWear: update for DND changes in Android 15
thewizrd Nov 9, 2025
fb4b2e7
SimpleWear: bug fixes
thewizrd Nov 9, 2025
69052f3
SimpleWear: add support for NFC action
thewizrd Nov 10, 2025
55da17b
SimpleWear: update dnd action
thewizrd Nov 10, 2025
14a49d8
SimpleWear: update hotspot action
thewizrd Nov 10, 2025
2173463
SimpleWear: add spacing for navbar
thewizrd Nov 10, 2025
a9ce06b
SimpleWear: minor media ui fixes
thewizrd Nov 10, 2025
8b65f0f
SimpleWear: add battery saver action
thewizrd Nov 10, 2025
8cc1b8d
gradle: update dependencies
thewizrd Nov 10, 2025
e6a88b9
SimpleWear: add translations for French, Spanish and German
thewizrd Nov 10, 2025
0db138f
SimpleWear: v1.17.0-build1
thewizrd Nov 11, 2025
a34f5e9
SimpleWear: improve call controller
thewizrd Nov 11, 2025
852c990
SimpleWear: v1.17.0-build2
thewizrd Nov 11, 2025
a2e7844
pages: update companion app version
thewizrd Nov 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ wear/google-services.json
wearsettings/debug
wearsettings/release
releases
allowed_wearsettings_callers.xml
allowed_wearsettings_callers.xml
/ImportTranslations.bat
60 changes: 5 additions & 55 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,67 +1,17 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
ext {
compileSdkVersion = 35
minSdkVersion = 24
targetSdkVersion = 34

kotlin_version = '2.1.10'
kotlinx_version = '1.10.2'

desugar_version = '2.1.5'

firebase_version = '33.13.0'

activity_version = '1.10.1'
appcompat_version = '1.7.0'
constraintlayout_version = '2.2.1'
core_version = '1.16.0'
fragment_version = '1.8.6'
lifecycle_version = '2.9.0'
preference_version = '1.2.1'
recyclerview_version = '1.4.0'
coresplash_version = '1.0.1'
work_version = '2.10.1'
navigation_version = '2.9.0'
datastore_version = '1.1.7'

test_core_version = '1.6.1'
test_runner_version = '1.6.2'
test_rules_version = '1.6.1'
junit_version = '1.2.1'
androidx_truth_version = '1.6.0'
google_truth_version = '1.4.4'

material_version = '1.12.0'

compose_bom_version = '2025.05.00'
compose_compiler_version = '1.5.15'
wear_compose_version = '1.4.1'
wear_tiles_version = '1.4.1'
wear_watchface_version = '1.2.1'
horologist_version = '0.6.23'
accompanist_version = '0.37.3'

gson_version = '2.13.1'
timber_version = '5.0.1'

// Shizuku
shizuku_version = '13.1.5'
refine_version = '4.4.0'
}

repositories {
mavenCentral()
google()
}

dependencies {
classpath 'com.android.tools.build:gradle:8.10.0'
classpath 'com.google.gms:google-services:4.4.2'
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:$kotlin_version"
classpath libs.gradle
classpath libs.google.services
classpath libs.firebase.crashlytics.gradle
classpath libs.kotlin.gradle.plugin
classpath libs.compose.compiler.gradle.plugin
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Expand Down
1 change: 1 addition & 0 deletions common/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
43 changes: 43 additions & 0 deletions common/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

android {
namespace 'com.thewizrd.common'
compileSdk = libs.versions.compileSdkVersion.get().toInteger()

defaultConfig {
minSdkVersion libs.versions.minSdkVersion.get().toInteger()
targetSdkVersion libs.versions.targetSdkVersion.get().toInteger()

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}

buildTypes {
debug {
minifyEnabled false
}
release {
// Let the app module take care of this
minifyEnabled false
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

kotlin {
jvmToolchain(17)
}
}

dependencies {
implementation project(":shared_resources")

implementation libs.appcompat
implementation libs.core.ktx
implementation libs.core.splashscreen
implementation libs.material
}
Empty file added common/consumer-rules.pro
Empty file.
21 changes: 21 additions & 0 deletions common/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
4 changes: 4 additions & 0 deletions common/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest>

</manifest>
30 changes: 30 additions & 0 deletions common/src/main/res/drawable/preference_round_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2024 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item
android:start="16dp"
android:end="16dp"
android:top="2dp"
android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="?colorSurfaceBright" />
<corners android:radius="20dp" />
<padding android:bottom="16dp" />
</shape>
</item>
</ripple>
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2024 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item
android:start="16dp"
android:end="16dp"
android:top="2dp">
<shape android:shape="rectangle">
<solid android:color="?colorSurfaceBright" />
<corners
android:topLeftRadius="4dp"
android:bottomLeftRadius="20dp"
android:topRightRadius="4dp"
android:bottomRightRadius="20dp" />
</shape>
</item>
</ripple>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2024 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item
android:start="16dp"
android:end="16dp"
android:top="2dp">
<shape android:shape="rectangle">
<solid android:color="?colorSurfaceBright" />
<corners android:radius="4dp" />
</shape>
</item>
</ripple>
32 changes: 32 additions & 0 deletions common/src/main/res/drawable/preference_round_background_top.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2024 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item
android:start="16dp"
android:end="16dp"
android:top="2dp">
<shape android:shape="rectangle">
<solid android:color="?colorSurfaceBright" />
<corners
android:topLeftRadius="20dp"
android:bottomLeftRadius="4dp"
android:topRightRadius="20dp"
android:bottomRightRadius="4dp" />
</shape>
</item>
</ripple>
8 changes: 8 additions & 0 deletions common/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="permission_title_bt">"Bluetooth"</string>
<string name="permission_bt_enabled">"Bluetooth-Berechtigung aktiviert"</string>
<string name="permission_bt_disabled">"Bluetooth-Berechtigung deaktiviert"</string>
<string name="permission_dnd_enabled">"Bitte-nicht-stören-Zugriff aktiviert"</string>
<string name="permission_dnd_disabled">"Bitte-nicht-stören-Zugriff deaktiviert. Bitte hier klicken, um die Änderung der Bitte-nicht-stören-Einstellung von Ihrem WearOS-Gerät aus zu aktivieren."</string>
</resources>
8 changes: 8 additions & 0 deletions common/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="permission_title_bt">"Bluetooth"</string>
<string name="permission_bt_enabled">"Permiso de Bluetooth activado"</string>
<string name="permission_bt_disabled">"Permiso de Bluetooth desactivado"</string>
<string name="permission_dnd_enabled">"Acceso a No Molestar activado"</string>
<string name="permission_dnd_disabled">"Acceso a No Molestar desactivado. Por favor, haga clic para activar el cambio de la configuración de No Molestar desde su dispositivo WearOS"</string>
</resources>
8 changes: 8 additions & 0 deletions common/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="permission_title_bt">"Bluetooth"</string>
<string name="permission_bt_enabled">"Autorisation Bluetooth activée"</string>
<string name="permission_bt_disabled">"Autorisation Bluetooth désactivée"</string>
<string name="permission_dnd_enabled">"Accès Ne pas déranger activé"</string>
<string name="permission_dnd_disabled">"Accès Ne pas déranger désactivé. Veuillez cliquer pour autoriser la modification du paramètre Ne pas déranger depuis votre appareil WearOS"</string>
</resources>
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar">
<style name="AppTheme" parent="Theme.Material3Expressive.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
Expand Down Expand Up @@ -28,8 +29,6 @@
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_primaryInverse</item>

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
</resources>

</resources>
Loading