1 package com.moiseum.wolnelektury.view.player.header;
3 import android.graphics.Color;
4 import android.os.Bundle;
5 import android.view.View;
6 import android.widget.Button;
7 import android.widget.ImageButton;
8 import android.widget.ImageView;
9 import android.widget.TextView;
11 import com.bumptech.glide.Glide;
12 import com.bumptech.glide.load.engine.DiskCacheStrategy;
13 import com.moiseum.wolnelektury.R;
14 import com.moiseum.wolnelektury.base.mvp.PresenterFragment;
15 import com.moiseum.wolnelektury.connection.RestClient;
17 import butterknife.BindView;
18 import butterknife.OnClick;
19 import retrofit2.http.HEAD;
22 * Created by Piotr Ostrowski on 22.05.2018.
24 public class PlayerHeaderFragment extends PresenterFragment<PlayerHeaderPresenter> implements PlayerHeaderView {
26 private static final String AUTHOR_KEY = "AuthorKey";
27 private static final String TITLE_KEY = "TitleKey";
28 private static final String COVER_KEY = "CoverKey";
30 public static PlayerHeaderFragment newInstance(String author, String title, String coverUrl) {
31 PlayerHeaderFragment fragment = new PlayerHeaderFragment();
32 Bundle args = new Bundle();
33 args.putString(AUTHOR_KEY, author);
34 args.putString(TITLE_KEY, title);
35 args.putString(COVER_KEY, coverUrl);
36 fragment.setArguments(args);
41 @BindView(R.id.vCoverOverlay)
43 @BindView(R.id.ivCoverBackground)
44 ImageView ivCoverBackground;
45 @BindView(R.id.ivCover)
47 @BindView(R.id.tvAuthor)
49 @BindView(R.id.tvBookTitle)
53 protected PlayerHeaderPresenter createPresenter() {
54 if (getArguments() == null) {
55 throw new IllegalStateException("Missing fragment arguments.");
57 String author = getArguments().getString(AUTHOR_KEY);
58 String title = getArguments().getString(TITLE_KEY);
59 String coverUrl = getArguments().getString(COVER_KEY);
60 return new PlayerHeaderPresenter(author, title, coverUrl, this);
64 public int getLayoutResourceId() {
65 return R.layout.fragment_player_header;
69 public void prepareView(View view, Bundle savedInstanceState) {
73 public void initView() {
74 if (getArguments() != null) {
75 vCoverOverlay.setAlpha(0.7f);
76 vCoverOverlay.setBackgroundColor(Color.parseColor("#db4b16"));
77 tvAuthor.setText(getArguments().getString(AUTHOR_KEY));
78 tvBookTitle.setText(getArguments().getString(TITLE_KEY));
79 if (getArguments().getString(COVER_KEY) != null) {
80 String coverUrl = getArguments().getString(COVER_KEY);
81 if (coverUrl != null && !coverUrl.contains(RestClient.MEDIA_URL) && !coverUrl.contains(RestClient.MEDIA_URL_HTTPS)) {
82 coverUrl = RestClient.MEDIA_URL_HTTPS + coverUrl;
84 Glide.with(getContext()).load(coverUrl).placeholder(R.drawable.list_nocover).diskCacheStrategy(DiskCacheStrategy.ALL).dontTransform().into(ivCover);
86 if (getArguments().getString(COVER_KEY) != null) {
87 String coverBackgroundUrl = getArguments().getString(COVER_KEY);
88 if (coverBackgroundUrl != null && !coverBackgroundUrl.contains(RestClient.MEDIA_URL) && !coverBackgroundUrl.contains(RestClient.MEDIA_URL_HTTPS)) {
89 coverBackgroundUrl = RestClient.MEDIA_URL_HTTPS + coverBackgroundUrl;
91 Glide.with(getContext()).load(coverBackgroundUrl).diskCacheStrategy(DiskCacheStrategy.ALL).dontTransform().into(ivCoverBackground);
97 public void onBackButtonClicked() {
98 if (getActivity() != null) {
99 getActivity().finish();