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,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/addressActionsContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="4dp"
tools:background="@color/bottom_sheet_background">
<View
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:layout_marginTop="6dp" />
<io.novafoundation.nova.common.view.ChipLabelView
android:id="@+id/addressActionsScheme"
tools:text="Substrate Address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp" />
<ImageView
android:id="@+id/addressActionsIcon"
style="@style/Widget.Nova.Icon.Big"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp" />
<TextView
android:id="@+id/addressActionsValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="84dp"
android:layout_marginEnd="84dp"
android:layout_marginBottom="8dp"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:textColor="@color/text_secondary"
tools:text="P15cfSaBcTxNr8rV59cbhdMNCRagFr3GE6B3zZRsCp4QHHKPu" />
</LinearLayout>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/externalActionsContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="4dp"
tools:background="@color/bottom_sheet_background">
<View
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:layout_marginTop="6dp" />
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/externalActionsChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp" />
<ImageView
android:id="@+id/externalActionsIcon"
style="@style/Widget.Nova.Icon.Big"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp" />
<TextView
android:id="@+id/externalActionsValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="84dp"
android:layout_marginEnd="84dp"
android:layout_marginBottom="8dp"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:textColor="@color/text_secondary"
tools:text="P15cfSaBcTxNr8rV59cbhdMNCRagFr3GE6B3zZRsCp4QHHKPu" />
</LinearLayout>
@@ -0,0 +1,47 @@
<?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:id="@+id/bottomSheetFeeSelectionContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingBottom="24dp"
tools:background="@color/bottom_sheet_background">
<View
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal"
android:layout_marginTop="6dp" />
<TextView
android:id="@+id/bottomSheetFeeSelectionTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/network_fee"
android:textColor="@color/text_primary" />
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Caption1.Secondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:text="@string/swap_custom_fee_selector_description" />
<io.novafoundation.nova.common.view.tabs.TabsView
android:id="@+id/bottomSheetFeeSelectionAssets"
style="@style/Widget.Nova.Tabs.OnBlack"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
<io.novafoundation.nova.common.mixin.hints.HintsView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:HintsView_singleHint="@string/swap_custom_fee_selector_footer" />
</LinearLayout>
@@ -0,0 +1,62 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:background="@color/secondary_screen_background">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/previewChainAccountToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false" />
<TextView
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/account_parity_signer_import_preview_title"
android:textColor="@color/text_primary" />
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:id="@+id/previewChainAccountDescription"
android:layout_marginEnd="16dp"
tools:text="@string/account_parity_signer_import_preview_description"
android:textColor="@color/text_secondary" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/previewChainAccountAccounts"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingBottom="93dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_chain_account" />
</LinearLayout>
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/previewChainAccountContinue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="25dp"
android:text="@string/common_continue" />
</FrameLayout>
@@ -0,0 +1,81 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/secondary_screen_background"
android:orientation="vertical">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/createWalletNameToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false" />
<TextView
style="@style/TextAppearance.NovaFoundation.Header2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="@string/account_create_name_title_v2_2_0"
android:textColor="@color/text_primary" />
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/account_create_name_subtitle_v2_2_0"
android:textColor="@color/text_secondary" />
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/account_wallet_nickname"
android:textColor="@color/text_secondary" />
<io.novafoundation.nova.common.view.input.TextInputView
android:id="@+id/createWalletNameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:drawableTint="@color/icon_positive"
android:hint="@string/account_wallet_nickname" />
<TextView
android:id="@+id/createAccountNameDescription"
style="@style/TextAppearance.NovaFoundation.Regular.Caption1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/x2"
android:layout_marginTop="12dp"
android:layout_marginEnd="@dimen/x2"
android:text="@string/wallet_nickname_create_caption_v2_2_0"
android:textColor="@color/text_secondary" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/createWalletNameContinue"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/x2"
android:layout_marginEnd="@dimen/x2"
android:layout_marginBottom="@dimen/x3"
android:enabled="false"
android:text="@string/common_continue" />
</LinearLayout>
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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/itemAccountContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:background="@drawable/bg_primary_list_item"
tools:background="@color/secondary_screen_background">
<ImageView
android:id="@+id/itemAccountDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:src="@drawable/ic_delete_symbol"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/itemAccountIcon"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="12dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/itemAccountDelete"
app:layout_constraintTop_toTopOf="parent"
app:layout_goneMarginStart="16dp"
tools:src="@color/icon_primary" />
<ImageView
android:id="@+id/itemChainIcon"
android:layout_width="17dp"
android:layout_height="17dp"
android:layout_marginStart="19dp"
android:layout_marginTop="19dp"
android:background="@drawable/bg_chain_wallet"
android:padding="1.5dp"
android:visibility="gone"
app:layout_constraintStart_toStartOf="@+id/itemAccountIcon"
app:layout_constraintTop_toTopOf="@+id/itemAccountIcon"
tools:visibility="visible" />
<TextView
android:id="@+id/itemAccountTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:includeFontPadding="false"
android:singleLine="true"
android:textColor="@color/text_primary"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toTopOf="@+id/itemAccountSubtitle"
app:layout_constraintEnd_toStartOf="@+id/itemAccountEndBarrier"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/itemAccountIcon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="✨👍✨ Day7 ✨👍✨" />
<TextView
android:id="@+id/itemAccountSubtitle"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:ellipsize="middle"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:lines="1"
android:minHeight="18dp"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/itemAccountEndBarrier"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/itemAccountIcon"
app:layout_constraintTop_toBottomOf="@+id/itemAccountTitle"
app:layout_constraintVertical_chainStyle="packed"
tools:text="$11,529.26" />
<ImageView
android:id="@+id/itemAccountArrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@drawable/ic_chevron_right"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/icon_secondary" />
<RadioButton
android:id="@+id/itemAccountRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:buttonTint="@color/tint_radio_button"
android:clickable="false"
android:duplicateParentState="true"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/itemAccountCheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:clickable="false"
android:duplicateParentState="true"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/itemAccountEndBarrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="left"
app:constraint_referenced_ids="itemAccountRadioButton, itemAccountCheckBox, itemAccountArrow" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_primary_list_item"
android:orientation="horizontal"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.feature_account_api.view.AccountView
android:id="@+id/itemAccountChooserAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:showBackground="false"
android:layout_weight="1" />
<RadioButton
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:id="@+id/itemAccountChooserCheck"
android:layout_width="wrap_content"
android:clickable="false"
android:duplicateParentState="true"
android:buttonTint="@color/tint_radio_button"
android:layout_height="wrap_content" />
</LinearLayout>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<io.novafoundation.nova.feature_account_api.view.ChainChipView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemChainListBottomSheet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="13dp"
android:layout_marginStart="16dp" />
@@ -0,0 +1,79 @@
<?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:background="@color/secondary_screen_background"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<ImageView
android:id="@+id/chainAccountChainIcon"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_polkadot_24" />
<TextView
android:id="@+id/chainAccountChainName"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/chainAccountAccountAddress"
app:layout_constraintStart_toEndOf="@+id/chainAccountChainIcon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="Polkadot" />
<ImageView
android:id="@+id/chainAccountAccountIcon"
android:layout_width="16dp"
android:layout_height="16dp"
app:layout_constraintBottom_toBottomOf="@id/chainAccountAccountAddress"
app:layout_constraintStart_toStartOf="@+id/chainAccountChainName"
app:layout_constraintTop_toTopOf="@id/chainAccountAccountAddress"
tools:src="@color/icon_accent" />
<TextView
android:id="@+id/chainAccountAccountAddress"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="24dp"
android:ellipsize="middle"
android:includeFontPadding="false"
android:singleLine="true"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/labeledTextAction"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/chainAccountAccountIcon"
app:layout_constraintTop_toBottomOf="@+id/chainAccountChainName"
app:layout_constraintVertical_bias="0.0"
app:layout_goneMarginEnd="16dp"
app:layout_goneMarginStart="16dp"
tools:text="GybH55zsi5nAGybH55zsi5nAGybH55zsi5nAGybH55zsi5nA" />
<ImageView
android:id="@+id/labeledTextAction"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="12dp"
android:src="@drawable/ic_more_horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/icon_secondary" />
</merge>
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:toosl="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:orientation="horizontal"
tools:background="@color/secondary_screen_background">
<TextView
android:id="@+id/itemChainAccountGroupTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="15dp"
android:paddingBottom="8dp"
android:textColor="@color/text_secondary"
tools:text="@tools:sample/lorem[2]" />
<TextView
android:id="@+id/itemChainAccountGroupAction"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/button_text_accent"
tools:drawablePadding="4dp"
tools:drawableStart="@drawable/ic_add_circle"
tools:text="Action text"
toosl:drawableTint="@color/icon_accent" />
</LinearLayout>
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/delegatedAccountGroup"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="8dp"
android:textColor="@color/text_secondary" />
@@ -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="wrap_content"
android:background="@drawable/bg_primary_list_item"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingEnd="16dp"
tools:background="@color/secondary_screen_background">
<ImageView
android:id="@+id/externalAccountIcon"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginVertical="8dp"
android:layout_marginStart="16dp"
tools:src="@color/icon_accent" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:layout_marginStart="12dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/externalAccountIdentifierTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:lines="1"
android:textColor="@color/text_primary"
tools:text="🏡 Home" />
<TextView
android:id="@+id/externalAccountIdentifierSubtitle"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="middle"
android:lines="1"
android:textColor="@color/text_secondary"
tools:text="4o7m5DDh2PpU...KitjHcxRiE7eQuTJ" />
</LinearLayout>
<RadioButton
android:id="@+id/externalAccountIdentifierIsSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:clickable="false"
android:drawableRight="?android:attr/listChoiceIndicatorSingle"
android:focusableInTouchMode="false" />
</LinearLayout>
@@ -0,0 +1,85 @@
<?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:background="@color/secondary_screen_background"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<ImageView
android:id="@+id/addressPrimaryIcon"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars" />
<ImageView
android:id="@+id/addressSecondaryIcon"
android:layout_width="18dp"
android:layout_height="18dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/addressSubtitle"
app:layout_constraintStart_toStartOf="@id/addressTitle"
app:layout_constraintTop_toTopOf="@id/addressSubtitle"
tools:src="@color/icon_accent" />
<TextView
android:id="@+id/addressTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="29dp"
app:layout_goneMarginBottom="9dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
android:ellipsize="middle"
android:singleLine="true"
app:layout_constraintBottom_toTopOf="@+id/addressSubtitle"
app:layout_constraintEnd_toStartOf="@id/addressAction"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@id/addressPrimaryIcon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="16dp"
tools:text="Account name" />
<TextView
android:id="@+id/addressSubtitle"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:ellipsize="middle"
android:singleLine="true"
android:layout_marginBottom="9dp"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/addressTitle"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/addressSecondaryIcon"
app:layout_constraintTop_toBottomOf="@+id/addressTitle"
app:layout_constraintVertical_bias="0.0"
app:layout_goneMarginEnd="16dp"
app:layout_goneMarginStart="0dp"
tools:text="GybH55zsi5nAGybH55zsi5nAGybH55zsi5nAGybH55zsi5nA" />
<ImageView
android:id="@+id/addressAction"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="16dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_chevron_down" />
</merge>
@@ -0,0 +1,133 @@
<?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:gravity="center_vertical"
tools:orientation="vertical"
tools:parentTag="android.widget.LinearLayout">
<LinearLayout
android:id="@+id/addressInputField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
tools:background="@color/input_background">
<ImageView
android:id="@+id/addressInputIdenticon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="12dp"
android:layout_marginTop="13dp"
android:layout_marginBottom="13dp"
tools:src="@drawable/ic_identicon_placeholder" />
<EditText
android:id="@+id/addressInputAddress"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@null"
android:hint="@string/common_address"
android:includeFontPadding="false"
android:paddingStart="12dp"
android:paddingTop="9dp"
android:paddingEnd="12dp"
android:paddingBottom="9dp"
android:singleLine="true"
android:textColor="@color/text_primary"
android:textColorHint="@color/hint_text" />
<TextView
android:id="@+id/addressInputMyself"
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:paddingStart="12dp"
android:paddingTop="6dp"
android:paddingRight="12dp"
android:paddingBottom="8dp"
android:text="@string/wallet_send_myself"
android:textColor="@color/button_text_accent"
tools:background="@color/button_background_secondary" />
<TextView
android:id="@+id/addressInputPaste"
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:paddingStart="12dp"
android:paddingTop="6dp"
android:paddingRight="12dp"
android:paddingBottom="8dp"
android:text="@string/common_paste"
android:textColor="@color/button_text_accent"
tools:background="@color/button_background_secondary" />
<ImageView
android:id="@+id/addressInputScan"
android:layout_width="36dp"
android:layout_height="32dp"
android:layout_marginEnd="12dp"
android:paddingStart="8dp"
android:paddingTop="6dp"
android:paddingRight="8dp"
android:paddingBottom="6dp"
android:src="@drawable/ic_scan"
app:tint="@color/icon_accent"
tools:background="@color/divider" />
<ImageView
android:id="@+id/addressInputClear"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:src="@drawable/ic_close_circle"
android:visibility="gone"
app:tint="@color/icon_secondary"
tools:visibility="visible" />
</LinearLayout>
<FrameLayout
android:id="@+id/addressInputW3NContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="64dp">
<ProgressBar
android:id="@+id/addressInputW3NProgress"
style="@style/Widget.Nova.ProgressBar.Indeterminate"
android:layout_width="16dp"
android:layout_height="16dp"
android:visibility="invisible"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/searchCustomValidatorAccounts"
app:layout_constraintVertical_bias="0.4" />
<TextView
android:id="@+id/addressInputW3NAddress"
style="@style/TextAppearance.NovaFoundation.Regular.Caption1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:paddingVertical="4dp"
android:layout_marginTop="4dp"
android:lines="1"
android:ellipsize="middle"
android:textColor="@color/text_positive"
tools:text="4a7m5...SFb32"/>
</FrameLayout>
</merge>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:parentTag="android.widget.FrameLayout">
<TextView
android:id="@+id/itemAssetGroupLabel"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps1"
android:layout_width="wrap_content"
android:layout_height="22dp"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingStart="32dp"
android:paddingTop="4.5dp"
android:paddingEnd="8dp"
android:paddingBottom="4.5dp"
android:singleLine="true"
android:ellipsize="end"
android:textColor="@color/chip_text"
tools:background="@color/chips_background"
tools:text="Polkadot" />
<ImageView
android:id="@+id/itemAssetGroupLabelIcon"
android:layout_width="24dp"
android:layout_height="24dp"
tools:src="@drawable/ic_polkadot_24" />
</merge>
@@ -0,0 +1,42 @@
<?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="io.novafoundation.nova.common.view.TableView"
tools:title="@string/identity_title">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/viewIdentityLegalName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/identity_legal_name_title" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/viewIdentityEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueStyle="link"
app:title="@string/identity_email_title" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/viewIdentityWeb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueStyle="link"
app:title="@string/identity_web_title" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/viewIdentityTwitter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueStyle="link"
app:title="@string/settings_twitter" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/viewIdentityElementName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/identity_riot_name_title" />
</merge>
@@ -0,0 +1,37 @@
<?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="wrap_content"
android:layout_height="wrap_content"
tools:orientation="horizontal"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<ImageView
android:id="@+id/viewSelectedWalletTypeIcon"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="11dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_watch_only_filled" />
<ImageView
android:id="@+id/viewSelectedWalletAccountIcon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
app:layout_constraintStart_toEndOf="@id/viewSelectedWalletTypeIcon"
app:layout_goneMarginStart="0dp"
tools:src="@drawable/ic_polkadot_24" />
<ImageView
android:id="@+id/viewSelectedWalletAccountUpdateIndicator"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_gravity="end"
android:src="@drawable/shape_updates_indicator"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</merge>
@@ -0,0 +1,51 @@
<?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="wrap_content"
android:layout_height="wrap_content"
tools:background="@color/wallet_connections_background"
tools:orientation="horizontal"
tools:parentTag="android.widget.LinearLayout">
<FrameLayout
android:id="@+id/viewWalletConnectIconContainer"
android:layout_width="40dp"
android:layout_height="40dp">
<ImageView
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_gravity="center"
android:src="@drawable/ic_wallet_connect"
app:tint="@color/chip_icon" />
</FrameLayout>
<ImageView
android:id="@+id/viewWalletConnectConnectionsIcon"
android:layout_width="14dp"
android:layout_height="14dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ic_connections"
android:layout_marginStart="8dp"
android:visibility="gone"
tools:visibility="visible"
app:tint="@color/chip_icon"/>
<TextView
android:id="@+id/viewWalletConnectConnectedCount"
style="@style/TextAppearance.NovaFoundation.SemiBold.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:layout_marginStart="4dp"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:textColor="@color/chip_text"
android:visibility="gone"
tools:text="1"
tools:visibility="visible" />
</merge>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="AccountView">
<attr name="actionIcon" />
<attr name="showBackground" format="boolean" />
</declare-styleable>
<declare-styleable name="AddressInputField">
<attr name="android:hint" />
<attr name="hasExternalAccountIdentifiers" format="boolean" />
<attr name="android:enabled" />
</declare-styleable>
</resources>