Example usage for twitter4j TwitterFactory TwitterFactory

List of usage examples for twitter4j TwitterFactory TwitterFactory

Introduction

In this page you can find the example usage for twitter4j TwitterFactory TwitterFactory.

Prototype

public TwitterFactory(String configTreePath) 

Source Link

Document

Creates a TwitterFactory with a specified config tree

Usage

From source file:com.isdp.twitterposterandroid.TwitterManager.java

License:Open Source License

public void tweet(String message) {
    TwitterFactory tf = new TwitterFactory(configuration);
    Twitter twitter = tf.getInstance();/*from  w w w.  java 2 s.co  m*/
    try {
        Status status = twitter.updateStatus(message);
        Log.d("Tweet status", "Successfully updated the status to [" + status.getText() + "].");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:com.javielinux.twitter.ConnectionManager.java

License:Apache License

public Twitter loadUser(long id) {

    Twitter twitter = null;/*from   www.  java2s .  c o m*/

    Entity ent = getUserById(id);

    if (ent != null) {

        // comprobamos si no es facebook
        /*
        if (ent.getString("service")!=null) {
           if (ent.getString("service").equals("facebook")) {
          ent = DataFramework.getInstance().getTopEntity("users", "service is null or service = \"twitter.com\"", "");
          ent.setValue("active", 1);
        ent.save();
           }
        }
        */
        String service = ent.getString("service");
        if (service.equals(""))
            service = "twitter.com";

        //setNetworkConfig(service);
        String accessToken = ent.getString(KEY_AUTH_KEY);
        String accessTokenSecret = ent.getString(KEY_AUTH_SECRET_KEY);

        //            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
        //            configurationBuilder.setOAuthConsumerKey(accessToken);
        //            configurationBuilder.setOAuthConsumerSecret(accessTokenSecret);
        //            configurationBuilder.setUseSSL(true);
        //            Configuration configuration = configurationBuilder.build();
        //            twitter = new TwitterFactory(configuration).getInstance();

        AccessToken at = new AccessToken(accessToken, accessTokenSecret);
        twitter = new TwitterFactory(getConfiguration()).getInstance(at);

        Log.d(Utils.TAG, "Cargado " + ent.getString("name") + " desde twitter");

    }

    return twitter;
}

From source file:com.jetbrains.twitter.MessageSender.java

public static void main(final String[] args) {
    final Configuration config = new ConfigurationBuilder().setOAuthConsumerKey(CONSUMER_KEY)
            .setOAuthConsumerSecret(CONSUMER_SECRET).setOAuthAccessToken(TOKEN)
            .setOAuthAccessTokenSecret(TOKEN_SECRET).build();
    final Twitter twitter = new TwitterFactory(config).getInstance();

    for (String arg : args) {
        sendDirectMessage(twitter, "alexander_812",
                "Thanks for loving IntelliJ IDEA! Your FREE Personal license is waiting at http://www.jetbrains.com/idea/ffk11/?"
                        + arg);/*from ww w.  j  av  a2 s  . com*/
    }
}

From source file:com.k42b3.xoxa.TwitterBot.java

License:Open Source License

public TwitterBot(String host, int port, String nick, String pass, String channel, boolean ssl, int minInterval,
        int maxInterval, String consumerKey, String consumerSecret, String accessToken,
        String accessTokenSecret) {
    super(host, port, nick, pass, channel, ssl, minInterval, maxInterval);

    try {//from   www  .j a  va 2  s.  c o m
        ConfigurationBuilder cb = new ConfigurationBuilder();

        cb.setDebugEnabled(true).setOAuthConsumerKey(consumerKey).setOAuthConsumerSecret(consumerSecret)
                .setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(accessTokenSecret);

        TwitterFactory tf = new TwitterFactory(cb.build());

        this.twitter = tf.getInstance();

        User user = this.twitter.verifyCredentials();

        logger.info("Connected to twitter account " + user.getName());
    } catch (Exception e) {
        logger.warning(e.getMessage());
    }
}

From source file:com.klinker.android.twitter.activities.setup.LoginActivity.java

License:Apache License

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    sharedPrefs = getSharedPreferences("com.klinker.android.twitter_world_preferences", 0);
    context = this;
    settings = AppSettings.getInstance(context);

    //context.sendBroadcast(new Intent("com.klinker.android.twitter.STOP_PUSH"));

    Utils.setUpTheme(context, settings);
    setContentView(R.layout.login_activity);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    ConfigurationBuilder builder = new ConfigurationBuilder();
    builder.setOAuthConsumerKey(settings.TWITTER_CONSUMER_KEY);
    builder.setOAuthConsumerSecret(settings.TWITTER_CONSUMER_SECRET);
    Configuration configuration = builder.build();

    TwitterFactory factory = new TwitterFactory(configuration);
    twitter = factory.getInstance();//from ww  w .jav  a2  s .com

    btnLoginTwitter = (Button) findViewById(R.id.btnLoginTwitter);
    noThanks = (Button) findViewById(R.id.dont_follow);
    title = (TextSwitcher) findViewById(R.id.welcome);
    summary = (TextSwitcher) findViewById(R.id.info);
    progDescription = (TextSwitcher) findViewById(R.id.progress_desc);
    progressBar = (ProgressBar) findViewById(R.id.progress_bar);
    main = (LinearLayout) findViewById(R.id.mainLayout);

    Animation in = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
    Animation out = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);

    title.setFactory(new ViewSwitcher.ViewFactory() {

        public View makeView() {
            TextView myText = new TextView(LoginActivity.this);
            myText.setTextSize(30);
            return myText;
        }
    });

    // set the animation type of textSwitcher
    title.setInAnimation(in);
    title.setOutAnimation(out);

    summary.setFactory(new ViewSwitcher.ViewFactory() {

        public View makeView() {
            TextView myText = new TextView(LoginActivity.this);
            myText.setTextSize(17);
            return myText;
        }
    });

    // set the animation type of textSwitcher
    summary.setInAnimation(in);
    summary.setOutAnimation(out);

    progDescription.setFactory(new ViewSwitcher.ViewFactory() {

        public View makeView() {
            TextView myText = new TextView(LoginActivity.this);
            myText.setTextSize(17);
            return myText;
        }
    });

    // set the animation type of textSwitcher
    progDescription.setInAnimation(in);
    progDescription.setOutAnimation(out);

    title.setText(getResources().getString(R.string.first_welcome));
    summary.setText(getResources().getString(R.string.first_info));

    progressBar.setProgress(100);

    CookieSyncManager.createInstance(this);
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.removeAllCookie();

    mWebView = (WebView) findViewById(R.id.loginWebView);
    try {
        mWebView.getSettings().setJavaScriptEnabled(true);
    } catch (Exception e) {

    }
    mWebView.getSettings().setAppCacheEnabled(false);
    mWebView.getSettings().setSavePassword(false);
    mWebView.getSettings().setSaveFormData(false);
    mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String url) {
            Log.v("talon_login", "url: " + url);
            if (url != null && url.startsWith("oauth:///talonforandroid")) {
                handleTwitterCallback(url);
            } else if (url.equals("https://twitter.com/")) {
                webView.loadUrl(requestUrl);
            } else {
                webView.loadUrl(url);
            }
            return true;
        }
    });

    noThanks.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new FollowMe().execute();

            btnLoginTwitter.setText(getResources().getString(R.string.back_to_timeline));
            noThanks.setVisibility(View.GONE);

            summary.setText(getResources().getString(R.string.third_info));
        }
    });

    btnLoginTwitter.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // Call login_activity twitter function
            if (btnLoginTwitter.getText().toString()
                    .contains(getResources().getString(R.string.login_to_twitter))) {
                if (Utils.hasInternetConnection(context)) {
                    btnLoginTwitter.setEnabled(false);

                    new AlertDialog.Builder(context)
                            .setMessage("Twitter may display that Talon cannot authenticate any more users. "
                                    + "\n\n"
                                    + "If so, and you have logged into Talon in the past, simply hit the 'Sign In' button in the top right and it will allow you to log in as normal. "
                                    + "\n\n"
                                    + "If you have never logged into Talon, then you will have to wait to login. Twitter seems to allow more users access every few hours.")
                            .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.dismiss();
                                }
                            }).setNegativeButton("More Info", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(
                                            "https://plus.google.com/117432358268488452276/posts/KG4AcH3YA2U")));
                                }
                            }).show();

                    new RetreiveFeedTask().execute();
                } else {
                    Toast.makeText(context, getResources().getString(R.string.no_network) + "!",
                            Toast.LENGTH_SHORT).show();
                }
            } else if (btnLoginTwitter.getText().toString()
                    .contains(getResources().getString(R.string.initial_sync))) {
                new getTimeLine().execute();
            } else if (btnLoginTwitter.getText().toString()
                    .contains(getResources().getString(R.string.no_thanks))) {
                btnLoginTwitter.setText(getResources().getString(R.string.back_to_timeline));
                noThanks.setVisibility(View.GONE);

                summary.setText(getResources().getString(R.string.third_info));
            } else {

                if (settings.timelineRefresh != 0) { // user only wants manual
                    AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

                    long now = new Date().getTime();
                    long alarm = now + settings.timelineRefresh;

                    PendingIntent pendingIntent = PendingIntent.getService(context,
                            HomeFragment.HOME_REFRESH_ID, new Intent(context, TimelineRefreshService.class), 0);

                    am.setRepeating(AlarmManager.RTC_WAKEUP, alarm, settings.timelineRefresh, pendingIntent);

                    now = new Date().getTime();
                    alarm = now + settings.mentionsRefresh;

                    PendingIntent pendingIntent2 = PendingIntent.getService(context,
                            MentionsFragment.MENTIONS_REFRESH_ID,
                            new Intent(context, MentionsRefreshService.class), 0);

                    am.setRepeating(AlarmManager.RTC_WAKEUP, alarm, settings.mentionsRefresh, pendingIntent2);

                    alarm = now + settings.dmRefresh;

                    PendingIntent pendingIntent3 = PendingIntent.getService(context, DMFragment.DM_REFRESH_ID,
                            new Intent(context, DirectMessageRefreshService.class), 0);
                    am.setRepeating(AlarmManager.RTC_WAKEUP, alarm, settings.dmRefresh, pendingIntent3);
                }

                // set up the autotrim
                AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
                long now = new Date().getTime();
                long alarm = now + AlarmManager.INTERVAL_DAY;
                Log.v("alarm_date", "auto trim " + new Date(alarm).toString());
                PendingIntent pendingIntent = PendingIntent.getService(context, 161,
                        new Intent(context, TrimDataService.class), 0);
                am.set(AlarmManager.RTC_WAKEUP, alarm, pendingIntent);

                finish();

                Intent timeline = new Intent(context, MainActivity.class);
                timeline.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
                timeline.putExtra("tutorial", true);
                sharedPrefs.edit().putBoolean("should_refresh", false).commit();
                sharedPrefs.edit().putBoolean("refresh_me", true).commit();
                sharedPrefs.edit().putBoolean("refresh_me_mentions", true).commit();
                sharedPrefs.edit().putBoolean("refresh_me_dm", true).commit();
                sharedPrefs.edit().putBoolean("need_new_dm", false).commit();
                sharedPrefs.edit().putBoolean("need_clean_databases_version_1_3_0", false).commit();
                sharedPrefs.edit().putBoolean("setup_v_two", true).commit();
                sharedPrefs.edit().putBoolean("version_2_2_7_1", false).commit();
                AppSettings.invalidate();
                startActivity(timeline);
            }

        }
    });
}

