From 0e6ae1dc4f01a48856755a45e22d4a64991fe8b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Tue, 28 Jan 2014 20:46:45 +0100 Subject: Android support library v4 added. Look at https://leap.se/code/issues/5062#note-3: I'm going to remove android-support-v4.jar from .gitignore based on https://developer.android.com/tools/support-library/index.html#overview and http://www.in-nomine.org/2012/02/26/adding-android-support-v4-to-your-android-application-in-intellij-idea/ --- tests/libs/android-support-v4.jar | Bin 0 -> 627582 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/libs/android-support-v4.jar diff --git a/tests/libs/android-support-v4.jar b/tests/libs/android-support-v4.jar new file mode 100644 index 00000000..96644edb Binary files /dev/null and b/tests/libs/android-support-v4.jar differ -- cgit v1.2.3 From 8d1b47a498df5d0f4e4e619f8373aaa1ad4dcd90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 29 Jan 2014 16:29:11 +0100 Subject: testSwitchProvider updated. It shouldn't expect the previous provider to be back again pressing the back button after hitting "Switch provider". --- .../se/leap/bitmaskclient/test/testDashboard.java | 60 ++++++++++------------ 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/tests/src/se/leap/bitmaskclient/test/testDashboard.java b/tests/src/se/leap/bitmaskclient/test/testDashboard.java index 31039797..a6b25c0a 100644 --- a/tests/src/se/leap/bitmaskclient/test/testDashboard.java +++ b/tests/src/se/leap/bitmaskclient/test/testDashboard.java @@ -1,18 +1,22 @@ package se.leap.bitmaskclient.test; -import se.leap.bitmaskclient.ConfigurationWizard; -import se.leap.bitmaskclient.Dashboard; -import se.leap.bitmaskclient.R; -import se.leap.openvpn.MainActivity; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.net.ConnectivityManager; import android.provider.Settings; import android.test.ActivityInstrumentationTestCase2; import android.util.Log; - import com.jayway.android.robotium.solo.Solo; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import se.leap.bitmaskclient.ConfigurationWizard; +import se.leap.bitmaskclient.Dashboard; +import se.leap.bitmaskclient.R; +import se.leap.openvpn.MainActivity; public class testDashboard extends ActivityInstrumentationTestCase2 { @@ -97,10 +101,6 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { solo.clickOnMenuItem("Switch provider"); solo.waitForActivity(ConfigurationWizard.class); solo.goBack(); - - solo.clickOnMenuItem("Switch provider"); - solo.waitForActivity(ConfigurationWizard.class); - solo.goBack(); } public void testIcsOpenVpnInterface() { @@ -113,28 +113,24 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { solo.waitForActivity(MainActivity.class); } - private void setAirplaneMode(boolean airplane_mode) { - Context context = solo.getCurrentActivity().getApplicationContext(); - boolean isEnabled = Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1; - Log.d("AirplaneMode", "Service state: " + isEnabled); - Settings.System.putInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, airplane_mode ? 1 : 0); - - // Post an intent to reload - Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); - intent.putExtra("state", airplane_mode); - Log.d("AirplaneMode", "New Service state: " + !isEnabled); - solo.getCurrentActivity().sendBroadcast(intent); - - IntentFilter intentFilter = new IntentFilter("android.intent.action.SERVICE_STATE"); - - BroadcastReceiver receiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - boolean isEnabled = Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1; - Log.d("AirplaneMode", "Service state changed: " + isEnabled); - } - }; - - context.registerReceiver(receiver, intentFilter); + private void setAirplaneMode(boolean airplane_mode) { + Context context = solo.getCurrentActivity().getApplicationContext(); + final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + try { + final Class conmanClass = Class.forName(conman.getClass().getName()); + final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService"); + iConnectivityManagerField.setAccessible(true); + final Object iConnectivityManager = iConnectivityManagerField.get(conman); + final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); + final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE); + setMobileDataEnabledMethod.setAccessible(true); + + setMobileDataEnabledMethod.invoke(iConnectivityManager, !airplane_mode); + } catch (ClassNotFoundException e) { + } catch (NoSuchMethodException e) { + } catch (IllegalAccessException e) { + } catch (NoSuchFieldException e) { + } catch (InvocationTargetException e) { } + } } -- cgit v1.2.3 From 00dedc1f763093eb22bec0ff15c9fbdb7ca88d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 29 Jan 2014 17:09:12 +0100 Subject: New method to set on/off data connection. Used in tests, but it's going to be used in the near future when blocking data connections until EIP is on. --- AndroidManifest.xml | 3 +- .../leap/bitmaskclient/test/ConnectionManager.java | 36 +++++++++++++++++++ .../test/testConfigurationWizard.java | 10 +++--- .../se/leap/bitmaskclient/test/testDashboard.java | 40 ++++------------------ 4 files changed, 49 insertions(+), 40 deletions(-) create mode 100644 tests/src/se/leap/bitmaskclient/test/ConnectionManager.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 9c154c04..505f6ee1 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -22,7 +22,8 @@ - + + diff --git a/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java b/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java new file mode 100644 index 00000000..8722bb13 --- /dev/null +++ b/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java @@ -0,0 +1,36 @@ +package se.leap.bitmaskclient.test; + +import android.content.Context; +import android.net.ConnectivityManager; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import android.util.Log; + +public class ConnectionManager { + static void setMobileDataEnabled(boolean enabled, Context context) { + final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + try { + final Class conmanClass = Class.forName(conman.getClass().getName()); + final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService"); + iConnectivityManagerField.setAccessible(true); + final Object iConnectivityManager = iConnectivityManagerField.get(conman); + final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); + final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE); + setMobileDataEnabledMethod.setAccessible(true); + + setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled); + Log.d("testDashboard", "setMobileDataEnabled(" + enabled + ");"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } +} diff --git a/tests/src/se/leap/bitmaskclient/test/testConfigurationWizard.java b/tests/src/se/leap/bitmaskclient/test/testConfigurationWizard.java index 55fd87ae..847d8cdd 100644 --- a/tests/src/se/leap/bitmaskclient/test/testConfigurationWizard.java +++ b/tests/src/se/leap/bitmaskclient/test/testConfigurationWizard.java @@ -1,15 +1,14 @@ package se.leap.bitmaskclient.test; +import android.test.ActivityInstrumentationTestCase2; +import android.widget.ListView; +import com.jayway.android.robotium.solo.Solo; import java.io.IOException; - import se.leap.bitmaskclient.AboutActivity; import se.leap.bitmaskclient.ConfigurationWizard; import se.leap.bitmaskclient.ProviderDetailFragment; import se.leap.bitmaskclient.R; -import android.test.ActivityInstrumentationTestCase2; -import android.widget.ListView; - -import com.jayway.android.robotium.solo.Solo; +import se.leap.bitmaskclient.test.ConnectionManager; public class testConfigurationWizard extends ActivityInstrumentationTestCase2 { @@ -24,6 +23,7 @@ public class testConfigurationWizard extends ActivityInstrumentationTestCase2 { @@ -30,7 +26,7 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { protected void setUp() throws Exception { super.setUp(); solo = new Solo(getInstrumentation(), getActivity()); - setAirplaneMode(false); + ConnectionManager.setMobileDataEnabled(true, solo.getCurrentActivity().getApplicationContext()); } @Override @@ -53,21 +49,18 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { solo.clickOnView(solo.getView(R.id.eipSwitch)); if(!solo.waitForText("Not running! Connection not secure")) - fail(); - /* setAirplaneMode isn't working right now. - setAirplaneMode(true); - if(!solo.waitForLogMessage("Service state changed")) - fail(); + fail(); + + ConnectionManager.setMobileDataEnabled(false, solo.getCurrentActivity().getApplicationContext()); solo.clickOnView(solo.getView(R.id.eipSwitch)); if(!solo.waitForText("Initiating connection")) fail(); if(!solo.waitForText("Waiting for usable network")) fail(); - */ } - public void testLogInAndOut() { + public void testLogInAndOut() { long miliseconds_to_log_in = 40 * 1000; solo.clickOnActionBarItem(R.id.login_button); solo.enterText(0, "parmegvtest1"); @@ -112,25 +105,4 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { solo.clickOnMenuItem("ICS OpenVPN Interface"); solo.waitForActivity(MainActivity.class); } - - private void setAirplaneMode(boolean airplane_mode) { - Context context = solo.getCurrentActivity().getApplicationContext(); - final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - try { - final Class conmanClass = Class.forName(conman.getClass().getName()); - final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService"); - iConnectivityManagerField.setAccessible(true); - final Object iConnectivityManager = iConnectivityManagerField.get(conman); - final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); - final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE); - setMobileDataEnabledMethod.setAccessible(true); - - setMobileDataEnabledMethod.invoke(iConnectivityManager, !airplane_mode); - } catch (ClassNotFoundException e) { - } catch (NoSuchMethodException e) { - } catch (IllegalAccessException e) { - } catch (NoSuchFieldException e) { - } catch (InvocationTargetException e) { - } - } } -- cgit v1.2.3 From 6c7eda789ac7ee5c0369409cb27430f0074dfc07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 30 Jan 2014 18:59:07 +0100 Subject: Set data connection status works. Tested both in real device with Cyanogenmod 4.3.1 and in api 18 emulator. Next step: wi-fi toggling. --- AndroidManifest.xml | 3 ++ .../leap/bitmaskclient/test/ConnectionManager.java | 33 ++++++++-------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 505f6ee1..2ac10a26 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -24,6 +24,9 @@ + + + diff --git a/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java b/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java index 8722bb13..62a8f0ad 100644 --- a/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java +++ b/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java @@ -10,27 +10,18 @@ import android.util.Log; public class ConnectionManager { static void setMobileDataEnabled(boolean enabled, Context context) { final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - try { - final Class conmanClass = Class.forName(conman.getClass().getName()); - final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService"); - iConnectivityManagerField.setAccessible(true); - final Object iConnectivityManager = iConnectivityManagerField.get(conman); - final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); - final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE); - setMobileDataEnabledMethod.setAccessible(true); - - setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled); - Log.d("testDashboard", "setMobileDataEnabled(" + enabled + ");"); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (NoSuchFieldException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); + Method[] methods = conman.getClass().getMethods(); + for (Method method : methods) { + if (method.getName().equals("setMobileDataEnabled")) { + method.setAccessible(true); + try { + method.invoke(conman, enabled); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } } } } -- cgit v1.2.3 From c1c7d1f7106afa4e2300f37355642c56641884e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 30 Jan 2014 19:54:58 +0100 Subject: Wi-Fi on/off method in ConnectionManager for tests --- tests/src/se/leap/bitmaskclient/test/ConnectionManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java b/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java index 62a8f0ad..f1cbff19 100644 --- a/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java +++ b/tests/src/se/leap/bitmaskclient/test/ConnectionManager.java @@ -2,10 +2,11 @@ package se.leap.bitmaskclient.test; import android.content.Context; import android.net.ConnectivityManager; +import android.net.wifi.WifiManager; +import android.util.Log; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import android.util.Log; public class ConnectionManager { static void setMobileDataEnabled(boolean enabled, Context context) { @@ -24,4 +25,9 @@ public class ConnectionManager { } } } + + static void setWifiEnabled(boolean enabled, Context context) { + WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + wifiManager.setWifiEnabled(enabled); + } } -- cgit v1.2.3 From 3d8aa7967bbbd2f40ec077449dd08d3778678421 Mon Sep 17 00:00:00 2001 From: kwadronaut Date: Wed, 5 Mar 2014 10:53:10 +0100 Subject: typo --- res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index bfdf5acd..fd451c00 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -54,7 +54,7 @@ Building configuration… Got certificate \'%s\' from Keystore Network Status: %s - No CA Certificate returned while reading from Android keystore. Auhtentication will probably fail. + No CA Certificate returned while reading from Android keystore. Authentication will probably fail. Running on %1$s (%2$s) %3$s, Android API %4$d Error signing with Android keystore key %1$s: %2$s English translation by Arne Schwabe<arne@rfc2549.org> -- cgit v1.2.3 From 726569f0b9d18c311b307f6a108f6749f96423c5 Mon Sep 17 00:00:00 2001 From: Sean Leonard Date: Wed, 5 Mar 2014 11:48:26 -0800 Subject: Rewrite "Server is down" message to "Server is unreachable" --- res/values/strings.xml | 2 +- src/se/leap/bitmaskclient/ProviderAPI.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index bfdf5acd..585fa7b2 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -122,7 +122,7 @@ Configure Exit There was an error configuring Bitmask with your chosen provider.\n\nYou may choose to reconfigure, or exit and configure a provider upon next launch. - Server is down. + Server is unreachable, please try again. It doesn\'t seem to be a Bitmask provider. This is not a trusted Bitmask provider. Configuring provider diff --git a/src/se/leap/bitmaskclient/ProviderAPI.java b/src/se/leap/bitmaskclient/ProviderAPI.java index 5344e471..62d86455 100644 --- a/src/se/leap/bitmaskclient/ProviderAPI.java +++ b/src/se/leap/bitmaskclient/ProviderAPI.java @@ -606,7 +606,7 @@ public class ProviderAPI extends IntentService { } catch (MalformedURLException e) { json_file_content = formatErrorMessage(R.string.malformed_url); } catch(SocketTimeoutException e) { - json_file_content = formatErrorMessage(R.string.server_is_down_message); + json_file_content = formatErrorMessage(R.string.server_unreachable_message); } catch (IOException e) { if(provider_url != null) { json_file_content = downloadWithProviderCA(string_url, danger_on); @@ -644,7 +644,7 @@ public class ProviderAPI extends IntentService { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnknownHostException e) { - json_file_content = formatErrorMessage(R.string.server_is_down_message); + json_file_content = formatErrorMessage(R.string.server_unreachable_message); } catch (IOException e) { // The downloaded certificate doesn't validate our https connection. if(danger_on) { @@ -727,7 +727,7 @@ public class ProviderAPI extends IntentService { System.out.println("String ignoring certificate = " + string); } catch (FileNotFoundException e) { e.printStackTrace(); - string = formatErrorMessage(R.string.server_is_down_message); + string = formatErrorMessage(R.string.server_unreachable_message); } catch (IOException e) { // The downloaded certificate doesn't validate our https connection. e.printStackTrace(); -- cgit v1.2.3 From 2827ab42a4ad903d8b76b28ca2a7a33764ea7580 Mon Sep 17 00:00:00 2001 From: Ankush Date: Sat, 8 Mar 2014 05:00:37 +0530 Subject: corrected link for 'building from eclipse' in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4816041b..948ca739 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ signed with a different key. Manually uninstall Bitmask Android from your devic you will then be able to install your own built version. To uninstall it, do: adb uninstall se.leap.bitmaskclient -See [here](https://github.com/parmegv/bitmask_android/blob/feature/docs/Building_from_eclipse.md) for +See [here](https://github.com/leapcode/bitmask_android/blob/develop/Building_from_eclipse.md) for instructions on building from [Eclipse](http://eclipse.org). ## Acknowledgements -- cgit v1.2.3 From b600226787227883b62ef0fecb2a56d82ba58e0b Mon Sep 17 00:00:00 2001 From: root Date: Sat, 8 Mar 2014 18:34:54 +0530 Subject: Remove 'Top padding' string from ConfigurationWizard (Bug #5260) --- res/values/strings.xml | 1 - src/se/leap/bitmaskclient/ConfigurationWizard.java | 4 ++-- src/se/leap/bitmaskclient/ProviderListFragment.java | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index d4e84d3a..9a603d68 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -94,7 +94,6 @@ Connection secure using your own certificate. Encrypted Internet Select a service provider - Top padding Add new Provider Add a new service provider Save diff --git a/src/se/leap/bitmaskclient/ConfigurationWizard.java b/src/se/leap/bitmaskclient/ConfigurationWizard.java index e5ad5b3d..1c5f6048 100644 --- a/src/se/leap/bitmaskclient/ConfigurationWizard.java +++ b/src/se/leap/bitmaskclient/ConfigurationWizard.java @@ -137,9 +137,9 @@ implements ProviderListFragment.Callbacks, NewProviderDialogInterface, ProviderD public void refreshProviderList(int top_padding) { ProviderListFragment new_provider_list_fragment = new ProviderListFragment(); Bundle top_padding_bundle = new Bundle(); - top_padding_bundle.putInt(getResources().getString(R.string.top_padding), top_padding); + top_padding_bundle.putInt(ProviderListFragment.TOP_PADDING, top_padding); new_provider_list_fragment.setArguments(top_padding_bundle); - + FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.configuration_wizard_layout, new_provider_list_fragment, ProviderListFragment.TAG) diff --git a/src/se/leap/bitmaskclient/ProviderListFragment.java b/src/se/leap/bitmaskclient/ProviderListFragment.java index 45047982..df39b86d 100644 --- a/src/se/leap/bitmaskclient/ProviderListFragment.java +++ b/src/se/leap/bitmaskclient/ProviderListFragment.java @@ -39,7 +39,7 @@ public class ProviderListFragment extends ListFragment { public static String TAG = "provider_list_fragment"; public static String SHOW_ALL_PROVIDERS = "show_all_providers"; - + public static String TOP_PADDING = "top padding"; private ProviderListAdapter content_adapter; /** @@ -120,7 +120,7 @@ public class ProviderListFragment extends ListFragment { && savedInstanceState.containsKey(STATE_ACTIVATED_POSITION)) { setActivatedPosition(savedInstanceState.getInt(STATE_ACTIVATED_POSITION)); } - String top_padding_key = getResources().getString(R.string.top_padding); + String top_padding_key = TOP_PADDING; if(getArguments() != null && getArguments().containsKey(top_padding_key)) { int topPadding = getArguments().getInt(top_padding_key); View current_view = getView(); -- cgit v1.2.3 From c9918258ffd14ea3c3b9a936ba8a01add946920c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 10 Mar 2014 20:01:47 +0100 Subject: A bit more clean and concise. I've added "from providerlistfragment" just in case there is any other "top padding" string suitable in other class in the future. I've removed the auxiliar variable in the block of code from ProviderListFragment, there is no need of if now we have a constant in that class. --- src/se/leap/bitmaskclient/ProviderListFragment.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/se/leap/bitmaskclient/ProviderListFragment.java b/src/se/leap/bitmaskclient/ProviderListFragment.java index df39b86d..f35cf739 100644 --- a/src/se/leap/bitmaskclient/ProviderListFragment.java +++ b/src/se/leap/bitmaskclient/ProviderListFragment.java @@ -39,7 +39,7 @@ public class ProviderListFragment extends ListFragment { public static String TAG = "provider_list_fragment"; public static String SHOW_ALL_PROVIDERS = "show_all_providers"; - public static String TOP_PADDING = "top padding"; + public static String TOP_PADDING = "top padding from providerlistfragment"; private ProviderListAdapter content_adapter; /** @@ -120,9 +120,8 @@ public class ProviderListFragment extends ListFragment { && savedInstanceState.containsKey(STATE_ACTIVATED_POSITION)) { setActivatedPosition(savedInstanceState.getInt(STATE_ACTIVATED_POSITION)); } - String top_padding_key = TOP_PADDING; - if(getArguments() != null && getArguments().containsKey(top_padding_key)) { - int topPadding = getArguments().getInt(top_padding_key); + if(getArguments() != null && getArguments().containsKey(TOP_PADDING)) { + int topPadding = getArguments().getInt(TOP_PADDING); View current_view = getView(); getView().setPadding(current_view.getPaddingLeft(), topPadding, current_view.getPaddingRight(), current_view.getPaddingBottom()); } -- cgit v1.2.3 From 87826ce5c276489d74b37618b9d534b32e446eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 10 Mar 2014 21:36:13 +0100 Subject: ConcurrentModification at switching provider fixed This fixes bug 5237. --- src/se/leap/bitmaskclient/EIP.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/se/leap/bitmaskclient/EIP.java b/src/se/leap/bitmaskclient/EIP.java index 169178d1..b3b2c95d 100644 --- a/src/se/leap/bitmaskclient/EIP.java +++ b/src/se/leap/bitmaskclient/EIP.java @@ -280,9 +280,9 @@ public final class EIP extends IntentService { if(parsedEipSerial == 0) { // Delete all vpn profiles ProfileManager vpl = ProfileManager.getInstance(context); - Collection profiles = vpl.getProfiles(); - for (VpnProfile profile : profiles){ - vpl.removeProfile(context, profile); + VpnProfile[] profiles = (VpnProfile[]) vpl.getProfiles().toArray(new VpnProfile[vpl.getProfiles().size()]); + for (int current_profile = 0; current_profile < profiles.length; current_profile++){ + vpl.removeProfile(context, profiles[current_profile]); } } if (eipDefinition.optInt("serial") > parsedEipSerial) -- cgit v1.2.3 From 1df967637d432bccc405f0a2e7ce46dc236cffff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Tue, 11 Mar 2014 19:48:22 +0100 Subject: Locations in eip-service can be empty. --- src/se/leap/bitmaskclient/EIP.java | 5 +++-- src/se/leap/openvpn/ConfigParser.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/se/leap/bitmaskclient/EIP.java b/src/se/leap/bitmaskclient/EIP.java index b3b2c95d..e773e3b9 100644 --- a/src/se/leap/bitmaskclient/EIP.java +++ b/src/se/leap/bitmaskclient/EIP.java @@ -332,14 +332,15 @@ public final class EIP extends IntentService { } } - String closestLocation = offsets.firstEntry().getValue().iterator().next(); + + String closestLocation = offsets.isEmpty() ? "" : offsets.firstEntry().getValue().iterator().next(); JSONArray gateways = null; String chosenHost = null; try { gateways = eipDefinition.getJSONArray("gateways"); for (int i = 0; i < gateways.length(); i++) { JSONObject gw = gateways.getJSONObject(i); - if ( gw.getString("location").equalsIgnoreCase(closestLocation) ){ + if ( gw.getString("location").equalsIgnoreCase(closestLocation) || closestLocation.isEmpty()){ chosenHost = gw.getString("host"); break; } diff --git a/src/se/leap/openvpn/ConfigParser.java b/src/se/leap/openvpn/ConfigParser.java index 36585d29..df4eae1b 100644 --- a/src/se/leap/openvpn/ConfigParser.java +++ b/src/se/leap/openvpn/ConfigParser.java @@ -357,7 +357,7 @@ public class ConfigParser { } // Parse remote config - Vector location = getOption("location",1,2); + Vector location = getOption("location",0,2); if(location != null && location.size() == 2){ np.mLocation = location.get(1).replace("__", ", "); } -- cgit v1.2.3 From ba1cfd6c63ad9ff372130247378f599c2e9fc7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 12 Mar 2014 12:42:13 +0100 Subject: Login action bar button shown when applicable. --- src/se/leap/bitmaskclient/Dashboard.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/se/leap/bitmaskclient/Dashboard.java b/src/se/leap/bitmaskclient/Dashboard.java index b4d06f23..65fd2d5b 100644 --- a/src/se/leap/bitmaskclient/Dashboard.java +++ b/src/se/leap/bitmaskclient/Dashboard.java @@ -110,7 +110,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf updateEIP.setAction(EIP.ACTION_UPDATE_EIP_SERVICE); startService(updateEIP); buildDashboard(); - + invalidateOptionsMenu(); if(data != null && data.hasExtra(LogInDialog.VERB)) { View view = ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0); logInDialog(view, Bundle.EMPTY); -- cgit v1.2.3 From 718e4195d175ce4a7f0b5e5e1c3c14d8ccb237c4 Mon Sep 17 00:00:00 2001 From: Sean Leonard Date: Mon, 3 Mar 2014 14:29:02 -0800 Subject: Remove crowdin.net references --- res/layout/about.xml | 1 - res/values-ca/arrays.xml | 1 - res/values-ca/strings.xml | 1 - res/values-cs/arrays.xml | 1 - res/values-cs/strings.xml | 1 - res/values-de/arrays.xml | 1 - res/values-de/strings.xml | 1 - res/values-es/arrays.xml | 1 - res/values-es/strings.xml | 1 - res/values-et/arrays.xml | 1 - res/values-et/strings.xml | 1 - res/values-fr/arrays.xml | 1 - res/values-fr/strings.xml | 1 - res/values-id/arrays.xml | 1 - res/values-id/strings.xml | 1 - res/values-it/arrays.xml | 1 - res/values-it/strings.xml | 1 - res/values-ja/arrays.xml | 1 - res/values-ja/strings.xml | 1 - res/values-ko/arrays.xml | 1 - res/values-ko/strings.xml | 1 - res/values-nl/arrays.xml | 1 - res/values-nl/strings.xml | 1 - res/values-no/arrays.xml | 1 - res/values-no/strings.xml | 1 - res/values-ro/arrays.xml | 1 - res/values-ro/strings.xml | 1 - res/values-ru/arrays.xml | 1 - res/values-ru/strings.xml | 1 - res/values-uk/arrays.xml | 1 - res/values-uk/strings.xml | 1 - res/values-zh-rCN/arrays.xml | 1 - res/values-zh-rCN/strings.xml | 1 - res/values-zh-rTW/arrays.xml | 1 - res/values-zh-rTW/strings.xml | 1 - res/values/strings.xml | 2 -- src/se/leap/bitmaskclient/AboutActivity.java | 12 ++---------- 37 files changed, 2 insertions(+), 47 deletions(-) diff --git a/res/layout/about.xml b/res/layout/about.xml index 875bba64..b7bbc92f 100644 --- a/res/layout/about.xml +++ b/res/layout/about.xml @@ -37,7 +37,6 @@ android:text="@string/repository_url_text" /> diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-ca/arrays.xml +++ b/res/values-ca/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index abef84cc..2b250da1 100755 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -1,5 +1,4 @@ - Cancel·la Quan a diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-cs/arrays.xml +++ b/res/values-cs/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index cfb27325..68c5aeaf 100755 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -1,5 +1,4 @@ - Storno Zdrojové kódy a seznam problémů je na https://github.com/leapcode/bitmask_android/ diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-de/arrays.xml +++ b/res/values-de/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 17b398a0..84d93cfe 100755 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -1,5 +1,4 @@ - Abbrechen Quellcode und Issue Tracker sind verfügbar unter https://github.com/leapcode/bitmask_android/ diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-es/arrays.xml +++ b/res/values-es/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 1c5ea231..f8046a3f 100755 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -1,5 +1,4 @@ - Cancelar Codigo fuente y sistema de reporte de errores disponibles en https://github.com/leapcode/bitmask_android/ diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-et/arrays.xml +++ b/res/values-et/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index c4aadd0f..04dc9572 100755 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -1,5 +1,4 @@ - Tühista Lähtetekst ja probleemihaldur asuvad veebilehel https://github.com/leapcode/bitmask_android/ diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-fr/arrays.xml +++ b/res/values-fr/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 4b822aff..79e4d70c 100755 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -1,5 +1,4 @@ - "Annuler" "Le code source et le tracker de bugs est disponible ici: https://github.com/leapcode/bitmask_android/ " diff --git a/res/values-id/arrays.xml b/res/values-id/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-id/arrays.xml +++ b/res/values-id/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-id/strings.xml b/res/values-id/strings.xml index 61f753e9..ad893b75 100755 --- a/res/values-id/strings.xml +++ b/res/values-id/strings.xml @@ -1,5 +1,4 @@ - Batal Kode program dan perekam masalah tersedia di diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-it/arrays.xml +++ b/res/values-it/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 2eb6515d..788dbcc5 100755 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -1,5 +1,4 @@ - Annulla Il codice sorgente e il bug tracker sono disponibili all\'indirizzo https://github.com/leapcode/bitmask_android/ diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-ja/arrays.xml +++ b/res/values-ja/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index fa62b669..4503c227 100755 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -1,5 +1,4 @@ - キャンセル ソースコードと問題管理は以下で: https://github.com/leapcode/bitmask_android/ diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-ko/arrays.xml +++ b/res/values-ko/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index fe5db09b..8a725bad 100755 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -1,5 +1,4 @@ - 소스 코드와 문제 추적기는 https://github.com/leapcode/bitmask_android/에서 사용할 수 있습니다 프로그램은 다음 구성 요소를 사용합니다. 라이선스에 대 한 자세한 내용은 소스를 참조 하십시오 diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-nl/arrays.xml +++ b/res/values-nl/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 8dc13847..0442b054 100755 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -1,5 +1,4 @@ - Over Geen fout. diff --git a/res/values-no/arrays.xml b/res/values-no/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-no/arrays.xml +++ b/res/values-no/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-no/strings.xml b/res/values-no/strings.xml index 728b2fca..a363b2f9 100755 --- a/res/values-no/strings.xml +++ b/res/values-no/strings.xml @@ -1,5 +1,4 @@ - Om Ingen feil funnet diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-ro/arrays.xml +++ b/res/values-ro/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 91d9c0e0..22496320 100755 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -1,5 +1,4 @@ - Cod sursă şi tracker probleme disponibile la https://github.com/leapcode/bitmask_android/ Acest program utilizează următoarele componente; a se vedea codul sursă pentru mai multe detalii despre licente diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-ru/arrays.xml +++ b/res/values-ru/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 4ecf881a..aaa42690 100755 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -1,5 +1,4 @@ - Данная программа использует следующие компоненты; смотрите исходный код для получения подробной информации о лицензии О программе diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-uk/arrays.xml +++ b/res/values-uk/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 354f50ed..dab28b48 100755 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -1,5 +1,4 @@ - Початковий код і відстеження проблем доступні по https://github.com/leapcode/bitmask_android/ Ця програма використовує такі компоненти; перегляньте вихідний код для повної інформації про ліцензії diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-zh-rCN/arrays.xml +++ b/res/values-zh-rCN/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 5610e8d9..ae57d277 100755 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -1,5 +1,4 @@ - 请前往 https://github.com/leapcode/bitmask_android/ 源码或提供问题反馈 本程序使用以下组件,请在 Licenses 查看源码获取更详细内容。 diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml index 03dcda8c..045e125f 100755 --- a/res/values-zh-rTW/arrays.xml +++ b/res/values-zh-rTW/arrays.xml @@ -1,4 +1,3 @@ - diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 05056f07..880fb4ad 100755 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -1,5 +1,4 @@ - 取得原始碼與個案追蹤,可上 https://github.com/leapcode/bitmask_android/ 本程序使用了以下元件,其作者和授權資訊如下 diff --git a/res/values/strings.xml b/res/values/strings.xml index 9a603d68..24207c6c 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1,5 +1,4 @@ - Cancel @@ -57,7 +56,6 @@ No CA Certificate returned while reading from Android keystore. Authentication will probably fail. Running on %1$s (%2$s) %3$s, Android API %4$d Error signing with Android keystore key %1$s: %2$s - English translation by Arne Schwabe<arne@rfc2549.org> No DNS servers being used. Name resolution may not work. Consider setting custom DNS Servers Could not add DNS Server \"%1$s\", rejected by the system: %2$s Error getting proxy settings: %s diff --git a/src/se/leap/bitmaskclient/AboutActivity.java b/src/se/leap/bitmaskclient/AboutActivity.java index a3320c81..6d025422 100644 --- a/src/se/leap/bitmaskclient/AboutActivity.java +++ b/src/se/leap/bitmaskclient/AboutActivity.java @@ -18,7 +18,7 @@ public class AboutActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + super.onCreate(savedInstanceState); setContentView(R.layout.about); TextView ver = (TextView) findViewById(R.id.version); @@ -34,15 +34,7 @@ public class AboutActivity extends Activity { ver.setText(getString(R.string.version_info,name,version)); - - TextView translation = (TextView) findViewById(R.id.translation); - - // Don't print a text for myself - if ( getString(R.string.translationby).contains("Arne Schwabe")) - translation.setVisibility(TextView.INVISIBLE); - else - translation.setText(R.string.translationby); - setResult(VIEWED); + setResult(VIEWED); } } -- cgit v1.2.3 From 47c125f7e7e2312d505052b63432581862034bb7 Mon Sep 17 00:00:00 2001 From: Sean Leonard Date: Mon, 3 Mar 2014 13:55:37 -0800 Subject: Add Transifex link to About View --- res/layout/about.xml | 21 ++++++++++++++++++++- res/values/strings.xml | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/res/layout/about.xml b/res/layout/about.xml index b7bbc92f..ce57564d 100644 --- a/res/layout/about.xml +++ b/res/layout/about.xml @@ -36,10 +36,29 @@ android:autoLink="all" android:text="@string/repository_url_text" /> + + + + + + + android:autoLink="all" + android:text="@string/translationby" /> + + OK Retry Source code and issue tracker available at https://github.com/leapcode/bitmask_android/ + Translations welcome and appreciated. See our Transifex project at https://www.transifex.com/projects/p/bitmask-android/ This program uses the following components; see the source code for full details on the licenses About Bitmask Switch provider -- cgit v1.2.3 From 2945761806c655b4809f2a812f0d8ad4da35be53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 12 Mar 2014 22:55:32 +0100 Subject: Default translationby to Arne and English. --- res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index e64e7eae..bcb6ecc9 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -57,6 +57,7 @@ No CA Certificate returned while reading from Android keystore. Authentication will probably fail. Running on %1$s (%2$s) %3$s, Android API %4$d Error signing with Android keystore key %1$s: %2$s + English translation by Arne Schwabe <arne@rfc2549.org> No DNS servers being used. Name resolution may not work. Consider setting custom DNS Servers Could not add DNS Server \"%1$s\", rejected by the system: %2$s Error getting proxy settings: %s -- cgit v1.2.3 From 2601c824c0a8429326f3fb64533c6ecc56438a7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 13 Mar 2014 21:09:42 +0100 Subject: Token correctly sent in the http request. --- src/se/leap/bitmaskclient/LeapSRPSession.java | 3 ++- src/se/leap/bitmaskclient/ProviderAPI.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/se/leap/bitmaskclient/LeapSRPSession.java b/src/se/leap/bitmaskclient/LeapSRPSession.java index 0849f777..a317d95e 100644 --- a/src/se/leap/bitmaskclient/LeapSRPSession.java +++ b/src/se/leap/bitmaskclient/LeapSRPSession.java @@ -41,7 +41,8 @@ public class LeapSRPSession { final public static String M1 = "M1"; final public static String M2 = "M2"; final public static String TOKEN = "token"; - + final public static String AUTHORIZATION_HEADER= "Authorization"; + private SRPParameters params; private String username; private String password; diff --git a/src/se/leap/bitmaskclient/ProviderAPI.java b/src/se/leap/bitmaskclient/ProviderAPI.java index 62d86455..7aafa2e3 100644 --- a/src/se/leap/bitmaskclient/ProviderAPI.java +++ b/src/se/leap/bitmaskclient/ProviderAPI.java @@ -601,7 +601,7 @@ public class ProviderAPI extends IntentService { URLConnection url_connection = provider_url.openConnection(); url_connection.setConnectTimeout(seconds_of_timeout*1000); if(!LeapSRPSession.getToken().isEmpty()) - url_connection.addRequestProperty(LeapSRPSession.TOKEN, LeapSRPSession.getToken()); + url_connection.addRequestProperty(LeapSRPSession.AUTHORIZATION_HEADER, "Token token = " + LeapSRPSession.getToken()); json_file_content = new Scanner(url_connection.getInputStream()).useDelimiter("\\A").next(); } catch (MalformedURLException e) { json_file_content = formatErrorMessage(R.string.malformed_url); @@ -638,7 +638,7 @@ public class ProviderAPI extends IntentService { (HttpsURLConnection)url.openConnection(); urlConnection.setSSLSocketFactory(getProviderSSLSocketFactory()); if(!LeapSRPSession.getToken().isEmpty()) - urlConnection.addRequestProperty(LeapSRPSession.TOKEN, LeapSRPSession.getToken()); + urlConnection.addRequestProperty(LeapSRPSession.AUTHORIZATION_HEADER, "Token token=" + LeapSRPSession.getToken()); json_file_content = new Scanner(urlConnection.getInputStream()).useDelimiter("\\A").next(); } catch (CertificateException e) { // TODO Auto-generated catch block -- cgit v1.2.3 From 0a651332f050594cd0c4de4c0d09079c51b7b5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Tue, 28 Jan 2014 20:46:45 +0100 Subject: Android support library v4 added. Look at https://leap.se/code/issues/5062#note-3: I'm going to remove android-support-v4.jar from .gitignore based on https://developer.android.com/tools/support-library/index.html#overview and http://www.in-nomine.org/2012/02/26/adding-android-support-v4-to-your-android-application-in-intellij-idea/ --- tests/libs/android-support-v4.jar | Bin 0 -> 627582 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/libs/android-support-v4.jar diff --git a/tests/libs/android-support-v4.jar b/tests/libs/android-support-v4.jar new file mode 100644 index 00000000..96644edb Binary files /dev/null and b/tests/libs/android-support-v4.jar differ -- cgit v1.2.3 From 853090cabc32f8899e550ca2b85f8155967b4d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 20 Mar 2014 18:42:01 +0100 Subject: Tests for Dashboard pass. Setting the mobile data connection off cuts the connection from the computer to the emulator, so ant nor adb will see everything's well unless you comment that part of the tests (testDashboard:52-60). --- .../se/leap/bitmaskclient/test/testDashboard.java | 29 +++++++++------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/tests/src/se/leap/bitmaskclient/test/testDashboard.java b/tests/src/se/leap/bitmaskclient/test/testDashboard.java index a1d1ffac..269f1d18 100644 --- a/tests/src/se/leap/bitmaskclient/test/testDashboard.java +++ b/tests/src/se/leap/bitmaskclient/test/testDashboard.java @@ -12,7 +12,6 @@ import se.leap.bitmaskclient.ConfigurationWizard; import se.leap.bitmaskclient.Dashboard; import se.leap.bitmaskclient.R; import se.leap.bitmaskclient.test.ConnectionManager; -import se.leap.openvpn.MainActivity; public class testDashboard extends ActivityInstrumentationTestCase2 { @@ -40,24 +39,25 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { */ public void testOnOffOpenVpn() { solo.clickOnView(solo.getView(R.id.eipSwitch)); - if(!solo.waitForText("Initiating connection")) + if(!solo.waitForText(getActivity().getString(R.string.eip_status_start_pending))) fail(); - if(!solo.waitForText("Authenticating")) + if(!solo.waitForText(getActivity().getString(R.string.state_auth))) fail(); - if(!solo.waitForText("Connection Secure", 1, 30*1000)) + if(!solo.waitForText(getActivity().getString(R.string.eip_state_connected), 1, 30*1000)) fail(); solo.clickOnView(solo.getView(R.id.eipSwitch)); - if(!solo.waitForText("Not running! Connection not secure")) + if(!solo.waitForText(getActivity().getString(R.string.eip_state_not_connected))) fail(); - + ConnectionManager.setMobileDataEnabled(false, solo.getCurrentActivity().getApplicationContext()); solo.clickOnView(solo.getView(R.id.eipSwitch)); - if(!solo.waitForText("Initiating connection")) + if(!solo.waitForText(getActivity().getString(R.string.eip_status_start_pending))) fail(); - if(!solo.waitForText("Waiting for usable network")) + if(!solo.waitForText(getActivity().getString(R.string.state_nonetwork))) fail(); + } public void testLogInAndOut() { @@ -68,7 +68,7 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { solo.clickOnText("Log In"); solo.waitForDialogToClose(); solo.waitForDialogToClose(miliseconds_to_log_in); - if(!solo.waitForText("Your own cert has been correctly downloaded.")) + if(!solo.waitForText(getActivity().getString(R.string.succesful_authentication_message))) fail(); solo.clickOnActionBarItem(R.string.logout_button); @@ -76,24 +76,19 @@ public class testDashboard extends ActivityInstrumentationTestCase2 { fail(); } - public void testShowSettings() { - solo.clickOnActionBarItem(R.id.menu_settings); - } - public void testShowAbout() { - solo.clickOnMenuItem("About"); + solo.clickOnMenuItem(getActivity().getString(R.string.about)); solo.waitForText(getActivity().getString(R.string.repository_url_text)); solo.goBack(); - solo.clickOnMenuItem("About"); + solo.clickOnMenuItem(getActivity().getString(R.string.about)); solo.waitForText(getActivity().getString(R.string.repository_url_text)); solo.goBack(); } public void testSwitchProvider() { - solo.clickOnMenuItem("Switch provider"); + solo.clickOnMenuItem(getActivity().getString(R.string.switch_provider_menu_option)); solo.waitForActivity(ConfigurationWizard.class); solo.goBack(); } - } } -- cgit v1.2.3 From ee5fd2359fde105fcf3ca38a1109a3a19845530e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Tue, 25 Mar 2014 21:10:16 +0100 Subject: bitmask is dead: long life to demo.bitmask! --- assets/urls/bitmask demo.url | 3 +++ assets/urls/bitmask.url | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 assets/urls/bitmask demo.url delete mode 100644 assets/urls/bitmask.url diff --git a/assets/urls/bitmask demo.url b/assets/urls/bitmask demo.url new file mode 100644 index 00000000..1a412055 --- /dev/null +++ b/assets/urls/bitmask demo.url @@ -0,0 +1,3 @@ +{ + "main_url" : "https://demo.bitmask.net/" +} diff --git a/assets/urls/bitmask.url b/assets/urls/bitmask.url deleted file mode 100644 index f924301e..00000000 --- a/assets/urls/bitmask.url +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main_url" : "https://bitmask.net/" -} \ No newline at end of file -- cgit v1.2.3