/** * Sets the Open Graph Action for the content. * * @param action {@link com.facebook.share.model.ShareOpenGraphAction} * @return The builder. */ public Builder setAction(@Nullable final ShareOpenGraphAction action) { this.action = (action == null ? null : new ShareOpenGraphAction.Builder() .readFrom(action).build()); return this; }
@Override protected void populateOpenGraphAction(ShareOpenGraphAction.Builder actionBuilder) { if (foodChoice != null && foodChoice.length() > 0) { if (foodChoiceUrl != null && foodChoiceUrl.length() > 0) { actionBuilder.putString("meal", foodChoiceUrl); } else { ShareOpenGraphObject mealObject = new ShareOpenGraphObject.Builder() .putString("og:type", MEAL_OBJECT_TYPE) .putString("og:title", foodChoice) .build(); actionBuilder.putObject("meal", mealObject); } } }
private ShareOpenGraphContent createOpenGraphContent() { ShareOpenGraphAction.Builder actionBuilder = createEatActionBuilder(); boolean userGenerated = false; if (photoUri != null) { String photoUriString = photoUri.toString(); Pair<File, Integer> fileAndMinDimension = getImageFileAndMinDimension(); userGenerated = fileAndMinDimension.second >= USER_GENERATED_MIN_SIZE; if (fileAndMinDimension != null) { final SharePhoto actionPhoto = new SharePhoto.Builder() .setImageUrl(Uri.parse(photoUriString)) .setUserGenerated(userGenerated) .build(); actionBuilder.putPhotoArrayList("image", new ArrayList<SharePhoto>() {{ add(actionPhoto); }}); } } return new ShareOpenGraphContent.Builder() .setAction(actionBuilder.build()) .setPreviewPropertyName("meal") .build(); }
@Test public void testVideoBuilder() { final ShareOpenGraphAction action = ShareModelTestUtility.getOpenGraphActionBuilder().build(); assertEquals(ShareModelTestUtility.OPEN_GRAPH_ACTION_TYPE, action.getActionType()); assertEquals(
.build(); ShareOpenGraphAction ogAction = new ShareOpenGraphAction.Builder() .setActionType(TEST_OG_ACTION_TYPE+"bad") .putObject("test", ogObject) .build();
.build(); ShareOpenGraphAction ogAction = new ShareOpenGraphAction.Builder() .setActionType(TEST_OG_ACTION_TYPE) .putObject("test", ogObject) .build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() .setAction( new ShareOpenGraphAction.Builder() .putStringArrayList("tags", new ArrayList<String>() {{ add("2"); add("4"); }}) .build() ).setPeopleIds(new ArrayList<String>() {{ add("1");
private ShareOpenGraphAction getAction() { return new ShareOpenGraphAction.Builder() .putString(TYPE_KEY, "myActionType") .putObject( "myObject", new ShareOpenGraphObject.Builder() .putString("myString", "value") .putInt("myInt", 42) .putBoolean("myBoolean", true) .putStringArrayList( "myStringArray", createArrayList( "string1", "string2", "string3") ) .putObject( "myObject", new ShareOpenGraphObject.Builder() .putDouble("myPi", 3.14) .build() ) .build()).build(); }
@Test public void testItAcceptsShareOpenGraphContent() { String actionKey = "foo"; String actionValue = "fooValue"; ShareOpenGraphAction shareOpenGraphAction = new ShareOpenGraphAction.Builder() .putString(actionKey, actionValue) .setActionType(actionKey) .build(); ShareOpenGraphContent shareOpenGraphContent = new ShareOpenGraphContent.Builder() .setPreviewPropertyName(actionKey) .setAction(shareOpenGraphAction).build(); ShareContentValidation.validateForMessage(shareOpenGraphContent); ShareContentValidation.validateForNativeShare(shareOpenGraphContent); ShareContentValidation.validateForApiShare(shareOpenGraphContent); ShareContentValidation.validateForWebShare(shareOpenGraphContent); }
@Test public void testJsonSerializationOfOpenGraphExistingPlace() { ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() .setAction( new ShareOpenGraphAction.Builder() .putString("place", "1") .build() ).setPlaceId("2") .build(); try { JSONObject object = ShareInternalUtility.toJSONObjectForCall(null, content); assertEquals("1", object.getString("place")); } catch (JSONException ex) { // Fail assertNotNull(ex); return; } }
private ShareOpenGraphAction getThrowAction() { // The OG objects have their own bitmaps we could rely on, but in order to demonstrate // attaching an in-memory bitmap (e.g., a game screencap) we'll send the bitmap explicitly // ourselves. ImageButton view = gestureImages[playerChoice]; BitmapDrawable drawable = (BitmapDrawable) view.getBackground(); final Bitmap bitmap = drawable.getBitmap(); return new ShareOpenGraphAction.Builder() .setActionType(OpenGraphConsts.THROW_ACTION_TYPE) .putString("fb_sample_rps:gesture", getBuiltInGesture(playerChoice)) .putString("fb_sample_rps:opposing_gesture", getBuiltInGesture(computerChoice)) .putPhotoArrayList("og:image", new ArrayList<SharePhoto>() {{ add(new SharePhoto.Builder().setBitmap(bitmap).build()); }}) .build(); }
/** * Sets the type for the action. * * @param actionType The type for the action. * @return The builder. */ public Builder setActionType(final String actionType) { this.putString(ACTION_TYPE_KEY, actionType); return this; }
ShareOpenGraphContent(final Parcel in) { super(in); this.action = new ShareOpenGraphAction.Builder().readFrom(in).build(); this.previewPropertyName = in.readString(); }
@Test(expected = FacebookException.class) public void testItValidateShareOpenGraphWithNoTypeByMessage() { ShareOpenGraphAction shareOpenGraphAction = new ShareOpenGraphAction.Builder().setActionType(null).build(); ShareOpenGraphContent shareOpenGraphContent = new ShareOpenGraphContent.Builder() .setAction(shareOpenGraphAction).build(); ShareContentValidation.validateForMessage(shareOpenGraphContent); }
@Override public Builder readFrom(final ShareOpenGraphAction model) { if (model == null) { return this; } return super .readFrom(model) .setActionType(model.getActionType()) ; }
@Override protected void populateOpenGraphAction(ShareOpenGraphAction.Builder actionBuilder) { if (selectedPlace != null) { actionBuilder.putString("place", selectedPlace.optString("id")); } }
private ShareOpenGraphAction.Builder createEatActionBuilder() { ShareOpenGraphAction.Builder builder = new ShareOpenGraphAction.Builder() .setActionType(EAT_ACTION_TYPE); for (BaseListElement element : listElements) { element.populateOpenGraphAction(builder); } return builder; }
public static ShareOpenGraphAction.Builder getOpenGraphActionBuilder() { return prepareOpenGraphValueContainerBuilder( new ShareOpenGraphAction.Builder()) .setActionType(OPEN_GRAPH_ACTION_TYPE) .putString( OPEN_GRAPH_CONTENT_PREVIEW_PROPERTY_NAME, OPEN_GRAPH_CONTENT_PREVIEW_PROPERTY_VALUE); }
@Test(expected = FacebookException.class) public void testItValidatesShareOpenGraphWithPreviewPropertyNameByMessage() { ShareOpenGraphAction shareOpenGraphAction = new ShareOpenGraphAction.Builder().setActionType("foo").build(); ShareOpenGraphContent shareOpenGraphContent = new ShareOpenGraphContent.Builder() .setAction(shareOpenGraphAction).build(); ShareContentValidation.validateForMessage(shareOpenGraphContent); }
private ShareOpenGraphAction createPlayActionWithGame(ShareOpenGraphObject game) { return new ShareOpenGraphAction.Builder() .setActionType(OpenGraphConsts.PLAY_ACTION_TYPE) .putObject("game", game).build(); }