Skip to content

feat: use deeplink#847

Merged
jaymengxy merged 3 commits intodevelopfrom
deeplink
Apr 24, 2025
Merged

feat: use deeplink#847
jaymengxy merged 3 commits intodevelopfrom
deeplink

Conversation

@jaymengxy
Copy link
Copy Markdown
Contributor

Related Issue

Closes #827

Summary of Changes

Need Regression Testing

  • Yes
  • No

Risk Assessment

  • Low
  • Medium
  • High

Additional Notes

Screenshots (if applicable)

@jaymengxy jaymengxy added this to the Release 2.8.3 milestone Apr 23, 2025
@jaymengxy jaymengxy self-assigned this Apr 23, 2025
@jaymengxy jaymengxy requested a review from a team as a code owner April 23, 2025 05:53
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2025

PR Summary

Enhanced the app's deep linking capabilities by implementing support for handling dapp, send, and buy actions through deep links. Added network switching functionality and pending action management to handle deep links when network changes are required. The implementation includes URI parsing, value handling, and proper state management across app navigation.

Changes

File Summary
app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/DeepLinkingActivity.kt Modified deep link dispatch to include context parameter for proper handling of pending actions
app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt Created new helper class to manage pending deep links using SharedPreferences, including save, retrieve, and clear functionality
app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt Added comprehensive deep link handling for dapp, send, and buy actions with network validation and value parsing
app/src/main/java/com/flowfoundation/wallet/page/main/MainActivity.kt Integrated pending deep link check and execution in MainActivity's onResume flow
app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/SendAmountActivity.kt Extended SendAmountActivity to support initial amount parameter from deep links
app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/SendAmountViewModel.kt Added support for storing and retrieving initial amount in SendAmountViewModel
app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/presenter/SendAmountPresenter.kt Added logic to set and display initial amount in the transfer amount input field
app/src/main/java/com/flowfoundation/wallet/widgets/SwitchNetworkDialog.kt Added support for deep link specific network switching with custom messages and pending action handling
app/src/main/res/values/strings.xml Added new string resource for network switching UI
gradle.properties Updated version code to 270 and version name to r2.8.3

autogenerated by presubmit.ai

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Pull request needs attention.

Review Summary

Commits Considered (1)
Files Processed (9)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/DeepLinkingActivity.kt (4 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt (1 hunk)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt (3 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/main/MainActivity.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/SendAmountActivity.kt (3 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/SendAmountViewModel.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/presenter/SendAmountPresenter.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/widgets/SwitchNetworkDialog.kt (3 hunks)
  • app/src/main/res/values/strings.xml (1 hunk)
Actionable Comments (1)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt [18-23]

    best practice: "Use synchronous SharedPreferences commit for critical data"

Skipped Comments (2)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt [98-111]

    enhancement: "Silent failure in value parsing could confuse users"

  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt [124-133]

    possible issue: "Network validation could be bypassed if activity is null"

Comment thread app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt Outdated
Comment thread app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt Outdated
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Pull request needs attention.

Review Summary

Commits Considered (2)
  • fa95375: fix: deeplink with dialog
  • 70abb82: fix: deeplink send value
Files Processed (5)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/DeepLinkingActivity.kt (1 hunk)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt (1 hunk)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/main/MainActivity.kt (3 hunks)
  • gradle.properties (1 hunk)
Actionable Comments (2)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt [122-136]

    possible issue: "Add overflow protection in value parsing"

  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt [64-69]

    best practice: "Add address validation for recipient parameter"

Skipped Comments (1)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt [21-21]

    performance: "Use asynchronous SharedPreferences operation for better performance"

@jaymengxy jaymengxy requested a review from lmcmz April 24, 2025 01:04
lmcmz
lmcmz previously approved these changes Apr 24, 2025
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Review Summary

Commits Considered (3)
Files Processed (10)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/DeepLinkingActivity.kt (1 hunk)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt (1 hunk)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/main/MainActivity.kt (3 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/SendAmountActivity.kt (3 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/SendAmountViewModel.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/page/send/transaction/subpage/amount/presenter/SendAmountPresenter.kt (2 hunks)
  • app/src/main/java/com/flowfoundation/wallet/widgets/SwitchNetworkDialog.kt (3 hunks)
  • app/src/main/res/values/strings.xml (1 hunk)
  • gradle.properties (1 hunk)
Actionable Comments (0)
Skipped Comments (3)
  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt [148-148]

    best practice: "Add error handling for invalid recipient addresses"

  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/PendingActionHelper.kt [18-23]

    performance: "Use asynchronous SharedPreferences writes"

  • app/src/main/java/com/flowfoundation/wallet/page/component/deeplinking/Utils.kt [122-135]

    possible issue: "Add decimal precision validation in value parsing"

@jaymengxy jaymengxy requested a review from lmcmz April 24, 2025 02:26
@jaymengxy jaymengxy merged commit b48b0f4 into develop Apr 24, 2025
3 checks passed
@jaymengxy jaymengxy deleted the deeplink branch April 24, 2025 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Open in app browser with deeplinks

2 participants