From d6cdcc333557d930995f3f4fc892134e8e6c0fee Mon Sep 17 00:00:00 2001 From: Maksim Date: Sat, 4 Mar 2017 15:40:32 +0100 Subject: [PATCH] init repo --- .gitignore | 72 ++++++++ LICENSE.md | 21 +++ README.md | 45 +++++ build.gradle | 20 +++ gradle.properties | 18 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53637 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 ++++++++++++++++++ gradlew.bat | 90 ++++++++++ library/.gitignore | 3 + library/build.gradle | 32 ++++ library/proguard-rules.pro | 17 ++ library/src/main/AndroidManifest.xml | 2 + .../com/maksim88/easylogin/AccessToken.java | 32 ++++ .../com/maksim88/easylogin/EasyLogin.java | 64 +++++++ .../easylogin/listener/NetworkListener.java | 11 ++ .../listener/OnLoginCompleteListener.java | 14 ++ .../easylogin/networks/FacebookNetwork.java | 111 ++++++++++++ .../easylogin/networks/GooglePlusNetwork.java | 129 ++++++++++++++ .../easylogin/networks/SocialNetwork.java | 75 ++++++++ .../easylogin/networks/TwitterNetwork.java | 126 ++++++++++++++ .../main/res/drawable/ic_visibility_24dp.xml | 9 + .../res/drawable/ic_visibility_off_24dp.xml | 9 + media/screenshot.png | Bin 0 -> 146725 bytes sample/.gitignore | 1 + sample/build.gradle | 38 +++++ sample/proguard-rules.pro | 17 ++ sample/src/main/AndroidManifest.xml | 40 +++++ .../easylogin/sample/MainActivity.java | 147 ++++++++++++++++ sample/src/main/res/layout/activity_main.xml | 34 ++++ sample/src/main/res/layout/content_main.xml | 44 +++++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes sample/src/main/res/values-v21/styles.xml | 9 + sample/src/main/res/values/colors.xml | 6 + sample/src/main/res/values/dimens.xml | 6 + sample/src/main/res/values/strings.xml | 6 + sample/src/main/res/values/styles.xml | 20 +++ settings.gradle | 1 + 42 files changed, 1435 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 library/.gitignore create mode 100644 library/build.gradle create mode 100644 library/proguard-rules.pro create mode 100644 library/src/main/AndroidManifest.xml create mode 100644 library/src/main/java/com/maksim88/easylogin/AccessToken.java create mode 100644 library/src/main/java/com/maksim88/easylogin/EasyLogin.java create mode 100644 library/src/main/java/com/maksim88/easylogin/listener/NetworkListener.java create mode 100644 library/src/main/java/com/maksim88/easylogin/listener/OnLoginCompleteListener.java create mode 100644 library/src/main/java/com/maksim88/easylogin/networks/FacebookNetwork.java create mode 100644 library/src/main/java/com/maksim88/easylogin/networks/GooglePlusNetwork.java create mode 100644 library/src/main/java/com/maksim88/easylogin/networks/SocialNetwork.java create mode 100644 library/src/main/java/com/maksim88/easylogin/networks/TwitterNetwork.java create mode 100644 library/src/main/res/drawable/ic_visibility_24dp.xml create mode 100644 library/src/main/res/drawable/ic_visibility_off_24dp.xml create mode 100644 media/screenshot.png create mode 100644 sample/.gitignore create mode 100644 sample/build.gradle create mode 100644 sample/proguard-rules.pro create mode 100644 sample/src/main/AndroidManifest.xml create mode 100644 sample/src/main/java/com/maksim88/easylogin/sample/MainActivity.java create mode 100644 sample/src/main/res/layout/activity_main.xml create mode 100644 sample/src/main/res/layout/content_main.xml create mode 100644 sample/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 sample/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 sample/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 sample/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 sample/src/main/res/values-v21/styles.xml create mode 100644 sample/src/main/res/values/colors.xml create mode 100644 sample/src/main/res/values/dimens.xml create mode 100644 sample/src/main/res/values/strings.xml create mode 100644 sample/src/main/res/values/styles.xml create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..db5fb3a --- /dev/null +++ b/.gitignore @@ -0,0 +1,72 @@ +# Created by https://www.gitignore.io/api/android,intellij + +### Android ### +# Built application files +*.apk +*.ap_ + +# Files for the Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +### Android Patch ### +gen-external-apklibs + + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm + +*.iml + +## Directory-based project format: +.idea/ + +## File-based project format: +*.ipr +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +secrets.properties +# Android +google-services.json \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..03c5a77 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Maksim + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c1bd8d7 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +[![](https://jitpack.io/v/maksim88/PasswordEditText.svg)](https://jitpack.io/#maksim88/PasswordEditText) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Password%20EditText-brightgreen.svg?style=flat)](http://android-arsenal.com/details/1/3048) + +EasyLogin +============ + +A simple extension to the standard Android EditText which shows an icon on the right side of the field and lets the user toggle the visibility of the password he puts in. + + +How does it look like? +-------- + +Usage +-------- + + +Download +-------- +Just include `jitpack.io` inside of your root project `build.gradle`: + +```groovy +allprojects { + repositories { + ... + maven { url "https://jitpack.io" } + } + } +``` + +After that you can easily include the library in your app `build.gradle`: + +```groovy +dependencies { + compile 'com.github.maksim88:EasyLogin:v0.4' + } +``` + + +Questions? +-------- +If you have any questions feel free to open a github issue with a 'question' label + + +License +-------- +Licensed under the MIT license. See [LICENSE](LICENSE.md). diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..c3ec809 --- /dev/null +++ b/build.gradle @@ -0,0 +1,20 @@ +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.google.gms:google-services:3.0.0' + } +} + +allprojects { + repositories { + jcenter() + maven { url 'https://maven.fabric.io/public' } + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..1d3591c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,18 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..05ef575b0cd0173fc735f2857ce4bd594ce4f6bd GIT binary patch literal 53637 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 t9m@SZ!E*7&jsr?!t7TL-WYI4eM@gAug8 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/library/.gitignore b/library/.gitignore new file mode 100644 index 0000000..b45cfd0 --- /dev/null +++ b/library/.gitignore @@ -0,0 +1,3 @@ +/build +# Android +google-services.json diff --git a/library/build.gradle b/library/build.gradle new file mode 100644 index 0000000..030de42 --- /dev/null +++ b/library/build.gradle @@ -0,0 +1,32 @@ +apply plugin: 'com.android.library' + +android { + compileSdkVersion 25 + buildToolsVersion "25.0.2" + + defaultConfig { + minSdkVersion 15 + targetSdkVersion 25 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + testCompile 'junit:junit:4.12' + compile 'com.android.support:appcompat-v7:25.2.0' + compile 'com.facebook.android:facebook-android-sdk:4.20.0' + compile 'com.google.android.gms:play-services-auth:10.2.0' + compile('com.twitter.sdk.android:twitter:2.3.2@aar') { + transitive = true; + } +} + +apply plugin: 'com.google.gms.google-services' diff --git a/library/proguard-rules.pro b/library/proguard-rules.pro new file mode 100644 index 0000000..211d9e4 --- /dev/null +++ b/library/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/maksim/Development/android-sdk-macosx/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml new file mode 100644 index 0000000..2c158a1 --- /dev/null +++ b/library/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + + diff --git a/library/src/main/java/com/maksim88/easylogin/AccessToken.java b/library/src/main/java/com/maksim88/easylogin/AccessToken.java new file mode 100644 index 0000000..6491840 --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/AccessToken.java @@ -0,0 +1,32 @@ +package com.maksim88.easylogin; + +/** + * Created by maksim on 14.02.16. + */ +public class AccessToken { + + private String mToken; + + private String mSecret; + + public AccessToken(String token, String secret) { + mToken = token; + mSecret = secret; + } + + public String getToken() { + return mToken; + } + + public void setToken(String token) { + mToken = token; + } + + public String getSecret() { + return mSecret; + } + + public void setSecret(String secret) { + mSecret = secret; + } +} diff --git a/library/src/main/java/com/maksim88/easylogin/EasyLogin.java b/library/src/main/java/com/maksim88/easylogin/EasyLogin.java new file mode 100644 index 0000000..401ac6c --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/EasyLogin.java @@ -0,0 +1,64 @@ +package com.maksim88.easylogin; + +import android.content.Intent; + +import com.maksim88.easylogin.networks.SocialNetwork; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by maksim on 14.02.16. + */ +public class EasyLogin { + + private static EasyLogin mInstance = null; + + private Map mSocialNetworksMap = new HashMap<>(); + + private EasyLogin() { + } + + public static void initialize() { + if (mInstance == null) { + mInstance = new EasyLogin(); + } + } + + public static EasyLogin getInstance() { + return mInstance; + } + + + public void addSocialNetwork(SocialNetwork socialNetwork) { + if (mSocialNetworksMap.get(socialNetwork.getNetwork()) != null) { + throw new RuntimeException("Social network with id = " + socialNetwork.getNetwork() + " already exists"); + } + + mSocialNetworksMap.put(socialNetwork.getNetwork(), socialNetwork); + } + + public SocialNetwork getSocialNetwork(SocialNetwork.Network network) throws RuntimeException { + if (!mSocialNetworksMap.containsKey(network)) { + throw new RuntimeException("Social network " + network + " not found"); + } + return mSocialNetworksMap.get(network); + } + + /** + * Get list of initialized social networks + * @return list of initialized social networks + */ + public List getInitializedSocialNetworks() { + return Collections.unmodifiableList(new ArrayList<>(mSocialNetworksMap.values())); + } + + public void onActivityResult(int requestCode, int resultCode, Intent data) { + for (SocialNetwork network : mSocialNetworksMap.values()) { + network.onActivityResult(requestCode, resultCode, data); + } + } +} diff --git a/library/src/main/java/com/maksim88/easylogin/listener/NetworkListener.java b/library/src/main/java/com/maksim88/easylogin/listener/NetworkListener.java new file mode 100644 index 0000000..7a36e60 --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/listener/NetworkListener.java @@ -0,0 +1,11 @@ +package com.maksim88.easylogin.listener; + +import com.maksim88.easylogin.networks.SocialNetwork; + +/** + * Created by maksim on 14.02.16. + */ +public interface NetworkListener { + + void onError(SocialNetwork.Network socialNetwork, String requestID, String errorMessage, Object data); +} diff --git a/library/src/main/java/com/maksim88/easylogin/listener/OnLoginCompleteListener.java b/library/src/main/java/com/maksim88/easylogin/listener/OnLoginCompleteListener.java new file mode 100644 index 0000000..8b8cfd8 --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/listener/OnLoginCompleteListener.java @@ -0,0 +1,14 @@ +package com.maksim88.easylogin.listener; + +import com.maksim88.easylogin.networks.SocialNetwork; + +/** + * Created by maksim on 14.02.16. + */ +public interface OnLoginCompleteListener extends NetworkListener { + /** + * Called when login complete. + * @param network id of social network where request was complete + */ + void onLoginSuccess(SocialNetwork.Network network); +} diff --git a/library/src/main/java/com/maksim88/easylogin/networks/FacebookNetwork.java b/library/src/main/java/com/maksim88/easylogin/networks/FacebookNetwork.java new file mode 100644 index 0000000..fd52c11 --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/networks/FacebookNetwork.java @@ -0,0 +1,111 @@ +package com.maksim88.easylogin.networks; + +import android.app.Activity; +import android.content.Intent; + +import com.facebook.AccessToken; +import com.facebook.CallbackManager; +import com.facebook.FacebookCallback; +import com.facebook.FacebookException; +import com.facebook.internal.Utility; +import com.facebook.login.LoginManager; +import com.facebook.login.LoginResult; +import com.facebook.login.widget.LoginButton; +import com.maksim88.easylogin.listener.OnLoginCompleteListener; + +import java.lang.ref.WeakReference; +import java.util.List; + +/** + * Created by maksim on 14.02.16. + */ +public class FacebookNetwork extends SocialNetwork { + + private WeakReference mActivity; + private CallbackManager mCallbackManager; + private List mPermissions; + + private com.maksim88.easylogin.AccessToken mAccessToken; + + private FacebookCallback LoginCallback = new FacebookCallback() { + + @Override + public void onSuccess(LoginResult loginResult) { + mAccessToken = new com.maksim88.easylogin.AccessToken(loginResult.getAccessToken().getToken(), null); + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + ((OnLoginCompleteListener) mLocalListeners.get(REQUEST_LOGIN)).onLoginSuccess(getNetwork()); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + + @Override + public void onCancel() { + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + mLocalListeners.get(REQUEST_LOGIN).onError(getNetwork(), REQUEST_LOGIN, null, null); + mLocalListeners.remove(REQUEST_LOGIN); + } + + } + + @Override + public void onError(FacebookException error) { + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + mLocalListeners.get(REQUEST_LOGIN).onError(getNetwork(), REQUEST_LOGIN, error.getMessage(), null); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + }; + + public FacebookNetwork(Activity activity, List permissions) { + mActivity = new WeakReference<>(activity); + mCallbackManager = CallbackManager.Factory.create(); + String applicationID = Utility.getMetadataApplicationId(mActivity.get()); + mPermissions = permissions; + + if (applicationID == null) { + throw new IllegalStateException("applicationID can't be null\n" + + "Please check https://developers.facebook.com/docs/android/getting-started/"); + } + } + + @Override + public boolean isConnected() { + return AccessToken.getCurrentAccessToken() != null; + } + + @Override + public void requestLogin(OnLoginCompleteListener onLoginCompleteListener) { + super.requestLogin(onLoginCompleteListener); + LoginManager.getInstance().logInWithReadPermissions(mActivity.get(), mPermissions); + LoginManager.getInstance().registerCallback(mCallbackManager, LoginCallback); + } + + public void requestLogin(LoginButton button, OnLoginCompleteListener onLoginCompleteListener) { + super.requestLogin(onLoginCompleteListener); + button.setReadPermissions(mPermissions); + button.registerCallback(mCallbackManager, LoginCallback); + } + + @Override + public void logout() { + LoginManager.getInstance().logOut(); + } + + @Override + public com.maksim88.easylogin.AccessToken getAccessToken() { + if(com.facebook.AccessToken.getCurrentAccessToken() != null) { + mAccessToken = new com.maksim88.easylogin.AccessToken(com.facebook.AccessToken.getCurrentAccessToken().getToken(), null); + } + return mAccessToken; + } + + @Override + public Network getNetwork() { + return Network.FACEBOOK; + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + mCallbackManager.onActivityResult(requestCode, resultCode, data); + } +} diff --git a/library/src/main/java/com/maksim88/easylogin/networks/GooglePlusNetwork.java b/library/src/main/java/com/maksim88/easylogin/networks/GooglePlusNetwork.java new file mode 100644 index 0000000..516db5f --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/networks/GooglePlusNetwork.java @@ -0,0 +1,129 @@ +package com.maksim88.easylogin.networks; + +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.v4.app.FragmentActivity; + +import com.google.android.gms.auth.api.Auth; +import com.google.android.gms.auth.api.signin.GoogleSignInAccount; +import com.google.android.gms.auth.api.signin.GoogleSignInOptions; +import com.google.android.gms.auth.api.signin.GoogleSignInResult; +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.api.GoogleApiClient; +import com.maksim88.easylogin.AccessToken; +import com.maksim88.easylogin.listener.OnLoginCompleteListener; + +import java.lang.ref.WeakReference; + +/** + * Created by maksim on 14.02.16. + */ +public class GooglePlusNetwork extends SocialNetwork implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { + + private GoogleApiClient mGoogleApiClient; + + private AccessToken mAccessToken; + + private static final int REQUEST_AUTH = 13; + + + private WeakReference mActivity; + + public GooglePlusNetwork(FragmentActivity activity) { + mActivity = new WeakReference<>(activity); + GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) + .requestEmail() + .build(); + + mGoogleApiClient = new GoogleApiClient.Builder(activity) + .enableAutoManage(mActivity.get(), this) + .addApi(Auth.GOOGLE_SIGN_IN_API, gso) + .build(); + } + + @Override + public boolean isConnected() { + return mGoogleApiClient.isConnected(); + } + + @Override + public void logout() { + if (isConnected()) { + Auth.GoogleSignInApi.signOut(mGoogleApiClient); + } + } + + @Override + public Network getNetwork() { + return Network.GOOGLE_PLUS; + } + + @Override + public AccessToken getAccessToken() { + return mAccessToken; + } + + /** + * Make login request - authorize in Google plus social network + * @param onLoginCompleteListener listener for login complete + */ + @Override + public void requestLogin(OnLoginCompleteListener onLoginCompleteListener) { + super.requestLogin(onLoginCompleteListener); + Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); + mActivity.get().startActivityForResult(signInIntent, REQUEST_AUTH); + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == REQUEST_AUTH) { + GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); + handleSignInResult(result); + } + } + + private void handleSignInResult(GoogleSignInResult result) { + if (result.isSuccess()) { + // Signed in successfully, show authenticated UI. + GoogleSignInAccount acct = result.getSignInAccount(); + if (acct != null) { + mAccessToken = new AccessToken(acct.getId(), null); + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + ((OnLoginCompleteListener) mLocalListeners.get(REQUEST_LOGIN)).onLoginSuccess(getNetwork()); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + } else { + // Signed out, show unauthenticated UI. + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + mLocalListeners.get(REQUEST_LOGIN).onError(getNetwork(), REQUEST_LOGIN, result.getStatus().getStatusMessage(), null); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + } + + @Override + public void onConnected(Bundle bundle) { + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + ((OnLoginCompleteListener) mLocalListeners.get(REQUEST_LOGIN)).onLoginSuccess(getNetwork()); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + + @Override + public void onConnectionSuspended(int i) { + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + mLocalListeners.get(REQUEST_LOGIN).onError(getNetwork(), REQUEST_LOGIN, null, null); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + + @Override + public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + mLocalListeners.get(REQUEST_LOGIN).onError(getNetwork(), REQUEST_LOGIN, connectionResult.getErrorMessage(), null); + mLocalListeners.remove(REQUEST_LOGIN); + } + } +} diff --git a/library/src/main/java/com/maksim88/easylogin/networks/SocialNetwork.java b/library/src/main/java/com/maksim88/easylogin/networks/SocialNetwork.java new file mode 100644 index 0000000..f2e0a3d --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/networks/SocialNetwork.java @@ -0,0 +1,75 @@ +package com.maksim88.easylogin.networks; + +import android.content.Intent; + +import com.maksim88.easylogin.AccessToken; +import com.maksim88.easylogin.listener.NetworkListener; +import com.maksim88.easylogin.listener.OnLoginCompleteListener; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by maksim on 14.02.16. + */ +public abstract class SocialNetwork { + + static final String REQUEST_LOGIN = "SocialNetwork.REQUEST_LOGIN"; + + public enum Network { + FACEBOOK, GOOGLE_PLUS, TWITTER + } + + Map mLocalListeners = new HashMap<>(); + + private Map mGlobalListeners = new HashMap<>(); + + + /** + * Check if selected social network connected: true or false + * @return true if connected, else false + */ + public abstract boolean isConnected(); + + /** + * Login to social network using global listener + */ + public void requestLogin() { + requestLogin(null); + } + + /** + * Login to social network using local listener + * @param onLoginCompleteListener listener for login complete + */ + public void requestLogin(OnLoginCompleteListener onLoginCompleteListener) { + if (isConnected()) { + throw new RuntimeException("Already connected, please check isConnected() method"); + } + registerListener(REQUEST_LOGIN, onLoginCompleteListener); + } + + /** + * Logout from social network + */ + public abstract void logout(); + + public abstract Network getNetwork(); + + public abstract AccessToken getAccessToken(); + + private void registerListener(String listenerID, NetworkListener networkListener) { + if (networkListener != null) { + mLocalListeners.put(listenerID, networkListener); + } else { + mLocalListeners.put(listenerID, mGlobalListeners.get(listenerID)); + } + } + + public void setOnLoginCompleteListener(OnLoginCompleteListener onLoginCompleteListener) { + mGlobalListeners.put(REQUEST_LOGIN, onLoginCompleteListener); + } + + public abstract void onActivityResult(int requestCode, int resultCode, Intent data); + +} diff --git a/library/src/main/java/com/maksim88/easylogin/networks/TwitterNetwork.java b/library/src/main/java/com/maksim88/easylogin/networks/TwitterNetwork.java new file mode 100644 index 0000000..fa3412b --- /dev/null +++ b/library/src/main/java/com/maksim88/easylogin/networks/TwitterNetwork.java @@ -0,0 +1,126 @@ +package com.maksim88.easylogin.networks; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.os.Build; +import android.webkit.CookieManager; +import android.webkit.CookieSyncManager; + +import com.maksim88.easylogin.listener.OnLoginCompleteListener; +import com.twitter.sdk.android.Twitter; +import com.twitter.sdk.android.core.Callback; +import com.twitter.sdk.android.core.Result; +import com.twitter.sdk.android.core.TwitterAuthConfig; +import com.twitter.sdk.android.core.TwitterAuthToken; +import com.twitter.sdk.android.core.TwitterCore; +import com.twitter.sdk.android.core.TwitterException; +import com.twitter.sdk.android.core.TwitterSession; +import com.twitter.sdk.android.core.identity.TwitterLoginButton; + +import io.fabric.sdk.android.Fabric; + +import static com.facebook.FacebookSdk.getApplicationContext; + +/** + * Created by maksim on 14.02.16. + */ +public class TwitterNetwork extends SocialNetwork { + + private com.maksim88.easylogin.AccessToken mAccessToken; + + private TwitterLoginButton mLoginButton; + + private Callback mButtonCallback = new Callback() { + + @Override + public void success(Result result) { + TwitterSession session = result.data; + TwitterAuthToken authToken = session.getAuthToken(); + String token = authToken.token; + String secret = authToken.secret; + mAccessToken = new com.maksim88.easylogin.AccessToken(token, secret); + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + ((OnLoginCompleteListener) mLocalListeners.get(REQUEST_LOGIN)).onLoginSuccess(getNetwork()); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + + @Override + public void failure(TwitterException e) { + if (mLocalListeners.containsKey(REQUEST_LOGIN)) { + mLocalListeners.get(REQUEST_LOGIN).onError(getNetwork(), REQUEST_LOGIN, e.getMessage(), null); + mLocalListeners.remove(REQUEST_LOGIN); + } + } + }; + + public TwitterNetwork(Activity activity, String consumerKey, String consumerSecret) { + TwitterAuthConfig authConfig = new TwitterAuthConfig(consumerKey, consumerSecret); + Fabric.with(activity, new Twitter(authConfig)); + } + + @Override + public boolean isConnected() { + return TwitterCore.getInstance().getSessionManager().getActiveSession() != null; + } + + @Override + public void requestLogin(OnLoginCompleteListener onLoginCompleteListener) { + throw new RuntimeException("Call requestLogin() with the TwitterLoginButton reference!"); + } + + public void requestLogin(TwitterLoginButton button, OnLoginCompleteListener onLoginCompleteListener) { + super.requestLogin(onLoginCompleteListener); + requestLogin(button); + } + + private void requestLogin(TwitterLoginButton button) { + mLoginButton = button; + mLoginButton.setCallback(mButtonCallback); + } + + + @Override + public void logout() { + TwitterSession twitterSession = TwitterCore.getInstance().getSessionManager().getActiveSession(); + if (twitterSession != null) { + clearCookies(getApplicationContext()); + Twitter.getSessionManager().clearActiveSession(); + Twitter.logOut(); + } + } + + @Override + public com.maksim88.easylogin.AccessToken getAccessToken() { + return mAccessToken; + } + + @Override + public Network getNetwork() { + return Network.TWITTER; + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (mLoginButton != null) { + mLoginButton.onActivityResult(requestCode, resultCode, data); + } + } + + @SuppressWarnings("deprecation") + private void clearCookies(Context context) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { + CookieManager.getInstance().removeAllCookies(null); + CookieManager.getInstance().flush(); + } else { + CookieSyncManager cookieSyncMngr = CookieSyncManager.createInstance(context); + cookieSyncMngr.startSync(); + CookieManager cookieManager=CookieManager.getInstance(); + cookieManager.removeAllCookie(); + cookieManager.removeSessionCookie(); + cookieSyncMngr.stopSync(); + cookieSyncMngr.sync(); + } + } +} diff --git a/library/src/main/res/drawable/ic_visibility_24dp.xml b/library/src/main/res/drawable/ic_visibility_24dp.xml new file mode 100644 index 0000000..197889d --- /dev/null +++ b/library/src/main/res/drawable/ic_visibility_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/library/src/main/res/drawable/ic_visibility_off_24dp.xml b/library/src/main/res/drawable/ic_visibility_off_24dp.xml new file mode 100644 index 0000000..ee74d3c --- /dev/null +++ b/library/src/main/res/drawable/ic_visibility_off_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/media/screenshot.png b/media/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d8d2fffcb53bd854d39cbe8a1277232915124109 GIT binary patch literal 146725 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 Vc#7 + variant.buildConfigField "String", "TWITTER_CONSUMER_KEY", "\""+getApiKey("TWITTER_CONSUMER_SECRET")+"\"" + variant.buildConfigField "String", "TWITTER_CONSUMER_SECRET", "\""+getApiKey("TWITTER_CONSUMER_SECRET")+"\"" + } + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +static def getApiKey(def keyName){ + def Properties props = new Properties() + props.load(new FileInputStream(new File('secrets.properties'))) + return props[keyName] +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + testCompile 'junit:junit:4.12' + compile 'com.android.support:appcompat-v7:25.2.0' + compile 'com.android.support:design:25.2.0' + compile project (":library") +} diff --git a/sample/proguard-rules.pro b/sample/proguard-rules.pro new file mode 100644 index 0000000..211d9e4 --- /dev/null +++ b/sample/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/maksim/Development/android-sdk-macosx/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml new file mode 100644 index 0000000..25b2e1b --- /dev/null +++ b/sample/src/main/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sample/src/main/java/com/maksim88/easylogin/sample/MainActivity.java b/sample/src/main/java/com/maksim88/easylogin/sample/MainActivity.java new file mode 100644 index 0000000..f08c113 --- /dev/null +++ b/sample/src/main/java/com/maksim88/easylogin/sample/MainActivity.java @@ -0,0 +1,147 @@ +package com.maksim88.easylogin.sample; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.View; +import android.widget.TextView; +import android.widget.Toast; + +import com.facebook.login.widget.LoginButton; +import com.google.android.gms.common.SignInButton; +import com.maksim88.easylogin.AccessToken; +import com.maksim88.easylogin.EasyLogin; +import com.maksim88.easylogin.listener.OnLoginCompleteListener; +import com.maksim88.easylogin.networks.FacebookNetwork; +import com.maksim88.easylogin.networks.GooglePlusNetwork; +import com.maksim88.easylogin.networks.SocialNetwork; +import com.maksim88.easylogin.networks.TwitterNetwork; +import com.twitter.sdk.android.core.identity.TwitterLoginButton; + +import java.util.ArrayList; +import java.util.Collections; + +public class MainActivity extends AppCompatActivity implements OnLoginCompleteListener { + + private EasyLogin mEasyLogin; + + ArrayList fbScope; + + private LoginButton loginButton; + + private SignInButton gPlusButton; + + private TwitterLoginButton twitterButton; + + FacebookNetwork facebook; + + TwitterNetwork twitter; + + GooglePlusNetwork gPlusNetwork; + + TextView statusTextView; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EasyLogin.initialize(); + mEasyLogin = EasyLogin.getInstance(); + + + // TWITTER + + // Initialization needs to happen before setContentView() if using the LoginButton! + String twitterKey = BuildConfig.TWITTER_CONSUMER_KEY; + String twitterSecret = BuildConfig.TWITTER_CONSUMER_SECRET; + mEasyLogin.addSocialNetwork(new TwitterNetwork(this, twitterKey, twitterSecret)); + + setContentView(R.layout.activity_main); + + twitter = (TwitterNetwork) mEasyLogin.getSocialNetwork(SocialNetwork.Network.TWITTER); + twitter.setOnLoginCompleteListener(this); + twitterButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button); + twitter.requestLogin(twitterButton, this); + + // TWITTER END + + // FACEBOOK + fbScope = new ArrayList<>(); + fbScope.addAll(Collections.singletonList("public_profile, email")); + mEasyLogin.addSocialNetwork(new FacebookNetwork(this, fbScope)); + + facebook = (FacebookNetwork) mEasyLogin.getSocialNetwork(SocialNetwork.Network.FACEBOOK); + facebook.setOnLoginCompleteListener(this); + loginButton = (LoginButton) findViewById(R.id.facebook_login_button); + // Call this method if you are using the LoginButton provided by facebook + // It can handle its own state + if (!facebook.isConnected()) { + facebook.requestLogin(loginButton, this); + } + // FACEBOOK END + + // G+ + + mEasyLogin.addSocialNetwork(new GooglePlusNetwork(this)); + gPlusNetwork = (GooglePlusNetwork) mEasyLogin.getSocialNetwork(SocialNetwork.Network.GOOGLE_PLUS); + gPlusNetwork.setOnLoginCompleteListener(this); + + gPlusButton = (SignInButton) findViewById(R.id.gplus_sign_in_button); + gPlusButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!gPlusNetwork.isConnected()) { + gPlusNetwork.requestLogin(MainActivity.this); + } + } + }); + + // G+ END + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + statusTextView = (TextView) findViewById(R.id.connected_status); + setSupportActionBar(toolbar); + updateStatuses(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + mEasyLogin.onActivityResult(requestCode, resultCode, data); + } + + @Override + public void onLoginSuccess(SocialNetwork.Network network) { + if (network == SocialNetwork.Network.GOOGLE_PLUS) { + AccessToken token = mEasyLogin.getSocialNetwork(SocialNetwork.Network.GOOGLE_PLUS).getAccessToken(); + Log.d("MAIN", "G+ Login successful: " + token.getToken()); + } else if (network == SocialNetwork.Network.FACEBOOK) { + AccessToken token = mEasyLogin.getSocialNetwork(SocialNetwork.Network.FACEBOOK).getAccessToken(); + Log.d("MAIN", "FACEBOOK Login successful: " + token.getToken()); + } else if (network == SocialNetwork.Network.TWITTER) { + AccessToken token = mEasyLogin.getSocialNetwork(SocialNetwork.Network.TWITTER).getAccessToken(); + Log.d("MAIN", "TWITTER Login successful: " + token.getToken()); + } + updateStatuses(); + } + + @Override + public void onError(SocialNetwork.Network socialNetwork, String requestID, String errorMessage, Object data) { + Log.e("MAIN", "ERROR!" + socialNetwork + "|||" + errorMessage); + Toast.makeText(getApplicationContext(), errorMessage, + Toast.LENGTH_SHORT).show(); + } + + private void updateStatuses() { + StringBuilder content = new StringBuilder(); + for (SocialNetwork socialNetwork : mEasyLogin.getInitializedSocialNetworks()) { + content.append(socialNetwork.getNetwork()) + .append(": ") + .append(socialNetwork.isConnected()) + .append("\n"); + } + statusTextView.setText(content.toString()); + } +} diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b1c40c1 --- /dev/null +++ b/sample/src/main/res/layout/activity_main.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/sample/src/main/res/layout/content_main.xml b/sample/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..de5e8f3 --- /dev/null +++ b/sample/src/main/res/layout/content_main.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + diff --git a/sample/src/main/res/mipmap-hdpi/ic_launcher.png b/sample/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 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 literal 0 HcmV?d00001 diff --git a/sample/src/main/res/mipmap-xhdpi/ic_launcher.png b/sample/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png b/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..324e72cdd7480cb983fa1bcc7ce686e51ef87fe7 GIT binary patch literal 7718 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 literal 0 HcmV?d00001 diff --git a/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..aee44e138434630332d88b1680f33c4b24c70ab3 GIT binary patch literal 10486 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 + + + diff --git a/sample/src/main/res/values/colors.xml b/sample/src/main/res/values/colors.xml new file mode 100644 index 0000000..3ab3e9c --- /dev/null +++ b/sample/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #3F51B5 + #303F9F + #FF4081 + diff --git a/sample/src/main/res/values/dimens.xml b/sample/src/main/res/values/dimens.xml new file mode 100644 index 0000000..812cb7b --- /dev/null +++ b/sample/src/main/res/values/dimens.xml @@ -0,0 +1,6 @@ + + + 16dp + 16dp + 16dp + diff --git a/sample/src/main/res/values/strings.xml b/sample/src/main/res/values/strings.xml new file mode 100644 index 0000000..fd28381 --- /dev/null +++ b/sample/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + EasyLogin Sample + MainActivity + TO BE CHANGED + TO BE CHANGED + diff --git a/sample/src/main/res/values/styles.xml b/sample/src/main/res/values/styles.xml new file mode 100644 index 0000000..545b9c6 --- /dev/null +++ b/sample/src/main/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + +