Merge remote-tracking branch 'origin/dev' into dev

pull/533/head
okjack 2 years ago
commit 5e88cd8b84
  1. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java
  2. 14
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeyboardAdapter.java
  3. 20
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java
  4. 10
      app/src/leanback/res/drawable/ic_keyboard.xml
  5. 3
      app/src/leanback/res/layout/activity_search.xml
  6. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  7. 21
      catvod/src/main/java/com/github/catvod/utils/Trans.java

@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Intent;
import android.text.Editable;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
@ -31,6 +32,7 @@ import com.fongmi.android.tv.ui.dialog.SiteDialog;
import com.fongmi.android.tv.utils.KeyUtil;
import com.fongmi.android.tv.utils.Util;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Trans;
import com.google.common.net.HttpHeaders;
import java.io.IOException;
@ -116,7 +118,7 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL
private void getSuggest(String text) {
mBinding.hint.setText(R.string.search_suggest);
mWordAdapter.clear();
OkHttp.newCall("https://tv.aiseet.atianqi.com/i-tvbin/qtv_video/search/get_search_smart_box?format=json&page_num=0&page_size=10&key=" + URLEncoder.encode(text)).enqueue(new Callback() {
OkHttp.newCall("https://tv.aiseet.atianqi.com/i-tvbin/qtv_video/search/get_search_smart_box?format=json&page_num=0&page_size=10&key=" + URLEncoder.encode(Trans.z2p(text))).enqueue(new Callback() {
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
if (mBinding.keyword.getText().toString().trim().isEmpty()) return;
@ -124,7 +126,7 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL
App.post(() -> mWordAdapter.appendAll(items));
}
});
OkHttp.newCall("https://suggest.video.iqiyi.com/?if=mobile&key=" + URLEncoder.encode(text)).enqueue(new Callback() {
OkHttp.newCall("https://suggest.video.iqiyi.com/?if=mobile&key=" + URLEncoder.encode(Trans.z2p(text))).enqueue(new Callback() {
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
if (mBinding.keyword.getText().toString().trim().isEmpty()) return;

@ -8,19 +8,23 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.databinding.AdapterKeyboardIconBinding;
import com.fongmi.android.tv.databinding.AdapterKeyboardTextBinding;
import java.util.Arrays;
import java.util.List;
public class KeyboardAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final List<Object> enList = Arrays.asList(R.drawable.ic_keyboard_remote, R.drawable.ic_keyboard_left, R.drawable.ic_keyboard_right, R.drawable.ic_keyboard_back, R.drawable.ic_keyboard_search, R.drawable.ic_setting_home, R.drawable.ic_keyboard, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
private final List<Object> twList = Arrays.asList(R.drawable.ic_keyboard_remote, R.drawable.ic_keyboard_left, R.drawable.ic_keyboard_right, R.drawable.ic_keyboard_back, R.drawable.ic_keyboard_search, R.drawable.ic_setting_home, R.drawable.ic_keyboard, "ㄅ", "ㄆ", "ㄇ", "ㄈ", "ㄉ", "ㄊ", "ㄋ", "ㄌ", "ㄍ", "ㄎ", "ㄏ", "ㄐ", "ㄑ", "ㄒ", "ㄓ", "ㄔ", "ㄕ", "ㄖ", "ㄗ", "ㄘ", "ㄙ", "ㄧ", "ㄨ", "ㄩ", "ㄚ", "ㄛ", "ㄜ", "ㄝ", "ㄞ", "ㄟ", "ㄠ", "ㄡ", "ㄢ", "ㄣ", "ㄤ", "ㄥ", "ㄦ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
private final OnClickListener mListener;
private final List<Object> mItems;
private List<Object> mItems;
public KeyboardAdapter(OnClickListener listener) {
this.mItems = Arrays.asList(R.drawable.ic_keyboard_remote, R.drawable.ic_keyboard_left, R.drawable.ic_keyboard_right, R.drawable.ic_keyboard_back, R.drawable.ic_keyboard_search, R.drawable.ic_setting_home, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
this.mItems = Setting.isZhuyin() ? twList : enList;
this.mListener = listener;
}
@ -33,6 +37,12 @@ public class KeyboardAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
boolean onLongClick(int resId);
}
public void toggle() {
Setting.putZhuyin(!Setting.isZhuyin());
this.mItems = Setting.isZhuyin() ? twList : enList;
notifyDataSetChanged();
}
@Override
public int getItemViewType(int position) {
return mItems.get(position) instanceof String ? 0 : 1;

@ -10,6 +10,7 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener {
private final ActivitySearchBinding binding;
private final Callback callback;
private KeyboardAdapter adapter;
public static void init(Callback callback, ActivitySearchBinding binding) {
new CustomKeyboard(callback, binding).initView();
@ -23,7 +24,7 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener {
private void initView() {
binding.keyboard.setHasFixedSize(true);
binding.keyboard.addItemDecoration(new SpaceItemDecoration(6, 8));
binding.keyboard.setAdapter(new KeyboardAdapter(this));
binding.keyboard.setAdapter(adapter = new KeyboardAdapter(this));
}
@Override
@ -42,9 +43,20 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener {
StringBuilder sb = new StringBuilder(binding.keyword.getText().toString());
int cursor = binding.keyword.getSelectionStart();
switch (resId) {
case R.drawable.ic_keyboard:
binding.keyword.requestFocus();
adapter.toggle();
binding.keyboard.postDelayed(() -> binding.keyboard.findViewHolderForLayoutPosition(6).itemView.requestFocus(), 0);
break;
case R.drawable.ic_setting_home:
callback.showDialog();
break;
case R.drawable.ic_keyboard_remote:
callback.onRemote();
break;
case R.drawable.ic_keyboard_search:
callback.onSearch();
break;
case R.drawable.ic_keyboard_left:
binding.keyword.setSelection(--cursor < 0 ? 0 : cursor);
break;
@ -57,12 +69,6 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener {
binding.keyword.setText(sb.toString());
binding.keyword.setSelection(cursor - 1);
break;
case R.drawable.ic_keyboard_remote:
callback.onRemote();
break;
case R.drawable.ic_keyboard_search:
callback.onSearch();
break;
}
}

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M20,5L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2L11,8zM11,11h2v2h-2v-2zM8,8h2v2L8,10L8,8zM8,11h2v2L8,13v-2zM7,13L5,13v-2h2v2zM7,10L5,10L5,8h2v2zM16,17L8,17v-2h8v2zM16,13h-2v-2h2v2zM16,10h-2L14,8h2v2zM19,13h-2v-2h2v2zM19,10h-2L17,8h2v2z" />
</vector>

@ -43,8 +43,7 @@
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="36dp"
android:orientation="vertical">
android:layout_marginEnd="36dp">
<com.fongmi.android.tv.ui.custom.CustomMic
android:id="@+id/mic"

@ -322,6 +322,14 @@ public class Setting {
Prefers.put("backup_mode", auto);
}
public static boolean isZhuyin() {
return Prefers.getBoolean("zhuyin");
}
public static void putZhuyin(boolean zhuyin) {
Prefers.put("zhuyin", zhuyin);
}
public static float getThumbnail() {
return 0.3f * getQuality() + 0.4f;
}

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save