Skip to content

Latest commit

 

History

History
611 lines (415 loc) · 21.1 KB

StreamHistory.md

File metadata and controls

611 lines (415 loc) · 21.1 KB

Stream History

This page is a recording of all Twitch streams related to the TOA project. Here are a few helpful sections for categorizing streams, or you can scroll down to see the chronological list.

Streams By Date

The following is a record of all TOA streams in chronological order.

Hot Topics

The following streams focus on specific hot topics in development, not just a feature.

Developer Experience Streams

The following streams touch on topics related to developer experience.

Login Screen

The following streams include work on our login screen.

Task List Screen

The following streams include work on our task list screen.

Add Task Screen

The following streams include work related to the add task screen.

Stream One - Project Creation

In the very first stream, we discussed the purpose of this project, created a repo, and added a number of GitHub issues.

Date: September 1, 2021

YouTube: https://youtu.be/8Umvlpx-Wvg

Blog: https://androidessence.com/toa-twitch-series

PRs: N/A

Stream Two - Developer Experience

In this stream, we discuss a number of ways to help dev experience in Android like CI tooling and static analysis.

Date: September 8, 2021

YouTube: https://youtu.be/ePpbpLyYI1w

Blog: https://androidessence.com/essential-dev-experience-concepts-android

PRs:

Stream Three - Design System

In this stream, we setup a design system for the application. We intended to add the app logo, but due to classic Android Studio issues we pivoted to also including the login UI.

PRs:

Date: September 22, 2021

YouTube:

Stream Four - Login Implementation

In this stream, we design the app architecture and build out the necessary components to power our login screen.

Date: September 29, 2021

PRs:

Notes:

YouTube:

Stream Five - Login Implementation Continued

In this stream, we continue working on our login screen implementation.

Date: October 6, 2021

Notes:

PRs:

YouTube: https://youtu.be/mCQfK3J5K5w

Stream Six - Dependency Injection Setup

In this stream, we implement the Hilt library and setup dependency injection for the login screen. We also took that implementation and used it to display the LoginScreen when our MainActivity starts up. At the end of all this, we tinker with the login UI and fix some weirdness around inputs.

Date: October 13, 2021

Notes:

PRs:

YouTube:

Stream Seven - Documentation

In this stream, we document the application architecture to help onboard newcomers to the project.

After documentation we moved into more tinkering and features. We also began the process of building out the home screen.

Date: October 20, 2021

PRs:

YouTube: https://youtu.be/R_so92qDZ8g

Stream Eight - Pixel 6 / Material 3

In this stream, we unboxed the new Pixel 6 Pro and added Material 3 to the application.

Date: October 28, 2021

YouTube: https://youtu.be/JGbI32wPR6k

PRs:

Stream Nine - Dev Experience

In this stream, we refactored how dependency versions are managed, and added a plugin to help us identify out of date dependencies.

We also added the Kover plugin for generating test coverage.

YouTube:

PRs:

Notes:

Stream Ten - Task List UI

In this stream, we finished porting over the task list to Material 3. We also finalized some more view states of the task list screen.

PRs:

YouTube: https://youtu.be/dY_divcBViI

Stream Eleven - Navigation

In this stream, we added the Compose Destinations library and setup navigation between the login screen and the task list screen. We also looked at adding some unit tests.

PRs:

Notes:

YouTube: https://youtu.be/Ag00oxuNCf8

Stream Twelve - Task Management

In this stream, we started working on the task management logic and UI.

PRs:

Notes:

YouTube:

Stream Thirteen - Add Task Support

In this stream, we added support for adding a task and seeing it return on the home screen.

PRs:

YouTube: https://youtu.be/729JQOr8uX8

Stream Fourteen - Persistent Storage

We look at the Room library for persisting data on Android.

PRs:

YouTube:

Stream Fifteen - Add Task Input validation

In this stream we added input validation to the add task screen so that we can't enter a task without a description or valid date.

PRs:

YouTube: https://youtu.be/n_NEt1go_xY