From source file:com.klinker.android.twitter.ui.setup.LoginActivity.java

License:Apache License

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    sharedPrefs = getSharedPreferences("com.klinker.android.twitter_world_preferences",
            Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
    context = this;
    settings = AppSettings.getInstance(context);

    //context.sendBroadcast(new Intent("com.klinker.android.twitter.STOP_PUSH"));

    Utils.setUpTheme(context, settings);
    setContentView(R.layout.login_activity);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    ConfigurationBuilder builder = new ConfigurationBuilder();
    builder.setOAuthConsumerKey(settings.TWITTER_CONSUMER_KEY);
    builder.setOAuthConsumerSecret(settings.TWITTER_CONSUMER_SECRET);
    Configuration configuration = builder.build();

    TwitterFactory factory = new TwitterFactory(configuration);
    twitter = factory.getInstance();// w  w  w  .j  a  va  2  s  . co m

    btnLoginTwitter = (Button) findViewById(R.id.btnLoginTwitter);
    noThanks = (Button) findViewById(R.id.dont_follow);
    title = (TextSwitcher) findViewById(R.id.welcome);
    summary = (TextSwitcher) findViewById(R.id.info);
    progDescription = (TextSwitcher) findViewById(R.id.progress_desc);
    progressBar = (ProgressBar) findViewById(R.id.progress_bar);
    main = (LinearLayout) findViewById(R.id.mainLayout);

    Animation in = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
    Animation out = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);

    title.setFactory(new ViewSwitcher.ViewFactory() {

        public View makeView() {
            TextView myText = new TextView(LoginActivity.this);
            myText.setTextSize(30);
            return myText;
        }
    });

    // set the animation type of textSwitcher
    title.setInAnimation(in);
    title.setOutAnimation(out);

    summary.setFactory(new ViewSwitcher.ViewFactory() {

        public View makeView() {
            TextView myText = new TextView(LoginActivity.this);
            myText.setTextSize(17);
            return myText;
        }
    });

    // set the animation type of textSwitcher
    summary.setInAnimation(in);
    summary.setOutAnimation(out);

    progDescription.setFactory(new ViewSwitcher.ViewFactory() {

        public View makeView() {
            TextView myText = new TextView(LoginActivity.this);
            myText.setTextSize(17);
            return myText;
        }
    });

    // set the animation type of textSwitcher
    progDescription.setInAnimation(in);
    progDescription.setOutAnimation(out);

    title.setText(getResources().getString(R.string.first_welcome));
    summary.setText(getResources().getString(R.string.first_info));

    progressBar.setProgress(100);

    CookieSyncManager.createInstance(this);
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.removeAllCookie();

    mWebView = (WebView) findViewById(R.id.loginWebView);
    try {
        mWebView.getSettings().setJavaScriptEnabled(true);
    } catch (Exception e) {

    }
    mWebView.getSettings().setAppCacheEnabled(false);
    mWebView.getSettings().setSavePassword(false);
    mWebView.getSettings().setSaveFormData(false);
    mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String url) {
            if (url != null && url.startsWith("oauth:///talonforandroid")) {
                handleTwitterCallback(url);
            } else {
                webView.loadUrl(url);
            }
            return true;
        }
    });

    noThanks.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new FollowMe().execute();

            btnLoginTwitter.setText(getResources().getString(R.string.back_to_timeline));
            noThanks.setVisibility(View.GONE);

            summary.setText(getResources().getString(R.string.third_info));
        }
    });

    btnLoginTwitter.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // Call login_activity twitter function
            if (btnLoginTwitter.getText().toString()
                    .contains(getResources().getString(R.string.login_to_twitter))) {
                if (Utils.hasInternetConnection(context)) {
                    btnLoginTwitter.setEnabled(false);

                    new RetreiveFeedTask().execute();
                } else {
                    Toast.makeText(context, getResources().getString(R.string.no_network) + "!",
                            Toast.LENGTH_SHORT).show();
                }
            } else if (btnLoginTwitter.getText().toString()
                    .contains(getResources().getString(R.string.initial_sync))) {
                new getTimeLine().execute();
            } else if (btnLoginTwitter.getText().toString()
                    .contains(getResources().getString(R.string.no_thanks))) {
                btnLoginTwitter.setText(getResources().getString(R.string.back_to_timeline));
                noThanks.setVisibility(View.GONE);

                summary.setText(getResources().getString(R.string.third_info));
            } else {

                if (settings.timelineRefresh != 0) { // user only wants manual
                    AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

                    long now = new Date().getTime();
                    long alarm = now + settings.timelineRefresh;

                    PendingIntent pendingIntent = PendingIntent.getService(context,
                            HomeFragment.HOME_REFRESH_ID, new Intent(context, TimelineRefreshService.class), 0);

                    am.setRepeating(AlarmManager.RTC_WAKEUP, alarm, settings.timelineRefresh, pendingIntent);

                    now = new Date().getTime();
                    alarm = now + settings.mentionsRefresh;

                    PendingIntent pendingIntent2 = PendingIntent.getService(context,
                            MentionsFragment.MENTIONS_REFRESH_ID,
                            new Intent(context, MentionsRefreshService.class), 0);

                    am.setRepeating(AlarmManager.RTC_WAKEUP, alarm, settings.mentionsRefresh, pendingIntent2);

                    alarm = now + settings.dmRefresh;

                    PendingIntent pendingIntent3 = PendingIntent.getService(context, DMFragment.DM_REFRESH_ID,
                            new Intent(context, DirectMessageRefreshService.class), 0);
                    am.setRepeating(AlarmManager.RTC_WAKEUP, alarm, settings.dmRefresh, pendingIntent3);
                }

                // set up the autotrim
                AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
                long now = new Date().getTime();
                long alarm = now + AlarmManager.INTERVAL_DAY;
                Log.v("alarm_date", "auto trim " + new Date(alarm).toString());
                PendingIntent pendingIntent = PendingIntent.getService(context, 161,
                        new Intent(context, TrimDataService.class), 0);
                am.set(AlarmManager.RTC_WAKEUP, alarm, pendingIntent);

                finish();

                Intent timeline = new Intent(context, MainActivity.class);
                timeline.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
                timeline.putExtra("tutorial", true);
                sharedPrefs.edit().putBoolean("should_refresh", false).commit();
                sharedPrefs.edit().putBoolean("refresh_me", true).commit();
                sharedPrefs.edit().putBoolean("refresh_me_mentions", true).commit();
                sharedPrefs.edit().putBoolean("refresh_me_dm", true).commit();
                sharedPrefs.edit().putBoolean("need_new_dm", false).commit();
                sharedPrefs.edit().putBoolean("need_clean_databases_version_1_3_0", false).commit();
                sharedPrefs.edit().putBoolean("setup_v_two", true).commit();
                sharedPrefs.edit().putBoolean("version_2_2_7_1", false).commit();
                AppSettings.invalidate();
                startActivity(timeline);
            }

        }
    });
}

