add: docs search

This commit is contained in:
hyb1996
2017-12-06 21:03:49 +08:00
parent f98c239ac3
commit cf4c4af31f
28 changed files with 5009 additions and 354 deletions

View File

@@ -2,11 +2,13 @@ package com.stardust.scriptdroid.ui.doc;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.webkit.WebView;
import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.ui.main.QueryEvent;
import com.stardust.scriptdroid.ui.main.ViewPagerFragment;
import com.stardust.util.BackPressedHandler;
import com.stardust.scriptdroid.ui.widget.EWebView;
@@ -14,12 +16,14 @@ import com.stardust.scriptdroid.ui.widget.EWebView;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.EFragment;
import org.androidannotations.annotations.ViewById;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
/**
* Created by Stardust on 2017/8/22.
*/
@EFragment(R.layout.fragment_online_docs)
public class OnlineDocsFragment extends ViewPagerFragment implements BackPressedHandler {
public class DocsFragment extends ViewPagerFragment implements BackPressedHandler {
public static final String ARGUMENT_URL = "url";
@@ -27,12 +31,20 @@ public class OnlineDocsFragment extends ViewPagerFragment implements BackPressed
EWebView mEWebView;
WebView mWebView;
private String mPreviousQuery;
public OnlineDocsFragment() {
public DocsFragment() {
super(ROTATION_GONE);
setArguments(new Bundle());
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EventBus.getDefault().register(this);
}
@AfterViews
void setUpViews() {
mWebView = mEWebView.getWebView();
@@ -78,4 +90,28 @@ public class OnlineDocsFragment extends ViewPagerFragment implements BackPressed
protected void onFabClick(FloatingActionButton fab) {
}
@Subscribe
public void onQuerySummit(QueryEvent event) {
if (!isShown()) {
return;
}
if (event == QueryEvent.CLEAR) {
mWebView.clearMatches();
mPreviousQuery = null;
return;
}
if (event.getQuery().equals(mPreviousQuery)) {
mWebView.findNext(false);
} else {
mWebView.findAllAsync(event.getQuery());
mPreviousQuery = event.getQuery();
}
}
@Override
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}

View File

@@ -27,7 +27,7 @@ import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.ui.common.NotAskAgainDialog;
import com.stardust.scriptdroid.ui.doc.OnlineDocsFragment_;
import com.stardust.scriptdroid.ui.doc.DocsFragment_;
import com.stardust.scriptdroid.ui.floating.FloatyWindowManger;
import com.stardust.scriptdroid.storage.file.StorageFileProvider;
import com.stardust.scriptdroid.ui.main.community.CommunityFragment_;
@@ -145,7 +145,7 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
TabLayout tabLayout = $(R.id.tab);
mPagerAdapter = new FragmentPagerAdapterBuilder(this)
.add(new MyScriptListFragment_(), R.string.text_script)
.add(new OnlineDocsFragment_(), R.string.text_tutorial)
.add(new DocsFragment_(), R.string.text_tutorial)
.add(new CommunityFragment_(), R.string.text_community)
.add(new SampleListFragment_(), R.string.text_sample)
.add(new TaskManagerFragment_(), R.string.text_manage)