faq: Update "skip all login prompts" entry

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
VPNProfileList: Use FragCache to retain ADD dialog state

This doesn't put the EditText cursor in the right place, but otherwise it
seems to do the right thing on screen rotation and task switch.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
VPNProfileList: Split generic dropdown menu items into CommonMenu.java

Allow Settings/SecurID/About/... to be reused from other fragments or
activities.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Add CommonMenu to StatusFragment and to LogFragment

"Settings" is missing in both cases, as we assume the connection is up
so none of the settings should be modified.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
FeedbackFragment: Initial commit

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
VPNProfileList: Fix "add VPN" dialog popping up after adding VPN

The following sequence of events was observed:

1) User clicks "Add" to create a new profile

2) User enters the profile name and clicks "OK"

3) onClick creates a new ConnectionEditorActivity

4) VPNProfileList.onPause() is called

5) onPause() saves the dialog state in FragCache, then dismisses it

6) When the activity is resumed, it incorrectly restores the dialog

So, let's dismiss the dialog from the onClick handler so that by the
time we reach onPause(), it is gone and FragCache will record its absence.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
FeedbackFragment: Prompt for feedback after 2 weeks + 10 connections

This is intended to gather feedback from people who have an established
pattern of using the app to connect to their VPN gateway and are likely
to remain long-term users.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
OpenConnectManagementThread: Log the length of each file written to cache/

This can help identify duplicate or bogus files in the problem reports.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
AssetExtractor: Handle errors, skip directories

A repacked apk might contain subdirectory entries that are seen when
iterating through the ZipFile.  Ignore them instead of aborting
extraction.

Also, report AssetExtractor failures in the VPN log (previously only
reported in logcat).

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Bump version to 0.9 (901)

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
FeedbackFragment: Don't FC if there is no market:// URI handler

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
external: Sync with openconnect rev e0a43fb

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
libs: Sync with latest openconnect sources

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
DeviceStateReceiver: Handle broadcasts indicating preference changes

If a PREF_CHANGED broadcast is received, reread "netchangereconnect" and
"screenoff", then recompute the current connection state.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
OpenConnectManagementThread: Export updateLogLevel() functionality

Let OpenVpnService ask us to reread the "trace_log" preference at
runtime.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
DeviceStateReceiver: Signal OpenVPNManagement on settings change

We'll just send a broadcast intent from the settings activity, and let
DeviceStateReceiver notify everyone who cares.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
GeneralSettings: Send broadcast intent on preference change

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
CommonMenu: Enable Settings option unconditionally

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>