From 6751dd2b6d666257aa6e072c5ca4e2d0a9f0835d Mon Sep 17 00:00:00 2001 From: Bakht Date: Sun, 8 Jan 2017 18:06:17 +0400 Subject: [PATCH] add twitter login and logout --- .idea/gradle.xml | 1 + .idea/modules.xml | 1 + app/build.gradle | 15 ++ .../ebr163/socialauth/BaseApplication.java | 2 + .../com/ebr163/socialauth/MainActivity.java | 30 +++- app/src/main/res/layout/activity_main.xml | 28 ++++ app/src/main/res/values/strings.xml | 4 + settings.gradle | 2 +- twitter/src/main/AndroidManifest.xml | 11 +- .../twitter/TwitterAuthActivity.java | 83 +++++++++++ .../socialauth/twitter/TwitterClient.java | 138 ++++++++++++++++++ .../socialauth/twitter/TwitterProfile.java | 13 ++ .../main/res/layout/activity_twitter_auth.xml | 13 ++ twitter/src/main/res/values-w820dp/dimens.xml | 6 + twitter/src/main/res/values/dimens.xml | 5 + 15 files changed, 347 insertions(+), 5 deletions(-) create mode 100644 twitter/src/main/java/com/ebr163/socialauth/twitter/TwitterAuthActivity.java create mode 100644 twitter/src/main/java/com/ebr163/socialauth/twitter/TwitterClient.java create mode 100644 twitter/src/main/java/com/ebr163/socialauth/twitter/TwitterProfile.java create mode 100644 twitter/src/main/res/layout/activity_twitter_auth.xml create mode 100644 twitter/src/main/res/values-w820dp/dimens.xml create mode 100644 twitter/src/main/res/values/dimens.xml diff --git a/.idea/gradle.xml b/.idea/gradle.xml index e4eabb8..659c233 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -12,6 +12,7 @@ diff --git a/.idea/modules.xml b/.idea/modules.xml index cb5096b..4c106a7 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -7,6 +7,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index cba279c..1c43a77 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,19 @@ apply plugin: 'com.android.application' +repositories { + maven { url 'https://maven.fabric.io/public' } +} + +buildscript { + repositories { + mavenCentral() + maven { url 'https://maven.fabric.io/public' } + } + dependencies { + classpath 'io.fabric.tools:gradle:1.+' + } +} + android { compileSdkVersion 25 buildToolsVersion "25.0.2" @@ -26,5 +40,6 @@ dependencies { compile project(':instagram') compile project(':facebook') compile project(':vk') + compile project(':twitter') debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5' } diff --git a/app/src/main/java/com/ebr163/socialauth/BaseApplication.java b/app/src/main/java/com/ebr163/socialauth/BaseApplication.java index 1c3be24..c13b59b 100644 --- a/app/src/main/java/com/ebr163/socialauth/BaseApplication.java +++ b/app/src/main/java/com/ebr163/socialauth/BaseApplication.java @@ -26,6 +26,8 @@ public void onCreate() { return; } refWatcher = LeakCanary.install(this); + + } @Override diff --git a/app/src/main/java/com/ebr163/socialauth/MainActivity.java b/app/src/main/java/com/ebr163/socialauth/MainActivity.java index d6d7d7b..a616dfd 100644 --- a/app/src/main/java/com/ebr163/socialauth/MainActivity.java +++ b/app/src/main/java/com/ebr163/socialauth/MainActivity.java @@ -12,6 +12,8 @@ import com.ebr163.socialauth.google.GooglePlusProfile; import com.ebr163.socialauth.instagram.InstagramClient; import com.ebr163.socialauth.instagram.model.InstagramProfile; +import com.ebr163.socialauth.twitter.TwitterClient; +import com.ebr163.socialauth.twitter.TwitterProfile; import com.ebr163.socialauth.vk.VkClient; import com.ebr163.socialauth.vk.model.VkProfile; import com.facebook.FacebookException; @@ -22,12 +24,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe VkClient.VkProfileLoadedListener, VkClient.VkLogOutListener, FacebookClient.FacebookProfileLoadedListener, FacebookClient.FacebookLogOutListener, GooglePlusClient.GooglePlusProfileLoadedListener, GooglePlusClient.GooglePlusLogOutListener, - InstagramClient.InstagramProfileLoadedListener, InstagramClient.InstagramLogOutListener { + InstagramClient.InstagramProfileLoadedListener, InstagramClient.InstagramLogOutListener, + TwitterClient.TwitterProfileLoadedListener, TwitterClient.TwitterLogOutListener { GooglePlusClient googlePlusClient; InstagramClient instagramClient; FacebookClient facebookClient; VkClient vkClient; + TwitterClient twitterClient; @Override protected void onCreate(Bundle savedInstanceState) { @@ -48,6 +52,10 @@ protected void onCreate(Bundle savedInstanceState) { vkClient = new VkClient(this); vkClient.setVkLogOutListener(this); vkClient.setVkProfileLoadedListener(this); + + twitterClient = new TwitterClient(this); + twitterClient.setTwitterProfileLoadedListener(this); + twitterClient.setTwitterLogOutListener(this); } @Override @@ -77,6 +85,12 @@ public void onClick(View view) { case R.id.vk_logout: vkClient.logOut(); break; + case R.id.twitter: + twitterClient.getProfile(); + break; + case R.id.twitter_logout: + twitterClient.logOut(); + break; default: break; } @@ -89,6 +103,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { instagramClient.onActivityResult(requestCode, resultCode, data); facebookClient.onActivityResult(requestCode, resultCode, data); vkClient.onActivityResult(requestCode, resultCode, data); + twitterClient.onActivityResult(requestCode, resultCode, data); } private void toNextScreen() { @@ -154,6 +169,19 @@ public void onInstagramProfileLoaded(InstagramProfile instagramProfile) { @Override public void onErrorInstagramProfileLoaded(Exception exception) { + } + @Override + public void onLogOutTwitter() { + Toast.makeText(MainActivity.this, "twitter logout", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onTwitterProfileLoaded(TwitterProfile twitterProfile) { + Toast.makeText(MainActivity.this, "twitter", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onErrorTwitterProfileLoaded(Exception exception) { } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 80dfbbd..b96971a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -123,4 +123,32 @@ android:textColor="@android:color/white" /> + + +