Initial commit: Pezkuwi Wallet Android

Security hardened release:
- Code obfuscation enabled (minifyEnabled=true, shrinkResources=true)
- Sensitive files excluded (google-services.json, keystores)
- Branch.io key moved to BuildConfig placeholder
- Updated dependencies: OkHttp 4.12.0, Gson 2.10.1, BouncyCastle 1.77
- Comprehensive ProGuard rules for crypto wallet
- Navigation 2.7.7, Lifecycle 2.7.0, ConstraintLayout 2.1.4
This commit is contained in:
2026-02-12 05:19:41 +03:00
commit a294aa1a6b
7687 changed files with 441811 additions and 0 deletions
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<io.novafoundation.nova.feature_banners_api.presentation.view.BannerPagerView
android:id="@+id/bannerPager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<merge 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="wrap_content"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<com.google.android.material.card.MaterialCardView
android:id="@+id/pagerBannerCardView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginVertical="8dp"
app:cardCornerRadius="12dp"
app:layout_constraintBottom_toBottomOf="@id/pagerBannerContent"
app:layout_constraintEnd_toEndOf="@id/pagerBannerContent"
app:layout_constraintStart_toStartOf="@id/pagerBannerContent"
app:layout_constraintTop_toTopOf="@id/pagerBannerContent"
app:strokeColor="@color/container_border"
app:strokeWidth="1dp">
<FrameLayout
android:id="@+id/pagerBannerBackground"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@color/text_secondary" />
</com.google.android.material.card.MaterialCardView>
<LinearLayout
android:id="@+id/pagerBannerShimmering"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical"
android:padding="16dp"
android:background="@drawable/bg_block_12"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="16dp"
tools:visibility="visible">
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="168dp"
android:layout_height="14dp"
android:background="@drawable/bg_shimmering" />
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="125dp"
android:layout_height="8dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_shimmering" />
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="89dp"
android:layout_height="8dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_shimmering" />
</LinearLayout>
<FrameLayout
android:id="@+id/pagerBannerContent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:clipToPadding="false"
android:elevation="16dp"
android:minHeight="96dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/pagerBannerClose"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginTop="8dp"
android:elevation="17dp"
android:padding="8dp"
android:scaleType="centerInside"
android:src="@drawable/ic_close"
app:layout_constraintEnd_toEndOf="@id/pagerBannerContent"
app:layout_constraintTop_toTopOf="@id/pagerBannerContent"
app:tint="@color/icon_secondary" />
<io.novafoundation.nova.feature_banners_api.presentation.view.PageIndicatorView
android:id="@+id/pagerBannerIndicators"
android:layout_width="match_parent"
android:layout_height="6dp"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pagerBannerCardView" />
</merge>
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<merge 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="wrap_content"
android:orientation="vertical"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<ImageView
android:id="@+id/pagerBannerImage"
android:layout_width="126dp"
android:layout_height="0dp"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_min="96dp"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_android_nav_bar_dapps_active" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginVertical="20dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="2dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/pagerBannerImage"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/pagerBannerTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
tools:text="Title" />
<TextView
android:id="@+id/pagerBannerSubtitle"
style="@style/TextAppearance.NovaFoundation.Regular.Caption1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
tools:text="Subtitle\nsecond line" />
</LinearLayout>
</merge>