From 28f35a9a52ec73d0255ee1b304ab1a4cc8bd5b04 Mon Sep 17 00:00:00 2001 From: Gorbin Date: Mon, 8 Sep 2014 16:38:25 +0700 Subject: [PATCH 01/12] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e77f646..3387fbb 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,8 @@ In this tutorial you can learn how easily integrate Facebook, Twitter in android ##Registering app - getting keys for your application In order to implement Social networks in your application you need keys to make API calls. So register a new social network application and get the keys. Check small tutorial how to get it: - - [Facebook](https://github.com/gorbin/ASNE/wiki/Create-Facebook-App) - - [Twitter](https://github.com/gorbin/ASNE/wiki/Create-Twitter-App) - - [LInkedIn](https://github.com/gorbin/ASNE/wiki/Create-LinkedIn-App) + - [VK](https://github.com/gorbin/ASNE/wiki/Create-VK-App) + - [Odnoklassniki](https://github.com/gorbin/ASNE/wiki/Create-Odnoklassniki-App) To continue you need - Facebook App ID From 4abe64d4a614ceef7734dcb3a083f4b16456a20e Mon Sep 17 00:00:00 2001 From: Gorbin Date: Mon, 8 Sep 2014 16:39:45 +0700 Subject: [PATCH 02/12] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3387fbb..9982d1e 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ In this tutorial you can learn how easily integrate Facebook, Twitter in android ##Registering app - getting keys for your application In order to implement Social networks in your application you need keys to make API calls. So register a new social network application and get the keys. Check small tutorial how to get it: - - [VK](https://github.com/gorbin/ASNE/wiki/Create-VK-App) + - [VK](https://github.com/gorbin/ASNE/wiki/Create-Vkontakte-App) - [Odnoklassniki](https://github.com/gorbin/ASNE/wiki/Create-Odnoklassniki-App) To continue you need From e913a878e0fce89e2c07c77ce0c18bf4039a0b7b Mon Sep 17 00:00:00 2001 From: gorbin Date: Tue, 9 Sep 2014 19:31:41 +0700 Subject: [PATCH 03/12] update to ok and vk --- app/app.iml | 9 +- app/build.gradle | 7 +- app/src/main/AndroidManifest.xml | 18 +++- .../asnetutorial/FriendsListAdapter.java | 16 ++- .../gorbin/asnetutorial/MainFragment.java | 92 ++++++++---------- .../gorbin/asnetutorial/ProfileFragment.java | 16 ++- app/src/main/res/drawable/linkedin_user.png | Bin 859 -> 0 bytes app/src/main/res/drawable/ok_user.png | Bin 0 -> 2259 bytes app/src/main/res/drawable/twitter_user.png | Bin 3588 -> 0 bytes app/src/main/res/drawable/vk_user.png | Bin 0 -> 3757 bytes app/src/main/res/layout/main_fragment.xml | 21 ++-- app/src/main/res/values/colors.xml | 5 +- app/src/main/res/values/strings.xml | 10 +- 13 files changed, 89 insertions(+), 105 deletions(-) delete mode 100644 app/src/main/res/drawable/linkedin_user.png create mode 100644 app/src/main/res/drawable/ok_user.png delete mode 100644 app/src/main/res/drawable/twitter_user.png create mode 100644 app/src/main/res/drawable/vk_user.png diff --git a/app/app.iml b/app/app.iml index e2170ab..96b3ebc 100644 --- a/app/app.iml +++ b/app/app.iml @@ -80,13 +80,10 @@ - - - - - - + + + diff --git a/app/build.gradle b/app/build.gradle index 5943160..65b3d4d 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" @@ -22,7 +22,6 @@ android { dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:20.0.0' - 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-vk:0.2.1' + compile 'com.github.asne:asne-odnoklassniki:0.2.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6e5ca8c..fd3a992 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,9 +19,21 @@ - + + + + + + + + + + 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..4df416a 100644 --- a/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java +++ b/app/src/main/java/com/github/gorbin/asnetutorial/FriendsListAdapter.java @@ -73,17 +73,13 @@ 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: - color = context.getResources().getColor(R.color.twitter); - image = R.drawable.twitter_user; + case MainFragment.VK: + color = context.getResources().getColor(R.color.vk); + image = R.drawable.vk_user; break; - case 2: - color = context.getResources().getColor(R.color.linkedin); - image = R.drawable.linkedin_user; - break; - case 4: - color = context.getResources().getColor(R.color.facebook); - image = R.drawable.com_facebook_profile_picture_blank_square; + case MainFragment.OK: + color = context.getResources().getColor(R.color.ok); + image = R.drawable.ok_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..21522f2 100644 --- a/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java +++ b/app/src/main/java/com/github/gorbin/asnetutorial/MainFragment.java @@ -11,12 +11,12 @@ import com.github.gorbin.asne.core.SocialNetwork; 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.linkedin.LinkedInSocialNetwork; -import com.github.gorbin.asne.twitter.TwitterSocialNetwork; +import com.github.gorbin.asne.odnoklassniki.OkSocialNetwork; +import com.github.gorbin.asne.vk.VkSocialNetwork; +import com.vk.sdk.VKScope; + +import ru.ok.android.sdk.util.OkScope; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class MainFragment extends Fragment implements SocialNetworkManager.OnInitializationCompleteListener, OnLoginCompleteListener { @@ -31,12 +31,10 @@ 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; + public static final int VK = 5; + public static final int OK = 6; + private Button vk; + private Button ok; public MainFragment() { } @@ -47,23 +45,28 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, View rootView = inflater.inflate(R.layout.main_fragment, container, false); ((MainActivity)getActivity()).getSupportActionBar().setTitle(R.string.app_name); // init buttons and set Listener - facebook = (Button) rootView.findViewById(R.id.facebook); - facebook.setOnClickListener(loginClick); - twitter = (Button) rootView.findViewById(R.id.twitter); - twitter.setOnClickListener(loginClick); - linkedin = (Button) rootView.findViewById(R.id.linkedin); - linkedin.setOnClickListener(loginClick); + vk = (Button) rootView.findViewById(R.id.vk); + vk.setOnClickListener(loginClick); + ok = (Button) rootView.findViewById(R.id.ok); + ok.setOnClickListener(loginClick); //Get Keys for initiate SocialNetworks - String TWITTER_CONSUMER_KEY = getActivity().getString(R.string.twitter_consumer_key); - String TWITTER_CONSUMER_SECRET = getActivity().getString(R.string.twitter_consumer_secret); - String LINKEDIN_CONSUMER_KEY = getActivity().getString(R.string.linkedin_consumer_key); - String LINKEDIN_CONSUMER_SECRET = getActivity().getString(R.string.linkedin_consumer_secret); + String VK_KEY = getActivity().getString(R.string.vk_app_id); + String OK_APP_ID = getActivity().getString(R.string.ok_app_id); + String OK_PUBLIC_KEY = getActivity().getString(R.string.ok_public_key); + String OK_SECRET_KEY = getActivity().getString(R.string.ok_secret_key); //Chose permissions - ArrayList fbScope = new ArrayList(); - fbScope.addAll(Arrays.asList("public_profile, email, user_friends")); - String linkedInScope = "r_basicprofile+rw_nus+r_network+w_messages"; + String[] okScope = new String[] { + OkScope.VALUABLE_ACCESS + }; + String[] vkScope = new String[] { + VKScope.FRIENDS, + VKScope.WALL, + VKScope.PHOTOS, + VKScope.NOHTTPS, + VKScope.STATUS, + }; //Use manager to manage SocialNetworks mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(MainActivity.SOCIAL_NETWORK_TAG); @@ -72,17 +75,13 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, if (mSocialNetworkManager == null) { mSocialNetworkManager = new SocialNetworkManager(); - //Init and add to manager FacebookSocialNetwork - FacebookSocialNetwork fbNetwork = new FacebookSocialNetwork(this, fbScope); - mSocialNetworkManager.addSocialNetwork(fbNetwork); - - //Init and add to manager TwitterSocialNetwork - TwitterSocialNetwork twNetwork = new TwitterSocialNetwork(this, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET); - mSocialNetworkManager.addSocialNetwork(twNetwork); + //Init and add to manager VkSocialNetwork + VkSocialNetwork vkNetwork = new VkSocialNetwork(this, VK_KEY, vkScope); + mSocialNetworkManager.addSocialNetwork(vkNetwork); - //Init and add to manager LinkedInSocialNetwork - LinkedInSocialNetwork liNetwork = new LinkedInSocialNetwork(this, LINKEDIN_CONSUMER_KEY, LINKEDIN_CONSUMER_SECRET, linkedInScope); - mSocialNetworkManager.addSocialNetwork(liNetwork); + //Init and add to manager OkSocialNetwork + OkSocialNetwork okNetwork = new OkSocialNetwork(this, OK_APP_ID, OK_PUBLIC_KEY, OK_SECRET_KEY, okScope); + mSocialNetworkManager.addSocialNetwork(okNetwork); //Initiate every network from mSocialNetworkManager getFragmentManager().beginTransaction().add(mSocialNetworkManager, MainActivity.SOCIAL_NETWORK_TAG).commit(); @@ -103,14 +102,11 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, private void initSocialNetwork(SocialNetwork socialNetwork){ if(socialNetwork.isConnected()){ switch (socialNetwork.getID()){ - case FACEBOOK: - facebook.setText("Show Facebook profile"); + case VK: + vk.setText("Show VK profile"); break; - case TWITTER: - twitter.setText("Show Twitter profile"); - break; - case LINKEDIN: - linkedin.setText("Show LinkedIn profile"); + case OK: + ok.setText("Show Odnoklassniki profile"); break; } } @@ -131,14 +127,11 @@ public void onSocialNetworkManagerInitialized() { public void onClick(View view) { int networkId = 0; switch (view.getId()){ - case R.id.facebook: - networkId = FACEBOOK; - break; - case R.id.twitter: - networkId = TWITTER; + case R.id.vk: + networkId = VK; break; - case R.id.linkedin: - networkId = LINKEDIN; + case R.id.ok: + networkId = OK; break; } SocialNetwork socialNetwork = mSocialNetworkManager.getSocialNetwork(networkId); @@ -158,7 +151,7 @@ public void onClick(View view) { @Override public void onLoginSuccess(int networkId) { MainActivity.hideProgress(); - startProfile(networkId); +// startProfile(networkId); } @Override @@ -173,5 +166,6 @@ private void startProfile(int networkId){ .addToBackStack("profile") .replace(R.id.container, profile) .commit(); +// .commitAllowingStateLoss(); } } 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..d596919 100644 --- a/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java +++ b/app/src/main/java/com/github/gorbin/asnetutorial/ProfileFragment.java @@ -166,17 +166,13 @@ private void colorProfile(int networkId){ int color = getResources().getColor(R.color.dark); int image = R.drawable.user; switch (networkId) { - case 1: - color = getResources().getColor(R.color.twitter); - image = R.drawable.twitter_user; + case MainFragment.VK: + color = getResources().getColor(R.color.vk); + image = R.drawable.vk_user; break; - case 2: - color = getResources().getColor(R.color.linkedin); - image = R.drawable.linkedin_user; - break; - case 4: - color = getResources().getColor(R.color.facebook); - image = R.drawable.com_facebook_profile_picture_blank_square; + case MainFragment.OK: + color = getResources().getColor(R.color.ok); + image = R.drawable.ok_user; break; } frame.setBackgroundColor(color); diff --git a/app/src/main/res/drawable/linkedin_user.png b/app/src/main/res/drawable/linkedin_user.png deleted file mode 100644 index 79e82b7bc67332a0161c12904cc20adfe4054886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k8A#4*i(3PvBm#UwTpvApbnDiwD_5?(d-v|; z%a@-%efsj{%b7E0matu7Wnf_X=jq}YQgQ3;oxr|33IZ(;7fE;hzHiYrsiXa7=rNvv z-2DIMKUmftym#~kzosImr-zf!qzNr5D%hBJq>>!g_Nqj$ZMZ8G^q}Ts;5$~$srSRa zM-+q@>U>lz*f&wx?8t%b%|}}sraJ|2Na= z=SpTrVeqsG@_dZut;imF^3q(9GtlwVQ)jSOH57iD?ehN) z%#m$sn0;8$z}(ZH*0o4XPpv%qm35KLnk{>5_i|l| zwR_3DXny%+N4L7So(|X{*;dJehs^$^^j{>1>B1vrkv6beQ^G(-B!R zyTF0X<%jF?ON$+=CR(z&n0>gX>~!F?qRNp9OJRpH8=Y-(!c1{Ij*6|~+K!6LBqlOm zSMebk|q0+08jK@=m@{o{&B^QO#;lnwXZYKaVxB1$ za25GDJ`;D|uQOvF&&4fgoG)mse;C}+=-5=tui|H?DnQ`+M+O{cvsa6_8qm+q#QPcJ$K}l_D{pC@$7e1Hn0&zkU%=uE*#Z$;C}ayooUe#^qGhgF%o8s!i6#7HiC}p} zAdv_pE5a42SSnqXu1Z#AD>5Z(QrX(-np`HAugMj1g_3o}x-z~fKlwerU*LbaK+44{ zAPVeaC-tk2@NV7fg)&um*Gx>gx-B7fqE4UDHSfl3qxS;66y?V2v7$bG zSYYWo3Gy+n{8aLthe@=C!TT?f6YfuSbc{5d?B;1-*M+1dvpI4|cdF66xy?fQ+~iQ0 z`Rtb0xm}u*yVsq+SmmrG+Zfx$9nzH2!psazYh_qFSN)gg4K$eP&eqogc?LgyJo5q# zqMNqsrxZZ$W}Ej5Huu1tAP+@l-k38O-RWUmF6>?3hLGLh*f5{J_nCp>o_OC6ZNg0F0Z&7Z90T{V0?vkWBnzed$gDw3!0KGJMC9ytGqt5l*D#QxNk!oo z`YhVL-k+Q}SLc`&udSz=PM6ruIDZaYi@0IE1v*w~4_UfmQ*dO_WTdD*Htb{hqoI<% zl(Rq9{L*cdGMkTKY+!^BpP)7*;om>SwO+nN><6XkX%pZeF5`CmQ`pQxd6rx!N&L?? z9F#n;KDhtx0S%QY?c74N#Y)UacFQ`ksjdj7akS!sHN|3UiCdG}iTB=t9cu8+lNO6* zg*LM5;5~{4v5pYKuyUER4eLqVIwDWr3`ZBT%r-IlFbC2^hrnf%5ESBw#a~jaw9XM? zTgxV_;8#a(bdVpLMWA_>=@$atWrdg4SCQyFBH$j6VomCQwBMFFL+I@AN&BFk*8$4-DIxY;@pgVcUsamYw`Ji<9TsvAzwtFeexN!_@HNgd!uj z=J0V6stxstUsH50Z+n}hA-6($i546TE~ORI6;F$DnB|RnZVs<{E;{GAm#t^CwUX1j zN?hjRYV%hO~Lgcwns3&6leGpZCO3#9##zP literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/twitter_user.png b/app/src/main/res/drawable/twitter_user.png deleted file mode 100644 index 63fb7340fe9840bc231e3a05d253880aa06072e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3588 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 KMNUMnLSTaG4x&T= diff --git a/app/src/main/res/drawable/vk_user.png b/app/src/main/res/drawable/vk_user.png new file mode 100644 index 0000000000000000000000000000000000000000..79c113fa200f458ddb4715fd9517fc9a6faf6671 GIT binary patch literal 3757 zcmbW4XEYlO)W;QRHAao1M$Ou@Mr~S^)*h)4Y7@0$)hI=bhSnan_b9Q0Ci>W`H9}D} zLs3*h?J6-}&w0MSU*7k_z4!d@x#!$-?)`A@@13#XQ(7Q9kc^CsR!3V4d=&@&H7fEe z&!?<3coo?EKv2JDUe11j_P#K(M^0W2FdiMa{R+3l)mi|W`jBi7m8t(SP=dxK3&O4vl`a9ax=#@ztlv zz;1zgx?rJaYweFqzx3*vVFp70VUg@*;bj4(Qz(cHE>Ni2VqNb;Pp|iNkyJzU21eKT z7N6}e^?6?$My@~tE;KvX0Cs-8b^Q~{m}zrVft8#43uQX|WB?4g^I zhm;Y!IAMWuo9jZx#{B%j+3OTaERXJ?$_QCI$z(%r^J7H1N^jHYc+ukZCV*Pe3?HCl zw`5wp=>rv>EUeCWAZFvIPSj_oCVNERA#B=bKB26S_Nqrz7}*N(trm?5DU;qinw0K8c&Rp@^CRsZp#p3z=>XpvF%biZkLT5kTKi_l!w9nVXCT2*Rs&@n%-5Wt_Sjt#GB<@lR)IzA;W+X`a4nl;l2 z3+45{7XjzfU;>3?ij^%vzt&OJh!cA;XFlQfd#Z`4Tz4@Ce9Xq*7>aC_FC@;;@8t*J zojcgp!Nm_duBDMuyIPJ0um}sRTAt(&+F;l4n~aMNA{)`miglTkoi^vH#G8EyWvTZ+ znQV($#pxoM@FSM&*V%cD&yN>hDn)zCMyCO?M`K^box5O7O;2JlqA;vUb(<6Rt@@17 zic-VYI78H0%l3JuD|thXH9oOPH zlV1UUp=w<2&CJeC%;8=z%b(%P{;W&s4!UUkf>O_@al6&~5e@3;+zy>|5!Ko!?uoVu z4sEQsBzgdrB=t8Zdb7~=u~N|N1*(EbpUt!NgU+MJ0^inj^i}Jr8~t-Qr|%jfPo*XX zDsWjd>MyKTr(VY0Ej%a z%78uoK~eQn)jWj~{RhtBI;Us$aqYi%dzMQ;)Ydqwi zh^}PEJH7L8Gc0^PXjUb9FnI0K_a9Cu_de|kj+3&s?Dobx5$M&man?(QnMMjRY95o0 z3XSf!v5!e>x3Vq>+AgP(o9RC*R_NdnIFPHCUbT(|n(OLDIRZ1x@e|VGT0?1>`Ee$u z6~(}s`LLZJT`c+}r8zp^n}I=jx^g&4aUa6uY3ndS3r=PT-F4 z`|7YrGZp^Z65Fc^1*x=x!T( z>0ovV54`JlQH=$wH|9Rv+ZDY>#{_qW6^=|!B|KE zBRcZC&wRyRh-eMRq%Kmd`!UT$v}b`n&L*z$p1Y2g=zY5&8JYvqHLlAuQuK_{(^dIA z@xIk~@q43f-1MLIzAkvJ^ir8o28TH*z`*iq`xJWg;y}PuY@}C;DcU1NETxvncoSjrVG@;3YPa;TqnIWz&vA9E?@uNBUGyBMsC{Y938{L{wNW0KN zAn_VbT7PKDy(lQ@>8Df_(ELt=^esN^e3wV! zkgEMGk42X&gxPDwSkh=SVE9K70wQy6{J5%Lii=OXJp`Xsdi!_GqYk=RGA%p_H0E;Q z%x^*;d}&&XD79J$r3Jhi$;=I_FsV0-bUS+jrms;Pk{bo+LG{vRzg0Yw)!%e&OLl^L zGd!G>r%JBdQ^5?z%e4Lenz5AkJ&I!z~+ZBlyJkGjz zzo)WgdA%(DA9Qgelyl7v_P4jd%ejo3bq~PTG2G53Lcy61LcawDhj=Zv(HpW3Z;xiG zoXM8Xe)G4c6syd+ncFK+9>N7iyl0oc*sWCO&|#Rk9{`eoE-iBR$7D3#-oF-=KDsX1 zGSd6YOO9EF$n<#j$iy^M**1TrG3nbONGMaqk2XSdqLD#dnepcd#%Dlu6hLT{Y?ZiJ zviLg||0n+Kw_7X(oYUUVv%9Zq+%TLpkan|H3$SIh)=W=3W#@=?A2KHk@Z*t=EaZdoQEw5i7T2zP2yr}6a*?WX%d4?7LlAGDwFI#47-A||47ZQ s_&-v+QvZ?K6}SDLOVY{Djl!>yjWIjGmqa+MuK1Ho2V|&Kr)d}YKj+XR2mk;8 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/main_fragment.xml b/app/src/main/res/layout/main_fragment.xml index f60ed07..64ca7ec 100644 --- a/app/src/main/res/layout/main_fragment.xml +++ b/app/src/main/res/layout/main_fragment.xml @@ -8,28 +8,19 @@