String url = interaction.getUrl(); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); switch (interaction.getTarget()) { case New: intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); JSONObject data = new JSONObject(); try { data.put(NavigateToLinkInteraction.KEY_URL, interaction.getUrl()); data.put(NavigateToLinkInteraction.KEY_TARGET, interaction.getTarget().lowercaseName()); data.put(NavigateToLinkInteraction.EVENT_KEY_SUCCESS, success); } catch (Exception e) {
public String getUrl() { InteractionConfiguration configuration = getConfiguration(); if (configuration != null && !configuration.isNull(KEY_URL)) { return configuration.optString(KEY_URL, null); } return null; }
return new TextModalInteraction(interactionString); case NavigateToLink: return new NavigateToLinkInteraction(interactionString); case unknown: break;
@Test public void navigateToLinkInteractionNew() { String json = loadTextAssetAsString(TEST_DATA_DIR + "/testNavigateToLinkInteractionNew.json"); Interaction interaction = Interaction.Factory.parseInteraction(json); assertTrue(interaction.getType().equals(Interaction.Type.NavigateToLink)); NavigateToLinkInteraction link = (NavigateToLinkInteraction) interaction; assertEquals("http://pages.ebay.com/link/?nav=item.view&id=221648890812", link.getUrl()); assertTrue(link.getTarget().equals(NavigateToLinkInteraction.Target.New)); }
public Target getTarget() { InteractionConfiguration configuration = getConfiguration(); if (configuration != null && !configuration.isNull(KEY_TARGET)) { return Target.parse(configuration.optString(KEY_TARGET, null)); } return Target.New; }
@Test public void navigateToLinkInteractionSelf() { String json = loadTextAssetAsString(TEST_DATA_DIR + "/testNavigateToLinkInteractionSelf.json"); Interaction interaction = Interaction.Factory.parseInteraction(json); assertTrue(interaction.getType().equals(Interaction.Type.NavigateToLink)); NavigateToLinkInteraction link = (NavigateToLinkInteraction) interaction; assertEquals("http://pages.ebay.com/link/?nav=item.view&id=221648890812", link.getUrl()); assertTrue(link.getTarget().equals(NavigateToLinkInteraction.Target.Self)); }
@Test public void navigateToLinkInteractionMissing() { String json = loadTextAssetAsString(TEST_DATA_DIR + "/testNavigateToLinkInteractionMissing.json"); Interaction interaction = Interaction.Factory.parseInteraction(json); assertTrue(interaction.getType().equals(Interaction.Type.NavigateToLink)); NavigateToLinkInteraction link = (NavigateToLinkInteraction) interaction; assertEquals("http://pages.ebay.com/link/?nav=item.view&id=221648890812", link.getUrl()); assertTrue(link.getTarget().equals(NavigateToLinkInteraction.Target.New)); } }