HomelabMFA v1.0 — biometric gate for ntfy Push MFA

This commit is contained in:
2026-06-04 12:17:50 +00:00
commit 9f76a0a4ee
2961 changed files with 351146 additions and 0 deletions
@@ -0,0 +1,6 @@
#Thu Jun 04 12:16:39 UTC 2026
me.khodak.mfa.app-main-5\:/drawable/ic_close.xml=/home/amir/android-projects/homelab-mfa/app/build/intermediates/packaged_res/debug/drawable/ic_close.xml
me.khodak.mfa.app-main-5\:/drawable/ic_launcher.xml=/home/amir/android-projects/homelab-mfa/app/build/intermediates/packaged_res/debug/drawable/ic_launcher.xml
me.khodak.mfa.app-main-5\:/drawable/ic_check.xml=/home/amir/android-projects/homelab-mfa/app/build/intermediates/packaged_res/debug/drawable/ic_check.xml
me.khodak.mfa.app-packageDebugResources-2\:/layout/activity_main.xml=/home/amir/android-projects/homelab-mfa/app/build/intermediates/packaged_res/debug/layout/activity_main.xml
me.khodak.mfa.app-main-5\:/drawable/ic_fingerprint.xml=/home/amir/android-projects/homelab-mfa/app/build/intermediates/packaged_res/debug/drawable/ic_fingerprint.xml
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="accent">#7986CB</color>
<color name="background">#1A1A2E</color>
<color name="green">#4CAF50</color>
<color name="red">#F44336</color>
<color name="text_primary">#FFFFFF</color>
<color name="text_secondary">#AAAACC</color>
<string name="app_name">Homelab MFA</string>
<style name="Theme.HomelabMFA" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/accent</item>
<item name="colorPrimaryVariant">@color/accent</item>
<item name="colorOnPrimary">@color/text_primary</item>
<item name="android:windowBackground">@color/background</item>
<item name="android:statusBarColor">@color/background</item>
<item name="android:navigationBarColor">@color/background</item>
</style>
</resources>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/amir/android-projects/homelab-mfa/app/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/amir/android-projects/homelab-mfa/app/src/main/res"><file name="activity_main" path="/home/amir/android-projects/homelab-mfa/app/src/main/res/layout/activity_main.xml" qualifiers="" type="layout"/><file name="ic_launcher" path="/home/amir/android-projects/homelab-mfa/app/src/main/res/drawable/ic_launcher.xml" qualifiers="" type="drawable"/><file name="ic_fingerprint" path="/home/amir/android-projects/homelab-mfa/app/src/main/res/drawable/ic_fingerprint.xml" qualifiers="" type="drawable"/><file name="ic_check" path="/home/amir/android-projects/homelab-mfa/app/src/main/res/drawable/ic_check.xml" qualifiers="" type="drawable"/><file name="ic_close" path="/home/amir/android-projects/homelab-mfa/app/src/main/res/drawable/ic_close.xml" qualifiers="" type="drawable"/><file path="/home/amir/android-projects/homelab-mfa/app/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">Homelab MFA</string></file><file path="/home/amir/android-projects/homelab-mfa/app/src/main/res/values/themes.xml" qualifiers=""><style name="Theme.HomelabMFA" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/accent</item>
<item name="colorPrimaryVariant">@color/accent</item>
<item name="colorOnPrimary">@color/text_primary</item>
<item name="android:windowBackground">@color/background</item>
<item name="android:statusBarColor">@color/background</item>
<item name="android:navigationBarColor">@color/background</item>
</style></file><file path="/home/amir/android-projects/homelab-mfa/app/src/main/res/values/colors.xml" qualifiers=""><color name="background">#1A1A2E</color><color name="text_primary">#FFFFFF</color><color name="text_secondary">#AAAACC</color><color name="green">#4CAF50</color><color name="red">#F44336</color><color name="accent">#7986CB</color></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/amir/android-projects/homelab-mfa/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/amir/android-projects/homelab-mfa/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/amir/android-projects/homelab-mfa/app/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/amir/android-projects/homelab-mfa/app/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
@@ -0,0 +1,37 @@
<?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="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="32dp"
android:background="@color/background">
<ImageView
android:id="@+id/icon"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/ic_fingerprint"
android:contentDescription="Status icon" />
<TextView
android:id="@+id/statusText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="Authenticating..."
android:textSize="20sp"
android:textStyle="bold"
android:textColor="@color/text_primary" />
<TextView
android:id="@+id/subText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text=""
android:textSize="14sp"
android:textColor="@color/text_secondary"
android:gravity="center" />
</LinearLayout>