Skip to content

Instantly share code, notes, and snippets.

Avatar

Tim Rijckaert timrijckaert

View GitHub Profile
View DiagonalView.java
public class DiagonalView extends ImageView {
Context mContext;
/**
* @height is the height of view
*/
int height = 0;
/**
@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 / 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>
View drawPillViewOnCanvas.kt
PillView(context).run {
bind(pillViewModel)
measure(
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
)
val bitmap = Bitmap.createBitmap(measuredWidth, measuredHeight, Bitmap.Config.ARGB_4444)
val canvas = Canvas(bitmap)
layout(0, 0, measuredWidth, measuredHeight)
draw(canvas)
View big-content-view-builder.kt
private fun createNotification(channelId: String, text: String, title: String, id: String, url: String, bigImage: Bitmap, pillImage: 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 create-big-content-view.kt
private fun createBigContentView(text: String, bigImage: Bitmap, pill: Bitmap) =
RemoteViews(context.packageName, R.layout.notification_big_content_view).apply {
setImageViewBitmap(R.id.notification_background_image, bigImage)
setImageViewBitmap(R.id.notification_pill, pill)
setTextViewText(R.id.notification_text, text)
}