A simple Android App which rings an alarm when one is about to reach a destination.
A slight peek at the progress so far.
Note: The Video to GIF convertor made the GIF skip the video frames (look laggy).
- ViewBinding, LiveData, DataStore, Room, ViewModel, FragmentStateAdapter, Foreground and Bound Service, Property Animation Framework and Preference library.
- Views: Motion, Constraint, Linear and Frame Layouts,
Spinner, RecyclerView, SearchView,TabLayoutBottomNavigationView, ViewPager2, SwitchCompatand OnBoardSupportFragment. - Google Maps SDK (FusedLocationProvider API, Geofencing API)
- Timber
- TSnackbar
- Kotlin: Scope functions, Flow, Co-routines
✍️ Reflection
- Learned a gradle way to hide API key from this google codelab.
- Google Map ApiDemos repository by Google; Although some parts were obsolete, it gave me gotchas on the usage of the API alongside with
ViewGroups such asRecyclerView. XML style for makingBottomSheetDialoghave rounded corners is adapted from this SO answer.Prevented the dismissal ofBottomSheetDialogFragmentupon touching outside/pulling it down via this method.- Used a Custom ViewPager2 Transition via this answer.
ExpandingBottomSheetDialogFragmentto a custom height was done with the help of this answer- The code for finding LatLng bounds of the area of interest from this answer is used.
- The method of persisting a single instance of the repository w/o singleton pattern is based on this codelab.
- Flaticon for a few awesome icons.
Note: It will be easier to do the following via a phone.
- Install the APK.
- Allow App Installations from Unknown Sources, if requested.


