Added Android code
[wl-app.git] / Android / app / src / main / java / com / moiseum / wolnelektury / view / news / zoom / ZoomActivity.java
1 package com.moiseum.wolnelektury.view.news.zoom;
2
3 import android.content.Context;
4 import android.os.Bundle;
5
6 import com.moiseum.wolnelektury.R;
7 import com.moiseum.wolnelektury.base.AbstractActivity;
8 import com.moiseum.wolnelektury.base.AbstractIntent;
9
10 import java.util.ArrayList;
11
12 /**
13  * Created by Piotr Ostrowski on 07.08.2018.
14  */
15 public class ZoomActivity extends AbstractActivity {
16
17         private static final String PHOTOS_URL_KEY = "PhotoUrls";
18         private static final String POSITION_KEY = "PositionKey";
19         private static final String ZOOM_FRAGMENT_TAG = "ZoomFragmentTag";
20
21         public static class ZoomIntent extends AbstractIntent {
22                 public ZoomIntent(ArrayList<String> photoUrls, int position, Context context) {
23                         super(context, ZoomActivity.class);
24                         putExtra(PHOTOS_URL_KEY, photoUrls);
25                         putExtra(POSITION_KEY, position);
26                 }
27         }
28
29         @Override
30         public int getLayoutResourceId() {
31                 return R.layout.activity_blank;
32         }
33
34         @Override
35         public void prepareView(Bundle savedInstanceState) {
36                 if (!getIntent().hasExtra(PHOTOS_URL_KEY) || !getIntent().hasExtra(POSITION_KEY)) {
37                         throw new IllegalStateException("Activity intent is missing news extras.");
38                 }
39
40                 ArrayList<String> photoUrls = getIntent().getStringArrayListExtra(PHOTOS_URL_KEY);
41                 int position = getIntent().getIntExtra(POSITION_KEY, 0);
42                 ZoomFragment zoomFragment = (ZoomFragment) getSupportFragmentManager().findFragmentByTag(ZOOM_FRAGMENT_TAG);
43                 if (zoomFragment == null) {
44                         zoomFragment = ZoomFragment.newInstance(photoUrls, position);
45                         getSupportFragmentManager().beginTransaction().add(R.id.flContainer, zoomFragment, ZOOM_FRAGMENT_TAG).commit();
46                 }
47         }
48 }