add: docs searching backward support
This commit is contained in:
@@ -101,12 +101,16 @@ public class DocsFragment extends ViewPagerFragment implements BackPressedHandle
|
||||
mPreviousQuery = null;
|
||||
return;
|
||||
}
|
||||
if (event.getQuery().equals(mPreviousQuery)) {
|
||||
if (event.isFindForward()) {
|
||||
mWebView.findNext(false);
|
||||
} else {
|
||||
mWebView.findAllAsync(event.getQuery());
|
||||
mPreviousQuery = event.getQuery();
|
||||
return;
|
||||
}
|
||||
if (event.getQuery().equals(mPreviousQuery)) {
|
||||
mWebView.findNext(true);
|
||||
return;
|
||||
}
|
||||
mWebView.findAllAsync(event.getQuery());
|
||||
mPreviousQuery = event.getQuery();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -73,6 +73,8 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
|
||||
private VersionGuard mVersionGuard;
|
||||
private BackPressedHandler.Observer mBackPressObserver = new BackPressedHandler.Observer();
|
||||
private SearchViewItem mSearchViewItem;
|
||||
private MenuItem mLogMenuItem;
|
||||
private boolean mDocsSearchItemExpanded;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -254,6 +256,7 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
|
||||
mLogMenuItem = menu.findItem(R.id.action_log);
|
||||
setUpSearchMenuItem(searchMenuItem);
|
||||
return true;
|
||||
}
|
||||
@@ -261,14 +264,37 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == R.id.action_log) {
|
||||
LogActivity_.intent(this).start();
|
||||
if (mDocsSearchItemExpanded) {
|
||||
submitForwardQuery();
|
||||
} else {
|
||||
LogActivity_.intent(this).start();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
|
||||
private void setUpSearchMenuItem(MenuItem searchMenuItem) {
|
||||
mSearchViewItem = new SearchViewItem(this, searchMenuItem);
|
||||
mSearchViewItem = new SearchViewItem(this, searchMenuItem) {
|
||||
@Override
|
||||
public boolean onMenuItemActionExpand(MenuItem item) {
|
||||
if (mViewPager.getCurrentItem() == 1) {
|
||||
mDocsSearchItemExpanded = true;
|
||||
mLogMenuItem.setIcon(R.drawable.ic_ali_up);
|
||||
}
|
||||
return super.onMenuItemActionExpand(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemActionCollapse(MenuItem item) {
|
||||
if (mDocsSearchItemExpanded) {
|
||||
mDocsSearchItemExpanded = false;
|
||||
mLogMenuItem.setIcon(R.drawable.ic_ali_log);
|
||||
}
|
||||
return super.onMenuItemActionCollapse(item);
|
||||
}
|
||||
};
|
||||
mSearchViewItem.setQueryCallback(this::submitQuery);
|
||||
}
|
||||
|
||||
@@ -284,4 +310,10 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
|
||||
}
|
||||
}
|
||||
|
||||
private void submitForwardQuery() {
|
||||
QueryEvent event = QueryEvent.FIND_FORWARD;
|
||||
EventBus.getDefault().post(event);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -7,12 +7,19 @@ package com.stardust.scriptdroid.ui.main;
|
||||
public class QueryEvent {
|
||||
|
||||
public static final QueryEvent CLEAR = new QueryEvent(null);
|
||||
public static final QueryEvent FIND_FORWARD = new QueryEvent("", true);
|
||||
|
||||
private boolean mShouldCollapseSearchView = false;
|
||||
private final String mQuery;
|
||||
private final boolean mFindForward;
|
||||
|
||||
public QueryEvent(String query, boolean b) {
|
||||
mQuery = query;
|
||||
mFindForward = b;
|
||||
}
|
||||
|
||||
public QueryEvent(String query) {
|
||||
mQuery = query;
|
||||
this(query, false);
|
||||
}
|
||||
|
||||
public String getQuery() {
|
||||
@@ -26,5 +33,9 @@ public class QueryEvent {
|
||||
public boolean shouldCollapseSearchView() {
|
||||
return mShouldCollapseSearchView;
|
||||
}
|
||||
|
||||
public boolean isFindForward() {
|
||||
return mFindForward;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user