From 54488e108a8a00726e33ebb384dbe37173ccadbc Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 11 Jul 2015 12:27:29 +0300 Subject: [PATCH] show inline youtube player (if app installed) minor bugfixes --- org.fox.ttrss/build.gradle | 1 + .../libs/YouTubeAndroidPlayerApi.jar | Bin 0 -> 106412 bytes org.fox.ttrss/org.fox.ttrss.iml | 1 + org.fox.ttrss/src/main/AndroidManifest.xml | 5 + .../java/org/fox/ttrss/HeadlinesFragment.java | 28 +++- .../org/fox/ttrss/VideoPlayerActivity.java | 1 - .../org/fox/ttrss/YoutubePlayerActivity.java | 150 ++++++++++++++++++ .../res/layout/activity_youtube_player.xml | 30 ++++ 8 files changed, 211 insertions(+), 5 deletions(-) create mode 100644 org.fox.ttrss/libs/YouTubeAndroidPlayerApi.jar create mode 100644 org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java create mode 100644 org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml diff --git a/org.fox.ttrss/build.gradle b/org.fox.ttrss/build.gradle index 85004938..d2f0b8f7 100755 --- a/org.fox.ttrss/build.gradle +++ b/org.fox.ttrss/build.gradle @@ -38,4 +38,5 @@ dependencies { compile 'com.viewpagerindicator:library:2.4.1' compile 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar' compile files('libs/nineoldandroids-2.4.0.jar') + compile files('libs/YouTubeAndroidPlayerApi.jar') } diff --git a/org.fox.ttrss/libs/YouTubeAndroidPlayerApi.jar b/org.fox.ttrss/libs/YouTubeAndroidPlayerApi.jar new file mode 100644 index 0000000000000000000000000000000000000000..1dc2b8225401ea1b3800b9008177481bcf1101b0 GIT binary patch literal 106412 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 + diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index 3afc5eb2..6443d3d6 100755 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -267,6 +267,11 @@ android:configChanges="keyboardHidden|orientation|screenSize" android:label="@string/title_activity_video_player" > + + diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index cc09c9f9..3ffcc229 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.ApplicationInfo; import android.content.res.Resources.Theme; import android.graphics.Bitmap; import android.graphics.Paint; @@ -76,6 +77,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.TimeZone; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -693,6 +695,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, private final DisplayImageOptions displayImageOptions; boolean showFlavorImage; private int m_minimumHeightToEmbed; + boolean m_youtubeInstalled; public ArticleListAdapter(Context context, int textViewResourceId, ArrayList
items) { super(context, textViewResourceId, items); @@ -718,6 +721,13 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, .displayer(new FadeInBitmapDisplayer(500)) .build(); + List packages = m_activity.getPackageManager().getInstalledApplications(0); + for (ApplicationInfo pi : packages) { + if (pi.packageName.equals("com.google.android.youtube")) { + m_youtubeInstalled = true; + break; + } + } } public int getViewTypeCount() { @@ -1191,7 +1201,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, Matcher matcher = pattern.matcher(srcEmbed); if (matcher.find()) { - String vid = matcher.group(1); + final String vid = matcher.group(1); final String thumbUri = "http://img.youtube.com/vi/"+vid+"/mqdefault.jpg"; final String videoUri = "https://youtu.be/" + vid; @@ -1257,9 +1267,19 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, holder.flavorImageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - Intent intent = new Intent(Intent.ACTION_VIEW, - Uri.parse(videoUri)); - startActivity(intent); + + if (m_youtubeInstalled) { + Intent intent = new Intent(m_activity, YoutubePlayerActivity.class); + intent.putExtra("streamUri", videoUri); + intent.putExtra("vid", vid); + intent.putExtra("title", article.title); + + startActivity(intent); + } else { + Intent intent = new Intent(Intent.ACTION_VIEW, + Uri.parse(videoUri)); + startActivity(intent); + } } }); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/VideoPlayerActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/VideoPlayerActivity.java index 57ec85b7..48a0e9ff 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/VideoPlayerActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/VideoPlayerActivity.java @@ -238,7 +238,6 @@ public class VideoPlayerActivity extends CommonActivity { if (m_streamUri != null) { Intent intent = new Intent(Intent.ACTION_SEND); - intent.setType("video/mp4"); intent.putExtra(Intent.EXTRA_SUBJECT, m_streamUri); intent.putExtra(Intent.EXTRA_TEXT, m_streamUri); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java new file mode 100644 index 00000000..e7312ffa --- /dev/null +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java @@ -0,0 +1,150 @@ +package org.fox.ttrss; + +import android.content.Intent; +import android.content.res.Configuration; +import android.net.Uri; +import android.os.Bundle; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.ContextMenu; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; + +import com.google.android.youtube.player.YouTubeInitializationResult; +import com.google.android.youtube.player.YouTubePlayer; +import com.google.android.youtube.player.YouTubePlayerSupportFragment; + + +public class YoutubePlayerActivity extends CommonActivity implements YouTubePlayer.OnInitializedListener { + + private final String TAG = this.getClass().getSimpleName(); + private static final String DEVELOPER_KEY = "AIzaSyD8BS4Uj21jg_gHZfP4v0VXrAWiwqd05nk"; + + private String m_streamUri; + private String m_videoId; + + @Override + public void onCreate(Bundle savedInstanceState) { + + setTheme(R.style.DarkTheme); + + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_youtube_player); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + if (!isPortrait()) + getSupportActionBar().hide(); + + setTitle(getIntent().getStringExtra("title")); + + if (savedInstanceState == null) { + m_streamUri = getIntent().getStringExtra("streamUri"); + m_videoId = getIntent().getStringExtra("vid"); + } else { + m_streamUri = savedInstanceState.getString("streamUri"); + m_videoId = savedInstanceState.getString("vid"); + } + + YouTubePlayerSupportFragment frag = (YouTubePlayerSupportFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_youtube_player); + frag.initialize(DEVELOPER_KEY, this); + } + + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + if (!isPortrait()) + getSupportActionBar().hide(); + else + getSupportActionBar().show(); + } + + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putString("streamUri", m_streamUri); + out.putString("vid", m_videoId); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.activity_video_player, menu); + return true; + } + + + @Override + public void onCreateContextMenu(ContextMenu menu, View v, + ContextMenu.ContextMenuInfo menuInfo) { + + getMenuInflater().inflate(R.menu.activity_video_player, menu); + + super.onCreateContextMenu(menu, v, menuInfo); + } + + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + return onContextItemSelected(item); // this is really bad :() + } + + @Override + public boolean onContextItemSelected(android.view.MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + case R.id.article_vid_open: + if (m_streamUri != null) { + try { + Intent intent = new Intent(Intent.ACTION_VIEW, + Uri.parse(m_streamUri)); + startActivity(intent); + } catch (Exception e) { + e.printStackTrace(); + toast(R.string.error_other_error); + } + } + return true; + case R.id.article_vid_share: + if (m_streamUri != null) { + Intent intent = new Intent(Intent.ACTION_SEND); + + intent.putExtra(Intent.EXTRA_SUBJECT, m_streamUri); + intent.putExtra(Intent.EXTRA_TEXT, m_streamUri); + + startActivity(Intent.createChooser(intent, m_streamUri)); + } + return true; + default: + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } + } + + @Override + public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { + Log.d(TAG, "youtube: init success"); + + findViewById(R.id.video_loading).setVisibility(View.GONE); + + if (!wasRestored) { + player.cueVideo(m_videoId); + } + } + + @Override + public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult result) { + Log.d(TAG, "youtube: init failure"); + + findViewById(R.id.video_loading).setVisibility(View.GONE); + + toast(result.toString()); + } +} diff --git a/org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml b/org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml new file mode 100644 index 00000000..afd37335 --- /dev/null +++ b/org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + +