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,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/text_secondary" android:state_selected="false" />
<item android:color="@color/text_primary" />
</selector>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false">
<shape android:shape="rectangle" />
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@color/segmented_tab_active" />
<corners android:radius="8dp" />
</shape>
</item>
</selector>
@@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<group>
<clip-path
android:pathData="M0,0h24v24h-24z"/>
<path
android:pathData="M18.4615,13.4416C18.4615,18.5363 14.3288,22.6664 9.2308,22.6664C4.1328,22.6664 0,18.5363 0,13.4416C0,8.3469 4.1328,4.2168 9.2308,4.2168C14.3288,4.2168 18.4615,8.3469 18.4615,13.4416Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M24,3.2946C24,5.1141 22.524,6.5892 20.7033,6.5892C18.8826,6.5892 17.4066,5.1141 17.4066,3.2946C17.4066,1.475 18.8826,0 20.7033,0C22.524,0 24,1.475 24,3.2946Z"
android:fillColor="#ffffff"/>
</group>
</vector>
@@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M16.2086,13.3323L13.3574,16.194C13.1159,16.4364 13.1161,16.8306 13.3579,17.0727L15.5367,19.2546C15.908,19.6212 16.5151,19.6212 16.8864,19.2546L23.5646,12.6633C23.9359,12.2968 23.9359,11.6976 23.5646,11.3311L16.8864,4.7456C16.5151,4.3791 15.908,4.3791 15.5367,4.7456L13.3579,6.9275C13.1161,7.1697 13.1159,7.5638 13.3574,7.8062L16.2086,10.6679C16.9513,11.4009 16.9513,12.5993 16.2086,13.3323Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M7.6344,13.3323L10.4856,16.194C10.7272,16.4364 10.727,16.8306 10.4852,17.0727L8.3063,19.2546C7.935,19.6212 7.328,19.6212 6.9566,19.2546L0.2785,12.6633C-0.0928,12.2968 -0.0928,11.6976 0.2785,11.3311L6.9566,4.7456C7.328,4.3791 7.935,4.3791 8.3063,4.7456L10.4852,6.9275C10.727,7.1697 10.7272,7.5638 10.4856,7.8062L7.6344,10.6679C6.8918,11.4009 6.8918,12.5993 7.6344,13.3323Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M8.3824,12.5445C8.0817,12.2438 8.0817,11.7563 8.3824,11.4556L11.3771,8.4609C11.6778,8.1602 12.1653,8.1602 12.466,8.4609L15.4607,11.4556C15.7614,11.7563 15.7614,12.2438 15.4607,12.5445L12.466,15.5392C12.1653,15.84 11.6778,15.84 11.3771,15.5392L8.3824,12.5445Z"
android:fillColor="#ffffff"/>
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12.7955,3.892C12.3562,3.4527 11.6438,3.4527 11.2045,3.892L4.4545,10.642C4.0152,11.0813 4.0152,11.7937 4.4545,12.233C4.8938,12.6723 5.6062,12.6723 6.0455,12.233L10.875,7.4035V19.3125C10.875,19.9338 11.3787,20.4375 12,20.4375C12.6213,20.4375 13.125,19.9338 13.125,19.3125V7.4035L17.9545,12.233C18.3938,12.6723 19.1062,12.6723 19.5455,12.233C19.9848,11.7937 19.9848,11.0813 19.5455,10.642L12.7955,3.892Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>
@@ -0,0 +1,171 @@
<?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/addTokenEnterInfoContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/addTokenEnterInfoToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ScrollView
android:id="@+id/addTokenEnterInfoScrollArea"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/addTokenEnterInfoTitle"
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/assets_add_token_enter_info_title"
android:textColor="@color/text_primary"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/addTokenEnterInfoAddressLabel"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/assets_add_token_enter_info_address_label"
android:textColor="@color/text_secondary"
app:layout_constraintStart_toStartOf="@+id/addTokenEnterInfoTitle"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoTitle" />
<io.novafoundation.nova.common.view.InsertableInputField
android:id="@+id/addTokenEnterInfoAddressInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:hint="@string/assets_add_token_enter_info_address_hint"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoAddressLabel" />
<TextView
android:id="@+id/addTokenEnterInfoSymbolLabel"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/assets_add_token_enter_info_symbol_label"
android:textColor="@color/text_secondary"
app:layout_constraintStart_toStartOf="@+id/addTokenEnterInfoSymbolInput"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoAddressInput" />
<io.novafoundation.nova.common.view.input.TextInputView
android:id="@+id/addTokenEnterInfoSymbolInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:hint="@string/assets_add_token_enter_info_symbol_hint"
android:maxLength="11"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoSymbolLabel" />
<TextView
android:id="@+id/addTokenEnterInfoDecimalsLabel"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:ellipsize="end"
android:singleLine="true"
app:layout_constraintHorizontal_bias="0"
android:text="@string/assets_add_token_enter_info_decimals_label"
android:textColor="@color/text_secondary"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toEndOf="@+id/addTokenEnterInfoAddressInput"
app:layout_constraintStart_toStartOf="@+id/addTokenEnterInfoDecimalsInput"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoAddressInput" />
<io.novafoundation.nova.common.view.input.TextInputView
android:id="@+id/addTokenEnterInfoDecimalsInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:digits="0123456789"
android:hint="@string/assets_add_token_enter_info_decimals_hint"
android:inputType="numberDecimal"
android:maxLength="2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoSymbolLabel" />
<TextView
android:id="@+id/addTokenEnterInfoPriceLabel"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/token_price_info_provider_label"
android:textColor="@color/text_secondary"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/addTokenEnterInfoSymbolInput"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoSymbolInput" />
<io.novafoundation.nova.common.view.InsertableInputField
android:id="@+id/addTokenEnterInfoPriceInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:hint="@string/token_price_info_provider_placeholder"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/addTokenEnterInfoPriceLabel" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/addTokenEnterInfoPriceConfirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
tools:text="@string/assets_add_token" />
</LinearLayout>
@@ -0,0 +1,36 @@
<?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="@color/secondary_screen_background"
android:orientation="vertical">
<io.novafoundation.nova.common.view.Toolbar
android:layout_width="match_parent"
android:id="@+id/addTokenSelectChainToolbar"
android:layout_height="wrap_content"
app:dividerVisible="false" />
<TextView
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:textColor="@color/text_primary"
android:text="@string/assets_add_token_select_chain_title" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/addTokenSelectChainChains"
android:layout_height="0dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:clipToPadding="false"
android:paddingBottom="16dp"
tools:listitem="@layout/item_select_chain" />
</LinearLayout>
@@ -0,0 +1,32 @@
<?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"
android:orientation="vertical"
android:paddingBottom="24dp"
tools:background="@color/bottom_sheet_background">
<View
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal" />
<TextView
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/assets_filter_title" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/assetsFilterSwitchZeroBalances"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:text="@string/wallet_filter_hide_zero_balance"
android:textColor="@color/text_primary" />
</LinearLayout>
@@ -0,0 +1,38 @@
<?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/assetFlowSearchContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.TitledSearchToolbar
android:id="@+id/assetFlowToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:hint="@string/assets_search_hint"
tools:titleText="@string/wallet_asset_send" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/assetFlowList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingTop="12dp"
android:paddingBottom="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_network_asset" />
<io.novafoundation.nova.common.view.PlaceholderView
android:id="@+id/assetFlowPlaceholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:text="@string/assets_search_placeholder"
android:visibility="gone" />
</LinearLayout>
@@ -0,0 +1,37 @@
<?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/searchAssetContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/drawable_background_image"
android:orientation="vertical">
<io.novafoundation.nova.common.view.SearchToolbar
android:id="@+id/searchAssetSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/assets_search_hint" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/searchAssetList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingTop="12dp"
android:paddingBottom="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_network_asset" />
<io.novafoundation.nova.common.view.PlaceholderView
android:id="@+id/searchAssetsPlaceholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:text="@string/assets_search_placeholder"
android:visibility="gone" />
</LinearLayout>
@@ -0,0 +1,60 @@
<?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:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/balanceDetailContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<View
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal"
android:layout_marginTop="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/balanceBreakdownTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginBottom="8dp"
android:text="@string/wallet_balance_details_total"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/balanceBreakdownTotal"
style="@style/TextAppearance.NovaFoundation.SemiBold.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginEnd="16dp"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="@+id/balanceBreakdownTitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/balanceBreakdownTitle"
tools:text="$11,529.26" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/balanceBreakdownList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:paddingBottom="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintTop_toBottomOf="@+id/balanceBreakdownTitle" />
</LinearLayout>
@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/balanceDetailContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/drawable_background_image">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="126dp">
<LinearLayout
android:id="@+id/balanceDetailContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".presentation.balance.list.BalanceListFragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/balanceDetailsToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/balanceDetailBlur"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/blur_navigation_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/balanceDetailBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="1dp"
android:padding="8dp"
android:src="@drawable/ic_arrow_back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/icon_primary" />
<ImageView
android:id="@+id/balanceDetailTokenIcon"
style="@style/Widget.Nova.AssetIcon.Primary"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="4dp"
android:src="@drawable/ic_token_ksm"
app:layout_constraintBottom_toBottomOf="@+id/balanceDetailBack"
app:layout_constraintEnd_toStartOf="@+id/balanceDetailTokenName"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/balanceDetailBack" />
<TextView
android:id="@+id/balanceDetailTokenName"
style="@style/TextAppearance.NovaFoundation.Header3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="@+id/balanceDetailTokenIcon"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/balanceDetailTokenIcon"
app:layout_constraintTop_toTopOf="@+id/balanceDetailTokenIcon"
tools:text="KSM" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/navigation_divider"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:overScrollMode="never">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
tools:context=".presentation.balance.list.BalanceListFragment">
<io.novafoundation.nova.common.view.AlertView
android:id="@+id/balanceDetailsMigrationAlert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="12dp"
android:visibility="gone"
app:alertMode="info"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<io.novafoundation.nova.feature_assets.presentation.balance.detail.AssetDetailBalancesView
android:id="@+id/balanceDetailsBalances"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/balanceDetailsMigrationAlert" />
<io.novafoundation.nova.feature_assets.presentation.balance.assetActions.AssetActionsView
android:id="@+id/balanceDetailActions"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:minHeight="@dimen/asset_height"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/balanceDetailsBalances" />
<io.novafoundation.nova.feature_assets.presentation.views.priceCharts.PriceChartsView
android:id="@+id/priceChartView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:background="@drawable/bg_block_container"
android:padding="16dp"
app:layout_constraintTop_toBottomOf="@id/balanceDetailActions" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
</FrameLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<io.novafoundation.nova.feature_assets.presentation.transaction.history.TransferHistorySheet
android:id="@+id/transfersContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="io.novafoundation.nova.common.view.bottomSheet.LockBottomSheetBehavior"
tools:layout_height="180dp" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout 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/walletContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/drawable_background_image">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/balanceListAssets"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:overScrollMode="never"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:itemCount="2"
tools:listitem="@layout/item_network_asset" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
@@ -0,0 +1,312 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/bridgeToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:titleText="@string/bridge_title" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/bridgeSwapButton"
app:layout_constraintTop_toBottomOf="@id/bridgeToolbar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- Direction Toggle -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:background="@drawable/bg_primary_list_item"
android:orientation="horizontal"
android:padding="4dp">
<TextView
android:id="@+id/bridgeDirectionDotToHez"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_button_primary"
android:gravity="center"
android:padding="12dp"
android:text="DOT → HEZ"
android:textColor="@color/text_primary"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/bridgeDirectionHezToDot"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="12dp"
android:text="HEZ → DOT"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
</LinearLayout>
<!-- From Section -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
app:cardBackgroundColor="@color/block_background"
app:cardCornerRadius="12dp"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/bridgeFromLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bridge_you_send"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<EditText
android:id="@+id/bridgeFromAmount"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@null"
android:hint="0.0"
android:inputType="numberDecimal"
android:textColor="@color/text_primary"
android:textColorHint="@color/text_secondary"
android:textSize="32sp"
android:textStyle="bold" />
<TextView
android:id="@+id/bridgeFromToken"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DOT"
android:textColor="@color/text_primary"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/bridgeFromBalance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/text_secondary"
android:textSize="12sp"
tools:text="Balance: 10.5 DOT" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Swap Icon -->
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginVertical="4dp"
android:padding="8dp"
android:src="@drawable/ic_bridge"
app:tint="@color/icon_secondary" />
<!-- To Section -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:cardBackgroundColor="@color/block_background"
app:cardCornerRadius="12dp"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/bridgeToLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bridge_you_receive"
android:textColor="@color/text_secondary"
android:textSize="12sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/bridgeToAmount"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0.0"
android:textColor="@color/text_primary"
android:textSize="32sp"
android:textStyle="bold" />
<TextView
android:id="@+id/bridgeToToken"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HEZ"
android:textColor="@color/text_primary"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Rate Info -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/block_background"
app:cardCornerRadius="12dp"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/bridge_exchange_rate"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<TextView
android:id="@+id/bridgeRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_primary"
android:textSize="14sp"
tools:text="1 DOT = 3.00 HEZ" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/bridge_fee"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<TextView
android:id="@+id/bridgeFee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.1%"
android:textColor="@color/text_primary"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/bridgeMinimumContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/bridge_minimum"
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<TextView
android:id="@+id/bridgeMinimum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_primary"
android:textSize="14sp"
tools:text="0.1 DOT" />
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Warning for HEZ to DOT -->
<TextView
android:id="@+id/bridgeHezToDotWarning"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/bg_warning"
android:padding="12dp"
android:text="@string/bridge_hez_to_dot_note"
android:textColor="@color/text_warning"
android:textSize="12sp"
android:visibility="gone" />
</LinearLayout>
</ScrollView>
<!-- Swap Button -->
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/bridgeSwapButton"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="@string/bridge_swap_button"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<io.novafoundation.nova.common.view.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/buyToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleText="@string/wallet_asset_buy" />
<WebView
android:id="@+id/buyContent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
@@ -0,0 +1,112 @@
<?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/confirmSendContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/confirmSendToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:titleText="@string/wallet_asset_send" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.PrimaryAmountView
android:id="@+id/confirmSendAmount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/confirmSendFromNetwork"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:title="@string/common_network" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/confirmSendWallet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/tabbar_wallet_title" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/confirmSendSender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/wallet_sender" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/confirmSendOriginFee"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/confirmSendCrossChainFee"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.mixin.hints.HintsView
android:id="@+id/confirmSendHints"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/confirmSendToNetwork"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:title="@string/wallet_send_to_network" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/confirmSendRecipient"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/wallet_recipient" />
</io.novafoundation.nova.common.view.TableView>
</LinearLayout>
</ScrollView>
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/confirmSendConfirm"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp"
android:text="@string/common_confirm" />
</LinearLayout>
@@ -0,0 +1,94 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/extrinsicDetailToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"
app:titleText="Apr 10, 2022, 22:36"
app:titleTextAppearance="@style/TextAppearance.NovaFoundation.TransactionDetailToolbar" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:id="@+id/extrinsicContentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/extrinsicDetailIcon"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_icon_container_on_color"
app:tint="@color/text_secondary" />
<TextView
android:id="@+id/extrinsicDetailAmount"
style="@style/TextAppearance.NovaFoundation.Bold.LargeTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textColor="@color/text_primary"
tools:text="0.00481 KSM" />
<TextView
android:id="@+id/extrinsicDetailAmountFiat"
style="@style/TextAppearance.NovaFoundation.SemiBold.Title3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginBottom="4dp"
android:textColor="@color/text_secondary"
tools:text="$149.36" />
<TextView
android:id="@+id/extrinsicDetailStatus"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center_vertical"
tools:drawablePadding="4dp"
tools:drawableStart="@drawable/ic_checkmark_circle_16"
tools:drawableTint="@color/icon_positive"
tools:text="completed"
tools:textColor="@color/text_positive" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/extrinsicDetailSender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/wallet_sender" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/extrinsicDetailNetwork"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/common_network" />
</io.novafoundation.nova.common.view.TableView>
</LinearLayout>
</ScrollView>
</LinearLayout>
@@ -0,0 +1,63 @@
<?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:orientation="vertical"
tools:background="@color/bottom_sheet_background">
<View
android:id="@+id/view"
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/manageChainTokenIcon"
style="@style/Widget.Nova.AssetIcon.OnColor"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view"
tools:src="@drawable/ic_pezkuwi" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:orientation="vertical">
<TextView
android:id="@+id/manageChainTokenSymbol"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_primary"
tools:text="KSM" />
<TextView
android:id="@+id/manageChainTokenSubtitle"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_secondary"
tools:text="All networks" />
</LinearLayout>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/manageChainTokenChains"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="4dp"
android:paddingBottom="4dp"
android:clipToPadding="false"
android:layout_weight="1"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_manage_chain_token" />
</LinearLayout>
@@ -0,0 +1,83 @@
<?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/manageTokensContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<LinearLayout
android:id="@+id/manageTokensToolbarContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/solid_navigation_background"
android:orientation="vertical"
app:layout_constraintTop_toTopOf="parent">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/manageTokensToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentBackground="@color/solid_navigation_background"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"
app:layout_constraintTop_toTopOf="parent"
app:textRight="@string/manage_assets_add_token"
app:titleText="@string/assets_manage_tokens_title" />
<io.novafoundation.nova.common.view.SearchView
android:id="@+id/manageTokensSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:hint="@string/assets_search_hint"
app:layout_constraintTop_toBottomOf="@id/manageTokensToolbar" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/manageTokensSwitchZeroBalances"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:paddingHorizontal="16dp"
android:text="@string/wallet_filter_hide_zero_balance"
android:textColor="@color/text_secondary" />
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="@color/navigation_divider" />
</LinearLayout>
<io.novafoundation.nova.common.view.PlaceholderView
android:id="@+id/manageTokensPlaceholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="12dp"
android:text="@string/assets_search_placeholder"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/manageTokensToolbarContainer"
app:layout_constraintVertical_bias="0.353"
app:placeholderBackgroundStyle="no_background"
tools:layout_editor_absoluteX="16dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/manageTokensList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingTop="8dp"
android:paddingBottom="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/manageTokensToolbarContainer"
tools:listitem="@layout/item_manage_token_multichain" />
</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:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/assetFlowSearchContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/networkFlowToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/networkFlowList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingTop="12dp"
android:paddingBottom="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_network_flow" />
</LinearLayout>
@@ -0,0 +1,24 @@
<?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/novaCardContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/novaCardToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"/>
<WebView
android:id="@+id/novaCardWebView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
@@ -0,0 +1,104 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/poolRewardDetailToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"
app:titleText="Apr 10, 2022, 22:36"
app:titleTextAppearance="@style/TextAppearance.NovaFoundation.TransactionDetailToolbar" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/poolRewardDetailTransferDirection"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_icon_container_on_color"
android:src="@drawable/ic_staking_history"
app:tint="@color/icon_secondary" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.PrimaryAmountView
android:id="@+id/poolRewardDetailAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<TextView
android:id="@+id/poolRewardDetailStatus"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center_vertical"
tools:drawablePadding="4dp"
tools:drawableStart="@drawable/ic_checkmark_circle_16"
tools:drawableTint="@color/icon_positive"
tools:text="completed"
tools:textColor="@color/text_positive" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/poolRewardDetailPool"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/nomination_pools_pool" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/poolRewardDetailNetwork"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/common_network" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.view.TableView
android:id="@+id/poolRewardDetailTxSection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/poolRewardDetailEventId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/common_event" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/poolRewardDetailType"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/common_type" />
</io.novafoundation.nova.common.view.TableView>
</LinearLayout>
</ScrollView>
</LinearLayout>
@@ -0,0 +1,186 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/receiveToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="4dp"
android:paddingBottom="4dp"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/receiveBackButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:padding="8dp"
android:src="@drawable/ic_arrow_back"
app:tint="@color/icon_primary" />
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/receiveChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</FrameLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingBottom="96dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/receiveToolbar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/receiveTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Title3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="40dp"
android:gravity="center_horizontal"
android:textColor="@color/text_primary"
tools:text="Receive DOT" />
<TextView
android:id="@+id/receiveSubtitle"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:gravity="center_horizontal"
android:textColor="@color/text_secondary"
tools:text="Send only DOT token and tokens in Polkadot network
to this address, or you might lose your funds" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/receiveQrCodeContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="48dp"
android:layout_marginTop="24dp"
android:orientation="vertical"
android:paddingBottom="12dp"
tools:background="#fff">
<io.novafoundation.nova.common.view.QrCodeView
android:id="@+id/receiveQrCode"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="center_horizontal"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/receiveAccount"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:ellipsize="end"
android:gravity="center_horizontal"
android:maxLines="1"
android:paddingHorizontal="16dp"
android:textColor="@color/text_primary_on_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/receiveQrCode"
tools:text="🌌 NOVA" />
<TextView
android:id="@+id/receiveAddress"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:gravity="center_horizontal"
android:paddingHorizontal="16dp"
android:textColor="@color/text_secondary_on_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/receiveAccount"
tools:text="Day71BAT8tLr1u43yUV2pKDZE6BvFWrXqFNzMdSHz6iRMAZxKuSr" />
<io.novafoundation.nova.common.view.PrimaryButtonV2
android:id="@+id/receiveCopyButton"
style="@style/Widget.Nova.MaterialButton.Secondary.Transparent"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:text="@string/receive_screen_copy_address"
android:textAppearance="@style/TextAppearance.NovaFoundation.Regular.Caption1"
android:textColor="@color/button_text_accent"
app:icon="@drawable/ic_copy_outline"
app:iconSize="16dp"
app:iconTint="@color/icon_accent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/receiveAddress" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/receiveAddressesWarning"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="24dp"
android:gravity="center"
android:text="Looking for your legacy address for an exchange? "
android:textColor="@color/text_secondary" />
<TextView
android:id="@+id/receiveAddressesButton"
style="@style/TextAppearance.NovaFoundation.SemiBold.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:paddingHorizontal="16dp"
android:paddingVertical="6dp"
android:text="View Address Formats"
android:textColor="@color/button_text_accent" />
</LinearLayout>
</ScrollView>
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/receiveShare"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="24dp"
android:text="@string/wallet_receive_share_qr"
app:iconSrc="@drawable/ic_share_outline"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,110 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/rewardDetailToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"
app:titleText="Apr 10, 2022, 22:36"
app:titleTextAppearance="@style/TextAppearance.NovaFoundation.TransactionDetailToolbar" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/rewardDetailTransferDirection"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_icon_container_on_color"
android:src="@drawable/ic_staking_history"
app:tint="@color/icon_secondary" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.PrimaryAmountView
android:id="@+id/rewardDetailAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<TextView
android:id="@+id/rewardDetailStatus"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center_vertical"
tools:drawablePadding="4dp"
tools:drawableStart="@drawable/ic_checkmark_circle_16"
tools:drawableTint="@color/icon_positive"
tools:text="completed"
tools:textColor="@color/text_positive" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/rewardDetailValidator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/staking_reward_details_validator" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/rewardDetailEra"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/staking_reward_details_era" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/rewardDetailNetwork"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/common_network" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.view.TableView
android:id="@+id/rewardDetailTxSection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/rewardDetailEvent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/common_event" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/rewardDetailType"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/common_type" />
</io.novafoundation.nova.common.view.TableView>
</LinearLayout>
</ScrollView>
</LinearLayout>
@@ -0,0 +1,143 @@
<?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/chooseAmountContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/selectSendToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close" />
<com.google.android.flexbox.FlexboxLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
app:flexDirection="row"
app:flexWrap="wrap">
<TextView
android:id="@+id/selectSendFromTitle"
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginBottom="8dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
tools:text="Send KSM from" />
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/selectSendOriginChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp" />
<TextView
android:id="@+id/selectSendToTitle"
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:includeFontPadding="false"
android:text="@string/wallet_send_tokens_to"
android:textColor="@color/text_primary"
android:visibility="gone"
app:layout_wrapBefore="true" />
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/selectSendDestinationChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:visibility="gone" />
</com.google.android.flexbox.FlexboxLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:clipChildren="false"
android:minHeight="24dp"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_marginBottom="4dp"
android:includeFontPadding="false"
android:text="@string/wallet_recipient"
android:textColor="@color/text_secondary" />
<io.novafoundation.nova.common.view.YourWalletsView
android:id="@+id/selectWallet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"/>
</FrameLayout>
<io.novafoundation.nova.feature_account_api.presenatation.mixin.addressInput.AddressInputField
android:id="@+id/selectSendRecipient"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:hint="@string/send_address_hint"
app:hasExternalAccountIdentifiers="true" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.ChooseAmountView
android:id="@+id/selectSendAmount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/selectSendOriginFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
app:dividerVisible="false" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/selectSendCrossChainFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:dividerVisible="false" />
<Space
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1" />
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/selectSendNext"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp"
android:enabled="false"
android:text="@string/common_continue" />
</LinearLayout>
@@ -0,0 +1,143 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/swapDetailToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"
app:layout_constraintTop_toTopOf="parent"
app:titleText="Apr 10, 2022, 22:36"
app:titleTextAppearance="@style/TextAppearance.NovaFoundation.TransactionDetailToolbar" />
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingBottom="84dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swapDetailToolbar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/swapDetailTransferDirection"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_icon_container_on_color"
android:src="@drawable/ic_swap_history"
app:tint="@color/icon_secondary" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.PrimaryAmountView
android:id="@+id/swapDetailAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<TextView
android:id="@+id/swapDetailStatus"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center_vertical"
tools:drawablePadding="4dp"
tools:drawableStart="@drawable/ic_checkmark_circle_16"
tools:drawableTint="@color/icon_positive"
tools:text="completed"
tools:textColor="@color/text_positive" />
<io.novafoundation.nova.feature_swap_api.presentation.view.SwapAssetsView
android:id="@+id/swapDetailAssets"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="24dp" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/swapDetailRate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/swap_rate_title"
app:titleIcon="@drawable/ic_info" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/swapDetailFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/network_fee"
app:titleIcon="@drawable/ic_info" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/swapDetailWallet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/tabbar_wallet_title" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/swapDetailAccount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/common_account" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.view.TableView
android:id="@+id/swapDetailTxSection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/swapDetailHash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/common_transaction_id" />
</io.novafoundation.nova.common.view.TableView>
</LinearLayout>
</ScrollView>
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/swapDetailsRepeatOperation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="16dp"
android:text="@string/swap_repeat_operation"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,93 @@
<?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/topUpAddressContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/topUpAddressToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close" />
<TextView
android:id="@+id/topUpCardTitle"
style="@style/TextAppearance.NovaFoundation.Bold.Title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="16dp"
android:includeFontPadding="false"
android:textColor="@color/text_primary"
tools:text="@string/fragment_top_up_card_title" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:clipChildren="false"
android:minHeight="24dp"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_marginBottom="4dp"
android:includeFontPadding="false"
android:text="@string/wallet_recipient"
android:textColor="@color/text_secondary" />
</FrameLayout>
<io.novafoundation.nova.feature_account_api.presenatation.mixin.addressInput.AddressInputField
android:id="@+id/topUpAddressRecipient"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:enabled="false"
app:hasExternalAccountIdentifiers="true" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.ChooseAmountView
android:id="@+id/topUpAddressAmount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.FeeView
android:id="@+id/topUpCardFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
app:dividerVisible="false" />
<Space
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1" />
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/topUpAddressContinue"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp"
android:enabled="false"
android:text="@string/common_continue" />
</LinearLayout>
@@ -0,0 +1,27 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/tradeProviderListToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/tradeProviderList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingTop="12dp"
android:paddingBottom="24dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_network_asset" />
</LinearLayout>
@@ -0,0 +1,21 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/tradeWebToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false" />
<WebView
android:id="@+id/tradeWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
@@ -0,0 +1,82 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/transactionsFilterToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:homeButtonIcon="@drawable/ic_close"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:textRight="@string/common_reset"
app:titleText="@string/wallet_filters_title" />
<TextView
style="@style/TextAppearance.NovaFoundation.Header3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/wallet_filters_header"
android:textColor="@color/text_primary" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/transactionsFilterSwitchTransfers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:text="@string/wallet_filters_transfers"
android:textColor="@color/text_primary" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/transactionsFilterSwaps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="@string/wallet_filters_swaps"
android:textColor="@color/text_primary" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/transactionsFilterRewards"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="@string/wallet_filters_rewards_and_slashes"
android:textColor="@color/text_primary" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/transactionsFilterOtherTransactions"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="@string/wallet_filters_extrinsics"
android:textColor="@color/text_primary" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/transactionFilterApplyBtn"
style="@style/Widget.Nova.Button.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="@string/common_apply" />
</LinearLayout>
@@ -0,0 +1,128 @@
<?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:orientation="vertical"
tools:background="@color/secondary_screen_background">
<io.novafoundation.nova.common.view.Toolbar
android:id="@+id/transactionDetailToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dividerVisible="false"
app:homeButtonIcon="@drawable/ic_close"
app:titleText="Apr 10, 2022, 22:36"
app:titleTextAppearance="@style/TextAppearance.NovaFoundation.TransactionDetailToolbar" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/transactionDetailTransferDirection"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_icon_container_on_color"
app:tint="@color/icon_secondary"
tools:src="@drawable/ic_send_history" />
<io.novafoundation.nova.feature_wallet_api.presentation.view.amount.PrimaryAmountView
android:id="@+id/transactionDetailAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<TextView
android:id="@+id/transactionDetailStatus"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center_vertical"
tools:drawablePadding="4dp"
tools:drawableStart="@drawable/ic_checkmark_circle_16"
tools:drawableTint="@color/icon_positive"
tools:text="completed"
tools:textColor="@color/text_positive" />
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/transactionDetailFrom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/wallet_sender" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/transactionDetailNetwork"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/common_network" />
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/transactionDetailFee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/network_fee" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.view.TableView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/transactionDetailTo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/wallet_recipient" />
</io.novafoundation.nova.common.view.TableView>
<io.novafoundation.nova.common.view.TableView
android:id="@+id/transactionDetailTxSection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp">
<io.novafoundation.nova.common.view.TableCellView
android:id="@+id/transactionDetailHash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:primaryValueEndIcon="@drawable/ic_info"
app:title="@string/common_transaction_id" />
</io.novafoundation.nova.common.view.TableView>
</LinearLayout>
</ScrollView>
<io.novafoundation.nova.common.view.PrimaryButton
android:id="@+id/transactionDetailRepeat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="@string/wallet_transfer_details_send_back" />
</LinearLayout>
@@ -0,0 +1,57 @@
<?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/topUpAddressContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@color/secondary_screen_background">
<View
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp"
android:src="@drawable/ic_timer_card" />
<TextView
style="@style/TextAppearance.NovaFoundation.SemiBold.Title3"
android:id="@+id/topUpWaitingTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="24dp"
android:textColor="@color/text_primary"
tools:text="@string/waiting_initial_top_up_card_title" />
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:gravity="center"
android:textColor="@color/text_secondary"
android:text="@string/waiting_top_up_card_description" />
<TextView
android:id="@+id/waitingTopUpCardTimer"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="40dp"
android:layout_marginBottom="40dp"
android:gravity="center"
android:textColor="@color/text_secondary"
tools:text="Estimated ~04:39" />
</LinearLayout>
@@ -0,0 +1,101 @@
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:paddingHorizontal="16dp"
tools:layout_height="match_parent">
<io.novafoundation.nova.feature_account_api.view.WalletConnectCounterView
android:id="@+id/balanceListWalletConnect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/balanceListTotalTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="33dp"
android:ellipsize="end"
android:gravity="center"
android:includeFontPadding="false"
android:singleLine="true"
android:textColor="@color/text_primary"
app:layout_constraintEnd_toStartOf="@+id/balanceListAvatar"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@+id/balanceListWalletConnect"
app:layout_constraintTop_toTopOf="parent"
tools:text="@tools:sample/full_names" />
<io.novafoundation.nova.feature_account_api.view.SelectedWalletView
android:id="@+id/balanceListAvatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<io.novafoundation.nova.feature_assets.presentation.balance.list.view.AssetsTotalBalanceView
android:id="@+id/balanceListTotalBalance"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:elevation="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/balanceListTotalTitle"
tools:layout_height="200dp" />
<androidx.legacy.widget.Space
android:id="@+id/balanceListNovaCardNegativeMargin"
android:layout_width="match_parent"
android:layout_height="32dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/balanceListTotalBalance" />
<io.novafoundation.nova.feature_assets.presentation.balance.list.view.AssetsNovaCardView
android:id="@+id/balanceListNovaCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="32dp"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintTop_toTopOf="@+id/balanceListNovaCardNegativeMargin" />
<io.novafoundation.nova.common.view.TableView
android:id="@+id/balanceTableView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
app:childrenPaddingBottom="0dp"
app:childrenPaddingTop="0dp"
app:drawDividers="true"
app:layout_constraintTop_toBottomOf="@+id/balanceListTotalBalance">
<io.novafoundation.nova.feature_assets.presentation.balance.list.view.GoToNftsView
android:id="@+id/balanceListNfts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_primary_list_item"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<io.novafoundation.nova.feature_assets.presentation.balance.list.view.PendingOperationsCountView
android:id="@+id/balanceListPendingOperations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_primary_list_item"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/balanceListNfts" />
</io.novafoundation.nova.common.view.TableView>
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<io.novafoundation.nova.common.view.TableCellView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/balanceBreakdownItemDetail"
android:layout_width="match_parent"
android:layout_height="44dp"
android:paddingStart="40dp"
android:paddingEnd="16dp"
app:dividerVisible="false"
app:primaryValueTextAppearance="@style/TextAppearance.NovaFoundation.Regular.Footnote.Primary"
app:secondaryValueTextAppearance="@style/TextAppearance.NovaFoundation.Regular.Caption1.Secondary"
app:titleValueTextAppearance="@style/TextAppearance.NovaFoundation.Regular.Footnote.Secondary" />
@@ -0,0 +1,59 @@
<?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:layout_width="match_parent"
android:layout_height="48dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
tools:background="@color/block_background">
<ImageView
android:id="@+id/itemBreakdownTotalIcon"
android:layout_width="16dp"
android:layout_height="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/icon_secondary"
tools:src="@drawable/ic_lock" />
<TextView
android:id="@+id/itemBreakdownTotalName"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:textColor="@color/text_secondary"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/itemBreakdownTotalIcon"
app:layout_constraintTop_toTopOf="parent"
tools:text="KSM Crowdloans" />
<io.novafoundation.nova.common.view.CounterView
android:id="@+id/itemBreakdownTotalPercentage"
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:textColor="@color/chip_text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/itemBreakdownTotalName"
app:layout_constraintTop_toTopOf="parent"
tools:text="12%" />
<TextView
android:id="@+id/itemBreakdownTotal"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="$1,025" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,55 @@
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_primary_list_item"
android:orientation="horizontal">
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/itemChainChooserChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/itemChainChooserAmountToken"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote.Primary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toTopOf="@+id/itemChainChooserAmountFiat"
app:layout_constraintEnd_toStartOf="@+id/itemChainChooserCheck"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="300 USDT" />
<TextView
android:id="@+id/itemChainChooserAmountFiat"
style="@style/TextAppearance.NovaFoundation.Regular.Caption1.Secondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/itemChainChooserAmountToken"
app:layout_constraintTop_toBottomOf="@+id/itemChainChooserAmountToken"
tools:text="$300" />
<RadioButton
android:id="@+id/itemChainChooserCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:buttonTint="@color/tint_radio_button"
android:clickable="false"
android:duplicateParentState="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemChainChooserGroup"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="4dp"
android:maxLines="1"
android:ellipsize="end"
android:textColor="@color/text_secondary"
tools:text="Cross-chain">
</TextView>
@@ -0,0 +1,75 @@
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_primary_list_item"
tools:background="@color/secondary_screen_background">
<ImageView
android:id="@+id/itemContactIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout_height="24dp"
tools:layout_width="24dp"
tools:src="@color/icon_accent" />
<TextView
android:id="@+id/itemContactTitle"
style="@style/TextAppearance.NovaFoundation.Body1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:includeFontPadding="false"
android:ellipsize="middle"
android:singleLine="true"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemContactBody"
app:layout_constraintEnd_toStartOf="@+id/itemContactAccountArrow"
app:layout_constraintStart_toEndOf="@+id/itemContactIcon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="Account Name" />
<TextView
android:id="@+id/itemContactBody"
style="@style/TextAppearance.NovaFoundation.Body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="48dp"
android:ellipsize="middle"
android:includeFontPadding="false"
android:singleLine="true"
android:textColor="@color/hint_text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/itemContactTitle"
app:layout_constraintStart_toStartOf="@+id/itemContactTitle"
app:layout_constraintTop_toBottomOf="@+id/itemContactTitle"
tools:text="GybH55zsi5nAGybH55zsi5nAGybH55zsi5nAGybH55zsi5nA" />
<ImageView
android:id="@+id/itemContactAccountArrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:src="@drawable/ic_chevron_right"
app:tint="@color/icon_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/contactGroupTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="16dp"
android:fontFamily="?attr/fontSemiBold"
android:includeFontPadding="false"
android:paddingStart="@dimen/x2"
android:paddingTop="@dimen/x1"
android:paddingEnd="@dimen/x2"
android:paddingBottom="@dimen/x1"
android:textAllCaps="true"
android:textColor="@color/text_primary"
android:textSize="@dimen/text_size_b1"
tools:background="@color/secondary_screen_background"
tools:text="Polcadot" />
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemDayHeader"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:textColor="@color/text_secondary"
android:layout_marginBottom="8dp"
tools:text="Today" />
@@ -0,0 +1,40 @@
<?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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:clipToPadding="false"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
<io.novafoundation.nova.feature_assets.presentation.balance.list.view.AssetViewModeView
android:id="@+id/balanceListAssetTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<io.novafoundation.nova.common.view.IconButton
android:id="@+id/balanceListSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:src="@drawable/ic_search"
app:layout_constraintBottom_toBottomOf="@+id/balanceListAssetTitle"
app:layout_constraintEnd_toStartOf="@+id/balanceListManage"
app:layout_constraintTop_toTopOf="@+id/balanceListAssetTitle"
app:tint="@color/chip_icon" />
<io.novafoundation.nova.common.view.IconButton
android:id="@+id/balanceListManage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_options"
app:layout_constraintBottom_toBottomOf="@+id/balanceListSearch"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/balanceListSearch"
app:tint="@color/chip_icon" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,37 @@
<?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"
android:gravity="center_vertical"
android:orientation="horizontal"
tools:background="@color/bottom_sheet_background">
<ImageView
android:id="@+id/itemManageChainTokenChainIcon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:layout_marginTop="14dp"
android:layout_marginBottom="14dp"
tools:src="@color/android_system_accent" />
<TextView
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="0dp"
android:id="@+id/itemManageChainTokenChainName"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:textColor="@color/text_primary"
tools:text="Bifrost Kusama" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/itemManageChainTokenEnabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp" />
</LinearLayout>
@@ -0,0 +1,74 @@
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_primary_list_item"
tools:background="@color/secondary_screen_background">
<ImageView
android:id="@+id/itemManageTokenMultichainIcon"
style="@style/Widget.Nova.AssetIcon.OnColor"
android:layout_marginStart="12dp"
app:layout_constraintBottom_toBottomOf="@+id/itemManageTokenMultichainNetworks"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/itemManageTokenMultichainSymbol"
tools:src="@drawable/ic_token_dot_colored" />
<TextView
android:id="@+id/itemManageTokenMultichainSymbol"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
android:singleLine="true"
android:textColor="@color/text_primary"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toStartOf="@+id/itemManageTokensEdit"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@+id/itemManageTokenMultichainIcon"
app:layout_constraintTop_toTopOf="parent"
tools:text="KSM" />
<TextView
android:id="@+id/itemManageTokenMultichainNetworks"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
android:layout_marginBottom="8dp"
android:singleLine="true"
android:textColor="@color/text_secondary"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/itemManageTokensEdit"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="@+id/itemManageTokenMultichainSymbol"
app:layout_constraintTop_toBottomOf="@+id/itemManageTokenMultichainSymbol"
app:layout_constraintVertical_bias="0.0"
tools:text="All networks" />
<ImageView
android:id="@+id/itemManageTokensEdit"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="8dp"
android:src="@drawable/ic_pencil_edit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/itemManageTokenMultichainEnabled"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/icon_secondary" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/itemManageTokenMultichainEnabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,93 @@
<?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/itemAssetContainer"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginHorizontal="16dp"
android:layout_weight="1"
android:background="@drawable/bg_primary_list_item"
tools:background="@color/block_background">
<ImageView
android:id="@+id/itemAssetImage"
style="@style/Widget.Nova.AssetIcon.Primary"
android:layout_marginStart="12dp"
app:layout_constraintBottom_toBottomOf="@+id/itemAssetRate"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/itemAssetToken"
tools:src="@drawable/ic_token_dot_colored" />
<TextView
android:id="@+id/itemAssetToken"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="8dp"
android:textColor="@color/text_primary"
app:layout_constraintStart_toEndOf="@+id/itemAssetImage"
app:layout_constraintTop_toTopOf="parent"
tools:text="DOT" />
<TextView
android:id="@+id/itemAssetRate"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/itemAssetToken"
app:layout_constraintTop_toBottomOf="@+id/itemAssetToken"
app:layout_constraintVertical_bias="0.0"
tools:text="$10.25" />
<TextView
android:id="@+id/itemAssetRateChange"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textColor="@color/text_positive"
app:layout_constraintBottom_toBottomOf="@+id/itemAssetRate"
app:layout_constraintStart_toEndOf="@+id/itemAssetRate"
app:layout_constraintTop_toTopOf="@+id/itemAssetRate"
tools:text="+25%" />
<TextView
android:id="@+id/itemAssetPriceAmount"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/itemAssetRateChange"
app:layout_constraintTop_toBottomOf="@+id/itemAssetBalance"
tools:text="$1,000.05" />
<TextView
android:id="@+id/itemAssetBalance"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemAssetPriceAmount"
app:layout_constraintEnd_toEndOf="@+id/itemAssetPriceAmount"
app:layout_constraintStart_toEndOf="@+id/itemAssetToken"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="120.0849" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,32 @@
<?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"
android:orientation="horizontal"
android:layout_marginHorizontal="16dp"
android:paddingStart="12dp"
android:paddingTop="12dp"
android:paddingEnd="16dp"
android:paddingBottom="8dp"
tools:background="@color/block_background">
<io.novafoundation.nova.feature_account_api.view.ChainChipView
android:id="@+id/itemAssetGroupChain"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/itemAssetGroupBalance"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="24dp"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="end"
android:maxLines="1"
android:textColor="@color/text_secondary"
tools:text="$703.51" />
</LinearLayout>
@@ -0,0 +1,78 @@
<?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/itemAssetContainer"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="4dp"
android:layout_weight="1"
android:background="@drawable/bg_primary_list_item_corner_12_solid">
<ImageView
android:id="@+id/itemNetworkImage"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_marginStart="12dp"
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/itemNetworkName"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="8dp"
android:ellipsize="end"
android:lines="1"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/itemNetworkBarrier"
app:layout_constraintStart_toEndOf="@+id/itemNetworkImage"
app:layout_constraintTop_toTopOf="parent"
tools:text="Polkadot" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/itemNetworkBarrier"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:barrierDirection="start"
app:constraint_referenced_ids="itemNetworkBalance, itemNetworkPriceAmount" />
<TextView
android:id="@+id/itemNetworkBalance"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemNetworkPriceAmount"
app:layout_constraintEnd_toEndOf="@+id/itemNetworkPriceAmount"
app:layout_constraintHorizontal_bias="1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="120.0849" />
<TextView
android:id="@+id/itemNetworkPriceAmount"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/itemNetworkBalance"
tools:text="$1,000.05" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,39 @@
<?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:gravity="center_vertical"
android:background="@drawable/bg_primary_list_item"
android:orientation="horizontal"
tools:background="@color/secondary_screen_background">
<ImageView
android:id="@+id/itemSelectChainIcon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:layout_marginTop="14dp"
android:layout_marginBottom="14dp"
tools:src="@color/actions_color" />
<TextView
android:id="@+id/itemSelectChainName"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:textColor="@color/text_primary"
tools:text="Bifrost Kusama" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@drawable/ic_chevron_right"
app:tint="@color/icon_secondary" />
</LinearLayout>
@@ -0,0 +1,97 @@
<?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/itemAssetContainer"
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_marginHorizontal="16dp"
android:layout_weight="1"
android:background="@drawable/bg_primary_list_item"
tools:background="@color/block_background">
<ImageView
android:id="@+id/itemTokenAssetImage"
style="@style/Widget.Nova.AssetIcon.Primary"
android:layout_marginStart="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_token_dot_colored" />
<TextView
android:id="@+id/itemTokenAssetToken"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemTokenAssetRateContainer"
app:layout_constraintStart_toEndOf="@+id/itemTokenAssetImage"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="DOT" />
<LinearLayout
android:id="@+id/itemTokenAssetRateContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/itemTokenAssetToken"
app:layout_constraintTop_toBottomOf="@+id/itemTokenAssetToken">
<ImageView
android:id="@+id/itemTokenAssetChainIcon"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_marginEnd="4dp"
tools:background="@color/icon_primary" />
<TextView
android:id="@+id/itemTokenAssetChainName"
style="@style/TextAppearance.NovaFoundation.Regular.Caption1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_secondary"
tools:text="Kusama" />
</LinearLayout>
<TextView
android:id="@+id/itemTokenAssetPriceAmount"
style="@style/TextAppearance.NovaFoundation.Regular.Caption1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/itemTokenAssetBalance"
app:layout_constraintStart_toEndOf="@+id/itemTokenAssetRateContainer"
tools:text="$1,000.05" />
<TextView
android:id="@+id/itemTokenAssetBalance"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemTokenAssetPriceAmount"
app:layout_constraintEnd_toEndOf="@+id/itemTokenAssetPriceAmount"
app:layout_constraintStart_toEndOf="@+id/itemTokenAssetToken"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="120.0849" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,93 @@
<?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/itemAssetContainer"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginHorizontal="16dp"
android:layout_weight="1"
android:background="@drawable/bg_primary_list_item_corner_12"
tools:background="@color/block_background">
<ImageView
android:id="@+id/itemTokenGroupAssetImage"
style="@style/Widget.Nova.AssetIcon.Primary"
android:layout_marginStart="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_token_dot_colored" />
<TextView
android:id="@+id/itemAssetTokenGroupToken"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemAssetTokenGroupRate"
app:layout_constraintStart_toEndOf="@+id/itemTokenGroupAssetImage"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="DOT" />
<TextView
android:id="@+id/itemAssetTokenGroupRate"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/itemAssetTokenGroupToken"
app:layout_constraintTop_toBottomOf="@+id/itemAssetTokenGroupToken"
app:layout_constraintVertical_bias="0.0"
tools:text="$10.25" />
<TextView
android:id="@+id/itemAssetTokenGroupRateChange"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textColor="@color/text_positive"
app:layout_constraintBottom_toBottomOf="@+id/itemAssetTokenGroupRate"
app:layout_constraintStart_toEndOf="@+id/itemAssetTokenGroupRate"
app:layout_constraintTop_toTopOf="@+id/itemAssetTokenGroupRate"
tools:text="+25%" />
<TextView
android:id="@+id/itemAssetTokenGroupPriceAmount"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/itemAssetTokenGroupRateChange"
app:layout_constraintTop_toBottomOf="@+id/itemAssetTokenGroupBalance"
tools:text="$1,000.05" />
<TextView
android:id="@+id/itemAssetTokenGroupBalance"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:maxLines="1"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toTopOf="@+id/itemAssetTokenGroupPriceAmount"
app:layout_constraintEnd_toEndOf="@+id/itemAssetTokenGroupPriceAmount"
app:layout_constraintStart_toEndOf="@+id/itemAssetTokenGroupToken"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
tools:text="120.0849" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,42 @@
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="4dp"
android:layout_weight="1"
android:background="@drawable/bg_primary_list_item_corner_12_solid"
android:padding="16dp">
<ImageView
android:id="@+id/itemTradeProviderLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_mercurio_provider_logo" />
<LinearLayout
android:id="@+id/itemTradeProviderPaymentMethods"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="@+id/itemTradeProviderLogo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/itemTradeProviderDescription"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:textColor="@color/text_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/itemTradeProviderLogo"
tools:text="Best price with fees up to 3.95%" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/paymentMethodImage"
android:layout_width="24dp"
android:layout_height="16dp"
android:layout_marginStart="6dp" />
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/paymentMethodText"
style="@style/TextAppearance.NovaFoundation.SemiBold.Caps2"
android:layout_width="24dp"
android:layout_height="16dp"
android:layout_marginStart="6dp"
android:gravity="center"
android:background="@drawable/chips_background_2"
android:textColor="@color/chip_text" />
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/priceChartButtonText"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background_chart_button"
android:includeFontPadding="false"
android:minHeight="24dp"
android:paddingHorizontal="12dp"
android:paddingVertical="4dp"
android:textColor="@color/color_chart_button_text" />
@@ -0,0 +1,76 @@
<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:id="@+id/balanceListActions"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="80dp"
android:orientation="horizontal"
tools:background="@color/secondary_screen_background"
tools:parentTag="android.widget.LinearLayout">
<TextView
android:id="@+id/assetActionsSend"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_send"
app:drawableTopCompat="@drawable/ic_send_tokens"
tools:drawableTop="@drawable/ic_send_tokens" />
<TextView
android:id="@+id/assetActionsReceive"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_receive"
app:drawableTopCompat="@drawable/ic_receive_tokens"
tools:drawableTop="@drawable/ic_receive_tokens" />
<TextView
android:id="@+id/assetActionsSwap"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_swap"
app:drawableTopCompat="@drawable/ic_swap"
tools:drawableTop="@drawable/ic_swap" />
<TextView
android:id="@+id/assetActionsBuy"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_buy_sell"
app:drawableTopCompat="@drawable/ic_buy_tokens"
tools:drawableTop="@drawable/ic_buy_tokens" />
<TextView
android:id="@+id/assetActionsGift"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/common_gift"
app:drawableTopCompat="@drawable/ic_gift_card"
tools:drawableTop="@drawable/ic_gift_card" />
</merge>
@@ -0,0 +1,40 @@
<?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:gravity="center_vertical"
android:orientation="horizontal"
tools:parentTag="android.widget.LinearLayout">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="12dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="16dp"
android:src="@drawable/ic_pezkuwi_bank_card" />
<TextView
android:id="@+id/assetNovaCardText"
style="@style/TextAppearance.NovaFoundation.Regular.Body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginVertical="12dp"
android:layout_marginEnd="12dp"
android:layout_weight="1"
android:ellipsize="end"
android:lines="1"
android:text="@string/fragment_assets_nova_card"
android:textColor="@color/text_primary" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="12dp"
android:layout_marginEnd="16dp"
android:src="@drawable/ic_chevron_right"
app:tint="@color/icon_secondary" />
</merge>
@@ -0,0 +1,21 @@
<?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="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
tools:parentTag="android.widget.LinearLayout">
<ImageSwitcher
android:id="@+id/assetViewModeIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inAnimation="@anim/asset_mode_fade_in"
android:outAnimation="@anim/asset_mode_fade_out" />
<TextSwitcher
android:id="@+id/assetViewModeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</merge>
@@ -0,0 +1,117 @@
<?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/block_background"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<TextView
android:id="@+id/goToNftsTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginBottom="18dp"
android:text="@string/nft_your_nfts"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<io.novafoundation.nova.common.view.CounterView
android:id="@+id/goToNftCounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
app:layout_constraintBottom_toBottomOf="@+id/goToNftsTitle"
app:layout_constraintStart_toEndOf="@+id/goToNftsTitle"
app:layout_constraintTop_toTopOf="@+id/goToNftsTitle"
tools:text="6" />
<com.facebook.shimmer.ShimmerFrameLayout
android:id="@+id/goToNftsShimmer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/imageView2"
app:layout_constraintTop_toTopOf="parent">
<View
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/bg_shimerring_8" />
</com.facebook.shimmer.ShimmerFrameLayout>
<androidx.cardview.widget.CardView
android:id="@+id/goToNftPreviewHolder1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:visibility="gone"
app:cardCornerRadius="8dp"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/imageView2"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible">
<ImageView
android:id="@+id/goToNftPreview1"
style="@style/Widget.Nova.NftPreview" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/goToNftPreviewHolder2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:visibility="gone"
app:cardCornerRadius="8dp"
app:cardElevation="4dp"
app:layout_constraintBottom_toBottomOf="@+id/goToNftPreviewHolder1"
app:layout_constraintEnd_toStartOf="@+id/goToNftPreviewHolder1"
app:layout_constraintStart_toStartOf="@+id/goToNftPreviewHolder1"
app:layout_constraintTop_toTopOf="@+id/goToNftPreviewHolder1"
tools:visibility="visible">
<ImageView
android:id="@+id/goToNftPreview2"
style="@style/Widget.Nova.NftPreview" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/goToNftPreviewHolder3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:visibility="gone"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
app:layout_constraintBottom_toBottomOf="@+id/goToNftPreviewHolder2"
app:layout_constraintEnd_toStartOf="@+id/goToNftPreviewHolder2"
app:layout_constraintStart_toStartOf="@+id/goToNftPreviewHolder2"
app:layout_constraintTop_toTopOf="@+id/goToNftPreviewHolder2"
tools:visibility="visible">
<ImageView
android:id="@+id/goToNftPreview3"
style="@style/Widget.Nova.NftPreview" />
</androidx.cardview.widget.CardView>
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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" />
</merge>
@@ -0,0 +1,48 @@
<?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/block_background"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<TextView
android:id="@+id/pendingOperationsCountTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginBottom="18dp"
android:text="@string/multisig_pending_operations"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<io.novafoundation.nova.common.view.ChipLabelView
android:id="@+id/pendingOperationsCountCounter"
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
app:iconStart="@drawable/ic_time_filled"
app:iconStartPadding="4dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
app:iconStartTint="@color/icon_secondary"
app:layout_constraintBottom_toBottomOf="@+id/pendingOperationsCountTitle"
app:layout_constraintStart_toEndOf="@+id/pendingOperationsCountTitle"
app:layout_constraintTop_toTopOf="@+id/pendingOperationsCountTitle"
tools:text="6" />
<ImageView
android:id="@+id/pendingOperationsCountArrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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" />
</merge>
@@ -0,0 +1,180 @@
<?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">
<TextView
android:id="@+id/priceChartTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_secondary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="DOT price" />
<TextView
android:id="@+id/priceChartCurrentPrice"
style="@style/TextAppearance.NovaFoundation.Bold.Title3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="@color/text_primary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/priceChartTitle"
tools:text="$6.5" />
<com.facebook.shimmer.ShimmerFrameLayout
android:id="@+id/priceChartCurrentPriceShimmering"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/priceChartCurrentPrice"
app:layout_constraintTop_toTopOf="@+id/priceChartCurrentPrice"
tools:visibility="visible">
<View
android:layout_width="56dp"
android:layout_height="16dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
<TextView
android:id="@+id/priceChartPriceChange"
style="@style/TextAppearance.NovaFoundation.SemiBold.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="@color/text_secondary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/priceChartCurrentPrice"
tools:text="$0.32 (4.95%)" />
<TextView
android:id="@+id/priceChartDate"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="4dp"
android:textColor="@color/text_primary"
app:layout_constraintBottom_toBottomOf="@+id/priceChartPriceChange"
app:layout_constraintStart_toEndOf="@+id/priceChartPriceChange"
app:layout_constraintTop_toTopOf="@+id/priceChartPriceChange"
tools:text="Today" />
<com.facebook.shimmer.ShimmerFrameLayout
android:id="@+id/priceChartPriceChangeShimmering"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/priceChartPriceChange"
app:layout_constraintTop_toTopOf="@+id/priceChartPriceChange"
tools:visibility="visible">
<View
android:layout_width="126dp"
android:layout_height="10dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
<com.github.mikephil.charting.charts.LineChart
android:id="@+id/priceChart"
android:layout_width="match_parent"
android:layout_height="156dp"
android:background="@android:color/transparent"
app:layout_constraintTop_toBottomOf="@+id/priceChartDate" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/priceChartShimmering"
android:layout_width="0dp"
android:layout_height="0dp"
android:paddingVertical="9dp"
app:layout_constraintBottom_toBottomOf="@+id/priceChart"
app:layout_constraintEnd_toEndOf="@+id/priceChart"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/priceChart">
<io.novafoundation.nova.feature_assets.presentation.views.priceCharts.ChartsShimmeringView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="26dp"
android:paddingTop="3dp"
android:paddingBottom="3dp" />
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<View
android:layout_width="22dp"
android:layout_height="6dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.3333">
<View
android:layout_width="22dp"
android:layout_height="6dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.6666">
<View
android:layout_width="22dp"
android:layout_height="6dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
<com.facebook.shimmer.ShimmerFrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<View
android:layout_width="22dp"
android:layout_height="6dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/priceChartButtons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center_horizontal"
android:minHeight="32dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@+id/priceChart" />
</merge>
@@ -0,0 +1,195 @@
<?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:paddingBottom="14dp"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<TextView
android:id="@+id/viewAssetsTotalBalanceTitle"
style="@style/TextAppearance.NovaFoundation.Regular.SubHeadline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:text="@string/wallet_balance_details_total"
android:textColor="@color/text_secondary"
app:drawableTint="@color/icon_secondary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/viewAssetsTotalBalanceMaskingButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="-6dp"
android:paddingHorizontal="14dp"
android:scaleType="centerInside"
android:src="@drawable/ic_eye_hide"
app:layout_constraintBottom_toBottomOf="@+id/viewAssetsTotalBalanceTitle"
app:layout_constraintStart_toEndOf="@+id/viewAssetsTotalBalanceTitle"
app:layout_constraintTop_toTopOf="@+id/viewAssetsTotalBalanceTitle"
app:tint="@color/chip_icon" />
<FrameLayout
android:id="@+id/viewAssetsTotalBalanceContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:minHeight="47dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/viewAssetsTotalBalanceTitle">
<TextView
android:id="@+id/viewAssetsTotalBalanceTotal"
style="@style/TextAppearance.NovaFoundation.Bold.HugeTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:textColor="@color/text_primary"
android:visibility="gone"
tools:text="$214.66"
tools:visibility="visible" />
<com.facebook.shimmer.ShimmerFrameLayout
android:id="@+id/viewAssetsTotalBalanceShimmer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
tools:visibility="gone">
<View
android:layout_width="145dp"
android:layout_height="28dp"
android:background="@drawable/bg_shimmering" />
</com.facebook.shimmer.ShimmerFrameLayout>
</FrameLayout>
<LinearLayout
android:id="@+id/viewAssetsTotalBalanceLockedContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:background="@drawable/bg_total_card_chip"
android:gravity="center_vertical"
android:minHeight="22dp"
android:orientation="horizontal"
android:paddingHorizontal="8dp"
android:paddingVertical="2dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_marginEnd="4dp"
android:src="@drawable/ic_lock"
app:tint="@color/chip_icon" />
<TextView
android:id="@+id/viewAssetsTotalBalanceLocked"
style="@style/TextAppearance.NovaFoundation.Regular.Footnote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/chip_text"
tools:text="$214.66"
tools:visibility="visible" />
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_marginStart="4dp"
android:src="@drawable/ic_info" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:animateLayoutChanges="true"
android:minHeight="72dp"
app:layout_cardBackgroundColor="@color/block_background"
app:layout_cardBorderColor="@color/container_card_actions_border"
app:layout_cardRadius="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/viewAssetsTotalBalanceContainer">
<TextView
android:id="@+id/viewAssetsTotalBalanceSend"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_send"
app:drawableTopCompat="@drawable/ic_send_tokens"
tools:drawableTop="@drawable/ic_send_tokens" />
<TextView
android:id="@+id/viewAssetsTotalBalanceReceive"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_receive"
app:drawableTopCompat="@drawable/ic_receive_tokens"
tools:drawableTop="@drawable/ic_receive_tokens"
tools:text="Получить" />
<TextView
android:id="@+id/viewAssetsTotalBalanceSwap"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_swap"
app:drawableTopCompat="@drawable/ic_swap"
tools:drawableTop="@drawable/ic_swap" />
<TextView
android:id="@+id/viewAssetsTotalBalanceBuy"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/wallet_asset_buy_sell"
app:drawableTopCompat="@drawable/ic_buy_tokens"
tools:drawableTop="@drawable/ic_buy" />
<TextView
android:id="@+id/viewAssetsTotalBalanceGift"
style="@style/Widget.Nova.ActionButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:breakStrategy="high_quality"
android:hyphenationFrequency="full"
android:paddingBottom="8dp"
android:text="@string/common_gift"
app:drawableTopCompat="@drawable/ic_gift_card"
tools:drawableTop="@drawable/ic_gift_card" />
</LinearLayout>
</merge>
@@ -0,0 +1,120 @@
<?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="match_parent"
tools:background="@color/block_background"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<ImageView
android:id="@+id/transactionHistoryPuller"
style="@style/Widget.Nova.Puller"
android:layout_gravity="center_horizontal"
android:layout_marginTop="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/transactionHistoryTitle"
style="@style/TextAppearance.NovaFoundation.SemiBold.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="26dp"
android:text="@string/history_v1.9.0"
android:textColor="@color/text_primary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/transactionHistoryMigrationBanner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="14dp"
android:background="@drawable/bg_block_12"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:paddingStart="12dp"
android:paddingEnd="8dp"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/transactionHistoryTitle"
tools:visibility="visible">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ic_recent_history"
app:tint="@color/icon_secondary" />
<TextView
android:id="@+id/transferHistoryBannerText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:layout_weight="1"
tools:text="@string/transaction_history_migration_source_message" />
<TextView
android:id="@+id/transferHistoryBannerView"
style="@style/Widget.Nova.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:text="@string/common_view" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/transactionHistoryList"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="2dp"
android:overScrollMode="never"
android:visibility="gone"
app:layoutManager="io.novafoundation.nova.common.view.recyclerview.LinearLayoutManagerFixed"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/transactionHistoryMigrationBanner"
tools:visibility="visible" />
<io.novafoundation.nova.common.view.PlaceholderView
android:id="@+id/placeholder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="@string/transfers_empty_v2_2_0"
app:image="@drawable/ic_placeholder"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/transactionHistoryMigrationBanner"
app:placeholderBackgroundStyle="no_background" />
<ImageView
android:id="@+id/transactionHistoryFilter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="@+id/transactionHistoryTitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/transactionHistoryTitle"
app:srcCompat="@drawable/ic_filter"
app:tint="@color/actions_color" />
<ProgressBar
android:id="@+id/transactionHistoryProgress"
style="@style/Widget.Nova.ProgressBar.Indeterminate"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="16dp"
android:indeterminate="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/transactionHistoryMigrationBanner" />
</merge>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="asset_image_width">64dp</dimen>
<dimen name="asset_height">80dp</dimen>
<dimen name="total_balance_fraction_size">24sp</dimen>
<dimen name="asset_balance_fraction_size">15sp</dimen>
</resources>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="Widget.Nova.NftPreview" parent="">
<item name="android:layout_height">32dp</item>
<item name="android:layout_width">32dp</item>
<item name="android:background">@color/shimmering_indicator</item>
<item name="android:scaleType">centerCrop</item>
</style>
<style name="TextAppearance.NovaFoundation.TransactionDetailToolbar" parent="TextAppearance.NovaFoundation.Regular.Footnote">
<item name="android:textColor">@color/text_secondary</item>
</style>
</resources>