Skip to content

Instantly share code, notes, and snippets.

View adavis's full-sized avatar

Annyce Davis adavis

View GitHub Profile
adavis / system_context.puml
Created November 27, 2022 20:07
A sample PlantUML file using the C4 model
@startuml Member+ Subscription
!include <C4/C4_Container>
Person(member, "Member")
System_Boundary(c1, "Member+ System") {
Container(api, "API", "Java 17, GraphQL", "Allows members to create and manage their subscriptions")
ContainerDb(db, "Database", "MySQL", "Holds plan, order and member information")
Rel(member, api, "Uses", "HTTPS")
adavis / NonOrganizerTest.kt
Last active September 17, 2021 09:32
Instrumentation tests for Jetpack Compose screen using Intents for navigation
class NonOrganizerTest {
val composeTestRule = createAndroidComposeRule<MainActivity>()
fun goToNonOrganizerFragment() {
composeTestRule.activityRule.scenario.onActivity {
adavis / product_item.xml
Created March 13, 2021 17:39
Sample Android XML layout file for a RecyclerView item
<?xml version="1.0" encoding="utf-8"?>
adavis / ChipsView.kt
Last active March 26, 2024 02:00
A function to programmatically add views to ConstraintLayout with Flow
class ChipsView<T : Parcelable>(ctx: Context, attr: AttributeSet) : ConstraintLayout(ctx, attr) {
private fun addSubviews() {
val flow = Flow(context).apply {
id = generateViewId()
adavis / commit_message_clean_up.kts
Created March 11, 2020 20:13
Removes the commit messages that reference merging pull requests from logs
// Get the passed in file, i.e. "-f some/path" or use the default file name
val file = if (args.contains("-f")) args[1 + args.indexOf("-f")]
else "commit_messages.log"
File("${file}_clean").printWriter().use { out ->
File(file).forEachLine { msg ->
if (msg.startsWith("Merge pull request").not()) {
adavis / ConfettiJobCreator.kt
Last active June 21, 2019 20:47
Snippets from Dagger and Dynamic Feature Module Support Article
class ConfettiJobCreator @Inject constructor(
private val jobs: @JvmSuppressWildcards Map<String, Provider<Job>>
) : JobCreator {
override fun create(tag: String): Job? = jobs[tag]?.get()
adavis / unique_id_widget.dart
Last active April 25, 2019 08:24
Displays a pin number pad with 6 fields
import 'dart:math' show min;
import 'package:flutter/material.dart';
class UniqueId extends StatefulWidget {
const UniqueId({Key key, this.onSubmit}) : super(key: key);
final ValueChanged<String> onSubmit;
adavis /
Last active January 2, 2024 22:55
Script for running all Flutter unit and widget tests with code coverage and then displaying the HTML report.
#!/usr/bin/env bash
red=$(tput setaf 1)
none=$(tput sgr0)
show_help() {
printf "usage: $0 [--help] [--report] [--test] [<path to package>]
Script for running all unit and widget tests with code coverage.
(run from root of repo)
adavis /
Last active March 23, 2024 19:36
Sample Pull Request template for use on GitHub


Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.

Fixed #issue

Type of Change

Please delete options that are not relevant.

adavis / PlanetDetailUi.kt
Last active December 16, 2017 14:46
Implementation of the createView method for a Sample Anko Component
override fun createView(ui: AnkoContext<PlanetDetailFragment>): View {
return with(ui) {
val container = verticalLayout {
textView {
setLineSpacing(8f, 1f)
}.lparams {
topMargin = dip(16)