Skip to content

Instantly share code, notes, and snippets.

View beigirad's full-sized avatar

Farhad Beigirad beigirad

View GitHub Profile
public class ConversationMapper {
Observable<List<ConversationsResponse.ConversationItem>> observable;
public ConversationMapper(Observable<List<ConversationsResponse.ConversationItem>> observable) {
this.observable = observable;
}
public Observable<List<ConversationEntity>> getObservable() {
return observable
public class ConversationMapper {
Observable<List<ConversationsResponse.ConversationItem>> observable;
public ConversationMapper(Observable<List<ConversationsResponse.ConversationItem>> observable) {
this.observable = observable;
}
public Observable<List<ConversationEntity>> getObservable() {
return observable
.observeOn(Schedulers.io())
public class ExpanseMapper {
Observable<List<GroupExpensesResponse.ExpenseItem>> observable;
public ExpanseMapper(Observable<List<GroupExpensesResponse.ExpenseItem>> observable) {
this.observable = observable;
}
public Observable<List<ExpenseEntity>> getObservable() {
return observable
.flatMapIterable(expenseItems -> expenseItems)
@beigirad
beigirad / Item.java
Created July 20, 2018 09:19
Custom flatMap in rxJava2
public class Item {
private String _type;
public String getType() {
return _type;
}
private Item(String type) {
this._type = type;
}
ext.versions = [
minSdkVersion : 15,
targetSdkVersion : 26,
compileSdkVersion: 26,
buildToolsVersion: "26.0.2",
appCompatVertsion: "26.1.0",
firebaseVersion : "10.0.1",
kotlinVersion : "1.2.31",
@beigirad
beigirad / db copy
Created May 15, 2018 08:05
copy files from assets
private void copyDataBase() {
try {
String asstFileDir = "databases/" + DB_NAME;
Log.i(TAG, "Copy DB from " + asstFileDir);
InputStream is = context.getAssets().open(asstFileDir);
Log.i(TAG, "available : " + is.available());
File folder = new File(NEW_DB_PATH);
@beigirad
beigirad / FingerprintHelper
Last active May 4, 2018 19:31
FingerPrintHelper
@RequiresApi(Build.VERSION_CODES.M)
class FingerprintHelper(var context: Context, var fingerInterface: FingerInterface?) : FingerprintManager.AuthenticationCallback() {
private var keyguardManager: KeyguardManager = context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
private var fingerManager: FingerprintManager = context.getSystemService(Context.FINGERPRINT_SERVICE) as FingerprintManager
private var cancellationSignal: CancellationSignal = CancellationSignal()
private var keyStore: KeyStore? = null
private var keyGenerator: KeyGenerator? = null
private var cipher: Cipher? = null
@beigirad
beigirad / interface JAVA
Last active April 15, 2018 20:58
retrofit multipart
@Multipart
@POST("/endpoint")
Call<Post> sendPost(@Part("caption") String caption, @Part MultipartBody.Part image);
@beigirad
beigirad / build.gradle ( Module )
Last active January 23, 2018 15:47
Signing by gradle
android {
...
if (project.hasProperty("myproject.properties") && new File(project.property("myproject.properties")).exists()) {
Properties props = new Properties()
props.load(new FileInputStream(file(project.property("myproject.properties"))))
signingConfigs {
release {
storeFile file(props['storeFile'])
@beigirad
beigirad / EndlessRecyclerViewScrollListener
Created October 31, 2017 08:25
Endless Scroll Listener
package ir.beigirad.zeroapplication.widget;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
/**
* Created by farhad-mbp on 8/28/17.