Skip to content

Instantly share code, notes, and snippets.

Avatar

Tim Rijckaert timrijckaert

View GitHub Profile
@timrijckaert
timrijckaert / GravitySnapHelper.java
Created Oct 4, 2016
A snap helper that has a notion of Gravity and will snap accordingly
View GravitySnapHelper.java
package be.tim.rijckaert.snaprecyclerview;
import android.graphics.PointF;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.LinearSnapHelper;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.LayoutManager;
View DiagonalView.java
public class DiagonalView extends ImageView {
Context mContext;
/**
* @height is the height of view
*/
int height = 0;
/**
@timrijckaert
timrijckaert / AndroidManifest.xml
Last active May 2, 2020
Test rule that disables animations and softkeyboard before any test. Easy access function to control demo modus on API 23 and up devices
View AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="be.rijckaert.tim.disableanimations">
<!-- Place this permission in your debug folder -->
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE"/>
</manifest>
@timrijckaert
timrijckaert / pull-realm-from-device.sh
Created Dec 3, 2016
Pulls the default.realm file from a (rooted) device or emulator. Ideal for testing
View pull-realm-from-device.sh
#!/bin/sh
# Only works on rooted devices and emulators
packageName="${1:-be.vrt.mobile.android.deredactie.debug}"
realmNameOnDevice="${2:-default.realm}"
outputLocation="${3:-.}"
adb start-server
adb shell mkdir /sdcard/tempdata
View install-test-butler.python
APK_NAME = "test-butler-app-1.2.0.apk"
def install_test_butler(device_id):
is_emulator = device_id.startswith("emulator")
if is_emulator:
install_cmd = "adb -s %s install -r %s" % (device_id, APK_NAME)
subprocess.Popen(install_cmd, shell=True, stdout=subprocess.PIPE).stdout.read()
print "TestButler was installed on device with id: %s" % device_id
View ImmediateSchedulersRule.java
private static class ImmediateSchedulersRule implements TestRule {
@Override
public Statement apply(final Statement base, Description description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
RxJavaPlugins.setIoSchedulerHandler(scheduler ->
Schedulers.trampoline());
RxJavaPlugins.setComputationSchedulerHandler(scheduler ->
Schedulers.trampoline());
@timrijckaert
timrijckaert / image-comparator
Last active Dec 20, 2019
A simple Python script used for comparing two folders containing screenshots after an Espresso/Spoon run. One folder contains your base screenshots the other folder your newly screenshots. Use this as your last regression resort to see if Espresso overlooked something.
View image-comparator
#!/usr/bin/python
import glob
import os
import sys
from subprocess import Popen, PIPE
# Script that will compare screenshots to a set of previous screenshots
# first arg: full path to base screenshots
# second arg: full path to spoon output dir
@timrijckaert
timrijckaert / output.json
Created Dec 6, 2018
Scrapes the contents from the maven.google site in an easier to read JSON format. Open developer console and paste following code.
View output.json
[
[
{
"android.arch.core":{
"common":[
"1.0.0-alpha4",
"1.0.0-alpha5",
"1.0.0-alpha6",
"1.0.0-alpha7",
"1.0.0-alpha8",
View notificationBuilder.kt
private fun createNotification(channelId: String, text: String, title: String, id: String, url: String, bitmap: Bitmap): Notification {
return NotificationCompat.Builder(context, channelId)
.setContentTitle(title)
.setContentText(text)
.setSmallIcon(R.drawable.ic_notification)
.setContentIntent(createPendingIntent(id, url))
.setAutoCancel(true)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setSound(soundHelper.vrtNwsNotificationSound)
.setDefaults(NotificationCompat.DEFAULT_VIBRATE)
View notification_big_content_gradient_overlay
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#55000000"
android:centerColor="#33000000"
android:endColor="#AA000000"
android:type="linear"/>
</shape>