{"action":"created","issue":{"url":"https://api.github.com/repos/airbnb/DeepLinkDispatch/issues/95","repository_url":"https://api.github.com/repos/airbnb/DeepLinkDispatch","labels_url":"https://api.github.com/repos/airbnb/DeepLinkDispatch/issues/95/labels{/name}","comments_url":"https://api.github.com/repos/airbnb/DeepLinkDispatch/issues/95/comments","events_url":"https://api.github.com/repos/airbnb/DeepLinkDispatch/issues/95/events","html_url":"https://github.com/airbnb/DeepLinkDispatch/issues/95","id":155678469,"number":95,"title":"deep link to handle production and test urls","user":{"login":"markchristopherng","id":5202898,"avatar_url":"https://avatars.githubusercontent.com/u/5202898?v=3","gravatar_id":"","url":"https://api.github.com/users/markchristopherng","html_url":"https://github.com/markchristopherng","followers_url":"https://api.github.com/users/markchristopherng/followers","following_url":"https://api.github.com/users/markchristopherng/following{/other_user}","gists_url":"https://api.github.com/users/markchristopherng/gists{/gist_id}","starred_url":"https://api.github.com/users/markchristopherng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markchristopherng/subscriptions","organizations_url":"https://api.github.com/users/markchristopherng/orgs","repos_url":"https://api.github.com/users/markchristopherng/repos","events_url":"https://api.github.com/users/markchristopherng/events{/privacy}","received_events_url":"https://api.github.com/users/markchristopherng/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-05-19T08:17:30Z","updated_at":"2016-05-20T03:29:46Z","closed_at":null,"body":"In our project we have multiple test environments (to support our myriad and varied testing requirements) together with our production environment.\r\n\r\nThe current @DeepLink annotation requires us to add a URL for every single environment:\r\n\r\n@DeepLink({\r\n“https://prod_env/showDetail/detail.html”,\r\n“https://test_env1/showDetail/detail.html”,\r\n“https://test_env2/showDetail/detail.html”,\r\n“https://test_env3/showDetail/detail.html”,\r\n“https://test_env4/mock1/showDetail/detail.html”,\r\n“https://test_env5/mock2/showDetail/detail.html”})\r\npublic class MyShowDetailActivity ….\r\n\r\nThis results in all our test environment annotations appearing in production code! It’s unwieldy and we have sometimes introduced new test environments, which would require code change on every activity that support deep linking to add the new environment.\r\n\r\nWe acknowledge that the intent filters within AndroidManifest.xml also need to be wordy (one entry per test env), but are pretty much taken care of by having separate manifests: debug/AndroidManifest.xml (many intent filter entries - one for each env) and release/AndroidManifest.xml (only one intent filter entry for the prod env).\r\n\r\nUnfortunately this @DeepLink java annotation can’t be as easily handled. We could try subclassing and annotate the debug subclass of MyShowDetailActivity for the debug build variant but that’s rather messy, just to get around the DeepLink annotation restriction.\r\n\r\nInstead, if there was a variant of @DeepLink that matched without hostname and scheme, that would allow us to do something simple and elegant such as:\r\n\r\n@DeepLink(\"/showDetail/detail.html”) // support all environments in a single hit and rely on intent filters to ensure the hostname or url prefix is correct\r\npublic class MyShowDetailActivity ….\r\n\r\nSo is it possible to enhance this library to handle this partial deep link match requirement?  "},"comment":{"url":"https://api.github.com/repos/airbnb/DeepLinkDispatch/issues/comments/220508904","html_url":"https://github.com/airbnb/DeepLinkDispatch/issues/95#issuecomment-220508904","issue_url":"https://api.github.com/repos/airbnb/DeepLinkDispatch/issues/95","id":220508904,"user":{"login":"markchristopherng","id":5202898,"avatar_url":"https://avatars.githubusercontent.com/u/5202898?v=3","gravatar_id":"","url":"https://api.github.com/users/markchristopherng","html_url":"https://github.com/markchristopherng","followers_url":"https://api.github.com/users/markchristopherng/followers","following_url":"https://api.github.com/users/markchristopherng/following{/other_user}","gists_url":"https://api.github.com/users/markchristopherng/gists{/gist_id}","starred_url":"https://api.github.com/users/markchristopherng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markchristopherng/subscriptions","organizations_url":"https://api.github.com/users/markchristopherng/orgs","repos_url":"https://api.github.com/users/markchristopherng/repos","events_url":"https://api.github.com/users/markchristopherng/events{/privacy}","received_events_url":"https://api.github.com/users/markchristopherng/received_events","type":"User","site_admin":false},"created_at":"2016-05-20T03:29:46Z","updated_at":"2016-05-20T03:29:46Z","body":"thanks, i thought about that as well but didn't get around to trying it"}}
{"actor":{"display_login":"markchristopherng"}}