Comments (4)
You could have different versions of the same activity, one for each one of your flavors, like you are doing with the AndroidManifest.xml file. Of course this would require delegating activity logic somewhere else in a common class to avoid duplication, but other than that, this approach should work fine.
DeepLinkDispatch's annotation processor is not aware of Android neither your app's flavor, so there's no way it could special-case that. Also I don't think it would make sense to do so, since this should be a concern of your application, not of the deep linking library you're using. Furthermore, currently the full URI is required for the @DeepLink
annotation, so you can't omit the scheme
from deeplinkdispatch.
@felipecsl I seem to have a similar requirement. And the form of delegation you mention would not be feasible in my case.
I wanted your inputs on if this is possible? And what would have to be changed in the library for it. (I'd like to pick this up on a PR if you feel this is a valid feature and can be worked on).
from deeplinkdispatch.
You should be able to define your deep link constants in separate files per flavor, eg.:
src/flavor1/java/com/example/DeepLinks.java
public interface DeepLinks {
String DEEP_LINK_1 = "ourscheme1://some/path";
}
src/flavor2/java/com/example/deep_links.java
public interface DeepLinks {
String DEEP_LINK_1 = "ourscheme2://some/path";
}
src/main/java/com/example/SomeActivity.java
@DeepLink(DeepLinks.DEEP_LINK_1)
public class SomeActivity extends Activity {
}
Would this work for your case?
from deeplinkdispatch.
My use case is:
The app comprises of 3 modules and an app
modules:
Each module has deeplinks configured:
The app has 3 flavours which are configured on the app level.
The modules are only available as aars(and hence cannot compile time configurations).
The App would have to propagate the deeplink scheme to different modules.
The Manifest changes can be handled because it would be from the app modules.
The modules do not differentiate between flavours.
Because of this setup, I would not be able to add different classes for flavours in my project :-(
from deeplinkdispatch.
Related Issues (20)
- Migration to androidX HOT 2
- Not supported valid URIs for deeplinks with same path and different number of parameters HOT 4
- [Question] Get DeeplinkResult without launching activity HOT 2
- Support KSP HOT 1
- An annotation argument must be a compile-time constant HOT 3
- Deep linking integration is Fails with error
- Binary incompatible API change in 5.4.0. HOT 1
- Support for AndroidX Navigation HOT 2
- Pipe(|) separated custom annotators not recognised
- Allow Serializable/Parcelable through intents HOT 8
- Deeplink for search accommodations in a specific place
- DeepLinkHandler<T> interface is not available in latest version i.e. 5.4.3
- Add @DeepLinkModuleRegistry marker annotation to generated registries
- Performance issue in chunkOnModifiedUtf8ByteSize
- queryParameterValue must not be null HOT 4
- Help for using with Java
- DeepLinkIntentsUtil not found exception
- Can i use uri-fragment ( # ) field access directly from bundle?
- Custom Annotations not working after update to v6.1.0 HOT 2
- Not compatible with Hilt HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deeplinkdispatch.