diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index 0a8b5c2e5..e49e73afc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -66,7 +66,6 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL mHandler = new Handler(Looper.getMainLooper()); mRecognizer = SpeechRecognizer.createSpeechRecognizer(this); CustomKeyboard.init(this, mBinding); - mBinding.keyword.requestFocus(); setRecyclerView(); getHot(); } @@ -181,11 +180,16 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL private void destroyRecognizer() { try { mRecognizer.destroy(); - mRecognizer = null; } catch (Exception ignored) { } } + @Override + protected void onResume() { + super.onResume(); + mBinding.keyword.requestFocus(); + } + @Override public void onBackPressed() { if (mBinding.voice.getVisibility() == View.VISIBLE) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SplashActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SplashActivity.java index fde7d9533..7223aeea6 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SplashActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SplashActivity.java @@ -40,8 +40,8 @@ public class SplashActivity extends BaseActivity { return new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - mBinding.title.setVisibility(View.GONE); mBinding.info.animate().alpha(1).setDuration(500).start(); + mBinding.title.setVisibility(View.GONE); loadConfig(); } }; diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java index 9627a6d51..694cdaa77 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java @@ -55,8 +55,8 @@ public class HistoryAdapter extends RecyclerView.Adapter>() {}.getType()); } - private void check(String item) { + private void checkToAdd(String item) { int index = mItems.indexOf(item); - if (index == -1) return; - mItems.remove(index); - notifyItemRemoved(index); + if (index == -1) { + mItems.add(0, item); + notifyItemInserted(0); + } else { + mItems.remove(index); + mItems.add(0, item); + notifyItemRangeChanged(0, mItems.size()); + } + if (mItems.size() > 8) { + mItems.remove(8); + notifyItemRemoved(8); + } } public void add(String item) { - check(item); - mItems.add(0, item); - notifyItemInserted(0); - Prefers.putKeyword(mGson.toJson(mItems)); + checkToAdd(item); mListener.onDataChanged(getItemCount()); + Prefers.putKeyword(mGson.toJson(mItems)); } @Override diff --git a/app/src/leanback/res/layout/activity_search.xml b/app/src/leanback/res/layout/activity_search.xml index 0feb47b64..f9359d34f 100644 --- a/app/src/leanback/res/layout/activity_search.xml +++ b/app/src/leanback/res/layout/activity_search.xml @@ -4,9 +4,12 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:animateLayoutChanges="true" android:keepScreenOn="true" android:orientation="horizontal" - android:padding="24dp"> + android:paddingStart="24dp" + android:paddingTop="24dp" + android:paddingEnd="24dp"> @@ -74,6 +77,9 @@ android:id="@+id/history" android:layout_width="match_parent" android:layout_height="match_parent" + android:clipChildren="false" + android:clipToPadding="false" + android:paddingBottom="24dp" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:itemCount="10" tools:listitem="@layout/adapter_word" /> @@ -89,7 +95,7 @@ android:id="@+id/hint" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginBottom="24dp" + android:layout_marginBottom="16dp" android:text="@string/search_hot" android:textColor="@color/white" android:textSize="24sp" /> @@ -98,6 +104,9 @@ android:id="@+id/word" android:layout_width="match_parent" android:layout_height="match_parent" + android:clipChildren="false" + android:clipToPadding="false" + android:paddingBottom="24dp" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:itemCount="10" tools:listitem="@layout/adapter_word" />