支持搜索历史;

pull/143/head
于俊 1 year ago
parent 84ba314835
commit a6c12f09ef
  1. 10
      app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java
  2. 35
      app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java
  3. 1
      app/src/main/java/com/github/tvbox/osc/util/HawkConfig.java
  4. 16
      app/src/main/res/layout/activity_search.xml
  5. 1
      app/src/main/res/values/dimens.xml

@ -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<String> history = Hawk.get(HawkConfig.SEARCH_HISTORY, new ArrayList<String>());
if (!history.contains(title))
history.add(0, title);
if (history.size() > 10)
history.remove(10);
Hawk.put(HawkConfig.SEARCH_HISTORY, history);
searchResult();
}

@ -83,6 +83,8 @@ public class SearchActivity extends BaseActivity {
private static HashMap<String, String> 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<String> hisWord= Hawk.get(HawkConfig.SEARCH_HISTORY, new ArrayList<String>());
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<String> history = Hawk.get(HawkConfig.SEARCH_HISTORY, new ArrayList<String>());
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<>());

@ -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;
}

@ -124,14 +124,16 @@
android:paddingBottom="@dimen/vs_20">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/vs_10"
android:text="热门搜索"
android:textAlignment="center"
android:id="@+id/wordSwitch"
android:layout_width="@dimen/vs_200"
android:background="@drawable/shape_user_focus"
android:focusable="true"
android:gravity="center"
android:text="热词 | 历史"
android:textColor="@android:color/white"
android:textSize="@dimen/ts_22" />
android:textSize="@dimen/ts_20"
android:layout_marginBottom="@dimen/ts_10"
android:layout_height="@dimen/ts_24"/>
<com.owen.tvrecyclerview.widget.TvRecyclerView
android:id="@+id/mGridViewWord"

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="ts_10">10mm</dimen>
<dimen name="ts_16">16mm</dimen>
<dimen name="ts_20">20mm</dimen>
<dimen name="ts_22">22mm</dimen>

Loading…
Cancel
Save