Skip to content

Commit

Permalink
Support Single and Completable instead of Observable
Browse files Browse the repository at this point in the history
Fix #19
Fix #2
  • Loading branch information
yongjhih committed Aug 29, 2017
1 parent 3a30690 commit 557a7c5
Show file tree
Hide file tree
Showing 7 changed files with 265 additions and 205 deletions.
2 changes: 1 addition & 1 deletion rxparse2-facebook-v3/build.gradle
Expand Up @@ -48,7 +48,7 @@ dependencies {
compile 'com.parse.bolts:bolts-android:1.4.0'
compile 'com.parse:parsefacebookutils-v3-android:1.10.4@aar'

compile 'com.github.yongjhih.RxBolts:rxbolts2-tasks:e9efae0ffd'
compile 'com.github.yongjhih.RxBolts:rxbolts2-tasks:2.0.2'

compile 'io.reactivex.rxjava2:rxjava:2.0.1'

Expand Down
Expand Up @@ -24,58 +24,67 @@
import java.util.Collection;
import java.util.Date;

import io.reactivex.Observable;
import rx.bolts2.TaskObservable;
import io.reactivex.Completable;
import io.reactivex.Single;
import io.reactivex.annotations.CheckReturnValue;
import io.reactivex.annotations.NonNull;
import rx.bolts2.RxTask;

public class ParseFacebookObservable {

public static Observable<ParseUser> link(ParseUser user, Activity activity) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkInBackground(user, activity))
.map(v -> user);
@NonNull
public static Completable link(@NonNull final ParseUser user, @NonNull final Activity activity) {
return RxTask.completable(() -> ParseFacebookUtils.linkInBackground(user, activity));
}

public static Observable<ParseUser> link(ParseUser user, Activity activity, int activityCode) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkInBackground(user, activity, activityCode))
.map(v -> user);
@NonNull
public static Completable link(@NonNull final ParseUser user, @NonNull final Activity activity, int activityCode) {
return RxTask.completable(() -> ParseFacebookUtils.linkInBackground(user, activity, activityCode));
}

public static Observable<ParseUser> link(ParseUser user, Collection<String> permissions, Activity activity) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkInBackground(user, permissions, activity))
.map(v -> user);
@NonNull
public static Completable link(@NonNull final ParseUser user, @NonNull final Collection<String> permissions, @NonNull final Activity activity) {
return RxTask.completable(() -> ParseFacebookUtils.linkInBackground(user, permissions, activity));
}

public static Observable<ParseUser> link(ParseUser user, Collection<String> permissions, Activity activity, int activityCode) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkInBackground(user, permissions, activity, activityCode))
.map(v -> user);
@NonNull
public static Completable link(@NonNull final ParseUser user, @NonNull final Collection<String> permissions, @NonNull final Activity activity, int activityCode) {
return RxTask.completable(() -> ParseFacebookUtils.linkInBackground(user, permissions, activity, activityCode));
}

public static Observable<ParseUser> link(ParseUser user, String facebookId, String accessToken, Date expirationDate) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkInBackground(user, facebookId, accessToken, expirationDate))
.map(v -> user);
@NonNull
public static Completable link(@NonNull final ParseUser user, @NonNull final String facebookId, @NonNull final String accessToken, @NonNull final Date expirationDate) {
return RxTask.completable(() -> ParseFacebookUtils.linkInBackground(user, facebookId, accessToken, expirationDate));
}

public static Observable<ParseUser> logIn(Collection<String> permissions, Activity activity, int activityCode) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInInBackground(permissions, activity, activityCode));
@CheckReturnValue
@NonNull
public static Single<ParseUser> logIn(@NonNull final Collection<String> permissions, Activity activity, int activityCode) {
return RxTask.single(() -> ParseFacebookUtils.logInInBackground(permissions, activity, activityCode));
}

