New UI, new icons , before add param TMS

This commit is contained in:
ahmeddatexpay 2025-09-03 15:22:06 +03:00
parent 4fc39800ab
commit 6f73fb31c1
24 changed files with 212 additions and 60 deletions

View File

@ -143,6 +143,8 @@ dependencies {
// ML Kit Face Detection // ML Kit Face Detection
implementation 'com.google.mlkit:face-detection:16.1.6' implementation 'com.google.mlkit:face-detection:16.1.6'
implementation 'com.airbnb.android:lottie:6.1.0'
// CameraX (optional but recommended for better camera handling) // CameraX (optional but recommended for better camera handling)
// implementation "androidx.camera:camera-camera2:1.3.2" // implementation "androidx.camera:camera-camera2:1.3.2"
// implementation "androidx.camera:camera-lifecycle:1.3.2" // implementation "androidx.camera:camera-lifecycle:1.3.2"

View File

@ -25,16 +25,13 @@ public class FaceIDHelper implements TextureView.SurfaceTextureListener {
private static final int REQUEST_CAMERA_PERMISSION = 200; private static final int REQUEST_CAMERA_PERMISSION = 200;
private static final int DETECTION_INTERVAL_MS = 1000; // Check every second private static final int DETECTION_INTERVAL_MS = 1000; // Check every second
private Context context; private Context context;
private TextureView textureView; private TextureView textureView;
private FaceIDCallback callback; private FaceIDCallback callback;
private CameraManager cameraManager; private CameraManager cameraManager;
private CameraDevice cameraDevice; private CameraDevice cameraDevice;
private CameraCaptureSession cameraCaptureSession; private CameraCaptureSession cameraCaptureSession;
private CaptureRequest.Builder captureRequestBuilder; private CaptureRequest.Builder captureRequestBuilder;
private Handler backgroundHandler; private Handler backgroundHandler;
private HandlerThread backgroundThread; private HandlerThread backgroundThread;
private String frontCameraId; private String frontCameraId;
@ -80,7 +77,6 @@ public class FaceIDHelper implements TextureView.SurfaceTextureListener {
callback.onCameraError("Camera permission required"); callback.onCameraError("Camera permission required");
return; return;
} }
setupCamera(); setupCamera();
} }
@ -91,7 +87,6 @@ public class FaceIDHelper implements TextureView.SurfaceTextureListener {
callback.onCameraError("Front camera not found"); callback.onCameraError("Front camera not found");
return; return;
} }
textureView.setSurfaceTextureListener(this); textureView.setSurfaceTextureListener(this);
} catch (CameraAccessException e) { } catch (CameraAccessException e) {

View File

@ -266,8 +266,8 @@ public class PrinterHelper {
// ================== ADDRESS ================== // ================== ADDRESS ==================
// mPrinter.addText("г. Волгоград, пр. Ленина, д. 92"); // mPrinter.addText("г. Волгоград, пр. Ленина, д. 92");
// ================== RECEIPT DETAILS ================== // ================== RECEIPT DETAILS ==================
mPrinter.addText("ЧЕК №" + 123465); // mPrinter.addText("ЧЕК №" + 123465);
mPrinter.addText("Кассир: Иванов И.И."); // mPrinter.addText("Кассир: Иванов И.И.");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()); SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault());
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()); SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
@ -292,11 +292,11 @@ public class PrinterHelper {
new int[]{PrintStyle.Alignment.CENTER, PrintStyle.Alignment.ALIGN_OPPOSITE} new int[]{PrintStyle.Alignment.CENTER, PrintStyle.Alignment.ALIGN_OPPOSITE}
); );
mPrinter.addTexts( // mPrinter.addTexts(
new String[]{" НДС 20%", "= " + String.format("%.2f %s", amount * 0.2, currencySymbol)}, // new String[]{" НДС 20%", "= " + String.format("%.2f %s", amount * 0.2, currencySymbol)},
new int[]{2, 1}, // new int[]{2, 1},
new int[]{PrintStyle.Alignment.NORMAL, PrintStyle.Alignment.ALIGN_OPPOSITE} // new int[]{PrintStyle.Alignment.NORMAL, PrintStyle.Alignment.ALIGN_OPPOSITE}
); // );
// ================== TOTALS ================== // ================== TOTALS ==================
mPrinter.addText("--------------------------------"); mPrinter.addText("--------------------------------");
mPrinter.addPrintLintStyle(new PrintLineStyle(PrintStyle.FontStyle.BOLD, PrintLine.CENTER, 28)); mPrinter.addPrintLintStyle(new PrintLineStyle(PrintStyle.FontStyle.BOLD, PrintLine.CENTER, 28));

