mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-08 14:37:22 +00:00
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:
@@ -0,0 +1,13 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="150dp"
|
||||
android:height="150dp"
|
||||
android:viewportWidth="154"
|
||||
android:viewportHeight="154">
|
||||
<path
|
||||
android:fillColor="#7A08090E"
|
||||
android:pathData="M8,0L146,0A8,8 0,0 1,154 8L154,146A8,8 0,0 1,146 154L8,154A8,8 0,0 1,0 146L0,8A8,8 0,0 1,8 0z" />
|
||||
<path
|
||||
android:fillColor="#29FFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M64.75,69C64.75,67.757 65.757,66.75 67,66.75H87C88.243,66.75 89.25,67.757 89.25,69V82.398L85.883,79.591L85.883,79.59C85.355,79.151 84.682,78.926 83.997,78.957C83.312,78.989 82.663,79.276 82.178,79.762L82.178,79.762L80.501,81.438L74.864,75.801L74.864,75.801C74.368,75.306 73.702,75.018 73.001,74.997C72.3,74.977 71.618,75.224 71.094,75.69L71.093,75.69L64.75,81.33V69ZM79.44,82.499L73.803,76.862L73.803,76.862C73.578,76.637 73.275,76.506 72.957,76.497C72.638,76.487 72.328,76.6 72.09,76.811L72.09,76.811L64.75,83.337V85C64.75,86.243 65.757,87.25 67,87.25H74.69L79.44,82.499ZM74.975,88.75C74.992,88.751 75.008,88.751 75.025,88.75H87C89.071,88.75 90.75,87.071 90.75,85V84.006C90.75,84.003 90.75,83.999 90.75,83.995V69C90.75,66.929 89.071,65.25 87,65.25H67C64.929,65.25 63.25,66.929 63.25,69V82.997V83.004V85C63.25,87.071 64.929,88.75 67,88.75H74.975ZM89.25,84.352V85C89.25,86.243 88.243,87.25 87,87.25H76.811L83.239,80.822L83.24,80.821C83.46,80.601 83.755,80.47 84.066,80.456C84.378,80.441 84.683,80.544 84.923,80.743L84.924,80.743L89.25,84.352ZM80.75,72C80.75,71.31 81.31,70.75 82,70.75C82.69,70.75 83.25,71.31 83.25,72C83.25,72.69 82.69,73.25 82,73.25C81.31,73.25 80.75,72.69 80.75,72ZM82,69.25C80.481,69.25 79.25,70.481 79.25,72C79.25,73.519 80.481,74.75 82,74.75C83.519,74.75 84.75,73.519 84.75,72C84.75,70.481 83.519,69.25 82,69.25Z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape android:shape="rectangle"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<solid android:color="@color/block_background" />
|
||||
|
||||
<corners android:radius="12dp" />
|
||||
</shape>
|
||||
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView 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"
|
||||
tools:background="@color/secondary_screen_background">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<io.novafoundation.nova.common.view.Toolbar
|
||||
android:id="@+id/nftDetailsToolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:dividerVisible="false" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/nftDetailsProgress"
|
||||
style="@style/Widget.Nova.ProgressBar.Indeterminate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="16dp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nftDetailsMedia"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
tools:src="@tools:sample/backgrounds/scenic" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nftDetailsTitle"
|
||||
style="@style/TextAppearance.NovaFoundation.Bold.Title1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:textColor="@color/text_primary"
|
||||
tools:text="Honeybird" />
|
||||
|
||||
<io.novafoundation.nova.feature_nft_impl.presentation.nft.common.NftIssuanceView
|
||||
android:id="@+id/nftDetailsIssuance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
tools:text="#11 Edition of 9978" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nftDetailsDescription"
|
||||
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:textColor="@color/text_secondary"
|
||||
tools:text="Wayne: Hello sir, what's your name and what brings you to Pastel Beach Mall?" />
|
||||
|
||||
<io.novafoundation.nova.feature_wallet_api.presentation.view.PriceSectionView
|
||||
android:id="@+id/nftDetailsPrice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="12dp" />
|
||||
|
||||
<io.novafoundation.nova.common.view.TableView
|
||||
android:id="@+id/nftDetailsTable"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<io.novafoundation.nova.common.view.TableCellView
|
||||
android:id="@+id/nftDetailsCollection"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:title="@string/nft_collection" />
|
||||
|
||||
<io.novafoundation.nova.common.view.TableCellView
|
||||
android:id="@+id/nftDetailsOnwer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:primaryValueEndIcon="@drawable/ic_info"
|
||||
app:title="@string/nft_owned_by" />
|
||||
|
||||
<io.novafoundation.nova.common.view.TableCellView
|
||||
android:id="@+id/nftDetailsCreator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:primaryValueEndIcon="@drawable/ic_info"
|
||||
app:title="@string/nft_created_by" />
|
||||
|
||||
<io.novafoundation.nova.common.view.TableCellView
|
||||
android:id="@+id/nftDetailsChain"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:title="@string/common_network" />
|
||||
</io.novafoundation.nova.common.view.TableView>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout 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:background="@drawable/drawable_background_image"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/nftListToolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/blur_navigation_background"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nftListBack"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:src="@drawable/ic_arrow_back"
|
||||
app:tint="@color/actions_color" />
|
||||
|
||||
<TextView
|
||||
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/nft_your_nfts"
|
||||
android:textColor="@color/text_primary" />
|
||||
|
||||
<io.novafoundation.nova.common.view.CounterView
|
||||
android:id="@+id/nftListCounter"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
tools:text="6" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/nftListRefresh"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/nftListNfts"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingEnd="5dp"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:spanCount="2"
|
||||
tools:listitem="@layout/item_nft" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,119 @@
|
||||
<?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"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/itemNftContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="11dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
app:shimmer_auto_start="false"
|
||||
tools:background="@color/block_background">
|
||||
|
||||
<com.facebook.shimmer.ShimmerFrameLayout
|
||||
android:id="@+id/itemNftShimmer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="262dp"
|
||||
android:background="@drawable/bg_shimmering" />
|
||||
|
||||
</com.facebook.shimmer.ShimmerFrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/itemNftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/itemNftMedia"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="154dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:maxHeight="154dp"
|
||||
tools:src="@drawable/nft_media_progress" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemNftTitle"
|
||||
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/text_primary"
|
||||
tools:text="Honeybird" />
|
||||
|
||||
<io.novafoundation.nova.feature_nft_impl.presentation.nft.common.NftIssuanceView
|
||||
android:id="@+id/itemNftIssuance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
tools:text="#11 Edition of 9978" />
|
||||
|
||||
<View
|
||||
android:id="@+id/itemNftPriceDivider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:background="@color/divider" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/itemNftPrice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemNftPricePlaceholder"
|
||||
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:includeFontPadding="false"
|
||||
android:text="@string/nft_price_not_listed"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemNftPriceToken"
|
||||
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="@color/text_primary"
|
||||
tools:text="10 DOT" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemNftPriceFiat"
|
||||
style="@style/TextAppearance.NovaFoundation.Regular.Caption1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:ellipsize="end"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/text_secondary"
|
||||
tools:text="($865.19)" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="Widget.Nova.NftIssuance" parent="TextAppearance.NovaFoundation.SemiBold.Caps2">
|
||||
<item name="android:paddingStart">6dp</item>
|
||||
<item name="android:paddingTop">1.5dp</item>
|
||||
<item name="android:paddingEnd">8dp</item>
|
||||
<item name="android:paddingBottom">1.5dp</item>
|
||||
<item name="android:textColor">@color/text_secondary</item>
|
||||
</style>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user