package com.fastaccess.ui.modules.gists.create; import android.app.Activity; import android.content.Intent; import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import com.fastaccess.data.dao.CreateGistModel; import com.fastaccess.data.dao.FilesListModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.InputHelper; import com.fastaccess.provider.rest.RestProvider; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import java.util.HashMap; /** * Created by Kosh on 30 Nov 2016, 10:51 AM */ class CreateGistPresenter extends BasePresenter<CreateGistMvp.View> implements CreateGistMvp.Presenter { @Override public void onActivityForResult(int resultCode, int requestCode, Intent intent) { if (resultCode == Activity.RESULT_OK && requestCode == BundleConstant.REQUEST_CODE) { if (intent != null && intent.getExtras() != null) { CharSequence charSequence = intent.getExtras().getCharSequence(BundleConstant.EXTRA); if (!InputHelper.isEmpty(charSequence)) { sendToView(view -> view.onSetCode(charSequence)); } } } } @Override public void onSubmit(@NonNull TextInputLayout description, @NonNull TextInputLayout fileName, @NonNull CharSequence fileContent, boolean isPublic) { boolean isEmptyDesc = InputHelper.isEmpty(description); boolean isEmptyFileName = InputHelper.isEmpty(fileName); boolean isEmptyFileContent = InputHelper.isEmpty(fileContent); if (getView() != null) { getView().onDescriptionError(isEmptyDesc); getView().onFileNameError(isEmptyDesc); getView().onFileContentError(isEmptyDesc); } if (!isEmptyDesc && !isEmptyFileName && !isEmptyFileContent) { CreateGistModel createGistModel = new CreateGistModel(); createGistModel.setDescription(InputHelper.toString(description)); createGistModel.setPublicGist(isPublic); HashMap<String, FilesListModel> modelHashMap = new HashMap<>(); FilesListModel file = new FilesListModel(); file.setFilename(InputHelper.toString(fileName)); file.setContent(InputHelper.toString(fileContent)); modelHashMap.put(InputHelper.toString(fileName), file); createGistModel.setFiles(modelHashMap); onSubmit(createGistModel); } } @Override public void onSubmit(@NonNull CreateGistModel model) { makeRestCall(RestProvider.getGistService().createGist(model), gistsModel -> sendToView(view -> view.onSuccessSubmission(gistsModel))); } }