Age | Commit message (Collapse) | Author |
|
#8758 fix switching providers
See merge request leap/bitmask_android!11
|
|
#8746 fixes client must honor the protocol default specified by the provider
See merge request leap/bitmask_android!10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
closes #8536
|
|
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.
|
|
onCreate gets called when the activity is back on the screen. If the app
was already launched, we should not set everything up again.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
Give more time to provider details fragment to appear, because debugging makes the code run slowly.
|
|
Updated butterknife, dagger, renderers, fabbuton and gson, as well as
gradle plugin.
|
|
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.
|
|
|
|
|
|
Next step: beautify.
|
|
|
|
Tests click new button, instead of action bar's.
Fixing more bugs...
|
|
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.
|
|
Turn on VPN touching that button, and leave the image as a mere indicator.
|
|
|
|
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.
|
|
|
|
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).
|
|
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).
|
|
|
|
|
|
Next step: a bit of UI design, removing the switch.
|
|
Danger on defaults to true in debug build
|
|
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.
|
|
|
|
String locale = Locale.getDefault().getLanguage() + Locale.getDefault().getCountry();
|
|
|
|
|
|
|
|
|
|
|
|
In the near future, I should implement an error feedback
mechanism (ideally using ics-openvpn's log view), and avoid the
e.printStackTrace() and Log.d("","") without losing information.
|