View File

@ -1,19 +1,25 @@
package com.dspread.pos.ui.payment; package com.dspread.pos.ui.payment;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.text.Spanned; import android.text.Spanned;
import android.text.method.LinkMovementMethod; import android.text.method.LinkMovementMethod;
import android.util.Base64; import android.util.Base64;
import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.TextureView; import android.view.TextureView;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewTreeObserver; import android.view.ViewTreeObserver;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView; import android.widget.ListView;
import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONException;
@ -52,6 +58,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
// Add these imports at the top // Add these imports at the top
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.MediaController;
import android.widget.VideoView;
import com.dspread.pos_android_app.databinding.WaitingForCardBinding; // Generated binding class import com.dspread.pos_android_app.databinding.WaitingForCardBinding; // Generated binding class
import com.dspread.pos.faceID.FaceIDHelper; import com.dspread.pos.faceID.FaceIDHelper;
@ -92,6 +101,14 @@ public class PaymentActivity extends BaseActivity<ActivityPaymentBinding, Paymen
@Override @Override
public void initData() { public void initData() {
// 👇 Add this code to hide both bars
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // Hides back/home buttons
// | View.SYSTEM_UI_FLAG_FULLSCREEN // Hides status bar (clock, battery)
);
// Debug current locale // Debug current locale
Locale currentLocale = getResources().getConfiguration().locale; Locale currentLocale = getResources().getConfiguration().locale;
Log.d("LanguageDebug", "Current locale: " + currentLocale.getLanguage()); Log.d("LanguageDebug", "Current locale: " + currentLocale.getLanguage());
@ -175,6 +192,12 @@ public class PaymentActivity extends BaseActivity<ActivityPaymentBinding, Paymen
waitingViewModel.onFaceIDClicked(); waitingViewModel.onFaceIDClicked();
}); });
VideoView videoView = findViewById(R.id.videoView);
Uri videoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.misha_card);
videoView.setVideoURI(videoUri);
videoView.start();
videoView.setOnCompletionListener(mediaPlayer -> videoView.start());
startTransaction(); startTransaction();
} }
@ -185,15 +208,40 @@ public class PaymentActivity extends BaseActivity<ActivityPaymentBinding, Paymen
// Show camera container - now it's inside the FrameLayout // Show camera container - now it's inside the FrameLayout
FrameLayout cameraContainer = waitingBinding.getRoot().findViewById(R.id.camera_container); FrameLayout cameraContainer = waitingBinding.getRoot().findViewById(R.id.camera_container);
LinearLayout yuzlogoContainer = waitingBinding.getRoot().findViewById(R.id.yuzpay_id);
if (cameraContainer != null) { if (cameraContainer != null) {
cameraContainer.setVisibility(View.VISIBLE); cameraContainer.setVisibility(View.VISIBLE);
yuzlogoContainer.setVisibility(View.VISIBLE);
} }
// Create TextureView for camera preview // Create TextureView for camera preview
TextureView textureView = new TextureView(this); TextureView textureView = new TextureView(this);
textureView.setLayoutParams(new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT, // Set layout params to maintain aspect ratio (4:3 is common for cameras)
FrameLayout.LayoutParams.MATCH_PARENT)); // int width = getResources().getDisplayMetrics().widthPixels;
// int height = (width * 4) / 3; // 4:3 aspect ratio
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int zoomedWidth = (int) (displayMetrics.widthPixels * 1.5f);
int zoomedHeight = (int) (displayMetrics.heightPixels * 0.8f);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
zoomedWidth,
zoomedHeight,
Gravity.CENTER_HORIZONTAL | Gravity.TOP);
// FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
// width, height, Gravity.CENTER);
textureView.setLayoutParams(params);
// textureView.setLayoutParams(new FrameLayout.LayoutParams(
// FrameLayout.LayoutParams.MATCH_PARENT,
// FrameLayout.LayoutParams.MATCH_PARENT));
// Add TextureView to camera container // Add TextureView to camera container
if (cameraContainer != null) { if (cameraContainer != null) {

View File

@ -27,7 +27,8 @@ public class QRCodeGenerator {
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
for (int x = 0; x < width; x++) { for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) { for (int y = 0; y < height; y++) {
bitmap.setPixel(x, y, bitMatrix.get(x, y) ? Color.WHITE : Color.rgb(140, 16 , 132)); bitmap.setPixel(x, y, bitMatrix.get(x, y) ? Color.WHITE : Color.TRANSPARENT);
// Color.rgb(113, 22 , 141)
} }
} }
return bitmap; return bitmap;

View File

@ -18,7 +18,7 @@
android:endY="234.97" android:endY="234.97"
android:type="linear"> android:type="linear">
<item android:offset="0" android:color="#FFACAFCA"/> <item android:offset="0" android:color="#FFACAFCA"/>
<item android:offset="1" android:color="#FF44454E"/> <item android:offset="1" android:color="#FFFFFFFF"/>
</gradient> </gradient>
</aapt:attr> </aapt:attr>
</path> </path>

View File

@ -8,7 +8,7 @@
<item android:color="#FFACAFCA" android:offset="0"/> <item android:color="#FFACAFCA" android:offset="0"/>
<item android:color="#FF44454E" android:offset="1"/> <item android:color="#FFFFFFFF" android:offset="1"/>
</gradient> </gradient>

View File

@ -18,7 +18,7 @@
android:endY="238.43" android:endY="238.43"
android:type="linear"> android:type="linear">
<item android:offset="0" android:color="#FFACAFCA"/> <item android:offset="0" android:color="#FFACAFCA"/>
<item android:offset="1" android:color="#FF44454E"/> <item android:offset="1" android:color="#FFFFFFFF"/>
</gradient> </gradient>
</aapt:attr> </aapt:attr>
</path> </path>

View File

@ -18,7 +18,7 @@
android:endY="240.81" android:endY="240.81"
android:type="linear"> android:type="linear">
<item android:offset="0" android:color="#FFACAFCA"/> <item android:offset="0" android:color="#FFACAFCA"/>
<item android:offset="1" android:color="#FF44454E"/> <item android:offset="1" android:color="#FFFFFFFF"/>
</gradient> </gradient>
</aapt:attr> </aapt:attr>
</path> </path>

View File

@ -0,0 +1,36 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="119dp"
android:height="32dp"
android:viewportWidth="119"
android:viewportHeight="32">
<group>
<clip-path
android:pathData="M0.18,-0h27.7v31.35h-27.7z"/>
<path
android:pathData="M4.7,10.26L12.56,0.44L1.23,7.66L4.7,10.26ZM14.03,0.44L22.06,10.48H6L14.03,0.44ZM22.23,11.64L14.03,24.96L5.83,11.64H22.23ZM15.51,0.44L26.84,7.66L23.36,10.26L15.51,0.44ZM27.31,20.51V8.74L23.95,11.26L27.31,20.51ZM14.61,30.82V26.55L27.09,24.47L14.61,30.82ZM13.46,26.55L0.97,24.47L13.46,30.82V26.55ZM0.75,8.74L4.21,11.34L0.75,20.52L0.75,8.74ZM15.19,25.28L27.1,23.3L23.13,12.38L15.19,25.28ZM4.94,12.38L12.88,25.28L0.97,23.3L4.94,12.38Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</group>
<group>
<clip-path
android:pathData="M35.17,4.37h83.11v22.6h-83.11z"/>
<path
android:pathData="M52.64,4.37L46.3,13.88V20.88H42.32V13.88L36.12,4.37L40.94,4.37L44.46,10.48L47.98,4.37L52.64,4.37Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M62.99,20.88H59.31V19.27H59.26C58.98,19.81 58.52,20.27 57.89,20.64C57.25,21.01 56.54,21.2 55.77,21.2C54.32,21.2 53.26,20.74 52.57,19.83C51.89,18.89 51.55,17.77 51.55,16.45V9.27H55.39V15.56C55.39,17.21 55.97,18.03 57.12,18.03C57.76,18.03 58.25,17.79 58.61,17.31C58.98,16.83 59.17,16.24 59.17,15.54V9.27H62.99V20.88Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M75.63,20.88H65.28V17.89L70.74,12.21H65.49V9.27H75.4V12.14L69.78,17.92H75.63V20.88Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M90.63,9.45C90.63,10.67 90.31,11.68 89.68,12.48C89.06,13.29 88.27,13.86 87.32,14.19C86.39,14.5 85.31,14.65 84.08,14.65H82.1V20.88H78.12V4.37L84.18,4.37C86.13,4.37 87.7,4.78 88.86,5.59C90.04,6.38 90.63,7.67 90.63,9.45ZM86.65,9.48C86.65,8.22 85.71,7.59 83.85,7.59H82.1V11.48H83.78C85.69,11.48 86.65,10.81 86.65,9.48Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M98.57,16.21V15.82H98.09C95.71,15.82 94.52,16.35 94.52,17.4C94.52,17.81 94.68,18.11 95.01,18.31C95.34,18.5 95.72,18.59 96.17,18.59C96.94,18.59 97.53,18.38 97.95,17.96C98.36,17.53 98.57,16.94 98.57,16.21ZM93.49,12.93L91.56,10.85C92.94,9.55 94.67,8.9 96.73,8.9C98.64,8.9 100.01,9.39 100.83,10.36C101.66,11.33 102.07,12.88 102.07,15.03V20.88H98.57V19.64H98.5C98.23,20.11 97.78,20.48 97.18,20.76C96.57,21.02 95.92,21.15 95.22,21.15C94.54,21.15 93.89,21.05 93.28,20.85C92.69,20.63 92.17,20.24 91.7,19.66C91.23,19.09 91,18.37 91,17.52C91,14.91 93.49,13.6 98.46,13.6V13.42C98.46,12.87 98.26,12.46 97.88,12.18C97.49,11.89 96.98,11.74 96.36,11.74C95.3,11.74 94.35,12.14 93.49,12.93Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M116.67,9.27L111.47,22.62C110.97,23.93 110.35,24.89 109.58,25.51C108.82,26.15 107.75,26.47 106.37,26.47C105.65,26.47 104.95,26.38 104.27,26.21L104.69,23C105.14,23.14 105.55,23.21 105.93,23.21C106.49,23.21 106.9,23.08 107.16,22.83C107.44,22.6 107.68,22.2 107.88,21.64L108.26,20.69L103.41,9.27H107.65L110.24,16.73H110.31L112.61,9.27H116.67Z"
android:fillColor="#ffffff"/>
</group>
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -11,7 +11,7 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/keyboard_background"> android:background="@drawable/wallpaper_8f25c3">
<LinearLayout <LinearLayout
android:id="@+id/LogoContainer" android:id="@+id/LogoContainer"

View File

@ -19,9 +19,10 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/white"
android:padding="16dp" android:padding="16dp"
android:gravity="center" android:gravity="center"
android:background="@drawable/wallpaper_8f25c3"
app:layout_constraintVertical_chainStyle="packed" app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintHorizontal_chainStyle="packed"> app:layout_constraintHorizontal_chainStyle="packed">
@ -72,6 +73,7 @@
> >
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:background="@android:color/transparent"
android:id="@+id/mulberryCards_list" android:id="@+id/mulberryCards_list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -178,6 +180,7 @@
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintEnd_toEndOf="parent">
<TextView <TextView
android:textColor="@color/white"
android:id="@+id/footertext" android:id="@+id/footertext"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -15,7 +15,10 @@
android:layout_margin="8dp" android:layout_margin="8dp"
android:onClick="@{() -> viewModel.itemClick.execute()}" android:onClick="@{() -> viewModel.itemClick.execute()}"
app:cardCornerRadius="8dp" app:cardCornerRadius="8dp"
app:cardElevation="4dp"> app:cardBackgroundColor="@android:color/transparent"
app:cardElevation="0dp"
app:cardPreventCornerOverlap="false"
>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -33,12 +36,13 @@
tools:src="@drawable/ax_card_grey" /> <!-- Use your actual default drawable --> tools:src="@drawable/ax_card_grey" /> <!-- Use your actual default drawable -->
<TextView <TextView
android:textColor="@color/white"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:text="@{viewModel.title}" android:text="@{viewModel.title}"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="normal"
tools:text="Payment" /> tools:text="Payment" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>

View File

@ -20,30 +20,49 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp"> android:padding="0dp">
<!-- Card animation GIF --> <VideoView
<LinearLayout android:id="@+id/videoView"
android:layout_width="wrap_content" android:layout_width="400dp"
android:layout_height="wrap_content" android:layout_height="400dp"
android:layout_weight="1" android:paddingLeft="-16dp"
android:gravity="center" android:layout_gravity="end"
android:layout_marginTop="-60dp"> android:adjustViewBounds="true"
android:scaleType="centerCrop"/>
<pl.droidsonroids.gif.GifImageView
android:layout_width="348dp"
android:layout_height="480dp"
android:padding="35dp"
android:scaleType="centerCrop"
android:src="@drawable/mishka_like" />
<!-- <ImageView--> <!-- &lt;!&ndash; Card animation GIF &ndash;&gt;-->
<!-- android:layout_width="match_parent"--> <!-- <LinearLayout-->
<!-- android:layout_height="@dimen/dp_300"--> <!-- android:layout_width="258dp"-->
<!-- android:paddingTop="10dp"--> <!-- android:layout_height="wrap_content"-->
<!-- android:scaleType="fitCenter"--> <!-- android:layout_marginTop="0dp"-->
<!-- android:src="@drawable/melberry_char_purple" />--> <!-- android:layout_weight="1"-->
</LinearLayout> <!-- android:gravity="center">-->
<!-- &lt;!&ndash; <pl.droidsonroids.gif.GifImageView&ndash;&gt;-->
<!-- &lt;!&ndash; android:layout_width="348dp"&ndash;&gt;-->
<!-- &lt;!&ndash; android:layout_height="480dp"&ndash;&gt;-->
<!-- &lt;!&ndash; android:padding="35dp"&ndash;&gt;-->
<!-- &lt;!&ndash; android:scaleType="centerCrop"&ndash;&gt;-->
<!-- &lt;!&ndash; android:src="@drawable/mishka_like" />&ndash;&gt;-->
<!--&lt;!&ndash; <com.airbnb.lottie.LottieAnimationView&ndash;&gt;-->
<!--&lt;!&ndash; android:id="@+id/lottie_view"&ndash;&gt;-->
<!--&lt;!&ndash; android:layout_width="200dp"&ndash;&gt;-->
<!--&lt;!&ndash; android:layout_height="200dp"&ndash;&gt;-->
<!--&lt;!&ndash; android:layout_centerInParent="true"&ndash;&gt;-->
<!--&lt;!&ndash; app:lottie_rawRes="@raw/like_misha_v2"&ndash;&gt;-->
<!--&lt;!&ndash; app:lottie_speed="3" />&ndash;&gt;-->
<!-- -->
<!-- &lt;!&ndash; <ImageView&ndash;&gt;-->
<!-- &lt;!&ndash; android:layout_width="match_parent"&ndash;&gt;-->
<!-- &lt;!&ndash; android:layout_height="@dimen/dp_300"&ndash;&gt;-->
<!-- &lt;!&ndash; android:paddingTop="10dp"&ndash;&gt;-->
<!-- &lt;!&ndash; android:scaleType="fitCenter"&ndash;&gt;-->
<!-- &lt;!&ndash; android:src="@drawable/melberry_char_purple" />&ndash;&gt;-->
<!-- </LinearLayout>-->
<!-- Amount and currency section --> <!-- Amount and currency section -->
<LinearLayout <LinearLayout
@ -78,6 +97,7 @@
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="2" android:weightSum="2"
android:padding="16dp"
android:paddingHorizontal="1dp"> android:paddingHorizontal="1dp">
<!-- Left side - Face ID Card --> <!-- Left side - Face ID Card -->
@ -96,7 +116,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:background="#8c1084" android:background="#71168d"
android:padding="5dp"> android:padding="5dp">
<!-- Inner Card (Purple Background) --> <!-- Inner Card (Purple Background) -->
@ -169,7 +189,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:background="#8c1084" android:background="#71168d"
android:padding="3dp"> android:padding="3dp">
<!-- QR Code Image --> <!-- QR Code Image -->
@ -178,7 +198,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="170dp" android:layout_height="170dp"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:src="@drawable/am_qr_code_mag_black" android:src="@drawable/qr_site"
android:contentDescription="@string/qr_code_description" android:contentDescription="@string/qr_code_description"
app:imageBitmap="@{vm.qrCodeBitmap}" /> app:imageBitmap="@{vm.qrCodeBitmap}" />
@ -206,21 +226,22 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center" android:gravity="center"
android:visibility="gone" android:visibility="gone"
android:scaleType="centerCrop"
android:background="@android:color/black"> android:background="@android:color/black">
<!-- Camera Preview will be added here programmatically --> <!-- Camera Preview will be added here programmatically -->
<FrameLayout <!-- <FrameLayout-->
android:id="@+id/camera_preview_holder" <!-- android:id="@+id/camera_preview_holder"-->
android:layout_width="match_parent" <!-- android:layout_width="match_parent"-->
android:layout_height="0dp" <!-- android:layout_height="0dp"-->
android:layout_weight="1" <!-- android:layout_weight="1"-->
android:scaleType="centerCrop" <!-- android:scaleType="centerCrop"-->
android:layout_gravity="center"> <!-- android:layout_gravity="center">-->
<!-- Camera Preview will be added here --> <!-- &lt;!&ndash; Camera Preview will be added here &ndash;&gt;-->
</FrameLayout> <!-- </FrameLayout>-->
<TextView <TextView
android:id="@+id/amountOnCamera" android:id="@+id/amountOnCamera"
@ -265,5 +286,44 @@
android:visibility="gone" /> android:visibility="gone" />
</FrameLayout> </FrameLayout>
<LinearLayout
android:id="@+id/yuzpay_id"
android:layout_width="match_parent"
android:layout_height="112dp"
app:layout_constraintTop_toBottomOf="@id/amountOnCamera"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_gravity="bottom"
android:background="@color/colorMulberry"
android:visibility="gone"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_gravity="center"
android:src="@drawable/logo_yuz_pay_white" />
</LinearLayout>
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:paddingRight="20dp"-->
<!-- app:layout_constraintTop_toBottomOf="@id/amountOnCamera"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- -->
<!-- android:text="Смотрите в камеру\nЛицо должно быть в рамке"-->
<!-- android:textColor="@color/white"-->
<!-- android:textSize="18sp" -->
<!-- android:padding="16dp"-->
<!-- android:background="@drawable/rounded_bg_black_50"-->
<!-- android:visibility="visible" />-->
</FrameLayout> </FrameLayout>
</layout> </layout>

Binary file not shown.

Binary file not shown.

View File

@ -9,7 +9,10 @@
<!-- <color name="colorPrimary">#3F51B5</color>--> <!-- <color name="colorPrimary">#3F51B5</color>-->
<color name="colorPrimary">#8c1084</color> <color name="colorPrimary">#8c1084</color>
<color name="colorMulberry">#8c1084</color> <!-- <color name="colorMulberry">#8c1084</color>-->
<color name="colorMulberry">#71168d</color>
<color name="colorMulberryNew">#8f25c3</color>
<color name="colorPrimarys">#8c1084</color> <color name="colorPrimarys">#8c1084</color>
<color name="colorPrimaryDark">#8c1084</color> <color name="colorPrimaryDark">#8c1084</color>
<color name="colorAccent">#FF4081</color> <color name="colorAccent">#FF4081</color>

View File

@ -49,7 +49,7 @@
<style name="Theme.Despreaddemo1" parent="Theme.MaterialComponents.Light.NoActionBar"> <style name="Theme.Despreaddemo1" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- 主要颜色 --> <!-- 主要颜色 -->
<item name="colorPrimary">@color/number_button_background</item> <item name="colorPrimary">@color/colorMulberryNew</item>
<item name="colorPrimaryVariant">@color/button_stroke</item> <item name="colorPrimaryVariant">@color/button_stroke</item>
<item name="colorOnPrimary">@color/number_button_text</item> <item name="colorOnPrimary">@color/number_button_text</item>
@ -59,7 +59,7 @@
<item name="colorOnSecondary">@color/confirm_button_text</item> <item name="colorOnSecondary">@color/confirm_button_text</item>
<!-- 状态栏颜色 --> <!-- 状态栏颜色 -->
<item name="android:statusBarColor">@color/keyboard_background</item> <item name="android:statusBarColor">@color/colorMulberryNew</item>
<!-- 按钮默认样式 --> <!-- 按钮默认样式 -->
<item name="materialButtonStyle">@style/NumberKeyboardButton</item> <item name="materialButtonStyle">@style/NumberKeyboardButton</item>