// Path: app/src/main/java/io/github/droidkaigi/confsched2017/repository/sessions/MySessionsRepository.java
// @Singleton
// public class MySessionsRepository implements MySessionsDataSource {
// 
//     private final MySessionsDataSource localDataSource;
// 
//     private Map<Integer, MySession> cachedMySessions;
// 
//     @Inject
//     public MySessionsRepository(MySessionsLocalDataSource localDataSource) {
//         this.localDataSource = localDataSource;
//         this.cachedMySessions = new LinkedHashMap<>();
//     }
// 
//     @Override
//     public Single<List<MySession>> findAll() {
//         if (cachedMySessions != null && !cachedMySessions.isEmpty()) {
//             return Single.create(emitter -> {
//                 emitter.onSuccess(new ArrayList<>(cachedMySessions.values()));
//             });
//         }
// 
//         return localDataSource.findAll().doOnSuccess(this::refreshCache);
//     }
// 
//     @Override
//     public Completable save(@NonNull Session session) {
//         cachedMySessions.put(session.id, new MySession(session));
//         return localDataSource.save(session);
//     }
// 
//     @Override
//     public Single<Integer> delete(@NonNull Session session) {
//         cachedMySessions.remove(session.id);
//         return localDataSource.delete(session);
//     }
// 
//     @Override
//     public boolean isExist(int sessionId) {
//         return localDataSource.isExist(sessionId);
//     }
// 
//     private void refreshCache(List<MySession> mySessions) {
//         if (cachedMySessions == null) {
//             cachedMySessions = new LinkedHashMap<>();
//         }
//         cachedMySessions.clear();
//         for (MySession mySession : mySessions) {
//             cachedMySessions.put(mySession.session.id, mySession);
//         }
//     }
// }
// 
// Path: app/src/release/java/io/github/droidkaigi/confsched2017/util/FpsMeasureUtil.java
// public class FpsMeasureUtil {
// 
//     private FpsMeasureUtil() {
//     }
// 
//     public static void play(Application application) {
//         // no-op.
//     }
// 
//     public static void finish() {
//         // no-op.
//     }
// 
// }


import android.databinding.DataBindingUtil;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import io.github.droidkaigi.confsched2017.R;
import io.github.droidkaigi.confsched2017.repository.sessions.MySessionsRepository;
import io.github.droidkaigi.confsched2017.repository.sessions.SessionsRepository;
import io.github.droidkaigi.confsched2017.util.FpsMeasureUtil;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;
package io.github.droidkaigi.confsched2017.view.activity;





public class SplashActivity extends BaseActivity {

    private static final String TAG = SplashActivity.class.getSimpleName();

    private static final int MINIMUM_LOADING_TIME = 1500;

    @Inject
    CompositeDisposable compositeDisposable;

    @Inject
    SessionsRepository sessionsRepository;

    @Inject
// Path: app/src/main/java/io/github/droidkaigi/confsched2017/repository/sessions/MySessionsRepository.java
// @Singleton
// public class MySessionsRepository implements MySessionsDataSource {
// 
//     private final MySessionsDataSource localDataSource;
// 
//     private Map<Integer, MySession> cachedMySessions;
// 
//     @Inject
//     public MySessionsRepository(MySessionsLocalDataSource localDataSource) {
//         this.localDataSource = localDataSource;
//         this.cachedMySessions = new LinkedHashMap<>();
//     }
// 
//     @Override
//     public Single<List<MySession>> findAll() {
//         if (cachedMySessions != null && !cachedMySessions.isEmpty()) {
//             return Single.create(emitter -> {
//                 emitter.onSuccess(new ArrayList<>(cachedMySessions.values()));
//             });
//         }
// 
//         return localDataSource.findAll().doOnSuccess(this::refreshCache);
//     }
// 
//     @Override
//     public Completable save(@NonNull Session session) {
//         cachedMySessions.put(session.id, new MySession(session));
//         return localDataSource.save(session);
//     }
// 
//     @Override
//     public Single<Integer> delete(@NonNull Session session) {
//         cachedMySessions.remove(session.id);
//         return localDataSource.delete(session);
//     }
// 
//     @Override
//     public boolean isExist(int sessionId) {
//         return localDataSource.isExist(sessionId);
//     }
// 
//     private void refreshCache(List<MySession> mySessions) {
//         if (cachedMySessions == null) {
//             cachedMySessions = new LinkedHashMap<>();
//         }
//         cachedMySessions.clear();
//         for (MySession mySession : mySessions) {
//             cachedMySessions.put(mySession.session.id, mySession);
//         }
//     }
// }
// 
// Path: app/src/release/java/io/github/droidkaigi/confsched2017/util/FpsMeasureUtil.java
// public class FpsMeasureUtil {
// 
//     private FpsMeasureUtil() {
//     }
// 
//     public static void play(Application application) {
//         // no-op.
//     }
// 
//     public static void finish() {
//         // no-op.
//     }
// 
// }


// Path: app/src/main/java/io/github/droidkaigi/confsched2017/view/activity/SplashActivity.java
import android.databinding.DataBindingUtil;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import io.github.droidkaigi.confsched2017.R;
import io.github.droidkaigi.confsched2017.repository.sessions.MySessionsRepository;
import io.github.droidkaigi.confsched2017.repository.sessions.SessionsRepository;
import io.github.droidkaigi.confsched2017.util.FpsMeasureUtil;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import timber.log.Timber;

package io.github.droidkaigi.confsched2017.view.activity;





public class SplashActivity extends BaseActivity {

    private static final String TAG = SplashActivity.class.getSimpleName();

    private static final int MINIMUM_LOADING_TIME = 1500;

    @Inject
    CompositeDisposable compositeDisposable;

    @Inject
    SessionsRepository sessionsRepository;

    @Inject
    MySessionsRepository mySessionsRepository;