Skip to content

tinted-knight/RadioAlarm04

Repository files navigation

Inprogress

Project structure and key technologies

  • Kotlin + Coroutines + Flow
  • No XML layouts (almost). Contour layout is used. There are two XML's for the only two Activities in the project. I promise to get rid of them somewhen. Aaand there are two more for ExoPlayer controls 🐱 Aaand there is one more for Notification 🐶
  • No feature-modules. Project is small so there is no need. Only three modules for "Clean-way": app (aka presentation), data and domain. And alarmtheme for ui-related components like styles, colors and drawables.
  • Project is mostly an experiment and playground for ContourLayout, Kotlin Flow and SQLDelight and there are inconsistencies in some points. Some unnecessary interfaces, some strange naming.
  • Release build configured temporarily to be signed with debug key
    • Release build works fine, just one proguard rule used to keep entities from domain module

Q&A

Q: Why project's name is RadioAlarm04?
A: Previous four fell in battle.

Q: Why no XML's? Do you hate it so much?
A: No, I do not. It's an experiment. And I consider it succesfull. ContourLayout works great, no bugs. Definitely need more convenient way to create views in code. Should check Splitties.

Contacts

Telegram

LinkedIn

Screenshots and videos

Light theme

Start screen Wake up Favorites Radio browser

Dark theme

Start screen Wake up Favorites Radio browser

Add alarm

Search in list

Copyright and thanks

Server-side API

Awesome Radio browser API(github) by Alex

Images

Libraries

Packages

No packages published

Languages