RxJava Binding APIs for Facebook's Android SDK.
This is currently in experimental phase. Use with care.
compile 'com.christiangp:RxFacebook:<latest-version>'
Subscribe to RxFacebook.logIn()
.
Make sure RxFacebook.logIn()
happens in the UI Thread (typically by observing on mainThread()
before it).
The generated Observable
holds a strong reference to the host Activity
.
Remember to dispose of the subscription's Disposable
once you're done with it (typically in the onDestroy()
method) to free this reference.
That's it. No need to handle any onActivityResult()
.
Disposable loginDisposable =
RxFacebook.logIn(activity, permissions)
.subscribe(
result -> {
if (result instanceof LoginResultCanceledEvent) {
//Do something on canceled
} else if (result instanceof LoginResultSuccessfulEvent) {
final LoginResult loginResult = ((LoginResultSuccessfulEvent) result).loginResult();
//Do something with loginResult on success
}
},
throwable -> {
//Do something on error
}
);
Subscribe to RxFacebook.graphRequest()
final Bundle params = new Bundle();
params.putString("fields",
"id, birthday, first_name, gender, last_name, link, location, locale, name, timezone, updated_time, email"
);
RxFacebook.graphRequest(AccessToken.getCurrentAccessToken(), "me", params, HttpMethod.GET)
.subscribe(graphResponse -> {
// Do something with graphResponse
});
Copyright (c) 2017 Christian García
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.