summaryrefslogtreecommitdiff
path: root/src/se/leap/leapclient
AgeCommit message (Collapse)Author
2013-08-13Merge branch 'feature/retry-login-retain-username' into developSean Leonard
2013-08-13Merge branch 'feature/providerApi-actions-instead-of-bundleExtras' into developSean Leonard
2013-08-01ProviderAPI intent receives actions and parameters.Parménides GV
We no longer use BundleExtras named as the action ProviderAPI is intended to perform, but we standardise this name (ProviderAPI.PARAMETERS), and use setAction to pass that action string.
2013-07-30Retains username if login process failed.Parménides GV
New login dialog shows the original username, so that if the user failed writing his/her password, s/he does not have to write again the username.
2013-07-29LeapHttpClient verifies hostname.Parménides GV
This fixes #3287
2013-07-26Include GPLv3+ file and header for files in se.leap.leapclient packageSean Leonard
2013-07-25Login progressdialog get dismissed when finished.Parménides GV
If login is successful, dialog is dismissed and toast is showed. If login is not successful and the user cancels the new login dialog presented to him/her, then Dashboard is showed.
2013-07-20If IOException, use current provider CA cert.Parménides GV
If the CA cert was correctly downloaded, we assume it can be used to validate the string download. If CA cert cannot validate that connection, then if the trust completely checkbox was checked it will try with the other methods. If it was not checked, a certificate error is shown (telling the user the provider is not trusted).
2013-07-20Certificate message shown when appropiate.Parménides GV
Only if all downloading methods fail and the last one throws an IOException, the certificate error message toast is shown.
2013-07-20Erroneous untrusted provider toast with LEAP fixedParménides GV
I've also rearranged how we handle SSL errors. In first place, if the user checked the "Trust completely" checkbox, leap_android tries to use the CA cert pointed out by provider.json. If that does not succeed, it uses an always-returning-true hostname verifier (this was previously done before using CA cert).
2013-07-19Fix config error dialog missing call to show()Sean Leonard
2013-07-19Change EIP switch label to "Encrypted Internet"Sean Leonard
2013-07-19Display provider domain on Dashboard instead of nameSean Leonard
2013-07-19Add logic to only trigger EIP control events if switch changed by a touch event.Sean Leonard
Fixes VPN reconnection when framework rebuilds view, triggering onCheckedChangeListener
2013-07-19Add a progress bar while VPN connection is being establishedSean Leonard
2013-07-19Refactor EIP UI and control logic out of Dashboard into a FragmentSean Leonard
2013-07-19Use non-blocking logic for EIP switchSean Leonard
Includes AlertDialog if the user attempts to stop EIP while a connection is being established
2013-07-19Only parse eip-services.json if the serial has incrementedSean Leonard
2013-07-19Better VPN connection state messagesSean Leonard
2013-07-18Clean up AboutFragment, remove donation textSean Leonard
2013-07-18Move AboutFragment into leapclient packageSean Leonard
2013-07-12Shows bad user/password message when appropriate.Parménides GV
If an empty json string is received after sending M1 (that means no M2 in return), bad user/password message is shown. This fixes bug 3153.
2013-07-12Dashboard menu is updated when logged in or out.Parménides GV
Login option is not shown if the user is already logged in, and logout option is not shown if the user is not logged in. I've also removed a debug line from ProviderDetailFragment, which returned true when it returned false because of an exception.
2013-07-12New certificates are added without creating filesParménides GV
LeapHttpClient can fetch the main CA certificate downloaded from the provider and add it to its in-memory keystore, without saving the certificate in a file. This is a very important feature, I think it can be cherry picked (it has little modifications, and very localized). It's very important because authentication does not work without this bug fix in the latest branches, because I removed the code that saved the certificate in a file but didn't test the authentication part.
2013-07-12Shows certificate error message.Parménides GV
If a download didn't occurr due to an IOException, we assume it was for an SSL error and notify the user telling him/her that LEAP provider is not trusted.
2013-07-12Distinguish non LEAP provider and down provider.Parménides GV
I've set ProviderAPI to show its own toast depending on the exception that getStringFromProvider issues. If the socket timeout reaches its end, a toast different from when an IOException or a MalformedException occur.
2013-07-12ConfigurationWizard backstack and exit behavior.Parménides GV
Feature #3023 first solution. I don't like to tell anything to the user when s/he wants to exit pressing the back button. I assume s/he is saying: "Wanna go out!!" I've implemented the behaviour written in UI Rev II. If a user selects a new provider when coming back from Switch Provider, the previous provider is forgotten and we assume s/he wants to change of provider but he is not sure to which. That means that previous provider configuration will be removed (that means there is no provider selected and Dashboard will not be launched before a new provider is selected).
2013-07-12User messages are added to the new recovery dialogParménides GV
When login is not successful, a new recovery dialog is prompted with a message about the previous error.
2013-07-12Check a nullpointer textview.Parménides GV
2013-07-12New menu option to go back to ConfigurationWizard.Parménides GV
It works ok (it simply starts ConfigurationWizard activity for result), but when entering again to Dashboard a NullPointer happens in serviceItemEIP(((ViewStub) findViewById(R.id.eipOverviewStub)).inflate();). It also adds (I forgot to commit before leaving the retry-login branch) ProgressDialogs to login and logout operations.
2013-07-12Login dialog appears after a failed login.Parménides GV
If the user enters his/her password incorrectly, the dialog appears again.
2013-07-12Added menu to ConfigurationWizard.Parménides GV
It only contains the "About LEAP" option. If the user clicks again that option while the About fragment is up, no new fragment is added and pressing 1 time the back button drives him/her to the ConfigurationWizard activity.
2013-07-12ProgressDialog works ok when discarding providers.Parménides GV
If the user selects a provider, gets into provider detail, discards it, further trials of selecting a provider trigger the same ProgressDialogs than the initial trials.
2013-07-12Back button from ConfigurationWizard quits.Parménides GV
If the user decides not to choose any provider, the app quits. I'll create another branch to handle this exit properly, warning the user with an AlertDialog as suggested in #3023.
2013-07-12Pressing back button, we don't choose any providerParménides GV
Once in the provider detail fragment, if the user presses the back button, provider.json is removed from sharedpreferences (so that Dashboard does not start as if the user had selected the canceled provider) and ConfigurationWizard gets the focus.
2013-07-12UnknownHostException separated from IOException.Parménides GV
I was treating the former exception simply as a kind of the latter, but user messages are different. Now, each one shows its different error message.
2013-07-12Untrusted message is not shown if danger_on = trueParménides GV
I forgot to add an else in the IOException from getStringFromProvider. This was causing that even if the user checked the trusted completely beckbox and everything was fine, the "not trusted provider" message was being shown.
2013-07-12Back to IOException instead of SSL exception.Parménides GV
The previous commit broke functionality, and instead of discarding it I've decided to undo with a new commit for future references. It would seem that IOException can be substitued by SSLHandshakeException, but the previous commit proves it cannot.
2013-07-12Substituted IOException by SSLHandshakeException.Parménides GV
In getStringFromProvider, there is no IOException but an SSLHandshakeException. Substituing this gives our code more semantics.
2013-07-12Shows certificate error message.Parménides GV
If a download didn't occurr due to an IOException, we assume it was for an SSL error and notify the user telling him/her that LEAP provider is not trusted.
2013-07-12Distinguish non LEAP provider and down provider.Parménides GV
I've set ProviderAPI to show its own toast depending on the exception that getStringFromProvider issues. If the socket timeout reaches its end, a toast different from when an IOException or a MalformedException occur.
2013-07-12JSONExceptions from ProviderDetail returns false.Parménides GV
Buttons from this fragment are shown if the key is present and contains a "true" value, but if an exception occurs the button it's not showed.
2013-07-12Removed unnecessary toasts.Parménides GV
They are commented, just in case we decide to include any of them before releasing 0.2.0.
2013-07-12Login button from ProviderDetailFragment works.Parménides GV
I return an intent with ConfigHelper.LOG_IN extra present. Dashboard looks for it, and if found, starts LogInDialog.
2013-07-12Use anonymously from ProviderDetail works OK.Parménides GV
Tested with dev.bitmask.net, I use the previously downloaded certificate (I should not do that, I'll file an issue because I should download it once the user has requested to do so). Next step: login button from ProviderDetailFragment.
2013-07-12Coded new fragment appearanceParménides GV
Domain, name and description come from provider.json Next step: code buttons to login or to use anonymously.
2013-07-11Fix ConcurrentModificationException when removing VpnProfile from iterator ↵Sean Leonard
backing Collection
2013-07-02We can ignore any certificate.Parménides GV
If ssl errors don't vanish using CA cert from provider, we go further and let the certificate not to be validated at all.
2013-06-26The added provider is selected automatically.Parménides GV
I've also removed a lot of finishes when things go wrong (so that it should be returning to the previous activity/fragment).
2013-06-26ConfigurationWizard shows domain and name.Parménides GV
Items from the provider's list have 2 rows, first one with the domain and the other with the name. Names from preseeded providers are fetched from the assets file, because we don't download provider.json until they select it.