From source file:com.krossovochkin.kwitter.activities.MainActivity.java

License:Apache License

private void initTwitter() {
    boolean authDataExists = Settings.getBoolean(this, Settings.AUTH_DATA_EXISTS, false);

    if (authDataExists) {
        ConfigurationBuilder cb = new ConfigurationBuilder();

        cb.setDebugEnabled(BuildConfig.DEBUG).setOAuthConsumerKey(getString(R.string.twitter_consumer_key))
                .setOAuthConsumerSecret(getString(R.string.twitter_consumer_secret))
                .setOAuthAccessToken(Settings.getString(this, Settings.ACCESS_TOKEN_KEY))
                .setOAuthAccessTokenSecret(Settings.getString(this, Settings.ACCESS_TOKEN_SECRET_KEY))
                .setJSONStoreEnabled(true);

        TwitterFactory tf = new TwitterFactory(cb.build());
        mTwitter = tf.getInstance();/*from w w w  .  ja  va  2s.  c om*/
    } else {
        startActivity(new Intent(this, AuthActivity.class));
        finish();
    }
}

From source file:com.lbarriosh.sentimentanalyzer.downloads.TweetsDownloader.java

License:Open Source License

public TweetsDownloader(String api_key, String api_secret, String access_token, String access_token_secret) {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setOAuthConsumerKey(api_key);//from   w  ww .  ja va  2s  .c om
    cb.setOAuthConsumerSecret(api_secret);
    cb.setOAuthAccessToken(access_token);
    cb.setOAuthAccessTokenSecret(access_token_secret);
    this.tf = new TwitterFactory(cb.build());
}

