summaryrefslogtreecommitdiff
path: root/app/src/main/java
AgeCommit message (Collapse)Author
2017-10-28#8757 refactores ProviderAPI for insecure flavor, fixes tests, renames ↵cyBerta
confusing constants, updates robotium
2017-10-258757 fixes session cookie handling by implementing okHttpClient and custom ↵cyBerta
cookiejar, enables TLS 1.2 on old devices, restricts allowed cipher suites on new devices in order to harden tls based communication
2017-10-13#8760 remove pause vpn button from notificationcyBerta
2017-10-13Merge branch '8758_switch_providers' into 'master'cyberta
#8758 fix switching providers See merge request leap/bitmask_android!11
2017-10-13Merge branch '8746_client_must_honor_specified_protocol' into 'master'cyberta
#8746 fixes client must honor the protocol default specified by the provider See merge request leap/bitmask_android!10
2017-10-13#8759 one cancellation dialog should be sufficientcyBerta
2017-10-09#8758 fix switching providerscyBerta
2017-10-09#8746 fixes client must honor the protocol default specified by the providercyBerta
2017-09-21update ics-openvpn: update classes, manifest, resources and build scriptcyBerta
2017-09-18change expiration offset to 15 days before actual certificate expirescyBerta
2017-09-15vpn certificate gets renewed 3 month before current certificate expirescyBerta
2017-09-14improves comparison of images - reduces complexity and more reliablecyBerta
2017-09-14refactor failing certification validation testcyBerta
2016-10-13Handle RequestPermisson sdk>23kwadronaut
closes #8536
2016-04-03Bitmask does not show the log if an error happens.Parménides GV
ics-openvpn already shows it if necessary. Our heuristic (just looking for an "error" keyword in the past N messages of the log) is very weak, and it returns an annoying false positive: turning off the VPN triggers the show log error.
2016-04-02VpnStatus.initLogCache must be called only once.Parménides GV
onCreate gets called when the activity is back on the screen. If the app was already launched, we should not set everything up again.
2016-04-02Update ics-openvpnParménides GV
2016-02-06Pause icon, init log file in DashboardParménides GV
2016-02-06Update ics-openvpnParménides GV
2015-06-12Transparent background of the FabButton, yay!Parménides GV
2015-06-11Update java and xml filesParménides GV
2015-06-10Handle "Cancel" button of the Android VPN permission dialogParménides GV
2015-06-04Updated bitmask branch from ics-openvpn fork, second notificationParménides GV
2015-06-04ics-openvpn as a submodule! beautifulParménides GV
ics-openvpn is now officially on GitHub, and they track openssl and openvpn as submodules, so it's easier to update everything. Just a git submodule update --recursive. I've also set up soft links to native modules from ics-openvpn in app, so that we don't copy files in Gradle (which was causing problems with the submodules .git* files, not being copied). That makes the repo cleaner.
2015-06-01Update user session button correctly on failureParménides GV
2015-05-29Gateways manager added a gateway from string twice.Parménides GV
Give more time to provider details fragment to appear, because debugging makes the code run slowly.
2015-05-29Updated libraries, simplified user status fragmentParménides GV
Updated butterknife, dagger, renderers, fabbuton and gson, as well as gradle plugin.
2015-05-05Rename user session fragment, add icon resource.Parménides GV
The FabButton doesn't scale the icon as big as I want it to be, and it doesn't let me set the size to "wrap_content" because the library sets the sizes to match_parent. I'm going to try to modify my fork of FabButton to see if I can obtain what I want in its demo: just an icon and the progress indicator, the icon as big as possible.
2015-05-01Separated tests for VpnFragment.Parménides GV
2015-04-30Better layout, xlarge adaptation too.Parménides GV
2015-04-30Works smoothly, correct texts.Parménides GV
Next step: beautify.
2015-04-29Functional.Parménides GV
2015-04-29Dynamically load user session fragment.Parménides GV
Tests click new button, instead of action bar's. Fixing more bugs...
2015-04-29Creating a user session fragment.Parménides GV
I've separated the user session management to it, and encapsulated ProviderAPICommand into its own class. Putting the fragment statically in dashboard.xml isn't working, Android complains about it being duplicated, so I'm going to add it dynamically.
2015-04-27Added a button to the UIParménides GV
Turn on VPN touching that button, and leave the image as a mere indicator.
2015-04-27testEveryProvider also worksParménides GV
2015-04-22Avoid the check for a null provider.Parménides GV
A provider can be asked if it's configured or not, so that we don't find more provider = null issues. I've created a DefaultedURL which links to https://example.net, so that we can initialize an URL. I use composition instead of inheritance, since URL class is final.
2015-04-22Remove traces of the "reason" field.Parménides GV
2015-04-22Always show the log if an error happens.Parménides GV
I've removed the "reason" management in LogWindowWrapper, letting EipStatus display the error log message only if it's a new one (based on the log buffer position).
2015-04-22Remove textual status.Parménides GV
I had a difficult moment trying to detect if the LogWindow had already been shown after an error. Finally, I implemented a LogWindowWrapper which contains a field for the reason it was shown, so that we can check if the previous error is the same than the current one leading to the avoidance of the second LogWindow. For this to work, we need to reset that reason each time we trigger a new vpn state (i.e. each time the user taps on the vpn icon).
2015-04-22Remove progress bar.Parménides GV
2015-04-22Remove eip switch.Parménides GV
2015-04-22Button with circle progress, added.Parménides GV
Next step: a bit of UI design, removing the switch.
2015-04-22Initialize ca fingerprint, avoiding nullpointerParménides GV
Danger on defaults to true in debug build
2015-04-22Pinning connection to provider.jsonParménides GV
Using AndroidPinning library from Moxie, I make sure the provider.json file Bitmask downloads is fetched from a pinned https connection, so that the api certificate fingerprint is the good one.
2015-04-15Wants to disconnect and is connecting work fine.Parménides GV
2015-04-15Set accept-language in ProviderAPI, language-countryParménides GV
String locale = Locale.getDefault().getLanguage() + Locale.getDefault().getCountry();
2015-04-14Show session error in user dialogParménides GV
2015-04-14Signing up string.Parménides GV
2015-04-10Seems to work.Parménides GV