// Path: reactivefb/src/main/java/com/beltaief/reactivefb/ReactiveFB.java
// public class ReactiveFB {
// 
//     private static ReactiveFB mInstance = null;
//     private static SimpleFacebookConfiguration mConfiguration =
//             new SimpleFacebookConfiguration.Builder().build();
//     private static SessionManager mSessionManager = null;
// 
//     public static void sdkInitialize(Context context) {
//         if (mInstance == null) {
//             Class clazz = ReactiveFB.class;
//             synchronized (clazz) {
//                 mInstance = new ReactiveFB();
//             }
//             FacebookSdk.sdkInitialize(context);
//             mSessionManager = new SessionManager(mConfiguration);
//         }
//     }
// 
//     public static void checkInit() {
//         if (!FacebookSdk.isInitialized()) {
//             throw new RuntimeException("ReactiveFB not initialized. Are you missing " +
//                     "ReactiveFB.sdkInitialize(context) ?");
//         }
//     }
// 
//     public static SessionManager getSessionManager() {
//         return mSessionManager;
//     }
// 
//     public static SimpleFacebookConfiguration getConfiguration() {
//         return mConfiguration;
//     }
// 
//     public static void setConfiguration(SimpleFacebookConfiguration configuration) {
//         mConfiguration = configuration;
//     }
// 
//     public static boolean checkPermission(PermissionHelper permission) {
//         return AccessToken.getCurrentAccessToken().getPermissions().contains(permission.getValue());
//     }
// }
// 
// 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";
// }


import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.beltaief.reactivefb.ReactiveFB;
import com.beltaief.reactivefb.util.GraphPath;
import com.facebook.GraphResponse;
import io.reactivex.Single;
package com.beltaief.reactivefb.requests;




/**
 * Factory class for GraphRequest methods
 * Created by wassim on 9/16/16.
 */
public class ReactiveRequest {


    /**
     * Get the profile of the logged in user
     *
     * @return a single of GraphResponse representing a Profile model.
     */
    @NonNull
    public static Single<GraphResponse> getMe() {
// Path: reactivefb/src/main/java/com/beltaief/reactivefb/ReactiveFB.java
// public class ReactiveFB {
// 
//     private static ReactiveFB mInstance = null;
//     private static SimpleFacebookConfiguration mConfiguration =
//             new SimpleFacebookConfiguration.Builder().build();
//     private static SessionManager mSessionManager = null;
// 
//     public static void sdkInitialize(Context context) {
//         if (mInstance == null) {
//             Class clazz = ReactiveFB.class;
//             synchronized (clazz) {
//                 mInstance = new ReactiveFB();
//             }
//             FacebookSdk.sdkInitialize(context);
//             mSessionManager = new SessionManager(mConfiguration);
//         }
//     }
// 
//     public static void checkInit() {
//         if (!FacebookSdk.isInitialized()) {
//             throw new RuntimeException("ReactiveFB not initialized. Are you missing " +
//                     "ReactiveFB.sdkInitialize(context) ?");
//         }
//     }
// 
//     public static SessionManager getSessionManager() {
//         return mSessionManager;
//     }
// 
//     public static SimpleFacebookConfiguration getConfiguration() {
//         return mConfiguration;
//     }
// 
//     public static void setConfiguration(SimpleFacebookConfiguration configuration) {
//         mConfiguration = configuration;
//     }
// 
//     public static boolean checkPermission(PermissionHelper permission) {
//         return AccessToken.getCurrentAccessToken().getPermissions().contains(permission.getValue());
//     }
// }
// 
// 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/requests/ReactiveRequest.java
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.beltaief.reactivefb.ReactiveFB;
import com.beltaief.reactivefb.util.GraphPath;
import com.facebook.GraphResponse;
import io.reactivex.Single;

package com.beltaief.reactivefb.requests;




/**
 * Factory class for GraphRequest methods
 * Created by wassim on 9/16/16.
 */
public class ReactiveRequest {


    /**
     * Get the profile of the logged in user
     *
     * @return a single of GraphResponse representing a Profile model.
     */
    @NonNull
    public static Single<GraphResponse> getMe() {
        ReactiveFB.checkInit();