Skip to content

Instantly share code, notes, and snippets.

View ShaishavGandhi's full-sized avatar

Shaishav Gandhi ShaishavGandhi

View GitHub Profile
@ShaishavGandhi
ShaishavGandhi / JavaPoetExt.kt
Last active May 2, 2022 21:14
Extensions to convert JavaPoet types to KotlinPoet and vice-versa
import com.squareup.javapoet.ClassName
import com.squareup.javapoet.ParameterizedTypeName
import com.squareup.javapoet.TypeName
import com.squareup.javapoet.TypeVariableName
import com.squareup.javapoet.WildcardTypeName
import com.squareup.javapoet.ArrayTypeName
import com.squareup.kotlinpoet.ARRAY
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
fun ClassName.asKPClassName(): com.squareup.kotlinpoet.ClassName {
@ShaishavGandhi
ShaishavGandhi / ImageRepository.kt
Created August 5, 2018 21:34
With replaying share
package com.shaishavgandhi.rxreplayingsharesample
import android.content.res.Resources
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.util.Log
import androidx.annotation.RawRes
import com.jakewharton.rx.replayingShare
import io.reactivex.Observable
import io.reactivex.subjects.BehaviorSubject
@ShaishavGandhi
ShaishavGandhi / MainActivity.kt
Created August 5, 2018 21:17
Hot observable
package com.shaishavgandhi.rxreplayingsharesample
import android.os.Bundle
import com.google.android.material.snackbar.Snackbar
import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu
import android.view.MenuItem
import androidx.lifecycle.ViewModelProviders
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
import com.uber.autodispose.autoDisposable
@ShaishavGandhi
ShaishavGandhi / MainActivity.kt
Created August 5, 2018 21:17
Hot observable
package com.shaishavgandhi.rxreplayingsharesample
import android.os.Bundle
import com.google.android.material.snackbar.Snackbar
import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu
import android.view.MenuItem
import androidx.lifecycle.ViewModelProviders
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
import com.uber.autodispose.autoDisposable
@ShaishavGandhi
ShaishavGandhi / MainViewModel.kt
Created August 5, 2018 21:16
With hot observable
package com.shaishavgandhi.rxreplayingsharesample
import android.content.res.Resources
import android.graphics.Bitmap
import androidx.annotation.RawRes
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import io.reactivex.Observable
class MainViewModel(private val repository: ImageRepository): ViewModel() {
@ShaishavGandhi
ShaishavGandhi / ImageRepository.kt
Last active August 5, 2018 21:23
With a hot observable
package com.shaishavgandhi.rxreplayingsharesample
import android.content.res.Resources
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.util.Log
import androidx.annotation.RawRes
import io.reactivex.Observable
import io.reactivex.subjects.BehaviorSubject
package com.shaishavgandhi.rxreplayingsharesample
import android.os.Bundle
import com.google.android.material.snackbar.Snackbar
import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu
import android.view.MenuItem
import androidx.lifecycle.ViewModelProviders
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
import com.uber.autodispose.autoDisposable
package com.shaishavgandhi.rxreplayingsharesample
import android.content.res.Resources
import android.graphics.Bitmap
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import io.reactivex.Observable
class MainViewModel(private val repository: ImageRepository): ViewModel() {
package com.shaishavgandhi.rxreplayingsharesample
import android.content.res.Resources
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import androidx.annotation.RawRes
import io.reactivex.Observable
class ImageRepository(private val resources: Resources) {
Disposable disposable = new RxAdLoader(context, "ad_unit_id")
.withNativeAdOptions(new NativeAdOptions.Builder().build())
.loadNativeContentAd(new AdRequest.Builder().build())
.subscribe(new Consumer<NativeContentAd>() {
@Override
public void accept(NativeContentAd nativeContentAd) throws Exception {
}
}, new Consumer<Throwable>() {
@Override