From source file:com.learnncode.demotwitterimagepost.HelperMethods.java

License:Apache License

public static void postToTwitter(Context context, final Activity callingActivity, final String message,
        final TwitterCallback postResponse) {
    if (!LoginActivity.isActive(context)) {
        postResponse.onFinsihed(false);/*w  w w.ja  v  a 2 s .  co m*/
        return;
    }

    final ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
    configurationBuilder.setOAuthConsumerKey(context.getResources().getString(R.string.twitter_consumer_key));
    configurationBuilder
            .setOAuthConsumerSecret(context.getResources().getString(R.string.twitter_consumer_secret));
    configurationBuilder.setOAuthAccessToken(LoginActivity.getAccessToken(context));
    configurationBuilder.setOAuthAccessTokenSecret(LoginActivity.getAccessTokenSecret(context));
    final Configuration configuration = configurationBuilder.build();
    final Twitter twitter = new TwitterFactory(configuration).getInstance();

    new Thread(new Runnable() {

        private double x;

        @Override
        public void run() {
            boolean success = true;
            try {
                x = Math.random();
                twitter.updateStatus(message + " " + x);
            } catch (final TwitterException e) {
                e.printStackTrace();
                success = false;
            }

            final boolean finalSuccess = success;

            callingActivity.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    postResponse.onFinsihed(finalSuccess);
                }
            });

        }
    }).start();
}

