Android Open Source - Gazetti_Newspaper_Reader Share Button Listener From Project Back to project page Gazetti_Newspaper_Reader .
License The source code is released under:
MIT License
If you think the Android project Gazetti_Newspaper_Reader listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package in.sahildave.gazetti.util;
/ / f r o m w w w . j a v a 2 s . c o m
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Build.VERSION;
import com.crashlytics.android.Crashlytics;
import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.extensions.android.json.AndroidJsonFactory;
import com.google.api.services.urlshortener.Urlshortener;
import com.google.api.services.urlshortener.model.Url;
import java.io.IOException;
/**
* Created by sahil on 22/10/14.
*/
public class ShareButtonListener {
private static final int HEADLINE_LENGTH = 120;
Activity activity;
String mArticleURL;
String mArticleHeadLine;
public ShareButtonListener(Activity activity, final String mArticleURL, String mArticleHeadline) {
//Log.d(ShareButtonListener.class.getName(), "Sharing...");
this.activity = activity;
this.mArticleURL = mArticleURL;
this.mArticleHeadLine = mArticleHeadline;
mArticleHeadLine = mArticleHeadLine.length() > HEADLINE_LENGTH ?
mArticleHeadLine.substring(0, HEADLINE_LENGTH) :
mArticleHeadLine;
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
shorten(mArticleURL);
}
});
}
private void shorten(String longUrl){
new AsyncTask<String, Void, String>(){
@Override
protected String doInBackground(String... params) {
String longUrl = params[0];
if (VERSION.SDK_INT >= 11 ){
Urlshortener.Builder builder = new Urlshortener.Builder(AndroidHttp.newCompatibleTransport(), AndroidJsonFactory.getDefaultInstance(), null);
Urlshortener urlshortener = builder.build();
Url url = new Url();
url.setLongUrl(longUrl);
try {
url = urlshortener.url().insert(url).execute();
return url.getId();
} catch (IOException e) {
return null;
}
}
return longUrl;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
try {
mArticleURL = s;
String intentString = mArticleHeadLine + " - " +mArticleURL;
//Log.d(ShareButtonListener.class.getName(), "Sharing content - " + intentString);
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("text/plain" );
sendIntent.putExtra(Intent.EXTRA_TEXT, intentString);
activity.startActivity(Intent.createChooser(sendIntent, "Share with" ));
} catch (Exception e) {
Crashlytics.logException(e);
}
}
}.execute(longUrl);
}
}
Java Source Code List in.sahildave.gazetti.StarterApplication.java in.sahildave.gazetti.bookmarks.BookmarkAdapter.java in.sahildave.gazetti.bookmarks.BookmarkDetailActivity.java in.sahildave.gazetti.bookmarks.BookmarkDetailFragment.java in.sahildave.gazetti.bookmarks.BookmarkListActivity.java in.sahildave.gazetti.bookmarks.BookmarkListFragment.java in.sahildave.gazetti.bookmarks.BookmarkLoadingCallback.java in.sahildave.gazetti.bookmarks.sqlite.BookmarkDataSource.java in.sahildave.gazetti.bookmarks.sqlite.BookmarkModel.java in.sahildave.gazetti.bookmarks.sqlite.SQLiteHelper.java in.sahildave.gazetti.homescreen.HomeScreenActivity.java in.sahildave.gazetti.homescreen.HomeScreenFragment.java in.sahildave.gazetti.homescreen.adapter.AddCellDialogFragment.java in.sahildave.gazetti.homescreen.adapter.CellModel.java in.sahildave.gazetti.homescreen.adapter.EditCellDialogFragment.java in.sahildave.gazetti.homescreen.adapter.GridAdapter.java in.sahildave.gazetti.homescreen.adapter.NewsCatModel.java in.sahildave.gazetti.homescreen.newcontent.DialogNewContentExpListAdaper.java in.sahildave.gazetti.homescreen.newcontent.DialogNewContent.java in.sahildave.gazetti.news_activities.ArticleLoadingCallback.java in.sahildave.gazetti.news_activities.WebViewFragment.java in.sahildave.gazetti.news_activities.WebsiteDetailActivity.java in.sahildave.gazetti.news_activities.WebsiteDetailFragment.java in.sahildave.gazetti.news_activities.WebsiteListActivity.java in.sahildave.gazetti.news_activities.WebsiteListFragment.java in.sahildave.gazetti.news_activities.adapter.NavDrawerListAdapter.java in.sahildave.gazetti.news_activities.adapter.NewsAdapter.java in.sahildave.gazetti.news_activities.adapter.RobotoLight.java in.sahildave.gazetti.news_activities.fetch.firstPost.java in.sahildave.gazetti.news_activities.fetch.hindu.java in.sahildave.gazetti.news_activities.fetch.indianExpressBusiness.java in.sahildave.gazetti.news_activities.fetch.indianExpress.java in.sahildave.gazetti.news_activities.fetch.toi.java in.sahildave.gazetti.preference.FeedSelectFragment.java in.sahildave.gazetti.preference.FeedSelectSettingsActivity.java in.sahildave.gazetti.preference.LicensesActivity.java in.sahildave.gazetti.preference.PreferenceExpListAdapter.java in.sahildave.gazetti.preference.SettingsActivity.java in.sahildave.gazetti.util.BitmapTransform.java in.sahildave.gazetti.util.ConfigService.java in.sahildave.gazetti.util.Constants.java in.sahildave.gazetti.util.GazettiEnums.java in.sahildave.gazetti.util.JsonHelper.java in.sahildave.gazetti.util.NewsCatFileUtil.java in.sahildave.gazetti.util.ShareButtonListener.java in.sahildave.gazetti.util.UserPrefUtil.java in.sahildave.gazetti.welcomescreen.WelcomeScreenExpListAdapter.java in.sahildave.gazetti.welcomescreen.WelcomeScreenFragmentExpList.java in.sahildave.gazetti.welcomescreen.WelcomeScreenFragmentFirst.java in.sahildave.gazetti.welcomescreen.WelcomeScreenViewPagerActivity.java