2
0

Fixed counter type, added Android integrity testing.

[IMPROVED]  Type of Master Password counter is unsigned int; Guava's
            UnsignedInteger allows us to better enforce that in code,
            fixing a few places where ints were treated badly, limiting
            counter support.
[ADDED]     An integrity test activity to the Android app to ensure the
            Android device properly generates the expected passwords
            before allowing the user to rely on it.
[UPDATED]   Made standard test suite available for all without needing
            JAXB; implemented SAX reading of mpw_tests.xml + a good API
            for running the tests and getting feedback at runtime.
This commit is contained in:
Maarten Billemont
2015-12-24 22:26:17 -05:00
parent 188353d39b
commit f782b2ef62
23 changed files with 598 additions and 156 deletions

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:background="@drawable/background">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:orientation="vertical"
android:gravity="center">
<View
android:layout_width="1dp"
android:layout_height="0dp"
android:layout_weight="1" />
<ProgressBar
android:id="@+id/progressView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="8dp"
style="@android:style/Widget.ProgressBar.Horizontal" />
<TextView
android:id="@+id/statusView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@android:color/transparent"
android:textSize="14sp"
android:textColor="@android:color/secondary_text_dark"
android:text="@string/tests_testing" />
<TextView
android:id="@+id/logView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="20dp"
android:gravity="bottom"
android:background="@android:color/transparent"
android:textSize="9sp"
android:textColor="@android:color/tertiary_text_dark" />
<Button
android:id="@+id/actionButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:enabled="false"
android:text="@string/tests_btn_testing"
android:onClick="onAction"/>
</LinearLayout>
</ScrollView>

View File

@@ -11,4 +11,12 @@
<string name="siteCounter_hint">Password #</string>
<string name="siteVersion_hint">Algorithm</string>
<string name="empty" />
<string name="tests_unavailable">Test suite unavailable.</string>
<string name="tests_btn_unavailable">Exit</string>
<string name="tests_testing">Testing device\'s password generation integrity…</string>
<string name="tests_btn_testing">Please Stand By…</string>
<string name="tests_failed">Incompatible device or OS.</string>
<string name="tests_btn_failed">Exit</string>
<string name="tests_passed">Integrity checks passed!</string>
<string name="tests_btn_passed">Continue</string>
</resources>