This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:convert'; | |
import 'package:deep_pick/deep_pick.dart'; | |
import 'package:http/http.dart' as http; | |
Future<void> main() async { | |
/// Request data from a json API | |
final response = await http.get("https://pokeapi.co/api/v2/pokemon/1"); | |
final json = jsonDecode(response.body); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() => runApp(MyApp()); | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
home: HomePage(), | |
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Apple {} | |
class Banana {} | |
List<Apple> bag([List<Apple> apples]) => apples ?? <Banana>[]; | |
void main() { | |
// ok | |
final bag1 = bag([Apple()]); | |
print(bag1); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Rx { | |
fun <T> delayFlowable(delay: Long, timeUnit: TimeUnit, scheduler: Scheduler = Schedulers.computation(), | |
block: () -> Flowable<T>): Flowable<T> { | |
return Completable.timer(delay, timeUnit, scheduler).andThen(Flowable.defer { block() }) | |
} | |
fun <T> delayObservable(delay: Long, timeUnit: TimeUnit, scheduler: Scheduler = Schedulers.computation(), | |
block: () -> Observable<T>): Observable<T> { | |
return Completable.timer(delay, timeUnit, scheduler).andThen(Observable.defer { block() }) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Maps the [Single] value [T] to a nullable type [R?] which will become [Maybe.empty] when `R == null`, | |
* otherwise [Maybe.just] | |
*/ | |
inline fun <T, R> Single<T>.mapNullable(crossinline mapper: (T) -> R?): Maybe<R> = this.flatMapMaybe { | |
val result = mapper(it) | |
if (result == null) Maybe.empty() else Maybe.just(result) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.pascalwelsch.android.util | |
import android.content.Context | |
import androidx.core.os.ConfigurationCompat | |
import androidx.core.os.LocaleListCompat | |
import java.util.Locale | |
/** | |
* Returns an [Iterable] for the languages of the user, sorted by priority. First choice first. | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Check if 7zip is installed and install it if not | |
hash 7z 2>/dev/null || { | |
echo >&2 "7z is required to be installed"; | |
echo "I will install it for you"; | |
brew install p7zip; | |
} | |
# Read the commit sha |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ParcelableTest extends AndroidTestCase { | |
/** | |
* Parcels the given Parcelable, unparcels it and returns the unparceled value | |
* | |
* @param value the Parcelable to operate on | |
*/ | |
public static Parcelable parcelAndUnparcel(Parcelable value) { | |
Parcel parcel = Parcel.obtain(); | |
value.writeToParcel(parcel, 0); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.pascalwelsch.extensions | |
import android.app.Activity | |
import android.content.Context | |
import android.content.Intent | |
import android.os.Build | |
import android.os.Bundle | |
/** | |
* Extensions for simpler launching of Activities |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.pascalwelsch.mockito; | |
import org.mockito.exceptions.base.MockitoException; | |
import org.mockito.exceptions.verification.ArgumentsAreDifferent; | |
import org.mockito.internal.debugging.LocationImpl; | |
import org.mockito.internal.junit.JUnitTool; | |
import org.mockito.internal.reporting.SmartPrinter; | |
import org.mockito.internal.verification.VerificationModeFactory; | |
import org.mockito.internal.verification.api.VerificationData; | |
import org.mockito.internal.verification.argumentmatching.ArgumentMatchingTool; |