Skip to content

Instantly share code, notes, and snippets.

View adavis's full-sized avatar

Annyce Davis adavis

View GitHub Profile
@adavis
adavis / commit_message_clean_up.kts
Created March 11, 2020 20:13
Removes the commit messages that reference merging pull requests from logs
import java.io.File
// 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()) {
out.println(msg)
@adavis
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
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
adavis / AppComponent.java
Last active March 2, 2019 15:18
Background Jobs with Android Job and Dagger
@Singleton
@Component(
modules = {
AppModule.class, JobsModule.class
}
)
public interface AppComponent
{
Application getApplication ();
@adavis
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 {
lparams(matchParent)
textView {
setLineSpacing(8f, 1f)
}.lparams {
topMargin = dip(16)
}
companion object {
const val PMD_FILE_NAME = "pmd-ruleset.xml"
const val CHECKSTYLE_FILE_NAME = "checkstyle.xml"
const val FINDBUGS_FILE_NAME = "findbugs-exclude.xml"
const val WRITE_PMD_CONFIG_FILE_TASK = "writePmdConfigFile"
const val WRITE_CHECK_STYLE_CONFIG_FILE_TASK = "writeCheckStyleConfigFile"
const val WRITE_FIND_BUGS_EXCLUSION_FILE_TASK = "writeFindBugsExclusionFile"
const val VERIFICATION_GROUP = "verification"
const val PLUGIN_EXTENSION_NAME = "qualityChecks"
}
@Reusable
public class Migration implements RealmMigration
{
private Map<Integer, Provider<VersionMigration>> versionMigrations;
@Inject
Migration (Map<Integer, Provider<VersionMigration>> versionMigrations)
{
this.versionMigrations = versionMigrations;
}
public class Migration implements RealmMigration
{
@Override
public void migrate (DynamicRealm realm, long oldVersion, long newVersion)
{
RealmSchema schema = realm.getSchema();
if ( oldVersion == 1 )
{
RealmObjectSchema recipeSchema = schema.get( "Recipe" );
@adavis
adavis / RightVideo.java
Last active January 9, 2016 17:44
Sample demonstrating using Builder Pattern for VO
package info.adavis.sample.models;
/**
* Sample Domain Object used for demonstration
*
* @author Annyce Davis
*/
public class Video {
private long id;
@adavis
adavis / WrongVideo.java
Last active January 9, 2016 17:26
Demonstrates needless data being created inside test method
package info.adavis.sample.models;
/**
* Sample Domain Object used for demonstration
*
* @author Annyce Davis
*/
public class Video {
private long id;