Stream Sixteen - Tasks By Date

In this stream, we modified our task list screen to pull tasks for a specific date, and implemented button click listeners so the user can navigate forward and backward through dates.

PRs:

YouTube:

Stream Seventeen - Marking Tasks As Complete

In this stream, we added more functionality to our task list screen allowing the user to mark tasks as completed.

PRs:

YouTube: https://youtu.be/sGjcE4JQ-cc

Stream Eighteen - Adding Code Coverage

In this stream, we added JaCoCo for recording code coverage and also sending it to Coveralls.

PRs:

YouTube: https://youtu.be/s26bSXp2Tx4

Stream Nineteen - Task List Empty States

In this stream, we added empty states to our task list screen that show when the user has no incomplete tasks, no completed tasks, or no scheduled tasks at all.

PRs:

YouTube: https://youtu.be/A0GgXIh8Kk8

Stream Twenty - Multi Module App Structure

In this stream, we began splitting the app into multiple modules that are KMM supported as well.

Resources:

Modularization posts:

KMM Process:

PRs:

YouTube:

Stream Twenty One - Misc Development

In this stream, we accomplished a few misc development tasks for the app.

PRs:

YouTube: https://youtu.be/e00U251gmyU

Stream Twenty Two - Adaptive Layouts

In this stream, we looked adaptive layouts in Jetpack Compose and updated some screens accordingly.

Resources:

PRs:

YouTube: https://youtu.be/Spp9RRm3hIQ

Stream Twenty Three - Misc Feature Development

PRs:

YouTube: https://youtu.be/jTGz4Rp-9fQ

Stream Twenty Four - Small Feature Development

PRs:

YouTube:

Stream Twenty Five - Rescheduling Tasks

PRs:

YouTube:

Stream Twenty Six - Undo Rescheduling Tasks

PRs:

YouTube: https://youtu.be/HWpBt7UNysY

Stream Twenty Seven - Architecture Refactor

PRs:

  • Architecture docs:

YouTube:

  • Coming Soon

Stream Twenty Eight - Splash Screen API

In this stream we hooked into the Splash Screen API to have the Android 12 splash screen stay visible until we had the logged in state information.

PRs:

  • Splash Screen:
  • Observing logged in state (sort of):

YouTube:

  • Coming Soon.

Resources:

Stream Twenty Nine - Preferred Tasks Per Day

PRs:

YouTube:

  • Coming Soon.

Stream Thirty - Maestro

Looked at Maestro UI testing framework.

// Adam to add more.

Stream Thirty One - Compose Material 3 Date Picker

Added a date picker dialog from the latest compose material 3 alpha.

Resources:

PRs:

YouTube:

Stream Thirty Two - Compose Material 3 Toolbar, UI Tweaks, Data Layer Updates

Updated the toolbar of the app to use a Material 3 CenterAlignedTopAppBar. We also updated the task list UI for the main screen.

PRs:

YouTube:

Stream Thirty Three - Fixing Race Conditions

Fixed a race condition that happened when trying to mark multiple tasks as completed.

PRs:

YouTube:

  • Coming Soon

Stream Thirty Four - MainActivity UI Tests

Added UI tests to validate which screen is shown when the user is logged in or not.

PRs:

YouTube:

  • Coming Soon

Stream Thirty Five - User Settings

In this stream, we built out the stub for the settings screen, allowing the user to specify a number of tasks per day to complete.

PRs:

YouTube:

  • Coming Soon

Stream Thirty Six - User Settings Continued

In this stream, we implemented the settings screen UI and data layer for modifying those preferences.

PRs:

YouTube:

  • Coming Soon

Stream Thirty Seven - Adaptive Navigation Types

In this stream, we implemented the material 3 window size class dependency & changed our navigation type based on screen width.

PRs:

YouTube:

  • Coming Soon

Stream Thirty Eight - Migrating To Gradle Version Catalogs

In this stream, we modified the dependency management to use gradle version catalogs.

PRs:

YouTube:

  • Coming Soon