Commit 1fb142a3 authored by fallenstardust's avatar fallenstardust

开关多关键词搜索

parent 88d166e1
...@@ -785,8 +785,8 @@ public class AppsSettings { ...@@ -785,8 +785,8 @@ public class AppsSettings {
} }
public enum keyWordsSplitEnum { public enum keyWordsSplitEnum {
Space(0, "Space"), Percent(0, "%%"),
Percent(1, "%%"); Space(1, "Space");
public Integer code; public Integer code;
public String name; public String name;
......
...@@ -23,7 +23,7 @@ public interface Constants { ...@@ -23,7 +23,7 @@ public interface Constants {
String PREF_DATA_LANGUAGE = "pref_key_game_data_language"; String PREF_DATA_LANGUAGE = "pref_key_game_data_language";
int PREF_DEF_DATA_LANGUAGE = -1; int PREF_DEF_DATA_LANGUAGE = -1;
String PREF_KEY_WORDS_SPLIT = "pref_key_words_split"; String PREF_KEY_WORDS_SPLIT = "pref_key_words_split";
int PREF_DEF_KEY_WORDS_SPLIT = -1; int PREF_DEF_KEY_WORDS_SPLIT = 1;
String PREF_GAME_FONT = "pref_key_game_font_name"; String PREF_GAME_FONT = "pref_key_game_font_name";
String PREF_USE_EXTRA_CARD_CARDS = "settings_game_diy_card_db"; String PREF_USE_EXTRA_CARD_CARDS = "settings_game_diy_card_db";
boolean PREF_DEF_USE_EXTRA_CARD_CARDS = true; boolean PREF_DEF_USE_EXTRA_CARD_CARDS = true;
......
...@@ -10,6 +10,8 @@ import android.view.inputmethod.EditorInfo; ...@@ -10,6 +10,8 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView.OnEditorActionListener; import android.widget.TextView.OnEditorActionListener;
...@@ -43,11 +45,8 @@ import ocgcore.enums.LimitType; ...@@ -43,11 +45,8 @@ import ocgcore.enums.LimitType;
public class CardSearcher implements View.OnClickListener { public class CardSearcher implements View.OnClickListener {
private static final String TAG = "CardSearcher"; private static final String TAG = "CardSearcher";
final String[] BtnVals = new String[9]; final String[] BtnVals = new String[9];
protected StringManager mStringManager;
protected LimitManager mLimitManager;
protected AppsSettings mSettings;
private int lineKey;
private final EditText keyWord; private final EditText keyWord;
private final CheckBox chk_multi_keyword;
private final Spinner otSpinner; private final Spinner otSpinner;
private final Spinner limitSpinner; private final Spinner limitSpinner;
private final Spinner limitListSpinner; private final Spinner limitListSpinner;
...@@ -72,19 +71,13 @@ public class CardSearcher implements View.OnClickListener { ...@@ -72,19 +71,13 @@ public class CardSearcher implements View.OnClickListener {
private final ICardSearcher dataLoader; private final ICardSearcher dataLoader;
private final Context mContext; private final Context mContext;
private final Button myFavButton; private final Button myFavButton;
private final ICardSearcher mCardLoader;
protected StringManager mStringManager;
protected LimitManager mLimitManager;
protected AppsSettings mSettings;
private int lineKey;
private CallBack mCallBack; private CallBack mCallBack;
private boolean mShowFavorite; private boolean mShowFavorite;
private final ICardSearcher mCardLoader;
public interface CallBack {
void onSearchStart();
void onSearchResult(List<Card> Cards, boolean isHide);
}
public void setCallBack(CallBack callBack) {
mCallBack = callBack;
}
public CardSearcher(View view, ICardSearcher dataLoader) { public CardSearcher(View view, ICardSearcher dataLoader) {
this.view = view; this.view = view;
...@@ -94,6 +87,7 @@ public class CardSearcher implements View.OnClickListener { ...@@ -94,6 +87,7 @@ public class CardSearcher implements View.OnClickListener {
mStringManager = DataManager.get().getStringManager(); mStringManager = DataManager.get().getStringManager();
mLimitManager = DataManager.get().getLimitManager(); mLimitManager = DataManager.get().getLimitManager();
keyWord = findViewById(R.id.edt_word1); keyWord = findViewById(R.id.edt_word1);
chk_multi_keyword = findViewById(R.id.chk_multi_keyword);
otSpinner = findViewById(R.id.sp_ot); otSpinner = findViewById(R.id.sp_ot);
limitSpinner = findViewById(R.id.sp_limit); limitSpinner = findViewById(R.id.sp_limit);
limitListSpinner = findViewById(R.id.sp_limit_list); limitListSpinner = findViewById(R.id.sp_limit_list);
...@@ -133,9 +127,16 @@ public class CardSearcher implements View.OnClickListener { ...@@ -133,9 +127,16 @@ public class CardSearcher implements View.OnClickListener {
}; };
keyWord.setOnEditorActionListener(searchListener); keyWord.setOnEditorActionListener(searchListener);
chk_multi_keyword.setChecked(mSettings.getKeyWordsSplit() == 0 ? false : true);
chk_multi_keyword.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mSettings.setKeyWordsSplit(isChecked ? 1 : 0);
}
});
myFavButton.setOnClickListener(v -> { myFavButton.setOnClickListener(v -> {
if(isShowFavorite()){ if (isShowFavorite()) {
hideFavorites(true); hideFavorites(true);
} else { } else {
showFavorites(true); showFavorites(true);
...@@ -274,6 +275,10 @@ public class CardSearcher implements View.OnClickListener { ...@@ -274,6 +275,10 @@ public class CardSearcher implements View.OnClickListener {
}); });
} }
public void setCallBack(CallBack callBack) {
mCallBack = callBack;
}
public void showFavorites(boolean showList) { public void showFavorites(boolean showList) {
mShowFavorite = true; mShowFavorite = true;
myFavButton.setSelected(true); myFavButton.setSelected(true);
...@@ -287,7 +292,7 @@ public class CardSearcher implements View.OnClickListener { ...@@ -287,7 +292,7 @@ public class CardSearcher implements View.OnClickListener {
} }
} }
public void hideFavorites(boolean reload){ public void hideFavorites(boolean reload) {
mShowFavorite = false; mShowFavorite = false;
myFavButton.setSelected(false); myFavButton.setSelected(false);
if (mCallBack != null) { if (mCallBack != null) {
...@@ -338,10 +343,6 @@ public class CardSearcher implements View.OnClickListener { ...@@ -338,10 +343,6 @@ public class CardSearcher implements View.OnClickListener {
return v; return v;
} }
/*public void showDeckList() {
findViewById(R.id.layout_deck_list).setVisibility(View.VISIBLE);
}*/
private void initOtSpinners(Spinner spinner) { private void initOtSpinners(Spinner spinner) {
List<SimpleSpinnerItem> items = new ArrayList<>(); List<SimpleSpinnerItem> items = new ArrayList<>();
for (CardOt item : CardOt.values()) { for (CardOt item : CardOt.values()) {
...@@ -526,7 +527,7 @@ public class CardSearcher implements View.OnClickListener { ...@@ -526,7 +527,7 @@ public class CardSearcher implements View.OnClickListener {
} }
private int getIntSelect(Spinner spinner) { private int getIntSelect(Spinner spinner) {
return (int)getSelect(spinner); return (int) getSelect(spinner);
} }
private long getSelect(Spinner spinner) { private long getSelect(Spinner spinner) {
...@@ -586,7 +587,7 @@ public class CardSearcher implements View.OnClickListener { ...@@ -586,7 +587,7 @@ public class CardSearcher implements View.OnClickListener {
}) })
.linkKey(lineKey) .linkKey(lineKey)
.build(); .build();
Log.i(TAG,searchInfo.toString()); Log.i(TAG, searchInfo.toString());
dataLoader.search(searchInfo); dataLoader.search(searchInfo);
lineKey = 0; lineKey = 0;
} }
...@@ -622,4 +623,10 @@ public class CardSearcher implements View.OnClickListener { ...@@ -622,4 +623,10 @@ public class CardSearcher implements View.OnClickListener {
atkText.setText(null); atkText.setText(null);
defText.setText(null); defText.setText(null);
} }
public interface CallBack {
void onSearchStart();
void onSearchResult(List<Card> Cards, boolean isHide);
}
} }
...@@ -582,12 +582,6 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -582,12 +582,6 @@ public class SettingFragment extends PreferenceFragmentPlus {
if (new File(fonts).list() != null) if (new File(fonts).list() != null)
FileUtils.delFile(fonts); FileUtils.delFile(fonts);
IOUtils.copyFilesFromAssets(getContext(), getDatapath(Constants.FONT_DIRECTORY), mSettings.getFontDirPath(), true); IOUtils.copyFilesFromAssets(getContext(), getDatapath(Constants.FONT_DIRECTORY), mSettings.getFontDirPath(), true);
//选择搜索时的关键字分隔方法
if (mSettings.getKeyWordsSplit() == -1) {//如果设置则为空格
mSettings.setKeyWordsSplit(AppsSettings.keyWordsSplitEnum.Space.code);
} else {
mSettings.setKeyWordsSplit(mSettings.getKeyWordsSplit());
}
//根据系统语言复制特定资料文件 //根据系统语言复制特定资料文件
if (mSettings.getDataLanguage() == -1) {//如果未在App中指定语言,则查询系统语言并进行设置 if (mSettings.getDataLanguage() == -1) {//如果未在App中指定语言,则查询系统语言并进行设置
String language = getContext().getResources().getConfiguration().locale.getLanguage(); String language = getContext().getResources().getConfiguration().locale.getLanguage();
......
...@@ -238,32 +238,35 @@ ...@@ -238,32 +238,35 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginRight="10dp"
android:orientation="horizontal"> android:layout_marginLeft="10dp">
<com.google.android.material.textfield.TextInputLayout <androidx.appcompat.widget.AppCompatEditText
android:layout_width="0dp" android:id="@+id/edt_word1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_gravity="center_vertical"
android:layout_weight="1"> android:hint="@string/hit_keyword1"
android:imeOptions="actionSearch"
<androidx.appcompat.widget.AppCompatEditText android:inputType="textNoSuggestions"
android:id="@+id/edt_word1" android:maxLines="1"
android:layout_width="match_parent" android:singleLine="true"
android:layout_height="wrap_content" android:textColorHint="@color/gold" />
android:layout_gravity="center_vertical" </com.google.android.material.textfield.TextInputLayout>
android:hint="@string/hit_keyword1"
android:imeOptions="actionSearch" <CheckBox
android:inputType="textNoSuggestions" android:id="@+id/chk_multi_keyword"
android:maxLines="1" android:layout_width="match_parent"
android:singleLine="true" android:layout_height="wrap_content"
android:textColorHint="@color/gold" /> android:layout_marginRight="10dp"
</com.google.android.material.textfield.TextInputLayout> android:layout_marginLeft="10dp"
android:layout_marginBottom="30dp"
</LinearLayout> android:textSize="10sp"
android:text="@string/settings_key_words_split"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -97,10 +97,6 @@ ...@@ -97,10 +97,6 @@
<item>Español</item> <item>Español</item>
<item>Japonés</item> <item>Japonés</item>
</string-array> </string-array>
<string-array name="key_words_split" translatable="false">
<item>(Space)</item>
<item>%%</item>
</string-array>
<string-array name="screen_top_bottom_desc" translatable="false"> <string-array name="screen_top_bottom_desc" translatable="false">
<item>Deshabilitado</item> <item>Deshabilitado</item>
<item>5</item> <item>5</item>
...@@ -365,7 +361,7 @@ ...@@ -365,7 +361,7 @@
<string name="login_succeed">Inicio de sesión exitoso</string> <string name="login_succeed">Inicio de sesión exitoso</string>
<string name="reChatJoining">Volver a iniciar sesión...</string> <string name="reChatJoining">Volver a iniciar sesión...</string>
<string name="settings_data_language">Elegir Idioma</string> <string name="settings_data_language">Elegir Idioma</string>
<string name="settings_key_words_split">更改关键词搜索分隔方式</string> <string name="settings_key_words_split">Búsqueda con múltiples palabras clave (separadas por espacios)</string>
<string name="settings_data_language_about">Cambiar el idioma de la interfaz de usuario de YGOMobile y la base de datos de las cartas</string> <string name="settings_data_language_about">Cambiar el idioma de la interfaz de usuario de YGOMobile y la base de datos de las cartas</string>
<string name="find_in_page">Buscar: </string> <string name="find_in_page">Buscar: </string>
<string name="tip_card_info_diff">Esta carta no está incluida en YGOMobile. Intente actualizar YGOMobile o verifique si la carta está disponible en el paquete de cartas de expansión.</string> <string name="tip_card_info_diff">Esta carta no está incluida en YGOMobile. Intente actualizar YGOMobile o verifique si la carta está disponible en el paquete de cartas de expansión.</string>
......
...@@ -89,10 +89,6 @@ ...@@ -89,10 +89,6 @@
<item>Español</item> <item>Español</item>
<item>日本語</item> <item>日本語</item>
</string-array> </string-array>
<string-array name="key_words_split" translatable="false">
<item>(Space)</item>
<item>%%</item>
</string-array>
<!-- settings --> <!-- settings -->
<string name="server_list">ヂュエル</string> <string name="server_list">ヂュエル</string>
<string name="server_name">サーバー名:</string> <string name="server_name">サーバー名:</string>
...@@ -360,7 +356,7 @@ ...@@ -360,7 +356,7 @@
<string name="login_succeed">登録成功</string> <string name="login_succeed">登録成功</string>
<string name="reChatJoining">接続は切断された,最接続中……</string> <string name="reChatJoining">接続は切断された,最接続中……</string>
<string name="settings_data_language">言語を変更します</string> <string name="settings_data_language">言語を変更します</string>
<string name="settings_key_words_split">更改关键词搜索分隔方式</string> <string name="settings_key_words_split">複数キーワード検索(スペースで区切る)</string>
<string name="settings_data_language_about">YGOPROのUI、説明文やテキストを切り替えます</string> <string name="settings_data_language_about">YGOPROのUI、説明文やテキストを切り替えます</string>
<string name="tip_card_info_diff">未確認カードです。ソフトを更新してくださいまたは非公式データを更新してください。</string> <string name="tip_card_info_diff">未確認カードです。ソフトを更新してくださいまたは非公式データを更新してください。</string>
<string name="tip_deckInfo_isNot_completeDeck">デッキ解析異常,オフィシャルパスコードに変更してください</string> <string name="tip_deckInfo_isNot_completeDeck">デッキ解析異常,オフィシャルパスコードに変更してください</string>
......
...@@ -89,10 +89,6 @@ ...@@ -89,10 +89,6 @@
<item>Español</item> <item>Español</item>
<item>日本語</item> <item>日本語</item>
</string-array> </string-array>
<string-array name="key_words_split" translatable="false">
<item>(Space)</item>
<item>%%</item>
</string-array>
<!-- settings --> <!-- settings -->
<string name="server_list">다이렉트 듀얼</string> <string name="server_list">다이렉트 듀얼</string>
<string name="server_name">이름:</string> <string name="server_name">이름:</string>
...@@ -359,7 +355,7 @@ ...@@ -359,7 +355,7 @@
<string name="login_succeed">채팅 방에 로그인되었습니다</string> <string name="login_succeed">채팅 방에 로그인되었습니다</string>
<string name="reChatJoining">다시 로그인 중\.\.\.</string> <string name="reChatJoining">다시 로그인 중\.\.\.</string>
<string name="settings_data_language">언어</string> <string name="settings_data_language">언어</string>
<string name="settings_key_words_split">更改关键词搜索分隔方式</string> <string name="settings_key_words_split">다중 키워드 검색 (공백으로 구분)</string>
<string name="settings_data_language_about">게임 데이터 언어를 변경합니다.</string> <string name="settings_data_language_about">게임 데이터 언어를 변경합니다.</string>
<string name="find_in_page">" 발견:"</string> <string name="find_in_page">" 발견:"</string>
<string name="tip_card_info_diff">몇몇 특수한 카드들을 제외하고 8자리 코드번호를 초과하는 카드들은 프리릴리즈 카드로, 프리릴리즈카드를 허용하는 서버 에서만 사용이 가능합니다.</string> <string name="tip_card_info_diff">몇몇 특수한 카드들을 제외하고 8자리 코드번호를 초과하는 카드들은 프리릴리즈 카드로, 프리릴리즈카드를 허용하는 서버 에서만 사용이 가능합니다.</string>
......
...@@ -89,10 +89,6 @@ ...@@ -89,10 +89,6 @@
<item>Español</item> <item>Español</item>
<item>日本語</item> <item>日本語</item>
</string-array> </string-array>
<string-array name="key_words_split" translatable="false">
<item>(Space)</item>
<item>%%</item>
</string-array>
<!-- settings --> <!-- settings -->
<string name="server_list">联机对战</string> <string name="server_list">联机对战</string>
<string name="server_name">名称:</string> <string name="server_name">名称:</string>
...@@ -360,7 +356,7 @@ ...@@ -360,7 +356,7 @@
<string name="login_succeed">登录成功</string> <string name="login_succeed">登录成功</string>
<string name="reChatJoining">连接断开,重新登陆中……</string> <string name="reChatJoining">连接断开,重新登陆中……</string>
<string name="settings_data_language">切换资料语言</string> <string name="settings_data_language">切换资料语言</string>
<string name="settings_key_words_split">更改关键词搜索分隔方式</string> <string name="settings_key_words_split">多关键词搜索(空格隔开)</string>
<string name="settings_data_language_about">切换ygopro界面和效果说明文字等的语言</string> <string name="settings_data_language_about">切换ygopro界面和效果说明文字等的语言</string>
<string name="tip_card_info_diff">软件未收录此卡。请尝试更新软件,或查看扩展卡包中是否有此卡。</string> <string name="tip_card_info_diff">软件未收录此卡。请尝试更新软件,或查看扩展卡包中是否有此卡。</string>
<string name="tip_deckInfo_isNot_completeDeck">当前卡组解析异常,将尽量转换为已有卡片</string> <string name="tip_deckInfo_isNot_completeDeck">当前卡组解析异常,将尽量转换为已有卡片</string>
......
...@@ -16,10 +16,6 @@ ...@@ -16,10 +16,6 @@
<item>3</item> <item>3</item>
<item>4</item> <item>4</item>
</string-array> </string-array>
<string-array name="key_words_split_value" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
<string-array name="screen_top_bottom_value" translatable="false"> <string-array name="screen_top_bottom_value" translatable="false">
<item>0</item> <item>0</item>
<item>5</item> <item>5</item>
......
...@@ -98,10 +98,6 @@ ...@@ -98,10 +98,6 @@
<item>Español</item> <item>Español</item>
<item>日本語</item> <item>日本語</item>
</string-array> </string-array>
<string-array name="key_words_split" translatable="false">
<item>(Space)</item>
<item>%%</item>
</string-array>
<string-array name="screen_top_bottom_desc" translatable="false"> <string-array name="screen_top_bottom_desc" translatable="false">
<item>Disable</item> <item>Disable</item>
<item>5</item> <item>5</item>
...@@ -368,7 +364,7 @@ ...@@ -368,7 +364,7 @@
<string name="login_succeed">Chatroom logined</string> <string name="login_succeed">Chatroom logined</string>
<string name="reChatJoining">relogining\.\.\.</string> <string name="reChatJoining">relogining\.\.\.</string>
<string name="settings_data_language">Language</string> <string name="settings_data_language">Language</string>
<string name="settings_key_words_split">change the way of inputting the keywords </string> <string name="settings_key_words_split">Multi-keyword search (separated by spaces)</string>
<string name="settings_data_language_about">change language of YGOPro UI and card database </string> <string name="settings_data_language_about">change language of YGOPro UI and card database </string>
<string name="find_in_page">find:</string> <string name="find_in_page">find:</string>
<string name="tip_card_info_diff">Released and Pre-released Cards are different,pls note after patch them</string> <string name="tip_card_info_diff">Released and Pre-released Cards are different,pls note after patch them</string>
......
...@@ -114,12 +114,6 @@ ...@@ -114,12 +114,6 @@
android:key="pref_key_game_lab_pendulum_scale" android:key="pref_key_game_lab_pendulum_scale"
android:persistent="true" android:persistent="true"
android:title="@string/settings_game_lab_pendulum_scale" /> android:title="@string/settings_game_lab_pendulum_scale" />
<ListPreference
android:entries="@array/key_words_split"
android:entryValues="@array/key_words_split_value"
android:key="pref_key_words_split"
android:persistent="true"
android:title="@string/settings_key_words_split" />
<!--<CheckBoxPreference <!--<CheckBoxPreference
android:key="pref_settings_deck_manager_v2" android:key="pref_settings_deck_manager_v2"
android:persistent="true" android:persistent="true"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment