// Path: reactivefb/src/main/java/com/beltaief/reactivefb/util/GraphPath.java
// public class GraphPath {
// 
//     public static final String ME = "me";
//     public static final String ATTACHMENTS = "attachments";
//     public static final String FRIENDS = "friends";
//     public static final String TAGGABLE_FRIENDS = "taggable_friends";
//     public static final String INVITABLE_FRIENDS = "invitable_friends";
//     public static final String ALBUMS = "albums";
//     public static final String SCORES = "scores";
//     public static final String APPREQUESTS = "apprequests";
//     public static final String FEED = "feed";
//     public static final String PHOTOS = "photos";
//     public static final String VIDEOS = "videos";
//     public static final String EVENTS = "events";
//     public static final String GROUPS = "groups";
//     public static final String POSTS = "posts";
//     public static final String COMMENTS = "comments";
//     public static final String LIKES = "likes";
//     public static final String LINKS = "links";
//     public static final String STATUSES = "statuses";
//     public static final String TAGGED = "tagged";
//     public static final String TAGGED_PLACES = "tagged_places";
//     public static final String ACCOUNTS = "accounts";
//     public static final String BOOKS = "books";
//     public static final String MUSIC = "music";
//     public static final String FAMILY = "family";
//     public static final String MOVIES = "movies";
//     public static final String GAMES = "games";
//     public static final Object NOTIFICATIONS = "notifications";
//     public static final String TELEVISION = "television";
//     public static final String OBJECTS = "objects";
// }
// 
// Path: reactivefb/src/main/java/com/beltaief/reactivefb/util/Logger.java
// public final class Logger {
// 
//     private static boolean DEBUG = false;
//     private static boolean DEBUG_WITH_STACKTRACE = false;
// 
//     private Logger() {
//     }
// 
//     public static <T> void logInfo(Class<T> cls, String message) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.i(tag, "-----");
//             Log.i(tag, LogType.INFO + ": " + message);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.i(tag, getStackTrace());
//             }
//         }
//     }
// 
//     public static <T> void logWarning(Class<T> cls, String message) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.w(tag, "-----");
//             Log.w(tag, LogType.WARNING + ": " + message);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.w(tag, getStackTrace());
//             }
//         }
//     }
// 
//     public static <T> void logError(Class<T> cls, String message) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.e(tag, "-----");
//             Log.e(tag, LogType.ERROR + ": " + message);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.e(tag, getStackTrace());
//             }
//         }
//     }
// 
//     public static <T> void logError(Class<T> cls, String message, Throwable e) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.e(tag, "-----");
//             Log.e(tag, LogType.ERROR + ": " + message, e);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.e(tag, getStackTrace());
//             }
//         }
//     }
// 
//     private enum LogType {
//         INFO,
//         WARNING,
//         ERROR
//     }
// 
//     private static String getStackTrace() {
//         StringWriter sw = new StringWriter();
//         PrintWriter pw = new PrintWriter(sw);
//         new Throwable().printStackTrace(pw);
//         return sw.toString();
//     }
// }


import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import com.beltaief.reactivefb.util.GraphPath;
import com.beltaief.reactivefb.util.Logger;
import com.google.gson.annotations.SerializedName;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Date;
import java.util.List;
    public static class Builder {
        private String mName = null;
        private String mPlaceId = null;

        private Parcelable mParcelable = null;
        private byte[] mBytes = null;
        private Privacy mPrivacy = null;

        public Builder() {
        }

        /**
         * Set photo to be published
         *
         * @param bitmap
         */
        public Builder setImage(Bitmap bitmap) {
            mParcelable = bitmap;
            return this;
        }

        /**
         * Set photo to be published
         *
         * @param file
         */
        public Builder setImage(File file) {
            try {
                mParcelable = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
            } catch (FileNotFoundException e) {
// Path: reactivefb/src/main/java/com/beltaief/reactivefb/util/GraphPath.java
// public class GraphPath {
// 
//     public static final String ME = "me";
//     public static final String ATTACHMENTS = "attachments";
//     public static final String FRIENDS = "friends";
//     public static final String TAGGABLE_FRIENDS = "taggable_friends";
//     public static final String INVITABLE_FRIENDS = "invitable_friends";
//     public static final String ALBUMS = "albums";
//     public static final String SCORES = "scores";
//     public static final String APPREQUESTS = "apprequests";
//     public static final String FEED = "feed";
//     public static final String PHOTOS = "photos";
//     public static final String VIDEOS = "videos";
//     public static final String EVENTS = "events";
//     public static final String GROUPS = "groups";
//     public static final String POSTS = "posts";
//     public static final String COMMENTS = "comments";
//     public static final String LIKES = "likes";
//     public static final String LINKS = "links";
//     public static final String STATUSES = "statuses";
//     public static final String TAGGED = "tagged";
//     public static final String TAGGED_PLACES = "tagged_places";
//     public static final String ACCOUNTS = "accounts";
//     public static final String BOOKS = "books";
//     public static final String MUSIC = "music";
//     public static final String FAMILY = "family";
//     public static final String MOVIES = "movies";
//     public static final String GAMES = "games";
//     public static final Object NOTIFICATIONS = "notifications";
//     public static final String TELEVISION = "television";
//     public static final String OBJECTS = "objects";
// }
// 
// Path: reactivefb/src/main/java/com/beltaief/reactivefb/util/Logger.java
// public final class Logger {
// 
//     private static boolean DEBUG = false;
//     private static boolean DEBUG_WITH_STACKTRACE = false;
// 
//     private Logger() {
//     }
// 
//     public static <T> void logInfo(Class<T> cls, String message) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.i(tag, "-----");
//             Log.i(tag, LogType.INFO + ": " + message);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.i(tag, getStackTrace());
//             }
//         }
//     }
// 
//     public static <T> void logWarning(Class<T> cls, String message) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.w(tag, "-----");
//             Log.w(tag, LogType.WARNING + ": " + message);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.w(tag, getStackTrace());
//             }
//         }
//     }
// 
//     public static <T> void logError(Class<T> cls, String message) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.e(tag, "-----");
//             Log.e(tag, LogType.ERROR + ": " + message);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.e(tag, getStackTrace());
//             }
//         }
//     }
// 
//     public static <T> void logError(Class<T> cls, String message, Throwable e) {
//         if (DEBUG || DEBUG_WITH_STACKTRACE) {
//             String tag = cls.getName();
//             Log.e(tag, "-----");
//             Log.e(tag, LogType.ERROR + ": " + message, e);
// 
//             if (DEBUG_WITH_STACKTRACE) {
//                 Log.e(tag, getStackTrace());
//             }
//         }
//     }
// 
//     private enum LogType {
//         INFO,
//         WARNING,
//         ERROR
//     }
// 
//     private static String getStackTrace() {
//         StringWriter sw = new StringWriter();
//         PrintWriter pw = new PrintWriter(sw);
//         new Throwable().printStackTrace(pw);
//         return sw.toString();
//     }
// }


// Path: app/src/main/java/com/beltaief/reactivefbexample/models/Photo.java
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import com.beltaief.reactivefb.util.GraphPath;
import com.beltaief.reactivefb.util.Logger;
import com.google.gson.annotations.SerializedName;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Date;
import java.util.List;

    public static class Builder {
        private String mName = null;
        private String mPlaceId = null;

        private Parcelable mParcelable = null;
        private byte[] mBytes = null;
        private Privacy mPrivacy = null;

        public Builder() {
        }

        /**
         * Set photo to be published
         *
         * @param bitmap
         */
        public Builder setImage(Bitmap bitmap) {
            mParcelable = bitmap;
            return this;
        }

        /**
         * Set photo to be published
         *
         * @param file
         */
        public Builder setImage(File file) {
            try {
                mParcelable = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
            } catch (FileNotFoundException e) {
                Logger.logError(Photo.class, "Failed to create photo from file", e);