@Override public AppLink then(Task<Map<Uri, AppLink>> resolveUrisTask) throws Exception { return resolveUrisTask.getResult().get(uri); } });
@Override public boolean onActivityResult(int resultCode, Intent data) { captureStatic.set(true); return true; } });
private GameBoard handleDeepLink(final Context context, final Intent intent) { Uri targetUri = AppLinks.getTargetUrlFromInboundIntent(context, intent); if (targetUri == null) { targetUri = intent.getData(); } if (targetUri == null) { return null; } return GameBoard.fromUri(targetUri); }
@Suppress public void testUrlWithNoAppLinkData() { String testNoAppLinkUrlString = "https://fb.me/732873156764191_no_app_link"; Uri testNoAppLinkUrl = Uri.parse(testNoAppLinkUrlString); try { executeResolverOnBlockerThread(new FacebookAppLinkResolver(), testNoAppLinkUrl); getTestBlocker().waitForSignals(1); assertNotNull(resolveTask); Task<AppLink> singleUrlResolveTask = (Task<AppLink>)resolveTask; assertTrue(singleUrlResolveTask.isCompleted() && !singleUrlResolveTask.isCancelled() && !singleUrlResolveTask.isFaulted()); AppLink appLink = singleUrlResolveTask.getResult(); assertNull(appLink); } catch (Exception e) { // Forcing the test to fail with details assertNull(e); } }
@Test public void testRightCallbackExecuted() { final Capture<Boolean> capture = new Capture(false); final CallbackManagerImpl callbackManagerImpl = new CallbackManagerImpl(); callbackManagerImpl.registerCallback( 123, new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } }); callbackManagerImpl.registerCallback( 456, new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { return false; } }); callbackManagerImpl.onActivityResult( 123, 1, new Intent()); assertTrue(capture.get()); }
public void run() { try { resolveTask = resolver.getAppLinkFromUrlInBackground(testUrl); resolveTask.continueWith(new Continuation() { @Override public Object then(Task task) throws Exception { // Once the task is complete, unblock the test thread, so it can inspect for errors/results. blocker.signal(); return null; } }); } catch (Exception e) { // Get back to the test case if there was an uncaught exception blocker.signal(); } } };
private static boolean targetsAreEqual(AppLink.Target target1, AppLink.Target target2) { boolean isEqual = objectsAreEqual(target1.getPackageName(), target2.getPackageName()) && objectsAreEqual(target1.getClassName(), target2.getClassName()) && objectsAreEqual(target1.getAppName(), target2.getAppName()) && objectsAreEqual(target1.getUrl(), target2.getUrl()) ; return isEqual; }
/** * Asynchronously resolves App Link data for the passed in Uri * * @param uri Uri to be resolved into an App Link * @return A Task that, when successful, will return an AppLink for the passed in Uri. This may * be null if no App Link data was found for this Uri. In the case of general server errors, the * task will be completed with the corresponding error. */ public Task<AppLink> getAppLinkFromUrlInBackground(final Uri uri) { ArrayList<Uri> uris = new ArrayList<Uri>(); uris.add(uri); Task<Map<Uri, AppLink>> resolveTask = getAppLinkFromUrlsInBackground(uris); return resolveTask.onSuccess(new Continuation<Map<Uri, AppLink>, AppLink>() { @Override public AppLink then(Task<Map<Uri, AppLink>> resolveUrisTask) throws Exception { return resolveUrisTask.getResult().get(uri); } }); }
private static AppLink.Target getAndroidTargetFromJson(JSONObject targetJson) { String packageName = tryGetStringFromJson(targetJson, APP_LINK_TARGET_PACKAGE_KEY, null); if (packageName == null) { // Package name is mandatory for each Android target return null; } String className = tryGetStringFromJson(targetJson, APP_LINK_TARGET_CLASS_KEY, null); String appName = tryGetStringFromJson(targetJson, APP_LINK_TARGET_APP_NAME_KEY, null); String targetUrlString = tryGetStringFromJson(targetJson, APP_LINK_TARGET_URL_KEY, null); Uri targetUri = null; if (targetUrlString != null) { targetUri = Uri.parse(targetUrlString); } return new AppLink.Target(packageName, className, targetUri, appName); }
false)) { openIntent.putExtra(SOURCE_APPLICATION_HAS_BEEN_SET_BY_THIS_INTENT, true); Bundle appLinkData = AppLinks.getAppLinkData(openIntent); if (appLinkData != null) { openedByAppLink = true;
Bundle appLinkExtras = AppLinks.getAppLinkExtras(intent); String threadToken = appLinkExtras.getString(EXTRA_THREAD_TOKEN_KEY); String metadata = appLinkExtras.getString(EXTRA_METADATA);
@Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } });
private int getAppLinkGesture(Intent intent) { Uri targetURI = AppLinks.getTargetUrlFromInboundIntent(this, intent); if (targetURI == null) { return INVALID_CHOICE; } String gesture = targetURI.getQueryParameter("gesture"); if (gesture != null) { if (gesture.equalsIgnoreCase(getString(R.string.rock))) { return RpsGameUtils.ROCK; } else if (gesture.equalsIgnoreCase(getString(R.string.paper))) { return RpsGameUtils.PAPER; } else if (gesture.equalsIgnoreCase(getString(R.string.scissors))) { return RpsGameUtils.SCISSORS; } } return INVALID_CHOICE; }
@Test public void testCallbackExecuted() { final Capture<Boolean> capture = new Capture(false); final CallbackManagerImpl callbackManagerImpl = new CallbackManagerImpl(); callbackManagerImpl.registerCallback( CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode(), new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } }); callbackManagerImpl.onActivityResult( FacebookSdk.getCallbackRequestCodeOffset(), 1, new Intent()); assertTrue(capture.get()); }
@Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } });
@Test public void testStaticCallbackExecuted() { final Capture<Boolean> capture = new Capture(false); final CallbackManagerImpl callbackManagerImpl = new CallbackManagerImpl(); callbackManagerImpl.registerStaticCallback( CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode(), new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } }); callbackManagerImpl.onActivityResult( FacebookSdk.getCallbackRequestCodeOffset(), 1, new Intent()); assertTrue(capture.get()); }
@Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } });
@Override public boolean onActivityResult(int resultCode, Intent data) { capture.set(true); return true; } });