package com.fastaccess.ui.modules.search.repos.files; import android.os.Bundle; import android.support.annotation.NonNull; import com.fastaccess.R; import com.fastaccess.helper.AppHelper; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.InputHelper; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import com.fastaccess.ui.widgets.FontEditText; public class SearchFilePresenter extends BasePresenter<SearchFileMvp.View> implements SearchFileMvp.Presenter { private String repoId; private String login; @Override protected void onAttachView(@NonNull SearchFileMvp.View view) { super.onAttachView(view); } @Override public void onSearchClicked(@NonNull FontEditText editText, boolean inPath) { boolean isEmpty = InputHelper.isEmpty(editText) || InputHelper.toString(editText).length() < 3; editText.setError(isEmpty ? editText.getResources().getString(R.string.minimum_three_chars) : null); if (!isEmpty) { AppHelper.hideKeyboard(editText); String query = InputHelper.toString(editText); if (getView() != null && isViewAttached()) getView().onValidSearchQuery(modifyQueryForFileSearch(query, inPath)); } } @Override public void onActivityCreated(Bundle extras) { repoId = extras.getString(BundleConstant.ID); login = extras.getString(BundleConstant.EXTRA); } @NonNull private String modifyQueryForFileSearch(@NonNull String query, boolean inPath) { //restrict the search to file paths and the current repo user is looking at return query + "+" + "in:" + (inPath ? "path" : "" + "file") + "+" + "repo:" + login + "/" + repoId; } }