package com.fastaccess.ui.modules.gists.create; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; import com.fastaccess.R; import com.fastaccess.data.dao.model.Gist; import com.fastaccess.helper.ActivityHelper; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.Bundler; import com.fastaccess.helper.InputHelper; import com.fastaccess.provider.markdown.MarkDownProvider; import com.fastaccess.ui.base.BaseActivity; import com.fastaccess.ui.modules.editor.EditorActivity; import butterknife.BindView; import butterknife.OnClick; import butterknife.OnTouch; /** * Created by Kosh on 30 Nov 2016, 11:02 AM */ public class CreateGistActivity extends BaseActivity<CreateGistMvp.View, CreateGistPresenter> implements CreateGistMvp.View { @BindView(R.id.description) TextInputLayout description; @BindView(R.id.fileName) TextInputLayout fileName; @BindView(R.id.fileContent) TextView fileContent; private CharSequence savedText; @Override public void onSetCode(@NonNull CharSequence charSequence) { this.savedText = charSequence; //noinspection ConstantConditions MarkDownProvider.setMdText(fileContent, InputHelper.toString(charSequence)); } @Override public void onDescriptionError(boolean isEmptyDesc) { description.setError(isEmptyDesc ? getString(R.string.required_field) : null); } @Override public void onFileNameError(boolean isEmptyDesc) { fileName.setError(isEmptyDesc ? getString(R.string.required_field) : null); } @Override public void onFileContentError(boolean isEmptyDesc) { fileContent.setError(isEmptyDesc ? getString(R.string.required_field) : null); } @Override public void onSuccessSubmission(Gist gistsModel) { hideProgress(); finish(); showMessage(R.string.success, R.string.successfully_submitted); } @Override protected int layout() { return R.layout.create_gist_layout; } @Override protected boolean isTransparent() { return false; } @Override protected boolean canBack() { return true; } @Override protected boolean isSecured() { return false; } @NonNull @Override public CreateGistPresenter providePresenter() { return new CreateGistPresenter(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); getPresenter().onActivityForResult(resultCode, requestCode, data); } @OnTouch(R.id.fileContent) boolean onTouch(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { Intent intent = new Intent(this, EditorActivity.class); intent.putExtras(Bundler.start() .put(BundleConstant.EXTRA, InputHelper.toString(savedText)) .put(BundleConstant.EXTRA_TYPE, BundleConstant.ExtraTYpe.FOR_RESULT_EXTRA) .end()); ActivityHelper.startReveal(this, intent, fileContent, BundleConstant.REQUEST_CODE); return true; } return false; } @OnClick(value = {R.id.createPublicGist, R.id.createSecretGist}) void onClick(View view) { getPresenter().onSubmit(description, fileName, savedText, view.getId() == R.id.createPublicGist); } }