feat(android): implement deep link support for Android#19581
feat(android): implement deep link support for Android#19581jrainville wants to merge 1 commit intomasterfrom
Conversation
Jenkins BuildsClick to see older builds (42)
|
157cd47 to
c5603fa
Compare
c5603fa to
af91799
Compare
|
Fails to build DOtherside with: |
4e80a08 to
4f8fac9
Compare
Fixes #19562 Adds the needed manifest info to tell Android which links we supports. Then adds the Java code necessary to handle it. In this case, we listen to the Intent and if there is a URL, we emit an event that can be listened to in C++, which gets sent to the url_manager in Nim. Then we reuse the same code we already had.
4f8fac9 to
50dce40
Compare
micieslak
left a comment
There was a problem hiding this comment.
I wonder if we could do that without altering StatusQActivity, in a bit more separated way. Ideally also without DOtherSide. We have https://github.com/status-im/MobileUI that I added some time ago to handle interoperability with native mobile APIs. Not sure if applicable here but probably worth checking.
| // Called from Qt via JNI when main window is visible | ||
| public static void hideSplashScreen() { | ||
| splashShouldHide.set(true); | ||
| userLoggedIn.set(true); |
There was a problem hiding this comment.
If we need to track the logged in state it's probably not the best to do it here when the splash screen gets hidden, right? We could add a flag in the activity that's driven by qml/c++ to save the login state.
alexjba
left a comment
There was a problem hiding this comment.
I wouldn't involve DOtherSide at all. I still hope we'll drop it in favor of seaqt and it would be nice to keep it clean.
An alternative would be to move the c++ implementation in StatusQ - for status specific, or MobileUI for generic android stuff.
What does the PR do
Fixes #19562
Adds the needed manifest info to tell Android which links we supports.
Then adds the Java code necessary to handle it. In this case, we listen to the Intent and if there is a URL, we emit an event that can be listened to in C++, which gets sent to the url_manager in Nim. Then we reuse the same code we already had.
Affected areas
Architecture compliance
My PR is consistent with this document: QML Architecture Guidelines
Screencapture of the functionality
andrdoid-deep-links.webm
Impact on end user
Makes deep linking to the Status app work.
Reading the docs, if two apps support the same scheme, a drawer will be shown asking which app they choose to open, so all good.
How to test
Risk
Low