Android Open Source - epgreader-android Photo Item Fragment From Project Back to project page epgreader-android .
License The source code is released under:
Apache License
If you think the Android project epgreader-android 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 com.jeffpalm.android.epg.app;
/ * f r o m w w w . j a v a 2 s . c o m * /
import java.io.IOException;
import android.app.Activity;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.android.imagedownloader.ImageDownloader;
import com.jeffpalm.android.epg.app.R;
/**
* A fragment to show a title and photo for a link item.
*/
public class PhotoItemFragment extends EPGReaderFragment {
public static final String TITLE = "title" ;
public static final String IMAGE_URL = "image.url" ;
public static final String SHARE_URL = "share.url" ;
private static final String TAG = "PhotoItemFragment" ;
private ImageDownloader imageDownloader;
private UrlHandler urlHandler;
interface UrlHandler {
void show(String url);
}
public void setUrlHandler(UrlHandler urlHandler) {
this.urlHandler = urlHandler;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
imageDownloader = EPGReaderUtil.newImageDownloader();
}
@Override
protected void onActivityCreatedInternal(Bundle savedInstanceState) {
Bundle args = getArguments();
String title = args.getString(TITLE);
String imageUrl = args.getString(IMAGE_URL);
String shareUrl = args.getString(SHARE_URL);
setTitle(title);
setImageUrl(imageUrl);
setupShareButton(shareUrl);
}
private void setupShareButton(final String shareUrl) {
Button viewButton = (Button) getView().findViewById(R.id.buttonView);
viewButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showUrl(shareUrl);
}
});
}
private void showUrl(String url) {
if (urlHandler != null) {
urlHandler.show(url);
}
}
private void setTitle(String title) {
TextView view = (TextView) getView().findViewById(R.id.titleText);
view.setText(title);
}
private void setImageUrl(String imageUrl) {
ImageView view = (ImageView) getView().findViewById(R.id.imageView);
imageDownloader.download(imageUrl, view);
}
@Override
public void onStart() {
super.onStart();
// Replace the thumbnail URL with a nicer image
Bundle args = getArguments();
String shareUrl = args.getString(SHARE_URL);
findNicerPhoto(shareUrl);
}
private void findNicerPhoto(final String shareUrl) {
AsyncTask<String, Integer , Uri> getVideoUrlTask = new AsyncTask<String, Integer , Uri>() {
@Override
protected Uri doInBackground(String... params) {
try {
return new EPGReaderUrlFinder().getPhotoUrl(shareUrl);
} catch (IOException e) {
Log.e(TAG, "Finding photo url for " + shareUrl, e);
}
return null;
}
@Override
protected void onPostExecute(Uri result) {
if (result != null) {
setImageUrl(result.toString());
}
}
};
getVideoUrlTask.execute(shareUrl);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_photo_item, container, false);
return view;
}
}
Java Source Code List com.example.android.imagedownloader.ImageDownloader.java com.jeffpalm.android.epg.AbstractEPGItem.java com.jeffpalm.android.epg.AbstractEPGNode.java com.jeffpalm.android.epg.EPGContentTest.java com.jeffpalm.android.epg.EPGContent.java com.jeffpalm.android.epg.EPGIndexTest.java com.jeffpalm.android.epg.EPGIndex.java com.jeffpalm.android.epg.EPGItemTestCase.java com.jeffpalm.android.epg.EPGItem.java com.jeffpalm.android.epg.EPGLinkItemTest.java com.jeffpalm.android.epg.EPGLinkItem.java com.jeffpalm.android.epg.EPGNode.java com.jeffpalm.android.epg.EPGParserTest.java com.jeffpalm.android.epg.EPGParser.java com.jeffpalm.android.epg.EPGSectionTest.java com.jeffpalm.android.epg.EPGSection.java com.jeffpalm.android.epg.EPGTestUtil.java com.jeffpalm.android.epg.EPG.java com.jeffpalm.android.epg.app.DefaultOnActivityCreatedNotifier.java com.jeffpalm.android.epg.app.EPGApplication.java com.jeffpalm.android.epg.app.EPGReaderConstants.java com.jeffpalm.android.epg.app.EPGReaderFragment.java com.jeffpalm.android.epg.app.EPGReaderItemListFragment.java com.jeffpalm.android.epg.app.EPGReaderPreferencesActivity.java com.jeffpalm.android.epg.app.EPGReaderSharedPrefs.java com.jeffpalm.android.epg.app.EPGReaderUrlFinder.java com.jeffpalm.android.epg.app.EPGReaderUtil.java com.jeffpalm.android.epg.app.Feature.java com.jeffpalm.android.epg.app.FeedLoader.java com.jeffpalm.android.epg.app.HeaderFragment.java com.jeffpalm.android.epg.app.ItemListActivity.java com.jeffpalm.android.epg.app.ItemListAdapter.java com.jeffpalm.android.epg.app.ItemListFragment.java com.jeffpalm.android.epg.app.NoContentFragment.java com.jeffpalm.android.epg.app.OnActivityCreatedNotifier.java com.jeffpalm.android.epg.app.PhotoGalleryAdapter.java com.jeffpalm.android.epg.app.PhotoGalleryFragment.java com.jeffpalm.android.epg.app.PhotoItemFragment.java com.jeffpalm.android.epg.app.VideoItemFragment.java com.jeffpalm.android.epg.app.WebItemFragment.java com.jeffpalm.android.tmz.model.AbstractTMZItem.java com.jeffpalm.android.tmz.model.AbstractTMZNode.java com.jeffpalm.android.tmz.model.DefaultTMZAdapter.java com.jeffpalm.android.tmz.model.TMZAdapter.java com.jeffpalm.android.tmz.model.TMZContentCache.java com.jeffpalm.android.tmz.model.TMZContentTest.java com.jeffpalm.android.tmz.model.TMZContent.java com.jeffpalm.android.tmz.model.TMZFactoryHelper.java com.jeffpalm.android.tmz.model.TMZFactoryHolder.java com.jeffpalm.android.tmz.model.TMZFactoryTest.java com.jeffpalm.android.tmz.model.TMZFactory.java com.jeffpalm.android.tmz.model.TMZIndexTest.java com.jeffpalm.android.tmz.model.TMZIndexWrapperTest.java com.jeffpalm.android.tmz.model.TMZIndexWrapper.java com.jeffpalm.android.tmz.model.TMZIndex.java com.jeffpalm.android.tmz.model.TMZItemTestCase.java com.jeffpalm.android.tmz.model.TMZItem.java com.jeffpalm.android.tmz.model.TMZLinkItemTest.java com.jeffpalm.android.tmz.model.TMZLinkItem.java com.jeffpalm.android.tmz.model.TMZNode.java com.jeffpalm.android.tmz.model.TMZSectionTest.java com.jeffpalm.android.tmz.model.TMZSection.java com.jeffpalm.android.tmz.model.TMZTestCase.java com.jeffpalm.android.tmz.model.TMZTestUtil.java com.jeffpalm.android.tmz.model.TMZTest.java com.jeffpalm.android.tmz.model.TMZWrapperTest.java com.jeffpalm.android.tmz.model.TMZWrapper.java com.jeffpalm.android.tmz.model.TMZ.java com.jeffpalm.android.util.Asserts.java com.jeffpalm.android.util.ExpandableValueTest.java com.jeffpalm.android.util.ExpandableValue.java com.jeffpalm.android.util.ShiftSetTest.java com.jeffpalm.android.util.ShiftSet.java com.jeffpalm.android.util.TMZUrlFinderTest.java com.jeffpalm.android.util.UtilTest.java com.jeffpalm.android.util.Util.java com.jeffpalm.android.util.urls.DatabaseHandler.java com.jeffpalm.android.util.urls.DatabaseHelper.java com.jeffpalm.android.util.urls.StringInputStream.java com.jeffpalm.android.util.urls.URLCache.java com.jeffpalm.android.util.urls.WriteToDatabaseOnCloseInputStream.java