package com.ronakmanglani.watchlist.ui.fragment; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar.OnMenuItemClickListener; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.ronakmanglani.watchlist.R; import com.ronakmanglani.watchlist.WatchlistApp; import com.ronakmanglani.watchlist.model.Review; import butterknife.BindBool; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; public class ReviewDetailFragment extends Fragment implements OnMenuItemClickListener { private Unbinder unbinder; private String movieName; private Review review; @BindBool(R.bool.is_tablet) boolean isTablet; @BindView(R.id.toolbar) Toolbar toolbar; @BindView(R.id.review_body) TextView reviewBody; @BindView(R.id.review_body_holder) View reviewBodyHolder; // Fragment lifecycle @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); View v = inflater.inflate(R.layout.fragment_review_detail,container,false); unbinder = ButterKnife.bind(this, v); // Get arguments movieName = getArguments().getString(WatchlistApp.MOVIE_NAME); review = getArguments().getParcelable(WatchlistApp.REVIEW_OBJECT); if (review == null) { if (movieName.equals("null")) { toolbar.setTitle(""); } else { toolbar.setTitle(R.string.loading); } reviewBodyHolder.setVisibility(View.GONE); } else { // Setup toolbar toolbar.setTitle("Review by " + review.userName); toolbar.inflateMenu(R.menu.menu_share); toolbar.setOnMenuItemClickListener(this); if (!isTablet) { toolbar.setNavigationIcon(ContextCompat.getDrawable(getActivity(), R.drawable.action_home)); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getActivity().finish(); } }); } // Set review body reviewBody.setText(review.comment); } return v; } @Override public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } // Toolbar options menu @Override public boolean onMenuItemClick(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_share) { // Share the review String url = "https://trakt.tv/comments/" + review.id; String shareText = "A review of " + movieName + " by " + review.userName + " - " + url; Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); sharingIntent.setType("text/plain"); sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, movieName + " - Review"); sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareText); startActivity(Intent.createChooser(sharingIntent, getResources().getString(R.string.action_share_using))); return true; } else { return false; } } }