Add text detect

pull/142/head
FongMi 3 years ago
parent cab70f4eee
commit 14afab37a5
  1. 23
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java
  2. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ProxyDialog.java
  3. 26
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java

@ -16,6 +16,7 @@ import com.fongmi.android.tv.api.WallConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.databinding.DialogConfigBinding;
import com.fongmi.android.tv.impl.ConfigCallback;
import com.fongmi.android.tv.ui.custom.CustomTextListener;
import com.fongmi.android.tv.utils.FileChooser;
import com.fongmi.android.tv.utils.Utils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@ -26,6 +27,7 @@ public class ConfigDialog {
private final ConfigCallback callback;
private final Fragment fragment;
private AlertDialog dialog;
private boolean append;
private String url;
private int type;
@ -42,6 +44,7 @@ public class ConfigDialog {
this.fragment = fragment;
this.callback = (ConfigCallback) fragment;
this.binding = DialogConfigBinding.inflate(LayoutInflater.from(fragment.getContext()));
this.append = true;
}
public void show() {
@ -63,6 +66,12 @@ public class ConfigDialog {
}
private void initEvent() {
binding.text.addTextChangedListener(new CustomTextListener() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
detect(s.toString());
}
});
binding.text.setOnEditorActionListener((textView, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_DONE) dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
return true;
@ -87,6 +96,20 @@ public class ConfigDialog {
dialog.dismiss();
}
private void detect(String s) {
if (append && s.equalsIgnoreCase("h")) {
append = false;
binding.text.append("ttp://");
} else if (append && s.equalsIgnoreCase("f")) {
append = false;
binding.text.append("ile://");
} else if (s.length() > 1) {
append = false;
} else if (s.length() == 0) {
append = true;
}
}
private void onPositive(DialogInterface dialog, int which) {
String text = Utils.checkClan(binding.text.getText().toString().trim());
if (text.isEmpty()) Config.delete(url, type);

@ -64,10 +64,10 @@ public class ProxyDialog {
}
private void detect(String s) {
if (append && s.equals("h")) {
if (append && s.equalsIgnoreCase("h")) {
append = false;
binding.text.append("ttp://");
} else if (append && s.equals("s")) {
} else if (append && s.equalsIgnoreCase("s")) {
append = false;
binding.text.append("ocks5://");
} else if (append && s.length() == 1) {

@ -12,13 +12,18 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.databinding.DialogUaBinding;
import com.fongmi.android.tv.impl.UaCallback;
import com.fongmi.android.tv.ui.custom.CustomTextListener;
import com.fongmi.android.tv.utils.Sniffer;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import okhttp3.internal.Util;
public class UaDialog {
private final DialogUaBinding binding;
private final UaCallback callback;
private AlertDialog dialog;
private boolean append;
public static UaDialog create(Fragment fragment) {
return new UaDialog(fragment);
@ -27,6 +32,7 @@ public class UaDialog {
public UaDialog(Fragment fragment) {
this.callback = (UaCallback) fragment;
this.binding = DialogUaBinding.inflate(LayoutInflater.from(fragment.getContext()));
this.append = true;
}
public void show() {
@ -48,12 +54,32 @@ public class UaDialog {
}
private void initEvent() {
binding.text.addTextChangedListener(new CustomTextListener() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
detect(s.toString());
}
});
binding.text.setOnEditorActionListener((textView, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_DONE) dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
return true;
});
}
private void detect(String s) {
if (append && s.equalsIgnoreCase("c")) {
append = false;
binding.text.setText(Sniffer.CHROME);
} else if (append && s.equalsIgnoreCase("o")) {
append = false;
binding.text.setText(Util.userAgent);
} else if (s.length() > 1) {
append = false;
} else if (s.length() == 0) {
append = true;
}
}
private void onPositive(DialogInterface dialog, int which) {
callback.setUa(binding.text.getText().toString().trim());
dialog.dismiss();

Loading…
Cancel
Save