From d0b45ec5ec6089c8a1c770b2fd5a629dff0f5ceb Mon Sep 17 00:00:00 2001 From: Gorbin Date: Mon, 22 Sep 2014 04:32:28 +0400 Subject: [PATCH 1/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a36df5c..abcb5d8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ASNETutorial [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-ASNETutorial-brightgreen.svg?style=flat)](https://android-arsenal.com/details/3/921) ============ - +![](https://raw.githubusercontent.com/gorbin/ASNE/master/resources/recomended.png) Simple example project for https://github.com/gorbin/ASNE library Today social network integration to your android application is common practice - it makes user easily login to your app and share their actions. There are a lot of ways to do it - usually developers add native social network SDK or use API for every network. It provides login via installed social network application or native dialogs. You have to spend time and nerves to learn and use different social network SDKs. From b9c187bf51f17643a65d1362b4b356faf9572229 Mon Sep 17 00:00:00 2001 From: gorbin Date: Wed, 22 Oct 2014 15:10:26 +0600 Subject: [PATCH 2/9] add googlePlus --- app/app.iml | 8 ++++-- app/build.gradle | 3 +- app/src/main/AndroidManifest.xml | 4 ++- .../asnetutorial/FriendsListAdapter.java | 14 ++++++++-- .../gorbin/asnetutorial/MainFragment.java | 28 +++++++++++++------ .../gorbin/asnetutorial/ProfileFragment.java | 20 ++++++++++--- app/src/main/res/layout/main_fragment.xml | 9 ++++++ app/src/main/res/values/colors.xml | 1 + 8 files changed, 66 insertions(+), 21 deletions(-) diff --git a/app/app.iml b/app/app.iml index e2170ab..4a9fb89 100644 --- a/app/app.iml +++ b/app/app.iml @@ -81,15 +81,17 @@ - + - - + + + + diff --git a/app/build.gradle b/app/build.gradle index 5943160..96252d5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 19 - buildToolsVersion "20.0.0" + buildToolsVersion '20.0.0' defaultConfig { applicationId "com.github.gorbin.asnetutorial" @@ -25,4 +25,5 @@ dependencies { compile 'com.github.asne:asne-facebook:0.2.1' compile 'com.github.asne:asne-linkedin:0.2.1' compile 'com.github.asne:asne-twitter:0.2.1' + compile 'com.github.asne:asne-googleplus:0.2.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6e5ca8c..ef4fdee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,7 +18,9 @@ - + diff --git a/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java b/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java index a02ec42..2bb5eac 100644 --- a/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java +++ b/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java @@ -9,6 +9,10 @@ import android.widget.TextView; import com.github.gorbin.asne.core.persons.SocialPerson; +import com.github.gorbin.asne.facebook.FacebookSocialNetwork; +import com.github.gorbin.asne.googleplus.GooglePlusSocialNetwork; +import com.github.gorbin.asne.linkedin.LinkedInSocialNetwork; +import com.github.gorbin.asne.twitter.TwitterSocialNetwork; import com.squareup.picasso.Picasso; import java.util.ArrayList; @@ -73,18 +77,22 @@ public View getView(int position, View convertView, ViewGroup parent) { private void colorRow(int networkId){ int color = context.getResources().getColor(R.color.dark); switch (networkId) { - case 1: + case TwitterSocialNetwork.ID: color = context.getResources().getColor(R.color.twitter); image = R.drawable.twitter_user; break; - case 2: + case LinkedInSocialNetwork.ID: color = context.getResources().getColor(R.color.linkedin); image = R.drawable.linkedin_user; break; - case 4: + case FacebookSocialNetwork.ID: color = context.getResources().getColor(R.color.facebook); image = R.drawable.com_facebook_profile_picture_blank_square; break; + case GooglePlusSocialNetwork.ID: + color = context.getResources().getColor(R.color.googleplus); + image = R.drawable.g_plus_user; + break; } holder.label.setTextColor(color); } diff --git a/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java b/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java index c6447d8..822eb38 100644 --- a/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java +++ b/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java @@ -12,6 +12,7 @@ import com.github.gorbin.asne.core.SocialNetworkManager; import com.github.gorbin.asne.core.listener.OnLoginCompleteListener; import com.github.gorbin.asne.facebook.FacebookSocialNetwork; +import com.github.gorbin.asne.googleplus.GooglePlusSocialNetwork; import com.github.gorbin.asne.linkedin.LinkedInSocialNetwork; import com.github.gorbin.asne.twitter.TwitterSocialNetwork; @@ -31,9 +32,6 @@ public class MainFragment extends Fragment implements SocialNetworkManager.OnIni * 6 - Odnoklassniki * 7 - Instagram */ - public static final int TWITTER = 1; - public static final int LINKEDIN = 2; - public static final int FACEBOOK = 4; private Button facebook; private Button twitter; private Button linkedin; @@ -53,6 +51,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, twitter.setOnClickListener(loginClick); linkedin = (Button) rootView.findViewById(R.id.linkedin); linkedin.setOnClickListener(loginClick); + linkedin = (Button) rootView.findViewById(R.id.googleplus); + linkedin.setOnClickListener(loginClick); //Get Keys for initiate SocialNetworks String TWITTER_CONSUMER_KEY = getActivity().getString(R.string.twitter_consumer_key); @@ -84,6 +84,10 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, LinkedInSocialNetwork liNetwork = new LinkedInSocialNetwork(this, LINKEDIN_CONSUMER_KEY, LINKEDIN_CONSUMER_SECRET, linkedInScope); mSocialNetworkManager.addSocialNetwork(liNetwork); + //Init and add to manager LinkedInSocialNetwork + GooglePlusSocialNetwork gpNetwork = new GooglePlusSocialNetwork(this); + mSocialNetworkManager.addSocialNetwork(gpNetwork); + //Initiate every network from mSocialNetworkManager getFragmentManager().beginTransaction().add(mSocialNetworkManager, MainActivity.SOCIAL_NETWORK_TAG).commit(); mSocialNetworkManager.setOnInitializationCompleteListener(this); @@ -103,15 +107,18 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, private void initSocialNetwork(SocialNetwork socialNetwork){ if(socialNetwork.isConnected()){ switch (socialNetwork.getID()){ - case FACEBOOK: + case FacebookSocialNetwork.ID: facebook.setText("Show Facebook profile"); break; - case TWITTER: + case TwitterSocialNetwork.ID: twitter.setText("Show Twitter profile"); break; - case LINKEDIN: + case LinkedInSocialNetwork.ID: linkedin.setText("Show LinkedIn profile"); break; + case GooglePlusSocialNetwork.ID: + linkedin.setText("Show GooglePlus profile"); + break; } } } @@ -132,13 +139,16 @@ public void onClick(View view) { int networkId = 0; switch (view.getId()){ case R.id.facebook: - networkId = FACEBOOK; + networkId = FacebookSocialNetwork.ID; break; case R.id.twitter: - networkId = TWITTER; + networkId = TwitterSocialNetwork.ID; break; case R.id.linkedin: - networkId = LINKEDIN; + networkId = LinkedInSocialNetwork.ID; + break; + case R.id.googleplus: + networkId = GooglePlusSocialNetwork.ID; break; } SocialNetwork socialNetwork = mSocialNetworkManager.getSocialNetwork(networkId); diff --git a/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java b/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java index cb666da..db53691 100644 --- a/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java +++ b/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java @@ -20,6 +20,10 @@ import com.github.gorbin.asne.core.listener.OnPostingCompleteListener; import com.github.gorbin.asne.core.listener.OnRequestSocialPersonCompleteListener; import com.github.gorbin.asne.core.persons.SocialPerson; +import com.github.gorbin.asne.facebook.FacebookSocialNetwork; +import com.github.gorbin.asne.googleplus.GooglePlusSocialNetwork; +import com.github.gorbin.asne.linkedin.LinkedInSocialNetwork; +import com.github.gorbin.asne.twitter.TwitterSocialNetwork; import com.squareup.picasso.Picasso; public class ProfileFragment extends Fragment implements OnRequestSocialPersonCompleteListener { @@ -132,7 +136,11 @@ public void onClick(View view) { public void onClick(DialogInterface dialog, int id) { Bundle postParams = new Bundle(); postParams.putString(SocialNetwork.BUNDLE_LINK, link); - socialNetwork.requestPostLink(postParams, message, postingComplete); + if(networkId == GooglePlusSocialNetwork.ID) { + socialNetwork.requestPostDialog(postParams, postingComplete); + } else { + socialNetwork.requestPostLink(postParams, message, postingComplete); + } } }); ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @@ -166,15 +174,19 @@ private void colorProfile(int networkId){ int color = getResources().getColor(R.color.dark); int image = R.drawable.user; switch (networkId) { - case 1: + case TwitterSocialNetwork.ID: color = getResources().getColor(R.color.twitter); image = R.drawable.twitter_user; break; - case 2: + case LinkedInSocialNetwork.ID: color = getResources().getColor(R.color.linkedin); image = R.drawable.linkedin_user; break; - case 4: + case GooglePlusSocialNetwork.ID: + color = getResources().getColor(R.color.googleplus); + image = R.drawable.g_plus_user; + break; + case FacebookSocialNetwork.ID: color = getResources().getColor(R.color.facebook); image = R.drawable.com_facebook_profile_picture_blank_square; break; diff --git a/app/src/main/res/layout/main_fragment.xml b/app/src/main/res/layout/main_fragment.xml index f60ed07..e0d37e0 100644 --- a/app/src/main/res/layout/main_fragment.xml +++ b/app/src/main/res/layout/main_fragment.xml @@ -32,4 +32,13 @@ android:background="#287bbc" android:layout_margin="8dp" android:textColor="#ffffffff"/> +