Closed olesya0 closed 10 years ago
You can add on SocialNetwork class as public static attributes: public abstract class SocialNetwork { ... public static final int ASNE_TWITTER_ID = 1; public static final int ASNE_LINKEDIN_ID = 2; public static final int ASNE_GOOGLE_PLUS_ID = 3; public static final int ASNE_FACEBOOK_ID = 4; ... }
Then you can access from app: SocialNetwork.ASNE_FACEBOOK_ID;
Ex: //Login listener private View.OnClickListener loginClick = new View.OnClickListener() { @Override public void onClick(View view) { int networkId = 0; switch (view.getId()){ case R.id.facebook: networkId = SocialNetwork.ASNE_FACEBOOK_ID; break; } ... }
.... if (socialNetwork.isConnected()) { switch (socialNetwork.getID()) { case SocialNetwork.ASNE_FACEBOOK_ID: facebook.setText("Show Facebook profile"); break; } } ....
@dsdebastiani you right but I'm thinking about adding constants to different social networks and using them like FacebookSocialNetwork.ID - as I think it's simple and no need to change ASNECore to add new socail network
what do you think about it?
by the way I'm almost finish adding another social network and plan to add this at new commit...
Ok, I got it! Really it's better. I not knew that each SocialNetwork class had an ID. So, I not need to create the satic attributes in my app with the IDs, I can use directly the ID from especific class. Is it right?
@dsdebastiani yes right
Trully, I'm already thinking about it.
Every social network is a separate module and it is a main problem in creating common enum, maybe you got any ideas?