Skip to content

Commit

Permalink
Allow users to share trailer video
Browse files Browse the repository at this point in the history
  • Loading branch information
ismaeltoe committed Jun 16, 2015
1 parent 31877b4 commit 701d38b
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.widget.CardView;
import android.support.v7.widget.ShareActionProvider;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.LayoutInflater;
Expand Down Expand Up @@ -76,6 +78,11 @@ public class DetailActivityFragment extends Fragment {

private Toast mToast;

private ShareActionProvider mShareActionProvider;

// the first trailer video to share
private Trailer mTrailer;

public DetailActivityFragment() {
}

Expand All @@ -91,6 +98,7 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_fragment_detail, menu);

final MenuItem action_favorite = menu.findItem(R.id.action_favorite);
MenuItem action_share = menu.findItem(R.id.action_share);
/*
action_favorite.setIcon(Utility.isFavorited(getActivity(), mMovie.getId()) == 1 ?
R.drawable.abc_btn_rating_star_on_mtrl_alpha :
Expand All @@ -109,6 +117,12 @@ protected void onPostExecute(Integer isFavorited) {
R.drawable.abc_btn_rating_star_off_mtrl_alpha);
}
}.execute();

mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(action_share);

if (mTrailer != null) {
mShareActionProvider.setShareIntent(createShareMovieIntent());
}
}
}

Expand Down Expand Up @@ -276,6 +290,15 @@ public void onStart() {
}
}

private Intent createShareMovieIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, mMovie.getTitle() + " " +
"http://www.youtube.com/watch?v=" + mTrailer.getKey());
return shareIntent;
}

public class FetchTrailersTask extends AsyncTask<String, Void, List<Trailer>> {

private final String LOG_TAG = FetchTrailersTask.class.getSimpleName();
Expand Down Expand Up @@ -381,6 +404,11 @@ protected void onPostExecute(List<Trailer> trailers) {
mTrailerAdapter.add(trailer);
}
}

mTrailer = trailers.get(0);
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(createShareMovieIntent());
}
}
}
}
Expand Down
11 changes: 9 additions & 2 deletions app/src/main/res/menu/menu_fragment_detail.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item android:id="@+id/action_favorite"
android:title="@string/action_favorite"
app:showAsAction="always"
android:icon="@drawable/abc_btn_rating_star_off_mtrl_alpha"
app:icon="@drawable/abc_btn_rating_star_off_mtrl_alpha">
</item>
app:icon="@drawable/abc_btn_rating_star_off_mtrl_alpha" />

<item android:id="@+id/action_share"
android:title="@string/action_share"
app:showAsAction="ifRoom"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
android:icon="@drawable/abc_ic_menu_share_mtrl_alpha"
app:icon="@drawable/abc_ic_menu_share_mtrl_alpha" />
</menu>
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@
<string name="removed_from_favorites">Removed from Favorites</string>
<string name="added_to_favorites">Added to Favorites</string>
<string name="action_sort_by_favorite">Favorites</string>
<string name="action_share">Share</string>
</resources>

0 comments on commit 701d38b

Please sign in to comment.