add zoom QR and flashlight button
Auto Tag on Version Change / check-version (push) Successful in 4s

This commit is contained in:
2026-05-27 23:07:01 +05:00
parent c4ad35e6b9
commit daf9b0475a
11 changed files with 175 additions and 15 deletions
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="250"
android:propertyName="trimPathEnd"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType"
android:interpolator="@android:interpolator/accelerate_decelerate" />
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="250"
android:propertyName="trimPathEnd"
android:valueFrom="1"
android:valueTo="0"
android:valueType="floatType"
android:interpolator="@android:interpolator/accelerate_decelerate" />
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/black"
android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z" />
</vector>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- base for "turning off" animation: line starts invisible -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/black"
android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z" />
<path
android:name="line"
android:strokeColor="@android:color/black"
android:strokeWidth="2"
android:strokeLineCap="round"
android:pathData="M2,4 L22,20"
android:trimPathEnd="0" />
</vector>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- base for "turning on" animation: line starts fully visible -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/black"
android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z" />
<path
android:name="line"
android:strokeColor="@android:color/black"
android:strokeWidth="2"
android:strokeLineCap="round"
android:pathData="M2,4 L22,20"
android:trimPathEnd="1" />
</vector>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<!-- bolt with line through it (flash_off) -->
<path
android:fillColor="@android:color/black"
android:pathData="M3.27,3L2,4.27l5,5V13h3v9l3.58,-6.14L17.73,20 19,18.73 3.27,3zM17,10h-4l4,-8H7v2.18l8.46,8.46L17,10z" />
</vector>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic_flashlight_anim_off">
<target
android:name="line"
android:animation="@animator/flashlight_line_appear" />
</animated-vector>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic_flashlight_anim_on">
<target
android:name="line"
android:animation="@animator/flashlight_line_disappear" />
</animated-vector>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/black"
android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01 3.5,-4.51 4.5,6H5l3.5,-4.5z" />
</vector>
+37 -13
View File
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:background="@android:color/black">
@@ -11,26 +12,49 @@
<LinearLayout
android:id="@+id/btnContainer"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="48dp"
android:orientation="horizontal">
android:orientation="vertical"
android:paddingHorizontal="16dp">
<com.google.android.material.button.MaterialButton
android:id="@+id/btnPickImage"
style="@style/Widget.Material3.Button.TonalButton"
<com.google.android.material.slider.Slider
android:id="@+id/zoomSlider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:valueFrom="0"
android:valueTo="1"
android:value="0"
app:labelBehavior="gone"
app:thumbColor="@android:color/white"
app:trackColorActive="@android:color/white"
app:trackColorInactive="#80FFFFFF" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/qr_pick_image" />
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btnCancel"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/back" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnPickImage"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/qr_pick_image"
app:icon="@drawable/ic_image" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnFlashlight"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_flashlight_anim_on" />
</LinearLayout>
</LinearLayout>