public static Observable<ParseUser> logIn(Collection<String> permissions, Activity activity) {
@CheckReturnValue
@NonNull
public static Single<ParseUser> logIn(@NonNull final Collection<String> permissions, @NonNull final Activity activity) {
// package class com.parse.FacebookAuthenticationProvider.DEFAULT_AUTH_ACTIVITY_CODE
// private com.facebook.android.Facebook.DEFAULT_AUTH_ACTIVITY_CODE = 32665
return logIn(permissions, activity, 32665);
}

public static Observable<ParseUser> logIn(String facebookId, String accessToken, Date expirationDate) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInInBackground(facebookId, accessToken, expirationDate));
@CheckReturnValue
@NonNull
public static Single<ParseUser> logIn(@NonNull final String facebookId, @NonNull final String accessToken, @NonNull final Date expirationDate) {
return RxTask.single(() -> ParseFacebookUtils.logInInBackground(facebookId, accessToken, expirationDate));
}

public static Observable<ParseUser> saveLatestSessionData(ParseUser user) {
return TaskObservable.defer(() -> ParseFacebookUtils.saveLatestSessionDataInBackground(user))
.map(v -> user);
@NonNull
public static Completable saveLatestSessionData(@NonNull final ParseUser user) {
return RxTask.completable(() -> ParseFacebookUtils.saveLatestSessionDataInBackground(user));
}

public static Observable<ParseUser> unlink(ParseUser user) {
return TaskObservable.defer(() -> ParseFacebookUtils.unlinkInBackground(user))
.map(v -> user);
@NonNull
public static Completable unlink(@NonNull final ParseUser user) {
return RxTask.completable(() -> ParseFacebookUtils.unlinkInBackground(user));
}

}
4 changes: 2 additions & 2 deletions rxparse2-facebook-v4/build.gradle
Expand Up @@ -48,9 +48,9 @@ dependencies {
compile 'com.parse:parsefacebookutils-v4-android:1.10.4@aar'

compile 'com.parse.bolts:bolts-tasks:1.4.0'
compile 'com.github.yongjhih.RxBolts:rxbolts2-tasks:e9efae0ffd'
compile 'com.github.yongjhih.RxBolts:rxbolts2-tasks:2.0.2'

compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.8'

compile 'com.facebook.android:facebook-android-sdk:4.18.0'
//testCompile "org.mockito:mockito-core:1.+"
Expand Down
Expand Up @@ -24,59 +24,72 @@

import java.util.Collection;

import io.reactivex.Observable;
import rx.bolts2.TaskObservable;
import io.reactivex.Completable;
import io.reactivex.Single;
import io.reactivex.annotations.CheckReturnValue;
import io.reactivex.annotations.NonNull;
import rx.bolts2.RxTask;

public class ParseFacebookObservable {

public static Observable<ParseUser> link(ParseUser user, com.facebook.AccessToken accessToken) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkInBackground(user, accessToken))
.map(v -> user);
@NonNull
public static Completable link(@NonNull final ParseUser user, @NonNull final com.facebook.AccessToken accessToken) {
return RxTask.completable(() -> ParseFacebookUtils.linkInBackground(user, accessToken));
}

public static Observable<ParseUser> linkWithPublishPermissions(ParseUser user, Activity activity, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkWithPublishPermissionsInBackground(user, activity, permissions))
.map(v -> user);
@NonNull
public static Completable linkWithPublishPermissions(@NonNull final ParseUser user, @NonNull final Activity activity, @NonNull final Collection<String> permissions) {
return RxTask.completable(() -> ParseFacebookUtils.linkWithPublishPermissionsInBackground(user, activity, permissions));
}

public static Observable<ParseUser> linkWithPublishPermissions(ParseUser user, Fragment fragment, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkWithPublishPermissionsInBackground(user, fragment, permissions))
.map(v -> user);
@NonNull
public static Completable linkWithPublishPermissions(@NonNull final ParseUser user, @NonNull final Fragment fragment, @NonNull final Collection<String> permissions) {
return RxTask.completable(() -> ParseFacebookUtils.linkWithPublishPermissionsInBackground(user, fragment, permissions));
}

public static Observable<ParseUser> linkWithReadPermissions(ParseUser user, Activity activity, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkWithReadPermissionsInBackground(user, activity, permissions))
.map(v -> user);
@NonNull
public static Completable linkWithReadPermissions(@NonNull final ParseUser user, @NonNull final Activity activity, @NonNull final Collection<String> permissions) {
return RxTask.completable(() -> ParseFacebookUtils.linkWithReadPermissionsInBackground(user, activity, permissions));
}

public static Observable<ParseUser> linkWithReadPermissions(ParseUser user, Fragment fragment, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.linkWithReadPermissionsInBackground(user, fragment, permissions))
.map(v -> user);
@NonNull
public static Completable linkWithReadPermissions(@NonNull final ParseUser user, @NonNull final Fragment fragment, @NonNull final Collection<String> permissions) {
return RxTask.completable(() -> ParseFacebookUtils.linkWithReadPermissionsInBackground(user, fragment, permissions));
}

public static Observable<ParseUser> logIn(com.facebook.AccessToken accessToken) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInInBackground(accessToken));
@NonNull
@CheckReturnValue
public static Single<ParseUser> logIn(@NonNull final com.facebook.AccessToken accessToken) {
return RxTask.single(() -> ParseFacebookUtils.logInInBackground(accessToken));
}

public static Observable<ParseUser> logInWithPublishPermissions(Activity activity, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInWithPublishPermissionsInBackground(activity, permissions));
@NonNull
@CheckReturnValue
public static Single<ParseUser> logInWithPublishPermissions(@NonNull final Activity activity, @NonNull final Collection<String> permissions) {
return RxTask.single(() -> ParseFacebookUtils.logInWithPublishPermissionsInBackground(activity, permissions));
}

public static Observable<ParseUser> logInWithPublishPermissions(Fragment fragment, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInWithPublishPermissionsInBackground(fragment, permissions));
@NonNull
@CheckReturnValue
public static Single<ParseUser> logInWithPublishPermissions(@NonNull final Fragment fragment, @NonNull final Collection<String> permissions) {
return RxTask.single(() -> ParseFacebookUtils.logInWithPublishPermissionsInBackground(fragment, permissions));
}

public static Observable<ParseUser> logInWithReadPermissions(Activity activity, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInWithReadPermissionsInBackground(activity, permissions));
@NonNull
@CheckReturnValue
public static Single<ParseUser> logInWithReadPermissions(@NonNull final Activity activity, @NonNull final Collection<String> permissions) {
return RxTask.single(() -> ParseFacebookUtils.logInWithReadPermissionsInBackground(activity, permissions));
}

public static Observable<ParseUser> logInWithReadPermissions(Fragment fragment, Collection<String> permissions) {
return TaskObservable.defer(() -> ParseFacebookUtils.logInWithReadPermissionsInBackground(fragment, permissions));
@NonNull
@CheckReturnValue
public static Single<ParseUser> logInWithReadPermissions(@NonNull final Fragment fragment, @NonNull final Collection<String> permissions) {
return RxTask.single(() -> ParseFacebookUtils.logInWithReadPermissionsInBackground(fragment, permissions));
}

public static Observable<ParseUser> unlink(ParseUser user) {
return TaskObservable.defer(() -> ParseFacebookUtils.unlinkInBackground(user))
.map(v -> user);
@NonNull
public static Completable unlink(@NonNull final ParseUser user) {
return RxTask.completable(() -> ParseFacebookUtils.unlinkInBackground(user));
}

}
4 changes: 2 additions & 2 deletions rxparse2/build.gradle
Expand Up @@ -59,9 +59,9 @@ android {

dependencies {
compile 'com.parse:parse-android:1.13.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.8'

compile 'com.github.yongjhih.RxBolts:rxbolts2-tasks:e9efae0ffd'
compile 'com.github.yongjhih.RxBolts:rxbolts2-tasks:2.0.2'

testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:3.2.2'
Expand Down

0 comments on commit 557a7c5

Please sign in to comment.