package com.fastaccess.ui.modules.cloud.backup; import android.support.annotation.NonNull; import com.fastaccess.R; import com.fastaccess.data.dao.BackupRestoreModel; import com.fastaccess.helper.Logger; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; /** * Created by Kosh on 23 Oct 2016, 9:04 PM */ public class BackupPresenter extends BasePresenter<BackupMvp.View> implements BackupMvp.Presenter { protected BackupPresenter(@NonNull BackupMvp.View view) { super(view); } public static BackupPresenter with(@NonNull BackupMvp.View view) { return new BackupPresenter(view); } @Override public void onBackup(DatabaseReference databaseReference) { BackupRestoreModel model = BackupRestoreModel.backup(); if (model == null || model.getUid() == null) { getView().onShowMessage(R.string.login_first_msg); getView().finishOnError(); } else { getView().onShowProgress(); Logger.e(model, model.getFolders(), model.getAppsModels()); databaseReference.child(BackupView.BACKUP_DATABASE_NAME).child(model.getUid()).setValue(model, this); } } @Override public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { if (databaseError != null) { getView().onShowMessage(databaseError.getDetails()); getView().finishOnError(); } else { getView().onBackupCompleted(); } } }