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