From source file:com.learnncode.demotwitterimagepost.HelperMethods.java

License:Apache License

public static void postToTwitterWithImage(Context context, final Activity callingActivity,
        final String imageUrl, final String message, final TwitterCallback postResponse) {
    if (!LoginActivity.isActive(context)) {
        postResponse.onFinsihed(false);//w  ww .  j a  va 2 s  .  c o  m
        return;
    }

    final ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
    configurationBuilder.setOAuthConsumerKey(context.getResources().getString(R.string.twitter_consumer_key));
    configurationBuilder
            .setOAuthConsumerSecret(context.getResources().getString(R.string.twitter_consumer_secret));
    configurationBuilder.setOAuthAccessToken(LoginActivity.getAccessToken(context));
    configurationBuilder.setOAuthAccessTokenSecret(LoginActivity.getAccessTokenSecret(context));
    final Configuration configuration = configurationBuilder.build();
    final Twitter twitter = new TwitterFactory(configuration).getInstance();

    final File file = new File(imageUrl);

    new Thread(new Runnable() {

        private double x;

        @Override
        public void run() {
            boolean success = true;
            try {
                x = Math.random();
                if (file.exists()) {
                    final StatusUpdate status = new StatusUpdate(message);
                    status.setMedia(file);
                    twitter.updateStatus(status);
                } else {
                    Log.d(TAG, "----- Invalid File ----------");
                    success = false;
                }
            } catch (final Exception e) {
                e.printStackTrace();
                success = false;
            }

            final boolean finalSuccess = success;

            callingActivity.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    postResponse.onFinsihed(finalSuccess);
                }
            });

        }
    }).start();
}