private static void getTwitterProfileInfo(AccessToken accessToken2) { try { String token = accessToken2.getToken(); Log.i(TAG, "token is " + token); mUserInfo.setExtra(token); long userId = accessToken2.getUserId(); mUserInfo.setTwitterId(String.valueOf(userId)); userObj = twitter.showUser(userId); mUserInfo.setProfilePic(userObj.getBiggerProfileImageURLHttps()); long cursor = -1; IDs freinds = twitter.getFriendsIDs(userObj.getId(), cursor); Log.d(TAG, "IDS:" + freinds.getIDs()); if (freinds.getIDs() != null) { StringBuilder builder = new StringBuilder(); builder.append(""); do { for (long i : freinds.getIDs()) { builder.append(i + ","); } } while (freinds.hasNext()); String freindIds = builder.toString(); Log.d("MSG:", "FND id:" + freindIds); if (freindIds.equals("")) { mUserInfo.setFriendsIds(freindIds); } else { freindIds = freindIds.substring(0, freindIds.length() - 1); mUserInfo.setFriendsIds(freindIds); } } if (userObj.getName() != null) { String name[] = userObj.getName().split(" "); /* * mUserInfo.setFirstName(name[0]); if (name[1] != null) { * mUserInfo.setLastName(name[1]); * * } */ if (name.length >= 2) { mUserInfo.setFirstName(name[0]); mUserInfo.setLastName(name[1]); } else if (name.length >= 1) { mUserInfo.setFirstName(name[0]); } } mUserInfo.setExpiresIn(String.valueOf(System.currentTimeMillis() + 600000)); } catch (TwitterException e) { Log.e(TAG, "Twitter login error"); } twitterHandler.isExit(String.valueOf(accessToken2.getUserId())); }
@Override public String input() throws Exception { if (!isEmpty(denied)) { // todo: inform user that authorization has been denied return SUCCESS; } TwitterFactory tf = new TwitterFactory(TwitterConfigFactory.getConfig()); Twitter twitter = tf.getInstance(); RequestToken requestToken = (RequestToken) session.get("requestToken"); AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, oauthVerifier); try (GroupTwitterCredentialsDao groupTwitterCredentialsDao = new DbiFactory().getDbi().open(GroupTwitterCredentialsDao.class)) { groupTwitterCredentialsDao.createGroupTwitterCredentials( groupId, accessToken.getScreenName(), accessToken.getUserId(), accessToken.getToken(), accessToken.getTokenSecret()); } // todo: inform user that authorization was successful return SUCCESS; }
@SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* initializing twitter parameters from string.xml */ initTwitterConfigs(); /* Enabling strict mode */ StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); /* Setting activity layout file */ setContentView(R.layout.activity_main); loginLayout = (RelativeLayout) findViewById(R.id.login_layout); /* register button click listeners */ findViewById(R.id.btn_login).setOnClickListener(this); /* Check if required twitter keys are set */ if (TextUtils.isEmpty(consumerKey) || TextUtils.isEmpty(consumerSecret)) { Toast.makeText(this, "Twitter key and secret not configured", Toast.LENGTH_SHORT).show(); return; } /* Initialize application preferences */ mSharedPreferences = getSharedPreferences(PREF_NAME, 0); boolean isLoggedIn = mSharedPreferences.getBoolean(PREF_KEY_TWITTER_LOGIN, false); /* if already logged in, then hide login layout and show share layout */ if (isLoggedIn) { Intent intent = new Intent(MainActivity.this, MenuActivity.class); startActivity(intent); } else { loginLayout.setVisibility(View.VISIBLE); Uri uri = getIntent().getData(); if (uri != null && uri.toString().startsWith(callbackUrl)) { String verifier = uri.getQueryParameter(oAuthVerifier); try { /* Getting oAuth authentication token */ AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier); /* Getting user id form access token */ long userID = accessToken.getUserId(); final User user = twitter.showUser(userID); final String username = user.getName(); /* save updated token */ saveTwitterInfo(accessToken); // loginLayout.setVisibility(View.GONE); } catch (Exception e) { Log.e("Failed login Twitter!!", e.getMessage()); } } } }
private static void storeAccessToken(long useId, AccessToken accessToken) { try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("token.txt"), Charset.forName("UTF-8"))) { writer.append(accessToken.getToken()); writer.append("\n"); writer.append(accessToken.getTokenSecret()); writer.append("\n"); writer.append(accessToken.getUserId() + ""); } catch (IOException e) { e.printStackTrace(); } }
@Override protected Bundle doInBackground(Bundle... params) { String verifier = params[0].getString(PARAM_VERIFIER); Bundle result = new Bundle(); try { twitter4j.auth.AccessToken accessToken = mTwitter.getOAuthAccessToken(mRequestToken, verifier); result.putString(RESULT_TOKEN, accessToken.getToken()); result.putString(RESULT_SECRET, accessToken.getTokenSecret()); result.putLong(RESULT_USER_ID, accessToken.getUserId()); } catch (Exception e) { result.putString(RESULT_ERROR, e.getMessage() == null ? "canceled" : e.getMessage()); } return result; }
/** * Grava a autorização para o programa acessar a conta do twitter gerando um token, tokenSecret. */ @RequestMapping(value = "/{id}/autorizacaoTwitter") public String autorizacaoTwitter( @PathVariable("id") Integer id, @Valid Pin pin, ModelMap modelMap) { AutorizacaoTwitterRequest autorizacaoTwitterRequest = autorizacaoTwitterRequestService.find(AutorizacaoTwitterRequest.class, id); Usuario usuarioAutorizado = usuarioService.getUsuarioByLogin( SecurityContextHolder.getContext().getAuthentication().getName()); Twitter twitter = autorizacaoTwitterRequest.getTwitter(); RequestToken requestToken = autorizacaoTwitterRequest.getRequestToken(); AccessToken accessToken = null; try { if (pin.getPin().length() > 0) { System.out.println(pin.getPin()); accessToken = twitter.getOAuthAccessToken(requestToken, pin.getPin()); } else { accessToken = twitter.getOAuthAccessToken(); } } catch (TwitterException te) { if (401 == te.getStatusCode()) { System.out.println("Não foi possível obter o token de acesso." + te.getMessage()); } else { te.printStackTrace(); } } AutorizacaoTwitter autorizacaoTwitter = new AutorizacaoTwitter(); autorizacaoTwitter.setId((int) accessToken.getUserId()); autorizacaoTwitter.setToken(accessToken.getToken()); autorizacaoTwitter.setTokenSecret(accessToken.getTokenSecret()); autorizacaoTwitter.setUsuario(usuarioAutorizado); autorizacaoTwitterService.save(autorizacaoTwitter); usuarioAutorizado.setAutorizacaoTwitter(autorizacaoTwitter); usuarioService.update(usuarioAutorizado); autorizacaoTwitterRequestService.delete(autorizacaoTwitterRequest); modelMap.addAttribute("usuario", usuarioAutorizado); return "redirect:/usuario/listar"; }
@Override protected User doInBackground(String... params) { String verifier = params[0]; // Get the access token AccessToken accessToken = null; User user = null; try { accessToken = twitter.getOAuthAccessToken(requestToken, verifier); // Shared Preferences SharedPreferences.Editor e = mSharedPreferences.edit(); // After getting access token, access token secret // store them in application preferences e.putString(PREF_KEY_ACCESS_TOKEN, accessToken.getToken()); e.putString(PREF_KEY_ACCESS_SECRET, accessToken.getTokenSecret()); // Store login status - true e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); Log.d(TAG, "Twitter OAuth Token: " + accessToken.getToken()); // Getting user details from twitter // For now i am getting his name only long userID = accessToken.getUserId(); user = twitter.showUser(userID); e.putString(PREF_KEY_USER_NAME, user.getName()); e.putString(PREF_KEY_USER_PROFILE, user.getProfileBackgroundImageURL()); e.commit(); // save changes } catch (TwitterException e) { Log.e(TAG, "Twitter Login Error: " + e.getMessage()); e.printStackTrace(); } return user; }
/** * Saving user information, after user is authenticated for the first time. You don't need to show * user to login, until user has a valid access toen */ private void saveTwitterInfo(AccessToken accessToken) { long userID = accessToken.getUserId(); User user; try { user = twitter.showUser(userID); String username = user.getName(); /* Storing oAuth tokens to shared preferences */ Editor e = mSharedPreferences.edit(); e.putString(PREF_KEY_OAUTH_TOKEN, accessToken.getToken()); e.putString(PREF_KEY_OAUTH_SECRET, accessToken.getTokenSecret()); e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); e.putString(PREF_USER_NAME, username); e.commit(); } catch (TwitterException e1) { e1.printStackTrace(); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); cd = new ConnectionDetector(getApplicationContext()); if (!cd.isConnectingToInternet()) { // Internet Connection is not present alert.showAlertDialog( MainActivity.this, "Internet Connection Error", "Please connect to working Internet connection and re launch application", false); // stop executing code by return // finish(); } else { // setContentView(R.layout.login); applFirstRunPref = getApplicationContext().getSharedPreferences("applFirstRunPref", 0); boolean firstTime = applFirstRunPref.getBoolean("firstTime", true); if (firstTime) { SharedPreferences.Editor editor = applFirstRunPref.edit(); editor.putBoolean("firstTime", false); editor.commit(); populateTableTeam(); System.out.println("================================ first time load appl"); } mPrefs = getPreferences(MODE_PRIVATE); // Session class instance session = new SessionManager(getApplicationContext()); // initialise facebook facebook = new Facebook(APP_ID); mAsyncRunner = new AsyncFacebookRunner(facebook); boolean isLoggedIn = session.isLoggedIn(); // if isloggged in go to list page directly if (isLoggedIn) { Intent i = new Intent(getApplicationContext(), MainContainerActivity.class); // Closing all the Activities i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Add new Flag to start new Activity i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // Staring Login Activity getApplicationContext().startActivity(i); finish(); } else { // if not already logged in delete facebook token if in session Editor editorFbk = mPrefs.edit(); editorFbk.remove("access_token"); editorFbk.remove("access_expires"); editorFbk.commit(); // -------------- FACEBOOK ---------------- btnLoginFbk = (Button) findViewById(R.id.btnFbk); btnLoginFbk.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { try { if (connectionUtility.hasWifi(getBaseContext())) { loginToFacebook(); } else { connectionUtility.showToast(MainActivity.this); connectionUtility.setUtilityListener( new ConnectionUtilityListener() { @Override public void onInternetEnabled(boolean result) { loginToFacebook(); } @Override public void exitApplication(boolean result) { onDestroy(); finish(); } }); } } finally { } } }); // ------------- TWITTER ------------------- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); cd = new ConnectionDetector(getApplicationContext()); // Check if Internet present if (!cd.isConnectingToInternet()) { // Internet Connection is not present alert.showAlertDialog( MainActivity.this, "Internet Connection Error", "Please connect to working Internet connection", false); // stop executing code by return return; } // Check if twitter keys are set if (TWITTER_CONSUMER_KEY.trim().length() == 0 || TWITTER_CONSUMER_SECRET.trim().length() == 0) { // Internet Connection is not present alert.showAlertDialog( MainActivity.this, "Twitter oAuth tokens", "Please set your twitter oauth tokens first!", false); // stop executing code by return return; } // All UI elements btnLoginTwitter = (Button) findViewById(R.id.btnLoginTwitter); // Shared Preferences mSharedPreferences = getApplicationContext().getSharedPreferences("MyPref", 0); btnLoginTwitter.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { try { if (connectionUtility.hasWifi(getBaseContext())) { // Call login twitter function loginToTwitter(); } else { connectionUtility.showToast(MainActivity.this); connectionUtility.setUtilityListener( new ConnectionUtilityListener() { @Override public void onInternetEnabled(boolean result) { // Call login twitter function loginToTwitter(); } @Override public void exitApplication(boolean result) { onDestroy(); finish(); } }); } } finally { } } }); if (!isTwitterLoggedInAlready()) { Uri uri = getIntent().getData(); if (uri != null && uri.toString().startsWith(TWITTER_CALLBACK_URL)) { // oAuth verifier String verifier = uri.getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); try { // Get the access token AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier); // Getting user details from twitter long userID = accessToken.getUserId(); userDto = new UserDTO(String.valueOf(userID), "", "", "", "", 0, ""); completeRegistration(userDto, accessToken); } catch (Exception e) { // Check log for login errors Log.e("Twitter Login Error", "> " + e.getMessage()); } } } if (isTwitterLoggedInAlready()) { Intent gameList = new Intent(getApplicationContext(), MainContainerActivity.class); // Close all views before launching matchList gameList.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(gameList); } // -------------------- NORMAL ------------------------------- txtUserName = (EditText) findViewById(R.id.txt_username); txtPassword = (EditText) findViewById(R.id.txt_pwd); btnLogin = (Button) findViewById(R.id.btnLogin); btnLinkToRegister = (TextView) findViewById(R.id.btnRegister); btnLinkToRegister.setMovementMethod(LinkMovementMethod.getInstance()); rememberMe = (CheckBox) findViewById(R.id.chkRemeber); btnLostPwd = (TextView) findViewById(R.id.btnLostPwd); btnLostPwd.setMovementMethod(LinkMovementMethod.getInstance()); // Login button Click Event (normal) btnLogin.setOnClickListener( new View.OnClickListener() { public void onClick(View view) { if ((txtUserName.length() == 0 || txtUserName.equals("") || txtUserName == null) || (txtPassword.length() == 0 || txtPassword.equals("") || txtPassword == null)) { Toast toast = Toast.makeText( MainActivity.this, "Please fill in all the fields", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } else { final String userName = txtUserName.getText().toString(); final String password = txtPassword.getText().toString(); final UserDTO user = new UserDTO(userName, "", "", "", password, 0, ""); try { if (connectionUtility.hasWifi(getBaseContext())) { progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setMessage("Loading ..."); login(user); } else { connectionUtility.showToast(MainActivity.this); connectionUtility.setUtilityListener( new ConnectionUtilityListener() { @Override public void onInternetEnabled(boolean result) { progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setMessage("Loading ..."); login(user); } @Override public void exitApplication(boolean result) { onDestroy(); finish(); } }); } } finally { } } } }); // Link to Register Screen btnLinkToRegister.setOnClickListener( new View.OnClickListener() { public void onClick(View view) { Intent i = new Intent(getApplicationContext(), RegisterActivity.class); startActivity(i); finish(); } }); // Link to Register Screen btnLostPwd.setOnClickListener( new View.OnClickListener() { public void onClick(View view) { // Create custom dialog object dialog = new Dialog(MainActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setCanceledOnTouchOutside(false); // Include dialog.xml file dialog.setContentView(R.layout.lost_password); Button cancle_btn = (Button) dialog.findViewById(R.id.btbPwdCancel); cancle_btn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Perform button logic dialog.dismiss(); } }); Button send_pwd_btn = (Button) dialog.findViewById(R.id.btnPwdSave); final EditText editTextLostPwd = (EditText) dialog.findViewById(R.id.editTextLostPwd); send_pwd_btn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { String email = editTextLostPwd.getText().toString(); if ((email.length() == 0 || email.equals("") || email == null)) { Toast toast = Toast.makeText( MainActivity.this, "Enter your email address", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } else { sendEmailLostPwd(email); } } }); dialog.show(); } }); } } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); writeToSDCard(); btnLoginTwitter = (Button) findViewById(R.id.btnLoginTwitter); btnLogoutTwitter = (Button) findViewById(R.id.btnLogoutTwitter); lblUserName = (TextView) findViewById(R.id.lblUserName); btnGetTweets = (Button) findViewById(R.id.getTweets); btnShowOnMap = (Button) findViewById(R.id.showOnMap); btnUsers = (Button) findViewById(R.id.btnUser); btnFollowers = (Button) findViewById(R.id.btnFollower); mSharedPreferences = getApplicationContext().getSharedPreferences("MyPref", 0); btnLoginTwitter.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { if (isTwitterLoggedInAlready()) { logoutFromTwitter(); } // Call login twitter function loginToTwitter(); finish(); } }); btnLogoutTwitter.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { // Call logout twitter function logoutFromTwitter(); } }); btnGetTweets.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { // Call logout twitter function getTweetsFromTwitter(); // finish(); } }); btnShowOnMap.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { // Call logout twitter function Intent intent = new Intent(MainActivity.this, MapActivity.class); intent.putExtra("userID", USER_ID); startActivity(intent); finish(); } }); btnUsers.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, Following.class); startActivity(intent); finish(); } }); btnFollowers.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, Followers.class); startActivity(intent); finish(); } }); /** * This if conditions is tested once is redirected from twitter page. Parse the uri to get oAuth * Verifier */ if (!isTwitterLoggedInAlready()) { Uri uri = getIntent().getData(); if (uri != null && uri.toString().startsWith(TWITTER_CALLBACK_URL)) { // oAuth verifier String verifier = uri.getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); try { // Get the access token AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier); // Shared Preferences Editor e = mSharedPreferences.edit(); // After getting access token, access token secret // store them in application preferences e.putString(PREF_KEY_OAUTH_TOKEN, accessToken.getToken()); e.putString(PREF_KEY_OAUTH_SECRET, accessToken.getTokenSecret()); // Store login status - true e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); e.commit(); // save changes if (TWITTER_CONSUMER_KEY.trim().length() == 0 || TWITTER_CONSUMER_SECRET.trim().length() == 0) { // Internet Connection is not present Log.e("Twitter oAuth tokens", "Please set your twitter oauth tokens first!"); // stop executing code by return return; } Log.e("Twitter OAuth Token", "> " + accessToken.getToken()); btnLogoutTwitter.setVisibility(View.VISIBLE); btnLoginTwitter.setVisibility(View.GONE); btnGetTweets.setVisibility(View.VISIBLE); btnUsers.setVisibility(View.VISIBLE); btnShowOnMap.setVisibility(View.VISIBLE); btnFollowers.setVisibility(View.VISIBLE); // Show Update Twitter // lblUpdate.setVisibility(View.VISIBLE); // Getting user details from twitter // For now i am getting his name only USER_ID = accessToken.getUserId(); User user = twitter.showUser(USER_ID); String username = user.getName(); // Displaying in xml ui lblUserName.setText(Html.fromHtml("<b>Welcome " + username + "</b>")); } catch (Exception e) { // Check log for login errors e.printStackTrace(); Log.e("Twitter Login Error", "> " + e.getMessage()); } } } }
@GET public Response authResponse( @QueryParam("state") String state, @QueryParam("denied") String denied, @QueryParam("oauth_verifier") String verifier) { try { Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(getConfig().getClientId(), getConfig().getClientSecret()); ClientSessionModel clientSession = parseClientSessionCode(state).getClientSession(); String twitterToken = clientSession.getNote("twitter_token"); String twitterSecret = clientSession.getNote("twitter_tokenSecret"); RequestToken requestToken = new RequestToken(twitterToken, twitterSecret); AccessToken oAuthAccessToken = twitter.getOAuthAccessToken(requestToken, verifier); twitter4j.User twitterUser = twitter.verifyCredentials(); BrokeredIdentityContext identity = new BrokeredIdentityContext(Long.toString(twitterUser.getId())); identity.setIdp(TwitterIdentityProvider.this); identity.setUsername(twitterUser.getScreenName()); identity.setName(twitterUser.getName()); StringBuilder tokenBuilder = new StringBuilder(); tokenBuilder.append("{"); tokenBuilder .append("\"oauth_token\":") .append("\"") .append(oAuthAccessToken.getToken()) .append("\"") .append(","); tokenBuilder .append("\"oauth_token_secret\":") .append("\"") .append(oAuthAccessToken.getTokenSecret()) .append("\"") .append(","); tokenBuilder .append("\"screen_name\":") .append("\"") .append(oAuthAccessToken.getScreenName()) .append("\"") .append(","); tokenBuilder .append("\"user_id\":") .append("\"") .append(oAuthAccessToken.getUserId()) .append("\""); tokenBuilder.append("}"); identity.setToken(tokenBuilder.toString()); identity.setCode(state); identity.setIdpConfig(getConfig()); return callback.authenticated(identity); } catch (Exception e) { logger.error("Could get user profile from twitter.", e); } EventBuilder event = new EventBuilder(realm, session, clientConnection); event.event(EventType.LOGIN); event.error("twitter_login_failed"); return ErrorPage.error(session, Messages.UNEXPECTED_ERROR_HANDLING_RESPONSE); }
@SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.twitter); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { getActionBar().hide(); } cd = new ConnectionDetector(getApplicationContext()); // Check if Internet present if (!cd.isConnectingToInternet()) { // Internet Connection is not present alert.showAlertDialog( twitter.this, "Internet Connection Error", "Please connect to working Internet connection", false); // stop executing code by return return; } // Check if twitter keys are set if (TWITTER_CONSUMER_KEY.trim().length() == 0 || TWITTER_CONSUMER_SECRET.trim().length() == 0) { // Internet Connection is not present alert.showAlertDialog( twitter.this, "Twitter oAuth tokens", "Please set your twitter oauth tokens first!", false); // stop executing code by return return; } // All UI elements btnLoginTwitter = (Button) findViewById(R.id.btnLoginTwitter); btnUpdateStatus = (Button) findViewById(R.id.btnUpdateStatus); btnLogoutTwitter = (Button) findViewById(R.id.btnLogoutTwitter); txtUpdate = (EditText) findViewById(R.id.txtUpdateStatus); lblUpdate = (TextView) findViewById(R.id.lblUpdate); lblUserName = (TextView) findViewById(R.id.lblUserName); // Shared Preferences mSharedPreferences = getApplicationContext().getSharedPreferences("MyPref", 0); /** Twitter login button click event will call loginToTwitter() function */ btnLoginTwitter.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { // Call login twitter function } }); /** Button click event to Update Status, will call updateTwitterStatus() function */ btnUpdateStatus.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Call update status function // Get the status from EditText loginToTwitter(); } }); /** Button click event for logout from twitter */ btnLogoutTwitter.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { // Call logout twitter function logoutFromTwitter(); } }); /** * This if conditions is tested once is redirected from twitter page. Parse the uri to get oAuth * Verifier */ if (!isTwitterLoggedInAlready()) { Uri uri = getIntent().getData(); if (uri != null && uri.toString().startsWith(TWITTER_CALLBACK_URL)) { // oAuth verifier String verifier = uri.getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); try { // Get the access token AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier); // Shared Preferences Editor e = mSharedPreferences.edit(); // After getting access token, access token secret // store them in application preferences e.putString(PREF_KEY_OAUTH_TOKEN, accessToken.getToken()); e.putString(PREF_KEY_OAUTH_SECRET, accessToken.getTokenSecret()); // Store login status - true e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); e.commit(); // save changes Log.e("Twitter OAuth Token", "> " + accessToken.getToken()); // Hide login button btnLoginTwitter.setVisibility(View.GONE); // Show Update Twitter lblUpdate.setVisibility(View.VISIBLE); txtUpdate.setVisibility(View.VISIBLE); btnUpdateStatus.setVisibility(View.VISIBLE); btnLogoutTwitter.setVisibility(View.VISIBLE); // Getting user details from twitter // For now i am getting his name only long userID = accessToken.getUserId(); User user = twitter.showUser(userID); String username = user.getName(); // Displaying in xml ui lblUserName.setText(Html.fromHtml("<b>Welcome " + username + "</b>")); } catch (Exception e) { // Check log for login errors Log.e("Twitter Login Error", "> " + e.getMessage()); } } } }