// Path: PhotoPaper/src/main/java/com/lukekorth/fivehundredpx/AccessToken.java
// public class AccessToken implements Parcelable {
// 
// 	private String mToken;
// 	private String mTokenSecret;
// 
// 	public AccessToken(String token, String tokenSecret) {
// 		mToken = token;
// 		mTokenSecret = tokenSecret;
// 	}
// 	
// 	AccessToken(HttpResponse response) throws FiveHundredException {
// 		try {
// 			Uri responseUri = Uri.parse(EntityUtils.toString(response.getEntity()));
// 
//             mToken = responseUri.getQueryParameter("oauth_token");
// 			mTokenSecret = responseUri.getQueryParameter("oauth_token_secret");
// 		} catch (ParseException | IOException | NullPointerException e) {
//             throw new FiveHundredException(e);
//         }
//     }
// 
// 	public String getToken() {
// 		return mToken;
// 	}
// 
// 	public String getTokenSecret() {
// 		return mTokenSecret;
// 	}
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(mToken);
//         dest.writeString(mTokenSecret);
//     }
// 
//     private AccessToken(Parcel in) {
//         mToken = in.readString();
//         mTokenSecret = in.readString();
//     }
// 
//     public static final Creator<AccessToken> CREATOR = new Creator<AccessToken>() {
//         public AccessToken createFromParcel(Parcel source) {
//             return new AccessToken(source);
//         }
// 
//         public AccessToken[] newArray(int size) {
//             return new AccessToken[size];
//         }
//     };
// }
// 
// Path: PhotoPaper/src/main/java/com/lukekorth/photo_paper/services/UserInfoIntentService.java
// public class UserInfoIntentService extends IntentService {
// 
//     public UserInfoIntentService() {
//         super("UserInfoIntentService");
//     }
// 
//     @Override
//     protected void onHandleIntent(Intent intent) {
//         ((WallpaperApplication) getApplication()).onUserUpdated(null);
// 
//         try {
//             User userResponse = WallpaperApplication.getApiClient()
//                     .users()
//                     .execute()
//                     .body()
//                     .user;
// 
//             Realm realm = Realm.getDefaultInstance();
//             User user = User.getUser(realm);
//             realm.beginTransaction();
//             user.setId(userResponse.getId());
//             user.setUserName(userResponse.getUserName());
//             user.setFirstName(userResponse.getFirstName());
//             user.setLastName(userResponse.getLastName());
//             user.setPhoto(userResponse.getPhoto());
//             realm.commitTransaction();
//             realm.close();
// 
//             Settings.setFavoriteGallery(this, null);
//             Settings.setFavoriteGalleryId(this, null);
// 
//             FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.LOGIN, null);
// 
//             WallpaperApplication.getBus().post(new UserUpdatedEvent());
//         } catch (IOException e) {
//             LoggerFactory.getLogger("UserInfoIntentService").error(e.getMessage());
//         }
//     }
// }


