This project contains watchfaces written with both legacy jetpack libraries and newer WatchFaceFormat.
- use good practises for android libraries - https://developer.android.com/studio/projects/android-library
- allow overriding style defaults per watchface (for example when customization is disabled)
- make all ic_launcher resources specify
adaptiveicon - make jimball play Funkytown (maybe even configurable: never, on_touch, always)
- add jimball gif sources (pixelorama project) and figure out how to manage original sources for WFF based watchfaces
- add nav controller to
EditorActivityand make every feature it's separate screen with the main HorizontalPager only highlighting the configured feature - fix hands rotation
- don't draw seconds hand in ambient
- enable minification where possible
- separate jetpack and wff based projects by package name
- figure out something with
android.service.wallpaper.square_modemetadata - figure out how to share resources between jetpack and wff
- backgrounds should get watch state to be able to react to ambient changes, maybe zonedTimeDate too, context?
- maybe don't require overriding all methods in
WatchFaceRenderer? (but we could log it) - add docs to watchfaces
- add missing readmes
- add images
- standardize format
- convert BackgroundMusicPlayer to proper feature module
- allow features to implement multiple (e.g. background can be a background and a taplistener)
- make drawing from WatchFaceRendererImpl WatchFaceLayer aware
- unify Analog and Digital WatchFaceService-s and RendererAdapter-s
- maybe :jetpack:watchface:base should depend on :jetpack:feature:background?
- features should be able to opt out of being user-configurable
- make :jetpack:watchfaces:snake use new Grid2d class
- redo previews
- move :feature:base and :feature:complications related code to ...watchfaces package in base instead of ...watchfaces.base (utils package maybe too?)
- maybe :feature:editor should be added automatically if watchface has editable features?
- update preview in editor if complications change (or anything else happens)
- introduce InteractiveFeature interface for TapListener
- introduce ConfigurableFeature interface for feature configuration
- though how would that work for background?
- handle ambient state in DrawableFeatures
- features override
getStyleSettingstwo times - can we change this? - merge WatchFaceFeature and FeatureFactory once more
- check if complications could be further simplified
- maybe don't hardcode font size but use
drawTextFillBounds - clean up HandStyle drawing code
- add color styles (and make them available for features too)
- companion app (full watchface) previews don't work (at least when changing hands)
- don't include hands feature by default since we might want to customize available hands
- static color background options show up as Color background in the editor (maybe allow naming?)
- figure out what :feature:rendering is supposed to be (it's here to prevent a circular dependency issues in some modules)
- setup koin annotations. In module
build.gradle.ktsadd:plugins { /* ... */ alias(libs.plugins.ksp) } ksp { arg("KOIN_CONFIG_CHECK", "true") } dependencies { api(libs.koin.annotations) ksp(libs.koin.ksp.compiler) } - handle colors better, allow for manually setting hands and complication colors, deriving from main when not set
- consider removing empty proguard files from modules
- maybe refactor :background to be :overlay (or based on it)?
- create :jetpack:shared and move :jetpack:feature:rendering there