11package com .hackfsu .mobile .android .app .fragment ;
22
33import android .content .Context ;
4+ import android .content .Intent ;
5+ import android .graphics .Bitmap ;
6+ import android .graphics .drawable .BitmapDrawable ;
47import android .os .Bundle ;
58import android .support .design .widget .AppBarLayout ;
69import android .support .v4 .widget .SwipeRefreshLayout ;
1215import android .view .ViewGroup ;
1316import android .widget .ImageView ;
1417
18+ import com .hackfsu .mobile .android .api .API ;
1519import com .hackfsu .mobile .android .api .model .MapModel ;
1620import com .hackfsu .mobile .android .app .R ;
1721//import com.parse.FindCallback;
2226//import com.parse.ParseImageView;
2327//import com.parse.ParseObject;
2428//import com.parse.ParseQuery;
29+ import com .hackfsu .mobile .android .app .activity .MapViewActivity ;
30+ import com .squareup .picasso .Picasso ;
2531import com .yqritc .recyclerviewflexibledivider .HorizontalDividerItemDecoration ;
2632
33+ import java .io .ByteArrayOutputStream ;
2734import java .util .ArrayList ;
2835import java .util .List ;
2936
@@ -38,6 +45,7 @@ public class MapsFragment extends BaseFragment {
3845 SwipeRefreshLayout mSwipeLayout ;
3946
4047 BaseFragment .OnFragmentInteractionListener mListener ;
48+ API mAPI ;
4149
4250
4351 public static MapsFragment newInstance () {
@@ -83,48 +91,29 @@ public void onActivityCreated(Bundle savedInstanceState) {
8391 mAdapter = new MapItemRecyclerAdapter (new ArrayList <MapModel >());
8492 mRecyclerView .setAdapter (mAdapter );
8593
86- // ParseQuery<MapItem> query = ParseQuery.getQuery(ParseName.MAPITEM);
87- // query.setCachePolicy(ParseQuery.CachePolicy.CACHE_ELSE_NETWORK);
88- // query.orderByAscending(ParseName.MAP_FLOOR);
89- // query.findInBackground(new FindCallback<MapItem>() {
90- // @Override
91- // public void done(List<MapItem> list, ParseException e) {
92- // if(e != null) {
93- // Log.e("HackFSU", "Error: " + e.getMessage());
94- // } else {
95- // mAdapter.notifyItemRangeRemoved(0, mAdapter.getItemCount());
96- // mAdapter.replaceDataset(list);
97- // mAdapter.notifyItemRangeInserted(0, mAdapter.getItemCount());
98- // }
99- // }
100- // });
94+ mAPI = new API (getActivity ());
95+ loadMaps ();
10196
97+ mSwipeLayout .setColorSchemeResources (R .color .accent );
10298 mSwipeLayout .setOnRefreshListener (new SwipeRefreshLayout .OnRefreshListener () {
10399 @ Override
104100 public void onRefresh () {
105101
106- // ParseQuery<MapItem> query = ParseQuery.getQuery(ParseName.MAPITEM);
107- // query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ELSE_CACHE);
108- // query.orderByAscending(ParseName.MAP_FLOOR);
109- // query.findInBackground(new FindCallback<MapItem>() {
110- // @Override
111- // public void done(List<MapItem> list, ParseException e) {
112- // if(e != null) {
113- // Log.e("HackFSU", "Error: " + e.getMessage());
114- // } else {
115- // mAdapter.notifyItemRangeRemoved(0, mAdapter.getItemCount());
116- // mAdapter.replaceDataset(list);
117- // mAdapter.notifyItemRangeInserted(0, mAdapter.getItemCount());
118- // }
119- // mSwipeLayout.setRefreshing(false);
120- // }
121- // });
122-
102+ loadMaps ();
123103 mSwipeLayout .setRefreshing (false );
124104
125105 }
126106 });
127- mSwipeLayout .setColorSchemeResources (R .color .accent );
107+ }
108+
109+ private void loadMaps () {
110+ mAPI .getMaps (new API .APICallback <MapModel >() {
111+ @ Override
112+ public void onDataReady (List <MapModel > dataSet ) {
113+ mAdapter .replaceDataset (dataSet );
114+ mAdapter .notifyDataSetChanged ();
115+ }
116+ });
128117 }
129118
130119 @ Override
@@ -182,6 +171,26 @@ public MapItemRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
182171 @ Override
183172 public void onBindViewHolder (final ViewHolder holder , int position ) {
184173
174+ Picasso .with (getContext ())
175+ .load (mDataset .get (position ).getURL ())
176+ .into (holder .mMapItemImage );
177+
178+ holder .mMapItemImage .setOnClickListener (new View .OnClickListener () {
179+ @ Override
180+ public void onClick (View v ) {
181+
182+ Bitmap bitmap = ((BitmapDrawable ) holder .mMapItemImage .getDrawable ()).getBitmap ();
183+ ByteArrayOutputStream baos = new ByteArrayOutputStream ();
184+ bitmap .compress (Bitmap .CompressFormat .JPEG , 100 , baos );
185+ byte [] imageInByte = baos .toByteArray ();
186+
187+ Intent intent = new Intent (getContext (), MapViewActivity .class );
188+ intent .putExtra ("map" , imageInByte );
189+ getContext ().startActivity (intent );
190+
191+ }
192+ });
193+
185194// holder.mMapItemImage.setParseFile(mDataset.get(position).getImage());
186195// holder.mMapItemImage.loadInBackground(new GetDataCallback() {
187196// @Override
0 commit comments