import android.content.Context;
import android.content.Intent;
import com.lukekorth.fivehundredpx.AccessToken;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.lukekorth.photo_paper.services.UserInfoIntentService;
import io.realm.Realm;
import io.realm.RealmObject;
        return accessTokenSecret;
    }

    public void setAccessTokenSecret(String accessTokenSecret) {
        this.accessTokenSecret = accessTokenSecret;
    }

    public static User getUser(Realm realm) {
        return realm.where(User.class).findFirst();
    }

    public static boolean isUserLoggedIn(Realm realm) {
        return (realm.where(User.class).findFirst() != null);
    }

    public static void logout(Realm realm) {
        realm.beginTransaction();
        realm.where(User.class).findAll().deleteAllFromRealm();
        realm.commitTransaction();
    }

    public static void newUser(Context context, Realm realm, AccessToken accessToken) {
        User.logout(realm);

        realm.beginTransaction();
        User user = realm.createObject(User.class);
        user.setAccessToken(accessToken.getToken());
        user.setAccessTokenSecret(accessToken.getTokenSecret());
        realm.commitTransaction();

// Path: PhotoPaper/src/main/java/com/lukekorth/fivehundredpx/AccessToken.java
// public class AccessToken implements Parcelable {
// 
// 	private String mToken;
// 	private String mTokenSecret;
// 
// 	public AccessToken(String token, String tokenSecret) {
// 		mToken = token;
// 		mTokenSecret = tokenSecret;
// 	}
// 	
// 	AccessToken(HttpResponse response) throws FiveHundredException {
// 		try {
// 			Uri responseUri = Uri.parse(EntityUtils.toString(response.getEntity()));
// 
//             mToken = responseUri.getQueryParameter("oauth_token");
// 			mTokenSecret = responseUri.getQueryParameter("oauth_token_secret");
// 		} catch (ParseException | IOException | NullPointerException e) {
//             throw new FiveHundredException(e);
//         }
//     }
// 
// 	public String getToken() {
// 		return mToken;
// 	}
// 
// 	public String getTokenSecret() {
// 		return mTokenSecret;
// 	}
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(mToken);
//         dest.writeString(mTokenSecret);
//     }
// 
//     private AccessToken(Parcel in) {
//         mToken = in.readString();
//         mTokenSecret = in.readString();
//     }
// 
//     public static final Creator<AccessToken> CREATOR = new Creator<AccessToken>() {
//         public AccessToken createFromParcel(Parcel source) {
//             return new AccessToken(source);
//         }
// 
//         public AccessToken[] newArray(int size) {
//             return new AccessToken[size];
//         }
//     };
// }
// 
// Path: PhotoPaper/src/main/java/com/lukekorth/photo_paper/services/UserInfoIntentService.java
// public class UserInfoIntentService extends IntentService {
// 
//     public UserInfoIntentService() {
//         super("UserInfoIntentService");
//     }
// 
//     @Override
//     protected void onHandleIntent(Intent intent) {
//         ((WallpaperApplication) getApplication()).onUserUpdated(null);
// 
//         try {
//             User userResponse = WallpaperApplication.getApiClient()
//                     .users()
//                     .execute()
//                     .body()
//                     .user;
// 
//             Realm realm = Realm.getDefaultInstance();
//             User user = User.getUser(realm);
//             realm.beginTransaction();
//             user.setId(userResponse.getId());
//             user.setUserName(userResponse.getUserName());
//             user.setFirstName(userResponse.getFirstName());
//             user.setLastName(userResponse.getLastName());
//             user.setPhoto(userResponse.getPhoto());
//             realm.commitTransaction();
//             realm.close();
// 
//             Settings.setFavoriteGallery(this, null);
//             Settings.setFavoriteGalleryId(this, null);
// 
//             FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.LOGIN, null);
// 
//             WallpaperApplication.getBus().post(new UserUpdatedEvent());
//         } catch (IOException e) {
//             LoggerFactory.getLogger("UserInfoIntentService").error(e.getMessage());
//         }
//     }
// }


// Path: PhotoPaper/src/main/java/com/lukekorth/photo_paper/models/User.java
import android.content.Context;
import android.content.Intent;
import com.lukekorth.fivehundredpx.AccessToken;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.lukekorth.photo_paper.services.UserInfoIntentService;
import io.realm.Realm;
import io.realm.RealmObject;

        return accessTokenSecret;
    }

    public void setAccessTokenSecret(String accessTokenSecret) {
        this.accessTokenSecret = accessTokenSecret;
    }

    public static User getUser(Realm realm) {
        return realm.where(User.class).findFirst();
    }

    public static boolean isUserLoggedIn(Realm realm) {
        return (realm.where(User.class).findFirst() != null);
    }

    public static void logout(Realm realm) {
        realm.beginTransaction();
        realm.where(User.class).findAll().deleteAllFromRealm();
        realm.commitTransaction();
    }

    public static void newUser(Context context, Realm realm, AccessToken accessToken) {
        User.logout(realm);

        realm.beginTransaction();
        User user = realm.createObject(User.class);
        user.setAccessToken(accessToken.getToken());
        user.setAccessTokenSecret(accessToken.getTokenSecret());
        realm.commitTransaction();

        context.startService(new Intent(context, UserInfoIntentService.class));