Skip to content

Commit 6e388b3

Browse files
authored
Merge pull request #645 from SUPERCILEX/twitter-logout
Logout of Twitter
2 parents a91cfbe + 85376f5 commit 6e388b3

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

auth/src/main/java/com/firebase/ui/auth/AuthUI.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import android.support.v4.app.FragmentActivity;
2727

2828
import com.facebook.login.LoginManager;
29+
import com.firebase.ui.auth.provider.TwitterProvider;
2930
import com.firebase.ui.auth.ui.FlowParameters;
3031
import com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity;
3132
import com.firebase.ui.auth.util.CredentialTaskApi;
@@ -49,6 +50,7 @@
4950
import com.google.firebase.auth.FirebaseUser;
5051
import com.google.firebase.auth.GoogleAuthProvider;
5152
import com.google.firebase.auth.TwitterAuthProvider;
53+
import com.twitter.sdk.android.Twitter;
5254

5355
import java.util.ArrayList;
5456
import java.util.Arrays;
@@ -58,6 +60,8 @@
5860
import java.util.List;
5961
import java.util.Set;
6062

63+
import io.fabric.sdk.android.Fabric;
64+
6165
/**
6266
* The entry point to the AuthUI authentication flow, and related utility methods. If your
6367
* application uses the default {@link FirebaseApp} instance, an AuthUI instance can be retrieved
@@ -192,6 +196,10 @@ public Void then(@NonNull Task<GoogleApiClient> task) throws Exception {
192196
// Facebook sign out
193197
LoginManager.getInstance().logOut();
194198

199+
// Twitter sign out
200+
if (!Fabric.isInitialized()) TwitterProvider.initialize(activity);
201+
Twitter.logOut();
202+
195203
// Wait for all tasks to complete
196204
return Tasks.whenAll(disableCredentialsTask, googleSignOutTask);
197205
}
@@ -239,6 +247,10 @@ public Task<Void> signOut(@NonNull FragmentActivity activity) {
239247
// Facebook sign out
240248
LoginManager.getInstance().logOut();
241249

250+
// Twitter sign out
251+
if (!Fabric.isInitialized()) TwitterProvider.initialize(activity);
252+
Twitter.logOut();
253+
242254
// Wait for all tasks to complete
243255
return Tasks.whenAll(disableCredentialsTask, signOutTask);
244256
}

auth/src/main/java/com/firebase/ui/auth/provider/TwitterProvider.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,8 @@ public class TwitterProvider extends Callback<TwitterSession> implements IdpProv
2828
private IdpCallback mCallbackObject;
2929
private TwitterAuthClient mTwitterAuthClient;
3030

31-
public TwitterProvider(Context appContext) {
32-
TwitterAuthConfig authConfig = new TwitterAuthConfig(
33-
appContext.getString(R.string.twitter_consumer_key),
34-
appContext.getString(R.string.twitter_consumer_secret));
35-
Fabric.with(appContext.getApplicationContext(), new Twitter(authConfig));
31+
public TwitterProvider(Context context) {
32+
initialize(context);
3633
mTwitterAuthClient = new TwitterAuthClient();
3734
}
3835

@@ -43,6 +40,13 @@ public static AuthCredential createAuthCredential(IdpResponse response) {
4340
return TwitterAuthProvider.getCredential(response.getIdpToken(), response.getIdpSecret());
4441
}
4542

43+
public static void initialize(Context context) {
44+
TwitterAuthConfig authConfig = new TwitterAuthConfig(
45+
context.getString(R.string.twitter_consumer_key),
46+
context.getString(R.string.twitter_consumer_secret));
47+
Fabric.with(context.getApplicationContext(), new Twitter(authConfig));
48+
}
49+
4650
@Override
4751
public String getName(Context context) {
4852
return context.getString(R.string.idp_name_twitter);

0 commit comments

Comments
 (0)