Skip to content

Instantly share code, notes, and snippets.

@Augusent
Augusent / TicketsPresenter.java
Last active December 30, 2017 17:33
MVI large reducer
public class TicketsPresenter extends BasePresenter<TicketsView, TicketsModel> {
private final DisplayErrorUsecase displayErrorUsecase;
private final LoadTicketsPageUsecase loadTicketsPageUsecase;
private final ArchiveTicketUsecase archiveTicketUsecase;
private final RenewTicketUsecase renewTicketUsecase;
private final DeleteTicketUsecase deleteTicketUsecase;
private final DeleteAllArchivedTicketsUsecase deleteAllArchivedTicketsUsecase;
@Augusent
Augusent / layout_create_game_properties.xml
Last active May 17, 2017 18:26
XML (DataBinding) Example
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
<import type="nda.AgePeriod"/>
@Augusent
Augusent / EditProfilePresenter.java
Last active May 17, 2017 18:27
Presenter (Moxy) Example
@InjectViewState
public class EditProfilePresenter extends BasePresenter<EditProfileView> {
@Inject EditProfileInteractor profileInteractor;
private EditProfileViewModel model;
public EditProfilePresenter() {
App.get().getAppComponent().inject(this);
}
@Augusent
Augusent / MyAvailabilityActivity.java
Created May 17, 2017 18:05
View (list, pagination) Example
public class MyAvailabilityActivity
extends BaseMviActivity<MyAvailabilityView, MyAvailabilityModel, MyAvailabilityPresenter>
implements MyAvailabilityView {
@Inject Router router;
private ActivityMyAvailabilityBinding binding;
private AvailabilitiesAdapter adapter;
private CompositeDisposable disposables = new CompositeDisposable();
public static Intent getIntent(Context context) {
@Augusent
Augusent / MainRegistrationActivity.java
Last active May 17, 2017 18:27
View (form) Example
public class MainRegistrationActivity
extends BaseMviActivity<MainRegistrationView, MainRegistrationModel, MainRegistrationPresenter>
implements MainRegistrationView {
private ActivityRegistrationMainBinding binding;
public static Intent getIntent(Context context) {
return new Intent(context, MainRegistrationActivity.class);
}
@Augusent
Augusent / UsersRepository.java
Created May 17, 2017 17:57
Repository Example
@Singleton
public final class UsersRepository {
private final Api api;
private final Prefs prefs;
private final Db db;
@Inject
public UsersRepository(Api api, Prefs prefs, Db db) {
this.api = api;
@Singleton
public final class EditProfileInteractor {
private final UsersRepository usersRepository;
@Inject
public EditProfileInteractor(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
@Augusent
Augusent / AuthInterceptor.java
Created February 27, 2017 18:02
Authorization Interceptor
@Singleton
public final class AuthInterceptor implements Interceptor {
private final Prefs prefs;
@Inject
public AuthInterceptor(Prefs prefs) {
this.prefs = prefs;
}
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import java.util.concurrent.TimeUnit;
import rx.Emitter;
import rx.Observable;
/* Attributes
<declare-styleable name="DateTimePickerView">
<attr name="timeHourOfDay" format="integer"/>
<attr name="timeMinute" format="integer"/>
<attr name="timeFormat" format="string"/>
<attr name="timeType" format="enum">
<enum name="time" value="0"/>
<enum name="date" value="1"/>
</attr>