This commit is contained in:
Michael Schättgen 2018-02-20 21:14:53 +01:00
commit 457f578102
65 changed files with 1613 additions and 752 deletions

View file

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="me.impy.aegis.AuthActivity">
tools:context="me.impy.aegis.ui.AuthActivity">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
@ -48,7 +48,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="12dp"
android:visibility="invisible">
android:visibility="gone">
<LinearLayout
android:id="@+id/img_fingerprint_insert"
@ -62,8 +62,27 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:text="Touch sensor"
android:text="@string/fingerprint_hint"
android:textColor="?attr/secondaryText"/>
</LinearLayout>
<LinearLayout
android:id="@+id/box_fingerprint_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="12dp"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_black_24dp"
android:layout_marginEnd="15dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="A fingerprint slot was found, but it appears to have been invalidated by the Android keystore. Go to &quot;Settings -> Key slots&quot; to readd your fingerprint."/>
</LinearLayout>
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>

View file

@ -1,188 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<ScrollView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:orientation="vertical"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true">
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@color/colorPrimary">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/profile_drawable"
android:layout_centerInParent="true"/>
</RelativeLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/background"
android:orientation="vertical"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true">
android:stretchColumns="1"
android:layout_marginEnd="35dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@color/colorPrimary">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/profile_drawable"
android:layout_centerInParent="true"/>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_person_black_24dp"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
</RelativeLayout>
<EditText android:layout_column="1"
android:id="@+id/text_name"
android:hint="Name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</TableRow>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/background"
android:orientation="vertical"
android:stretchColumns="1"
android:layout_marginEnd="35dp">
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<EditText android:layout_column="1"
android:id="@+id/text_issuer"
android:hint="Issuer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</TableRow>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_black_24dp"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
<LinearLayout android:layout_column="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:gravity="center_vertical">
<Spinner
android:id="@+id/spinner_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_person_black_24dp"
android:layout_weight="1"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
<EditText android:layout_column="1"
android:id="@+id/text_name"
android:hint="Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<EditText android:layout_column="1"
android:id="@+id/text_issuer"
android:hint="Issuer"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_weight="4"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"/>
<Spinner
android:id="@+id/spinner_algo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_black_24dp"
android:layout_weight="1"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
android:layout_weight="4"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"/>
<Spinner
android:id="@+id/spinner_digits"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"/>
</LinearLayout>
<LinearLayout android:layout_column="1"
</TableRow>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_timelapse_black_24dp"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<Spinner
android:id="@+id/spinner_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"/>
<Spinner
android:id="@+id/spinner_algo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"/>
<Spinner
android:id="@+id/spinner_digits"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"/>
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_timelapse_black_24dp"
android:layout_weight="1"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
android:orientation="vertical">
<EditText
android:id="@+id/text_period"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_gravity="center"
android:inputType="numberDecimal"/>
<TextView
android:id="@+id/text_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:text="seconds"
android:textSize="18sp"
android:layout_marginEnd="10dp"
android:textColor="#808080"/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<EditText
android:id="@+id/text_period"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_gravity="center"
android:inputType="numberDecimal"/>
<TextView
android:id="@+id/text_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:text="seconds"
android:textSize="18sp"
android:layout_marginEnd="10dp"
android:textColor="#808080"/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
</TableRow>
android:layout_weight="1"/>
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_vpn_key_black_24dp"
android:layout_weight="1"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
<TableRow
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView android:layout_column="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_vpn_key_black_24dp"
android:layout_marginTop="10dp"
android:tint="@color/cardview_dark_background"
android:layout_marginStart="15dp"
android:layout_marginEnd="20dp"/>
<android.support.design.widget.TextInputLayout
<android.support.design.widget.TextInputLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/text_secret"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
android:hint="Secret (base32)"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
</TableRow>
<android.support.design.widget.TextInputEditText
android:id="@+id/text_secret"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Secret (base32)"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
</TableRow>
</TableLayout>
</TableLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>
</ScrollView>

View file

@ -5,6 +5,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="me.impy.aegis.IntroActivity">
tools:context="me.impy.aegis.ui.IntroActivity">
</android.support.design.widget.CoordinatorLayout>

View file

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="me.impy.aegis.MainActivity">
tools:context="me.impy.aegis.ui.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
@ -22,7 +22,7 @@
</android.support.design.widget.AppBarLayout>
<fragment
android:name="me.impy.aegis.KeyProfileView"
android:name="me.impy.aegis.ui.views.KeyProfileView"
android:id="@+id/key_profiles"
android:layout_height="match_parent"
android:layout_width="match_parent"

View file

@ -9,6 +9,6 @@
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="me.impy.aegis.ScannerActivity">
tools:context="me.impy.aegis.ui.ScannerActivity">
</RelativeLayout>

View file

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="me.impy.aegis.ui.SlotManagerActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/list_slots"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"/>
<LinearLayout
android:id="@+id/button_add_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="12.5dp"
android:paddingBottom="12.5dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_plus_black_24dp"
android:tint="@color/colorAccent"
android:layout_marginEnd="15dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add password"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorSecondary"/>
</LinearLayout>
<LinearLayout
android:id="@+id/button_add_fingerprint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="12.5dp"
android:paddingBottom="12.5dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_plus_black_24dp"
android:tint="@color/colorAccent"
android:layout_marginEnd="15dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add fingerprint"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorSecondary"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="12.5dp"
android:paddingBottom="12.5dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline_black_24dp"
android:layout_marginEnd="15dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="The database is only as secure as your weakest key.\n\nWhen a new fingerprint is enrolled, all keys are wiped from the keystore. You should always have at least one password slot to prevent accidental data loss."/>
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

View file

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/button_edit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:paddingTop="12.5dp"
android:paddingBottom="12.5dp"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/img_slot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="15dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Slot name"
android:id="@+id/text_slot_name"
android:textColor="@color/primary_text"/>
<TextView
android:id="@+id/text_slot_used"
android:text="(this device)"
android:visibility="gone"
android:layout_marginStart="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/darker_gray"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:layout_marginTop="12.5dp"
android:layout_marginBottom="12.5dp"/>
<ImageView
android:id="@+id/button_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:src="@drawable/ic_delete_black_24dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:paddingTop="12.5dp"
android:paddingBottom="12.5dp"
android:foreground="?android:attr/selectableItemBackground"/>
</LinearLayout>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:paddingTop="20dp">
<com.mattprecious.swirl.SwirlView
android:id="@+id/img_fingerprint"
android:layout_width="60dp"
android:layout_height="60dp"/>
<TextView
android:id="@+id/text_fingerprint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="@string/fingerprint_hint"
android:textColor="?attr/secondaryText"
android:layout_gravity="center_vertical"/>
</LinearLayout>

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingBottom="16dp"
android:paddingTop="16dp">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Name"
android:ems="10"
android:id="@+id/profile_name"
android:layout_weight="0.96"/>
</LinearLayout>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:paddingTop="20dp">
<EditText
android:id="@+id/text_password"
android:hint="Password"
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:hint="Confirm password"
android:id="@+id/text_password_confirm"
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

View file

@ -95,7 +95,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:text="Touch sensor"/>
android:text="@string/fingerprint_hint"/>
</LinearLayout>
</LinearLayout>