diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java index 9dfe9dc2..15ab23e2 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java @@ -25,10 +25,12 @@ import com.github.tvbox.osc.ui.adapter.FastListAdapter; import com.github.tvbox.osc.ui.adapter.FastSearchAdapter; import com.github.tvbox.osc.ui.adapter.SearchWordAdapter; import com.github.tvbox.osc.util.FastClickCheckUtil; +import com.github.tvbox.osc.util.HawkConfig; import com.github.tvbox.osc.util.SearchHelper; import com.github.tvbox.osc.util.js.JSEngine; import com.github.tvbox.osc.viewmodel.SourceViewModel; import com.lzy.okgo.OkGo; +import com.orhanobut.hawk.Hawk; import com.owen.tvrecyclerview.widget.TvRecyclerView; import com.owen.tvrecyclerview.widget.V7GridLayoutManager; import com.owen.tvrecyclerview.widget.V7LinearLayoutManager; @@ -368,6 +370,14 @@ public class FastSearchActivity extends BaseActivity { isFilterMode = false; spNames.clear(); + //写入历史记录 + ArrayList history = Hawk.get(HawkConfig.SEARCH_HISTORY, new ArrayList()); + if (!history.contains(title)) + history.add(0, title); + if (history.size() > 10) + history.remove(10); + Hawk.put(HawkConfig.SEARCH_HISTORY, history); + searchResult(); } diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java index 89718c6e..351517c2 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java @@ -83,6 +83,8 @@ public class SearchActivity extends BaseActivity { private static HashMap mCheckSources = null; private SearchCheckboxDialog mSearchCheckboxDialog = null; + private TextView wordsSwitch; + @Override protected int getLayoutResID() { return R.layout.activity_search; @@ -162,6 +164,7 @@ public class SearchActivity extends BaseActivity { mGridViewWord.setLayoutManager(new V7LinearLayoutManager(this.mContext, 1, false)); wordAdapter = new PinyinAdapter(); mGridViewWord.setAdapter(wordAdapter); + wordsSwitch = findViewById(R.id.wordSwitch); wordAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { @@ -207,6 +210,28 @@ public class SearchActivity extends BaseActivity { } } }); + wordsSwitch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + FastClickCheckUtil.check(v); + String wd = wordsSwitch.getText().toString().trim(); + if(wd.contains("热词")){ + ArrayList hisWord= Hawk.get(HawkConfig.SEARCH_HISTORY, new ArrayList()); + if (hisWord.isEmpty()){ + Toast.makeText(mContext, "暂无历史搜索", Toast.LENGTH_SHORT).show(); + }else { + wordsSwitch.setText("历史 搜索"); + wordAdapter.setNewData(hisWord); + } + } + if(wd.equals("历史 搜索")){ + wordsSwitch.setText("热词 搜索"); + if(hots!=null && !hots.isEmpty()){ + wordAdapter.setNewData(hots); + } + } + } + }); tvSearch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -487,6 +512,16 @@ public class SearchActivity extends BaseActivity { } showLoading(); etSearch.setText(title); + + //写入历史记录 + ArrayList history = Hawk.get(HawkConfig.SEARCH_HISTORY, new ArrayList()); + if (!history.contains(title)) + history.add(0, title); + if (history.size() > 10) + history.remove(10); + Hawk.put(HawkConfig.SEARCH_HISTORY, history); + + this.searchTitle = title; mGridView.setVisibility(View.INVISIBLE); searchAdapter.setNewData(new ArrayList<>()); diff --git a/app/src/main/java/com/github/tvbox/osc/util/HawkConfig.java b/app/src/main/java/com/github/tvbox/osc/util/HawkConfig.java index eeaeca16..7133aca6 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/HawkConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/util/HawkConfig.java @@ -49,5 +49,6 @@ public class HawkConfig { public static final String SCREEN_DISPLAY = "screen_display"; public static final String LIVE_WEB_HEADER = "live_web_header"; public static final String DEFAULT_LOAD_LIVE = "DEFAULT_LOAD_LIVE"; + public static final String SEARCH_HISTORY = "search_history"; public static boolean hotVodDelete; } diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index af0ed53d..75c66c8c 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -124,14 +124,16 @@ android:paddingBottom="@dimen/vs_20"> + android:textSize="@dimen/ts_20" + android:layout_marginBottom="@dimen/ts_10" + android:layout_height="@dimen/ts_24"/> + 10mm 16mm 20mm 22mm