Skip to content

Instantly share code, notes, and snippets.

@kingargyle
kingargyle / SelfReturningAnswer.java
Created February 1, 2017 15:15
Self Returning Answer for Mockito
public class SelfReturningAnswer implements Answer<Object> {
public Object answer(InvocationOnMock invocation) throws Throwable {
Object mock = invocation.getMock();
if( invocation.getMethod().getReturnType().isInstance( mock )){
return mock;
}
else{
return RETURNS_DEFAULTS.get().answer(invocation);
}
@kingargyle
kingargyle / End GCode
Last active February 9, 2024 10:35
Prusa Slicer Anycubic Kobra Neo
M117 Cooling down...
M104 S0 ; turn off extruder
M107 ; Fan off
M140 S0; Turn bed off
M84 ; disable motors
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 ;X-20 Y-20 F240 ;move Z up a bit and retract filament even more
G28 X0 ;move X to min endstops, so the head is out of the way
G90 ;Absolute positionning
@kingargyle
kingargyle / LeanbackUtil.java
Created August 10, 2014 19:14
Check to see if an Android device supports the Leanback system feature
public class LeanbackUtil {
/**
* Returns true if the Leanback System feature is available otherwise false
*
* Can be used to help determine if running on an android tv device with the leanback launcher.
*/
public static boolean isLeanbackSupported(Context context) {
final PackageManager pm = context.getPackageManager();
return pm.hasSystemFeature("android.software.leanback");
}
@kingargyle
kingargyle / disable-kvm.sh
Created June 11, 2013 15:00
A set of shell scripts that allow toggling between KVM and Virtualbox. Useful when you need to use the Android emulator but also need to use Virtual Box on Linux as well.
#!/bin/bash
sudo /sbin/rmmod kvm_intel
sudo /sbin/rmmod kvm
sudo /etc/init.d/vboxdrv start
@kingargyle
kingargyle / SchoolViewHolder.java
Last active June 1, 2022 12:52
Example of Unit Testing classes with Hilt @EntryPoints
public class SchoolViewHolder extends RecyclerView.ViewHolder {
private ItemSchoolBinding binding;
// @VisibleForTesting
// protected EventBus eventBus = EventBus.getDefault();
private EventBus eventBus;
public SchoolViewHolder(@NonNull View itemView) {
@kingargyle
kingargyle / CoroutinesRule.kt
Created July 31, 2020 19:27
A JUnit 4 test rule for working with testing coroutines.
package com.abercrombie.testing.ui.rules
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestCoroutineDispatcher
import kotlinx.coroutines.test.TestCoroutineScope
import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.runBlockingTest
import kotlinx.coroutines.test.setMain
import org.junit.rules.TestRule
@kingargyle
kingargyle / spotless.gradle
Created May 16, 2020 23:53
Configure XML formatting for Android Layout files
subprojects {
apply plugin: "com.diffplug.gradle.spotless"
spotless {
format 'xml', {
target '**/layout*/*.xml'
indentWithSpaces(2)
eclipseWtp('xml').configFile rootProject.file('spotless.xml.prefs')
}
}
@kingargyle
kingargyle / gist:460bd53b5c6096fc43866020a9bde4d9
Created October 12, 2019 01:29
Capture Image from HLS stream using FFMPeg
ffmpeg -loglevel 99 -i "https://webcamstream.multivista.com/live/amlst:dal_59169_1.stream/chunklist_w95623917_b300000.m3u8" -ss 00:00:14.435 -vframes 1 -strftime 1 "%Y-%m-%d_%H-%M-%S_crew_stadium.png"
@kingargyle
kingargyle / multifilepicker.java
Created October 19, 2015 18:15
Android 4.4+ Select Multiple Files with UI File Picker
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
// In code that handles the result returned to process the files:
ClipData clipData = intent.getClipData();
@kingargyle
kingargyle / commit-msg
Created April 19, 2019 14:10 — forked from williamdenton/commit-msg
Git hooks
#!/bin/sh
commit_regex='^(PP-[0-9]+|fixup!)'
error_msg="Aborting commit. Your commit message is missing a JIRA ticket ('PP-1234')"
if ! grep -iqE "$commit_regex" "$1";
then
echo "$error_msg" >&2
exit 1