Conversation
📝 WalkthroughWalkthroughCentralizes icon access via MyImages, adds a DashSwitch composable, updates several UI components and previews to use MyImages, adjusts Menu/MenuItem visuals and parameters, migrates Tools/Settings fragments to Compose with a new ToolsScreen and ToolsUIState, and adds/removes multiple drawable and layout resources. Changes
Sequence Diagram(s)sequenceDiagram
participant Fragment as ToolsFragment
participant UI as ToolsScreen
participant ViewModel as ToolsViewModel
participant DAO as blockchainStateDao
Fragment->>UI: mount ToolsScreen with callbacks
UI->>ViewModel: collect uiState (collectAsState)
ViewModel->>DAO: observeState() (onEach)
DAO-->>ViewModel: emit blockchain state
ViewModel-->>UI: update uiState (isSyncing / hasUsername)
UI->>Fragment: user taps item (e.g., CSV export)
Fragment->>ViewModel: perform action / navigate
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (5)
common/src/main/res/drawable/ic_change_pin.xml (1)
8-8: Prefer color resource over hardcoded hex in vector fillUse a color resource (or theme-based tint at usage site) instead of
#008DE4to keep dark/light theming and branding updates centralized.Proposed change
- android:fillColor="#008DE4"/> + android:fillColor="@color/dash_blue"/>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@common/src/main/res/drawable/ic_change_pin.xml` at line 8, Replace the hardcoded hex fillColor in the vector drawable by referencing a color resource or theme attribute instead of "#008DE4"; create or reuse an appropriate color resource (e.g., color/ic_change_pin or a theme attribute like ?attr/colorPrimaryVariant) and update the android:fillColor on ic_change_pin.xml to point to that resource so theming/dark mode and branding changes are centralized.wallet/res/drawable/ic_view_rec_phrase.xml (1)
7-8: Consider using a color resource reference instead of a hardcoded hex value.The
fillColoruses a hardcoded color value#008DE4. For better maintainability and theming support, consider defining this color incolors.xmland referencing it here using@color/your_color_name. This approach:
- Ensures color consistency across the app
- Supports theme switching (light/dark mode)
- Makes future color updates easier
♻️ Proposed refactor
First, add the color to your
colors.xmlfile:<color name="icon_blue">#008DE4</color>Then update the drawable:
- android:fillColor="#008DE4"/> + android:fillColor="@color/icon_blue"/>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@wallet/res/drawable/ic_view_rec_phrase.xml` around lines 7 - 8, Replace the hardcoded fillColor in the vector drawable by creating a color resource (e.g., add <color name="icon_blue">#008DE4</color> to colors.xml) and update the android:fillColor attribute in ic_view_rec_phrase.xml to reference that resource (android:fillColor="@color/icon_blue") so the Path's fillColor uses the new color resource instead of the literal hex.common/src/main/java/org/dash/wallet/common/ui/components/MyTheme.kt (1)
257-262: ValidateFontWeight(750)mapping for the Inter family.Using
FontWeight(750)at Line 261 can render inconsistently if the font set doesn’t include a matching weight. Consider sticking to a known shipped weight (e.g., 700) or adding an explicit heavier Inter variant and mapping it directly.Suggested adjustment
val HeadlineSmallBold = TextStyle( fontSize = 24.sp, lineHeight = 32.sp, fontFamily = interBold, - fontWeight = FontWeight(750) + fontWeight = FontWeight(700) )🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@common/src/main/java/org/dash/wallet/common/ui/components/MyTheme.kt` around lines 257 - 262, The TextStyle HeadlineSmallBold in MyTheme.kt uses FontWeight(750) which may not map to an available Inter weight; replace the ad-hoc 750 with a shipped weight (e.g., use the w700/w800 constant or FontWeight(700)) or add and reference an explicit heavier Inter font resource (e.g., interExtraBold) and switch interBold to that variant; alternatively, if you must keep 750 ensure the Inter font family includes a matching FontWeight(750) entry so the mapping is deterministic.wallet/src/de/schildbach/wallet/ui/SettingsFragment.kt (1)
79-84: Prefer registeringviewLifecycleOwnerobservers inonViewCreated().
setupTransactionMetadataObservers()is called at Line 82 duringonCreateView. Moving this toonViewCreated()keeps view-lifecycle observer setup in the canonical lifecycle callback and avoids edge-case timing ambiguity.Proposed lifecycle-safe placement
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - setupTransactionMetadataObservers() - return ComposeView(requireContext()).apply { setContent { SettingsScreen( ... ) } } } + +override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupTransactionMetadataObservers() +}Also applies to: 145-159
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@wallet/src/de/schildbach/wallet/ui/SettingsFragment.kt` around lines 79 - 84, The observer registration call setupTransactionMetadataObservers() (and any other view-lifecycle observer setup done in onCreateView(), e.g., the block noted around lines 145-159) should be moved from onCreateView to onViewCreated so observers are bound to viewLifecycleOwner; remove the setupTransactionMetadataObservers() invocation from onCreateView() and call it in override fun onViewCreated(view: View, savedInstanceState: Bundle?) using viewLifecycleOwner when observing LiveData/Flow to ensure lifecycle-safe binding and avoid timing edges.wallet/src/de/schildbach/wallet/ui/compose_views/ExportCSVDialog.kt (1)
166-167: Avoid composing localized body copy with hardcoded"\n\n"in code.Building the paragraph body via string concatenation limits translator control over ordering and formatting. Prefer a single localized resource for the full body text.
Proposed adjustment
- text = "${stringResource(R.string.report_transaction_history_body_1)}\n\n${stringResource(R.string.report_transaction_history_body_2)}", + text = stringResource(R.string.report_transaction_history_body),Also add
report_transaction_history_bodyin resources with the intended paragraph break.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@wallet/src/de/schildbach/wallet/ui/compose_views/ExportCSVDialog.kt` around lines 166 - 167, In ExportCSVDialog.kt replace the concatenated body using stringResource(R.string.report_transaction_history_body_1) + "\n\n" + stringResource(R.string.report_transaction_history_body_2) with a single stringResource call (e.g. stringResource(R.string.report_transaction_history_body)) to avoid hardcoded paragraph breaks; update the Compose call (where text = ... and TextAlign.Start is used) to use that single resource and add a new localized resource key report_transaction_history_body containing the full paragraph with the intended break so translators control ordering/formatting.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@common/src/main/java/org/dash/wallet/common/ui/components/DashToggle.kt`:
- Around line 86-95: The Box modifier currently uses Modifier.clickable which
exposes only generic button semantics; replace that clickable(...) with
Modifier.toggleable(value = checked, role = Role.Switch, enabled = enabled,
interactionSource = remember { MutableInteractionSource() }, indication = null,
onValueChange = { onCheckedChange?.invoke(it) }) so TalkBack/VoiceOver receive
proper toggle semantics and state; update imports to include
androidx.compose.foundation.selection.toggleable and
androidx.compose.ui.semantics.Role (or appropriate Role import) and ensure you
keep minimumInteractiveComponentSize() and contentAlignment unchanged.
In `@wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt`:
- Around line 168-172: The code in ToolsFragment.kt currently logs the full xpub
in the onCopy handler (log.info("xpub copied to clipboard: {}",
viewModel.xpub)), which exposes sensitive wallet metadata; update the onCopy
lambda (the block that calls viewModel.copyXpubToClipboard()) to remove the raw
xpub from logs—either log a generic message like "xpub copied to clipboard" or,
if you need some traceability, log only a masked/partial value (e.g., first/last
N chars) computed from viewModel.xpub before logging—do not write the full xpub
to logs.
- Around line 66-84: The ComposeView in ToolsFragment.onCreateView currently
uses the default composition strategy; update the ComposeView creation to set an
explicit lifecycle-aware composition strategy (call setViewCompositionStrategy
with ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) before
invoking setContent so the composition is disposed when the fragment view is
destroyed, preventing leaked collectors/callbacks.
In `@wallet/src/de/schildbach/wallet/ui/more/ToolsScreen.kt`:
- Around line 134-138: The inner scrollable Column in ToolsScreen.kt uses
Modifier.fillMaxSize(), which causes it to request the full height and can
produce layout overflow; replace that call with Modifier.weight(1f) (keeping the
verticalScroll(rememberScrollState()) and other modifiers) so the Column only
consumes the remaining space between NavBarBack/TopIntro and avoids overflow.
Locate the Column with verticalScroll(...) and change its Modifier chain to use
weight(1f) instead of fillMaxSize().
In `@wallet/src/de/schildbach/wallet/ui/more/ToolsViewModel.kt`:
- Around line 101-103: The flow returned by blockchainStateDao.observeState() is
not being collected so the onEach block never runs; fix by collecting the flow
(e.g., append a terminal operator such as .launchIn(viewModelScope) or use
viewModelScope.launch { blockchainStateDao.observeState().onEach { ...
}.collect() }) so that the onEach updates _uiState.value with
uiState.value.copy(isSyncing = it?.isSynced() != true) and the isSyncing flag
reflects actual sync state; target the pipeline starting at
blockchainStateDao.observeState() and the onEach that updates _uiState/uiState.
---
Nitpick comments:
In `@common/src/main/java/org/dash/wallet/common/ui/components/MyTheme.kt`:
- Around line 257-262: The TextStyle HeadlineSmallBold in MyTheme.kt uses
FontWeight(750) which may not map to an available Inter weight; replace the
ad-hoc 750 with a shipped weight (e.g., use the w700/w800 constant or
FontWeight(700)) or add and reference an explicit heavier Inter font resource
(e.g., interExtraBold) and switch interBold to that variant; alternatively, if
you must keep 750 ensure the Inter font family includes a matching
FontWeight(750) entry so the mapping is deterministic.
In `@common/src/main/res/drawable/ic_change_pin.xml`:
- Line 8: Replace the hardcoded hex fillColor in the vector drawable by
referencing a color resource or theme attribute instead of "#008DE4"; create or
reuse an appropriate color resource (e.g., color/ic_change_pin or a theme
attribute like ?attr/colorPrimaryVariant) and update the android:fillColor on
ic_change_pin.xml to point to that resource so theming/dark mode and branding
changes are centralized.
In `@wallet/res/drawable/ic_view_rec_phrase.xml`:
- Around line 7-8: Replace the hardcoded fillColor in the vector drawable by
creating a color resource (e.g., add <color name="icon_blue">#008DE4</color> to
colors.xml) and update the android:fillColor attribute in ic_view_rec_phrase.xml
to reference that resource (android:fillColor="@color/icon_blue") so the Path's
fillColor uses the new color resource instead of the literal hex.
In `@wallet/src/de/schildbach/wallet/ui/compose_views/ExportCSVDialog.kt`:
- Around line 166-167: In ExportCSVDialog.kt replace the concatenated body using
stringResource(R.string.report_transaction_history_body_1) + "\n\n" +
stringResource(R.string.report_transaction_history_body_2) with a single
stringResource call (e.g.
stringResource(R.string.report_transaction_history_body)) to avoid hardcoded
paragraph breaks; update the Compose call (where text = ... and TextAlign.Start
is used) to use that single resource and add a new localized resource key
report_transaction_history_body containing the full paragraph with the intended
break so translators control ordering/formatting.
In `@wallet/src/de/schildbach/wallet/ui/SettingsFragment.kt`:
- Around line 79-84: The observer registration call
setupTransactionMetadataObservers() (and any other view-lifecycle observer setup
done in onCreateView(), e.g., the block noted around lines 145-159) should be
moved from onCreateView to onViewCreated so observers are bound to
viewLifecycleOwner; remove the setupTransactionMetadataObservers() invocation
from onCreateView() and call it in override fun onViewCreated(view: View,
savedInstanceState: Bundle?) using viewLifecycleOwner when observing
LiveData/Flow to ensure lifecycle-safe binding and avoid timing edges.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d47800d3-e406-4a32-989d-209b6a408ea3
📒 Files selected for processing (40)
common/src/main/java/org/dash/wallet/common/ui/components/DashButton.ktcommon/src/main/java/org/dash/wallet/common/ui/components/DashToggle.ktcommon/src/main/java/org/dash/wallet/common/ui/components/FeatureList.ktcommon/src/main/java/org/dash/wallet/common/ui/components/FeatureTopText.ktcommon/src/main/java/org/dash/wallet/common/ui/components/Menu.ktcommon/src/main/java/org/dash/wallet/common/ui/components/MenuItem.ktcommon/src/main/java/org/dash/wallet/common/ui/components/MyImages.ktcommon/src/main/java/org/dash/wallet/common/ui/components/MyTheme.ktcommon/src/main/java/org/dash/wallet/common/ui/components/Template.ktcommon/src/main/java/org/dash/wallet/common/ui/components/TopNavBase.ktcommon/src/main/java/org/dash/wallet/common/ui/dialogs/OffsetDialogFragment.ktcommon/src/main/res/drawable/ic_change_pin.xmlcommon/src/main/res/drawable/ic_nav_bar_close.xmlcommon/src/main/res/drawable/ic_popup_close_circle.xmlwallet/res/drawable/ic_autohide_balance.xmlwallet/res/drawable/ic_credits.xmlwallet/res/drawable/ic_csv_export.xmlwallet/res/drawable/ic_fingerprint_blue.xmlwallet/res/drawable/ic_import_private_key.xmlwallet/res/drawable/ic_menu_address_book.xmlwallet/res/drawable/ic_menu_credits.xmlwallet/res/drawable/ic_menu_csv_export.xmlwallet/res/drawable/ic_menu_extended_public_key.xmlwallet/res/drawable/ic_menu_import_private_key.xmlwallet/res/drawable/ic_menu_masternode_keys.xmlwallet/res/drawable/ic_menu_network_monitor.xmlwallet/res/drawable/ic_view_rec_phrase.xmlwallet/res/drawable/ic_zenledger.xmlwallet/res/layout/fragment_settings.xmlwallet/res/layout/fragment_tools.xmlwallet/res/values/strings-extra.xmlwallet/res/values/strings.xmlwallet/src/de/schildbach/wallet/ui/SettingsFragment.ktwallet/src/de/schildbach/wallet/ui/compose_views/ExportCSVDialog.ktwallet/src/de/schildbach/wallet/ui/compose_views/ExtendedPublicKeyDialog.ktwallet/src/de/schildbach/wallet/ui/compose_views/ZenLedgerDialog.ktwallet/src/de/schildbach/wallet/ui/more/SettingsScreen.ktwallet/src/de/schildbach/wallet/ui/more/ToolsFragment.ktwallet/src/de/schildbach/wallet/ui/more/ToolsScreen.ktwallet/src/de/schildbach/wallet/ui/more/ToolsViewModel.kt
💤 Files with no reviewable changes (3)
- wallet/res/drawable/ic_credits.xml
- wallet/res/layout/fragment_settings.xml
- wallet/res/layout/fragment_tools.xml
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
wallet/src/de/schildbach/wallet/ui/SettingsFragment.kt (1)
80-85:⚠️ Potential issue | 🔴 CriticalMove transaction metadata observer setup out of
onCreateView().
setupTransactionMetadataObservers()accessesviewLifecycleOwnerat lines 153–154, but it is called fromonCreateView()at line 83. This violates the Android Fragment lifecycle contract and will throwIllegalStateExceptionbecause the view lifecycle owner is not available untilonViewCreated()is called.Suggested fix
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - setupTransactionMetadataObservers() - return ComposeView(requireContext()).apply { setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) setContent { SettingsScreen( @@ } } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupTransactionMetadataObservers() + }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@wallet/src/de/schildbach/wallet/ui/SettingsFragment.kt` around lines 80 - 85, The call to setupTransactionMetadataObservers() is made from onCreateView() but it uses viewLifecycleOwner (in setupTransactionMetadataObservers()), which isn't available until the view is created; move the observer setup call into onViewCreated() (override onViewCreated and call setupTransactionMetadataObservers() there) so setupTransactionMetadataObservers() runs with a valid viewLifecycleOwner and avoid the IllegalStateException.
♻️ Duplicate comments (1)
wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt (1)
166-174:⚠️ Potential issue | 🟠 MajorRemove the raw xpub from logs.
This callback still writes the full extended public key to logs. That is sensitive wallet metadata and should not end up in logcat or exported diagnostics.
Suggested fix
onCopy = { viewModel.copyXpubToClipboard() Toast(requireContext()).toast(R.string.copied) - log.info("xpub copied to clipboard: {}", viewModel.xpub) + log.info("xpub copied to clipboard") },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt` around lines 166 - 174, In handleExtendedPublicKey's onCopy callback (inside createExtendedPublicKeyDialog) you're logging the full extended public key via log.info with viewModel.xpub; remove that raw xpub from logs and either drop the log call entirely or replace it with a non-sensitive indicator (e.g., log only a redacted substring, suffix like "xpub copied (redacted)", or a hash/fingerprint) so the full viewModel.xpub is never written to logcat or exported diagnostics.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@wallet/src/de/schildbach/wallet/ui/SettingsFragment.kt`:
- Around line 80-85: The call to setupTransactionMetadataObservers() is made
from onCreateView() but it uses viewLifecycleOwner (in
setupTransactionMetadataObservers()), which isn't available until the view is
created; move the observer setup call into onViewCreated() (override
onViewCreated and call setupTransactionMetadataObservers() there) so
setupTransactionMetadataObservers() runs with a valid viewLifecycleOwner and
avoid the IllegalStateException.
---
Duplicate comments:
In `@wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt`:
- Around line 166-174: In handleExtendedPublicKey's onCopy callback (inside
createExtendedPublicKeyDialog) you're logging the full extended public key via
log.info with viewModel.xpub; remove that raw xpub from logs and either drop the
log call entirely or replace it with a non-sensitive indicator (e.g., log only a
redacted substring, suffix like "xpub copied (redacted)", or a hash/fingerprint)
so the full viewModel.xpub is never written to logcat or exported diagnostics.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 46c89323-08ae-4223-8352-b80b4cf1c870
📒 Files selected for processing (6)
common/src/main/java/org/dash/wallet/common/ui/components/DashToggle.ktwallet/src/de/schildbach/wallet/ui/SettingsFragment.ktwallet/src/de/schildbach/wallet/ui/more/ToolsFragment.ktwallet/src/de/schildbach/wallet/ui/more/ToolsScreen.ktwallet/src/de/schildbach/wallet/ui/more/ToolsViewModel.ktwallet/src/de/schildbach/wallet/ui/more/TransactionMetadataSettingsFragment.kt
🚧 Files skipped from review as they are similar to previous changes (3)
- common/src/main/java/org/dash/wallet/common/ui/components/DashToggle.kt
- wallet/src/de/schildbach/wallet/ui/more/ToolsViewModel.kt
- wallet/src/de/schildbach/wallet/ui/more/ToolsScreen.kt
There was a problem hiding this comment.
♻️ Duplicate comments (1)
wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt (1)
166-196:⚠️ Potential issue | 🟠 MajorDo not log the raw xpub from the share flow.
onSharestill routes the full extended public key intocreateAndLaunchShareIntent(), which logs it on Line 195. That leaks sensitive wallet metadata even though the copy path was already sanitized.Suggested fix
private fun createAndLaunchShareIntent(xpub: String) { val intent = Intent(Intent.ACTION_SEND) intent.type = "text/plain" intent.putExtra(Intent.EXTRA_TEXT, xpub) intent.putExtra( Intent.EXTRA_SUBJECT, getString(R.string.extended_public_key_fragment_title) ) startActivity( Intent.createChooser( intent, getString(R.string.extended_public_key_fragment_share) ) ) - log.info("xpub shared via intent: {}", xpub) + log.info("xpub shared via intent") }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt` around lines 166 - 196, The share flow currently passes the full xpub into createAndLaunchShareIntent(xpub: String) and then logs it in log.info("xpub shared via intent: {}", xpub), leaking sensitive data; update handleExtendedPublicKey/createAndLaunchShareIntent so the raw xpub is not logged (either remove the log or replace it with a non-sensitive message such as logging that an xpub was shared without including the key), and ensure onShare does not pass the raw xpub into any logger or persistent store—use a masked/placeholder value or no-value logging instead while retaining the intent construction and startActivity behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@wallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt`:
- Around line 166-196: The share flow currently passes the full xpub into
createAndLaunchShareIntent(xpub: String) and then logs it in log.info("xpub
shared via intent: {}", xpub), leaking sensitive data; update
handleExtendedPublicKey/createAndLaunchShareIntent so the raw xpub is not logged
(either remove the log or replace it with a non-sensitive message such as
logging that an xpub was shared without including the key), and ensure onShare
does not pass the raw xpub into any logger or persistent store—use a
masked/placeholder value or no-value logging instead while retaining the intent
construction and startActivity behavior.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d4ad5c69-25de-43cd-946b-ac9eadb6fc49
📒 Files selected for processing (6)
wallet/src/de/schildbach/wallet/ui/compose_views/ComposeBottomSheet.ktwallet/src/de/schildbach/wallet/ui/compose_views/CreateInstantUsernameDialog.ktwallet/src/de/schildbach/wallet/ui/compose_views/ExtendedPublicKeyDialog.ktwallet/src/de/schildbach/wallet/ui/compose_views/ImportPrivateKeyDialog.ktwallet/src/de/schildbach/wallet/ui/compose_views/WalletCreationDateInfoDialog.ktwallet/src/de/schildbach/wallet/ui/more/ToolsFragment.kt
💤 Files with no reviewable changes (3)
- wallet/src/de/schildbach/wallet/ui/compose_views/WalletCreationDateInfoDialog.kt
- wallet/src/de/schildbach/wallet/ui/compose_views/CreateInstantUsernameDialog.kt
- wallet/src/de/schildbach/wallet/ui/compose_views/ImportPrivateKeyDialog.kt
🚧 Files skipped from review as they are similar to previous changes (1)
- wallet/src/de/schildbach/wallet/ui/compose_views/ExtendedPublicKeyDialog.kt
Issue being fixed or feature implemented
Related PR's and Dependencies
Screenshots / Videos
How Has This Been Tested?
Checklist:
Summary by CodeRabbit
New Features
Improvements
Localization