Skip to content

Commit 2d1236e

Browse files
committed
Adds sponsors.
1 parent 274a2d9 commit 2d1236e

2 files changed

Lines changed: 67 additions & 41 deletions

File tree

mobile/src/main/java/com/hackfsu/mobile/android/api/API.java

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,23 +149,37 @@ public void onComplete(String json) {
149149
mapJSON = response.getJSONArray("maps");
150150

151151
// Make sure we get the right JSON
152-
// TODO LATER: Check and add only NEW maps - check for 304 Modified in request?
153-
// TODO: CACHE RESULTS
154152

155153
for (int i = 0; i < mapJSON.length(); i++) {
156154
JSONObject temp = mapJSON.optJSONObject(i);
157-
if (temp != null) {
155+
try {
156+
158157
// Pull data members from JSON into UpdateModel to add to List
159158
MapModel tempMap = new MapModel(
160-
temp.getString("title"),
161-
temp.getString("link"),
162-
temp.getInt("order")
159+
temp.getString("title"),
160+
temp.getString("link"),
161+
temp.getInt("order")
163162
);
164163
maps.add(tempMap);
164+
165+
166+
} catch (Exception e) {
167+
Log.e("getMaps()", e.getLocalizedMessage());
165168
}
169+
170+
166171
}
167172

168-
callback.onDataReady(maps);
173+
174+
Collections.sort(maps, new Comparator<MapModel>() {
175+
@Override
176+
public int compare(MapModel o1, MapModel o2) {
177+
return Integer.compare(o1.getOrdering(), o2.getOrdering());
178+
}
179+
});
180+
181+
performCallback(callback, maps);
182+
169183
} catch (JSONException e) {
170184
// handle the exception - send error back to the server?
171185
}
@@ -300,7 +314,8 @@ public void onComplete(String json) {
300314
// Ensuring we have the right JSON
301315
for (int i = 0; i < sponsorJSON.length(); i++) {
302316
JSONObject temp = sponsorJSON.optJSONObject(i);
303-
if (temp != null) {
317+
318+
try {
304319
// Pull data from JSON into SponsorModel to add to list
305320
SponsorModel tempSponsor =
306321
new SponsorModel(
@@ -312,6 +327,8 @@ public void onComplete(String json) {
312327
);
313328

314329
sponsors.add(tempSponsor);
330+
} catch (Exception e) {
331+
Log.e("getSponsors()", e.getLocalizedMessage());
315332
}
316333
}
317334

mobile/src/main/java/com/hackfsu/mobile/android/app/fragment/MapsFragment.java

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.hackfsu.mobile.android.app.fragment;
22

33
import android.content.Context;
4+
import android.content.Intent;
5+
import android.graphics.Bitmap;
6+
import android.graphics.drawable.BitmapDrawable;
47
import android.os.Bundle;
58
import android.support.design.widget.AppBarLayout;
69
import android.support.v4.widget.SwipeRefreshLayout;
@@ -12,6 +15,7 @@
1215
import android.view.ViewGroup;
1316
import android.widget.ImageView;
1417

18+
import com.hackfsu.mobile.android.api.API;
1519
import com.hackfsu.mobile.android.api.model.MapModel;
1620
import com.hackfsu.mobile.android.app.R;
1721
//import com.parse.FindCallback;
@@ -22,8 +26,11 @@
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;
2531
import com.yqritc.recyclerviewflexibledivider.HorizontalDividerItemDecoration;
2632

33+
import java.io.ByteArrayOutputStream;
2734
import java.util.ArrayList;
2835
import 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

Comments
 (0)