Skip to content

Instantly share code, notes, and snippets.

View thuytrinh's full-sized avatar
💭
${null}

Thuý thuytrinh

💭
${null}
  • Frankfurt, Germany
  • 21:47 (UTC +02:00)
View GitHub Profile
@vvsevolodovich
vvsevolodovich / RxUgly.kt
Last active September 15, 2018 23:07
Ugly code written with RxJava due to lack of RxJava understanding
fun connectionObserveration(context: Context): Disposable? {
if ((firstObserver == null || firstObserver!!.isDisposed) && (secondObserver == null || secondObserver!!.isDisposed())) {
secondObserver = ReactiveNetwork.observeNetworkConnectivity(context)
.subscribeOn(AndroidSchedulers.mainThread())
.filter(ConnectivityPredicate.hasState(NetworkInfo.State.CONNECTED, NetworkInfo.State.DISCONNECTED))
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ connectivity ->
if (connectivity.state == NetworkInfo.State.CONNECTED) {
firstObserver = ReactiveNetwork.observeInternetConnectivity()
.subscribeOn(AndroidSchedulers.mainThread())
@craigzour
craigzour / PairingManager.kt
Created May 10, 2018 13:54
Here is a way of implementing pairing/bonding with RxAndroidBle
package hello.world
import android.bluetooth.BluetoothDevice
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.content.BroadcastReceiver
import com.polidea.rxandroidble2.RxBleDevice
import io.reactivex.Completable
import io.reactivex.disposables.Disposables
@tyrcho
tyrcho / DemoFreeSpacingRegex.java
Created April 19, 2018 21:56
free-spacing regex demo in Java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DemoFreeSpacingRegex {
public static void main(String[] args) {
String re = "(?x)\n"
+ "# ?x is free-spacing flag to allow #comments, must be right at start of String\n"
+ "(19|20\\d\\d) # year (group 1)\n"
+ "[- /.] # separator\n"
@stkent
stkent / android-bluetooth-low-energy-resources.md
Last active February 8, 2024 16:22
Android Bluetooth Low Energy (BLE) Resources
/*:
This is an implementation of Algorithm W, as found in [Principal Types for functional programs](http://web.cs.wpi.edu/~cs4536/c12/milner-damas_principal_types.pdf).
We'll start by defining literals and expressions:
*/
enum Literal {
case string(String)
case int(Int)
@danielocampo2
danielocampo2 / MultiDistinctBy.kt
Last active January 13, 2023 21:20
multiDistinctBy function for Kotlin: Like stdlib distinctBy but for multiple fields
fun <T, K> Iterable<T>.multiDistinctBy(vararg selectors: (T) -> K): List<T> {
require(selectors.isNotEmpty())
val set = HashSet<Int>()
val distinct = ArrayList<T>()
for (element in this) {
val key = selectors.fold(0) { sum, selector ->
sum.plus(selector(element)?.hashCode() ?: 0) }
if (set.add(key))
@Gnzlt
Gnzlt / ResourceUtil.java
Created November 2, 2016 14:25
Android utils class to get a Bitmap from a VectorDrawable Resource Id (Took from http://qiita.com/konifar/items/aaff934edbf44e39b04a)
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.VectorDrawable;
import android.os.Build;
import android.support.annotation.DrawableRes;
import android.support.graphics.drawable.VectorDrawableCompat;
@TouchBoarder
TouchBoarder / MainActivity.java
Created April 9, 2016 12:15 — forked from lisawray/MainActivity.java
Vector drawables from XML with the Android support library 23.3.0
package com.xwray.vectorbinding;
import android.databinding.BindingAdapter;
import android.databinding.DataBindingUtil;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
@rossharper
rossharper / ParameterizedKotlinTest.kt
Created February 20, 2016 21:51
Parameterized JUnit4 test example in Kotlin
@RunWith(Parameterized::class)
class KotlinTest(val paramOne: Int, val paramTwo: String) {
companion object {
@JvmStatic
@Parameterized.Parameters
fun data() : Collection<Array<Any>> {
return listOf(
arrayOf(1, "I"), // First test: (paramOne = 1, paramTwo = "I")
arrayOf(1999, "MCMXCIX") // Second test: (paramOne = 1999, paramTwo = "MCMXCIX")