From 285e2e7f1344cdbdfe8ef4a8324423c4bd5d396c Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 9 Feb 2016 14:45:54 +0100 Subject: [PATCH] Port forwarding UDP/TCP dropdown Refs #303 --- .../faircode/netguard/ActivityForwarding.java | 14 +++++--- app/src/main/res/layout/forwardadd.xml | 32 +++++++++++++------ app/src/main/res/values/strings.xml | 10 ++++++ 3 files changed, 42 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/eu/faircode/netguard/ActivityForwarding.java b/app/src/main/java/eu/faircode/netguard/ActivityForwarding.java index 8ac3eac4..0e86680b 100644 --- a/app/src/main/java/eu/faircode/netguard/ActivityForwarding.java +++ b/app/src/main/java/eu/faircode/netguard/ActivityForwarding.java @@ -35,6 +35,7 @@ import android.widget.AdapterView; import android.widget.EditText; import android.widget.ListView; import android.widget.PopupMenu; +import android.widget.Spinner; import android.widget.Toast; import java.net.InetAddress; @@ -66,7 +67,6 @@ public class ActivityForwarding extends AppCompatActivity { lvForwarding.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - PackageManager pm = getPackageManager(); Cursor cursor = (Cursor) adapter.getItem(position); final int protocol = cursor.getInt(cursor.getColumnIndex("protocol")); final int dport = cursor.getInt(cursor.getColumnIndex("dport")); @@ -75,7 +75,9 @@ public class ActivityForwarding extends AppCompatActivity { PopupMenu popup = new PopupMenu(ActivityForwarding.this, view); popup.inflate(R.menu.forward); - popup.getMenu().findItem(R.id.menu_port).setTitle(dport + " > " + raddr + "/" + rport); + popup.getMenu().findItem(R.id.menu_port).setTitle( + Util.getProtocolName(protocol, 0, false) + " " + + dport + " > " + raddr + "/" + rport); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override @@ -119,7 +121,7 @@ public class ActivityForwarding extends AppCompatActivity { case R.id.menu_add: LayoutInflater inflater = LayoutInflater.from(this); View view = inflater.inflate(R.layout.forwardadd, null); - final EditText etProtocol = (EditText) view.findViewById(R.id.etProtocol); + final Spinner spProtocol = (Spinner) view.findViewById(R.id.spProtocol); final EditText etDPort = (EditText) view.findViewById(R.id.etDPort); final EditText etRAddr = (EditText) view.findViewById(R.id.etRAddr); final EditText etRPort = (EditText) view.findViewById(R.id.etRPort); @@ -129,12 +131,14 @@ public class ActivityForwarding extends AppCompatActivity { dialog = new AlertDialog.Builder(this) .setView(view) - .setCancelable(false) + .setCancelable(true) .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { try { - final int protocol = Integer.parseInt(etProtocol.getText().toString()); + int pos = spProtocol.getSelectedItemPosition(); + String[] values = getResources().getStringArray(R.array.protocolValues); + final int protocol = Integer.valueOf(values[pos]); final int dport = Integer.parseInt(etDPort.getText().toString()); final String raddr = etRAddr.getText().toString(); final int rport = Integer.parseInt(etRPort.getText().toString()); diff --git a/app/src/main/res/layout/forwardadd.xml b/app/src/main/res/layout/forwardadd.xml index ba9053a8..c16208c0 100644 --- a/app/src/main/res/layout/forwardadd.xml +++ b/app/src/main/res/layout/forwardadd.xml @@ -29,6 +29,13 @@ android:textStyle="bold" /> + + + android:textAppearance="@style/TextSmall" /> - + android:textAppearance="@style/TextSmall" /> + android:textAppearance="@style/TextSmall" /> + android:textAppearance="@style/TextSmall" /> + android:textAppearance="@style/TextSmall" /> 6 + + UDP + TCP + + + + 17 + 6 + + ef46f813d2c8a064d72c936b9b96d1cccc989378