summaryrefslogtreecommitdiff
path: root/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java')
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java b/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
index 14c089f5..c0bda8d1 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
@@ -19,6 +19,7 @@ import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RadioGroup;
+import android.widget.SeekBar;
import android.widget.Switch;
import java.util.Arrays;
@@ -55,6 +56,8 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
private final CheckBox mCustomOptionCB;
private final View mCustomOptionsLayout;
private final ImageButton mDeleteButton;
+ private final EditText mConnectText;
+ private final SeekBar mConnectSlider;
public ConnectionsHolder(View card) {
super(card);
@@ -66,6 +69,8 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
mProtoGroup = (RadioGroup) card.findViewById(R.id.udptcpradiogroup);
mCustomOptionsLayout = card.findViewById(R.id.custom_options_layout);
mDeleteButton = (ImageButton) card.findViewById(R.id.remove_connection);
+ mConnectSlider = (SeekBar) card.findViewById(R.id.connect_silder);
+ mConnectText = (EditText) card.findViewById(R.id.connect_timeout);
}
}
@@ -109,6 +114,13 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
cH.mServerNameView.setText(connection.mServerName);
cH.mPortNumberView.setText(connection.mServerPort);
cH.mRemoteSwitch.setChecked(connection.mEnabled);
+ if (connection.mConnectTimeout==0) {
+ cH.mConnectText.setText("");
+ } else {
+ cH.mConnectText.setText(String.valueOf(connection.mConnectTimeout));
+ }
+ cH.mConnectSlider.setProgress(connection.mConnectTimeout);
+
cH.mRemoteSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -182,6 +194,38 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
}
});
+ cH.mConnectSlider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ if (fromUser) {
+ cH.mConnectText.setText(String.valueOf(progress));
+ connection.mConnectTimeout = progress;
+ }
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+
+ }
+ });
+ cH.mConnectText.addTextChangedListener(new OnTextChangedWatcher() {
+ @Override
+ public void afterTextChanged(Editable s) {
+ try {
+ int t = Integer.valueOf(String.valueOf(s));
+ cH.mConnectSlider.setProgress(t);
+ connection.mConnectTimeout = t;
+ } catch (Exception ignored) {
+
+ }
+ }
+ });
+
}
private void removeRemote(int idx) {