/** * Overrided for Twitter support * * @param requestCode The integer request code originally supplied to startActivityForResult(), * allowing you to identify who this result came from. * @param resultCode The integer result code returned by the child activity through its * setResult(). * @param data An Intent, which can return result data to the caller (various data can be attached * to Intent "extras"). */ @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { int sanitizedRequestCode = requestCode & 0xFFFF; if (sanitizedRequestCode != REQUEST_AUTH) return; super.onActivityResult(requestCode, resultCode, data); Uri uri = data != null ? data.getData() : null; if (uri != null && uri.toString().startsWith(mRedirectURL)) { String verifier = uri.getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); RequestLogin2AsyncTask requestLogin2AsyncTask = new RequestLogin2AsyncTask(); mRequests.put(REQUEST_LOGIN2, requestLogin2AsyncTask); Bundle args = new Bundle(); args.putString(RequestLogin2AsyncTask.PARAM_VERIFIER, verifier); requestLogin2AsyncTask.execute(args); } else { if (mLocalListeners.get(REQUEST_LOGIN) != null) { mLocalListeners .get(REQUEST_LOGIN) .onError(getID(), REQUEST_LOGIN, "incorrect URI returned: " + uri, null); mLocalListeners.remove(REQUEST_LOGIN); } /* * * No authentication challenges found * Relevant discussions can be found on the Internet at: * http://www.google.co.jp/search?q=8e063946 or * http://www.google.co.jp/search?q=ef59cf9f * * */ initTwitterClient(); } }
/** * Request ArrayList of {@link com.github.gorbin.asne.core.persons.SocialPerson} by array of * userIds * * @param userID array of user ids in social network * @param onRequestSocialPersonsCompleteListener listener for request ArrayList of {@link * com.github.gorbin.asne.core.persons.SocialPerson} */ @Override public void requestSocialPersons( String[] userID, OnRequestSocialPersonsCompleteListener onRequestSocialPersonsCompleteListener) { super.requestSocialPersons(userID, onRequestSocialPersonsCompleteListener); ArrayList<String> users = new ArrayList<String>(Arrays.asList(userID)); int i = 0; long[] usersId = new long[users.size()]; for (String user : users) { if (TextUtils.isEmpty(user)) { users.remove(user); break; } try { usersId[i] = Long.parseLong(user); } catch (NumberFormatException e) { throw new SocialNetworkException("userID should be long number"); } i++; } Bundle args = new Bundle(); args.putLongArray(RequestSocialPersonsAsyncTask.PARAM_USER_ID, usersId); executeRequest(new RequestSocialPersonsAsyncTask(), args, REQUEST_GET_PERSON); }
/** * Post link with message * * @param bundle bundle containing information that should be shared(Bundle constants in {@link * com.github.gorbin.asne.core.SocialNetwork}) * @param message message that should be shared with bundle * @param onPostingCompleteListener listener for posting request */ @Override public void requestPostLink( Bundle bundle, String message, OnPostingCompleteListener onPostingCompleteListener) { super.requestPostLink(bundle, message, onPostingCompleteListener); Bundle args = bundle; args.putString(RequestUpdateStatusAsyncTask.PARAM_MESSAGE, message); executeRequest(new RequestUpdateStatusAsyncTask(), args, REQUEST_POST_LINK); }
/** * Post photo with message to social network * * @param photo photo that should be shared * @param message message that should be shared with photo * @param onPostingCompleteListener listener for posting request */ @Override public void requestPostPhoto( File photo, String message, OnPostingCompleteListener onPostingCompleteListener) { super.requestPostPhoto(photo, message, onPostingCompleteListener); Bundle args = new Bundle(); args.putString(RequestUpdateStatusAsyncTask.PARAM_MESSAGE, message); args.putString(RequestUpdateStatusAsyncTask.PARAM_PHOTO_PATH, photo.getAbsolutePath()); executeRequest(new RequestUpdateStatusAsyncTask(), args, REQUEST_POST_PHOTO); }
/** * Post message to social network * * @param message message that should be shared * @param onPostingCompleteListener listener for posting request */ @Override public void requestPostMessage( String message, OnPostingCompleteListener onPostingCompleteListener) { super.requestPostMessage(message, onPostingCompleteListener); Bundle args = new Bundle(); args.putString(RequestUpdateStatusAsyncTask.PARAM_MESSAGE, message); executeRequest(new RequestUpdateStatusAsyncTask(), args, REQUEST_POST_MESSAGE); }
/** * Request {@link com.github.gorbin.asne.core.AccessToken} of Twitter social network that you can * get from onRequestAccessTokenCompleteListener * * @param onRequestAccessTokenCompleteListener listener for {@link * com.github.gorbin.asne.core.AccessToken} request */ @Override public void requestAccessToken( OnRequestAccessTokenCompleteListener onRequestAccessTokenCompleteListener) { super.requestAccessToken(onRequestAccessTokenCompleteListener); ((OnRequestAccessTokenCompleteListener) mLocalListeners.get(REQUEST_ACCESS_TOKEN)) .onRequestAccessTokenComplete( getID(), new AccessToken( mSharedPreferences.getString(SAVE_STATE_KEY_OAUTH_TOKEN, null), mSharedPreferences.getString(SAVE_STATE_KEY_OAUTH_SECRET, null))); }
/** * Remove follows by id from current user * * @param userID user id that should be removed from friends * @param onRequestRemoveFriendCompleteListener listener to remove friend request response */ @Override public void requestRemoveFriend( String userID, OnRequestRemoveFriendCompleteListener onRequestRemoveFriendCompleteListener) { super.requestRemoveFriend(userID, onRequestRemoveFriendCompleteListener); Bundle args = new Bundle(); try { args.putLong(RequestRemoveFriendAsyncTask.PARAM_USER_ID, Long.parseLong(userID)); } catch (NumberFormatException e) { throw new SocialNetworkException("userID should be long number"); } executeRequest(new RequestRemoveFriendAsyncTask(), args, REQUEST_REMOVE_FRIEND); }
/** * Request user {@link com.github.gorbin.asne.twitter.TwitterPerson} by userId - detailed user * data * * @param userId id of Twitter user * @param onRequestDetailedSocialPersonCompleteListener listener for request detailed social * person */ @Override public void requestDetailedSocialPerson( String userId, OnRequestDetailedSocialPersonCompleteListener onRequestDetailedSocialPersonCompleteListener) { super.requestDetailedSocialPerson(userId, onRequestDetailedSocialPersonCompleteListener); Bundle args = new Bundle(); if (userId != null) { try { args.putLong(RequestGetDetailedPersonAsyncTask.PARAM_USER_ID, Long.parseLong(userId)); } catch (NumberFormatException e) { throw new SocialNetworkException("userID should be long number"); } } executeRequest(new RequestGetDetailedPersonAsyncTask(), args, REQUEST_GET_DETAIL_PERSON); }
/** * Request {@link com.github.gorbin.asne.core.persons.SocialPerson} by user id * * @param userID id of Twitter user * @param onRequestSocialPersonCompleteListener listener for {@link * com.github.gorbin.asne.core.persons.SocialPerson} request */ @Override public void requestSocialPerson( String userID, OnRequestSocialPersonCompleteListener onRequestSocialPersonCompleteListener) { super.requestSocialPerson(userID, onRequestSocialPersonCompleteListener); if (TextUtils.isEmpty(userID)) { throw new SocialNetworkException("userID can't be null or empty"); } Bundle args = new Bundle(); try { args.putLong(RequestGetSocialPersonAsyncTask.PARAM_USER_ID, Long.parseLong(userID)); } catch (NumberFormatException e) { throw new SocialNetworkException("userID should be long number"); } executeRequest(new RequestGetSocialPersonAsyncTask(), args, REQUEST_GET_PERSON); }
/** Cancel login request */ @Override public void cancelLoginRequest() { super.cancelLoginRequest(); initTwitterClient(); }
/** * Get current user friends list * * @param onRequestGetFriendsCompleteListener listener for getting list of current user friends */ @Override public void requestGetFriends( OnRequestGetFriendsCompleteListener onRequestGetFriendsCompleteListener) { super.requestGetFriends(onRequestGetFriendsCompleteListener); executeRequest(new RequestGetFriendsAsyncTask(), null, REQUEST_GET_FRIENDS); }
/** * Request current user {@link com.github.gorbin.asne.core.persons.SocialPerson} * * @param onRequestSocialPersonCompleteListener listener for request {@link * com.github.gorbin.asne.core.persons.SocialPerson} */ @Override public void requestCurrentPerson( OnRequestSocialPersonCompleteListener onRequestSocialPersonCompleteListener) { super.requestCurrentPerson(onRequestSocialPersonCompleteListener); executeRequest(new RequestGetSocialPersonAsyncTask(), null, REQUEST_GET_CURRENT_PERSON); }
/** * Make login request - authorize in Twitter social network * * @param onLoginCompleteListener listener to trigger when Login complete */ @Override public void requestLogin(OnLoginCompleteListener onLoginCompleteListener) { super.requestLogin(onLoginCompleteListener); executeRequest(new RequestLoginAsyncTask(), null, REQUEST_LOGIN); }