Skip to content

A small sample app for saving voice recordings to the cloud. ViewModel + LiveData + Firebase cloud storage + unidirectional data flow etc.

Notifications You must be signed in to change notification settings

mattlogan/push-to-talk-android

Repository files navigation

Most of the code here lives in the sendmessage feature module. You'll also see an audio module for capturing audio, an upload module for uploading files to Google Cloud Storage via Firebase Storage, a uicommon module for strings and colors and such, and of course the root app module.

I included a couple unit tests in /sendmessage/src/test to cover the mapping of user inputs to UI status updates by way of the audio recorder and upload client.

This project uses ViewModel and LiveData from Android Architecture Components, Dagger 2 for dependency injection, RxJava + RxRelay for setting up reactive streams, the Firebase Storage library for uploading audio files, and of course... Kotlin! It also uses the new AndroidX support library packages.

The UI architecture is pretty close to MVI (model-view-intent) as described here and here.

About

A small sample app for saving voice recordings to the cloud. ViewModel + LiveData + Firebase cloud storage + unidirectional data flow etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published