Skip to content

Commit 9fcb3e6

Browse files
committed
#29 : Showing Details of Privy
1 parent 8d0c1f7 commit 9fcb3e6

File tree

15 files changed

+473
-27
lines changed

15 files changed

+473
-27
lines changed

.idea/libraries/cardview_v7_25_0_1.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ dependencies {
3737
compile 'com.android.volley:volley:1.0.0'
3838
compile 'com.google.android.gms:play-services:10.0.1'
3939
compile 'com.github.bumptech.glide:glide:3.7.0'
40+
compile 'com.android.support:cardview-v7:25.0.1'
4041
}
4142

4243
apply plugin: 'com.google.gms.google-services'

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111
<uses-permission android:name="android.permission.INTERNET" />
1212

1313
<application
14+
android:name="android.support.multidex.MultiDexApplication"
1415
android:allowBackup="true"
1516
android:icon="@mipmap/ic_launcher"
1617
android:label="@string/app_name"
1718
android:supportsRtl="true"
18-
android:theme="@style/AppTheme.NoActionBar"
19-
android:name="android.support.multidex.MultiDexApplication">
20-
<activity android:name=".MainActivity"
19+
android:theme="@style/AppTheme.NoActionBar">
20+
<activity
21+
android:name=".MainActivity"
2122
android:screenOrientation="portrait">
2223
<intent-filter>
2324
<action android:name="android.intent.action.MAIN" />
@@ -37,6 +38,7 @@
3738
android:name="com.google.android.geo.API_KEY"
3839
android:value="@string/google_maps_key" />
3940

41+
<activity android:name=".PrivyDetailsActivity"></activity>
4042
</application>
4143

4244
</manifest>

app/src/main/java/com/pulkit4tech/privy/MainActivity.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ protected void onCreate(Bundle savedInstanceState) {
8080
if (savedInstanceState == null) {
8181
setUpInfo();
8282
}
83+
84+
loadMapFragment();
8385
}
8486

8587
@Override
@@ -95,9 +97,6 @@ private void setUpInfo() {
9597
if (checkIfLoggedIn()) {
9698
fab.hide();
9799
}
98-
99-
navigationView.getMenu().getItem(0).setChecked(true);
100-
loadMapFragment();
101100
}
102101

103102
private void setUpNavigationDrawer() {
@@ -300,7 +299,8 @@ private void closeDrawer() {
300299
@Override
301300
protected void onPostResume() {
302301
super.onPostResume();
303-
loadMapFragment();
302+
// if(checkLocationEnabledPermission())
303+
// loadMapFragment();
304304
}
305305

306306
@Override
@@ -418,6 +418,7 @@ private void loadAddNewPrivyActivity() {
418418
}
419419

420420
private void loadMapFragment() {
421+
navigationView.getMenu().getItem(0).setChecked(true);
421422
if (!checkLocationEnabledPermission()) {
422423
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_FINE_LOCATIONS);
423424
} else {
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
package com.pulkit4tech.privy;
2+
3+
import android.content.Intent;
4+
import android.net.Uri;
5+
import android.support.design.widget.FloatingActionButton;
6+
import android.support.design.widget.Snackbar;
7+
import android.support.v7.app.AppCompatActivity;
8+
import android.os.Bundle;
9+
import android.support.v7.widget.Toolbar;
10+
import android.util.Log;
11+
import android.view.MenuItem;
12+
import android.view.View;
13+
import android.widget.RelativeLayout;
14+
import android.widget.TextView;
15+
16+
import com.pulkit4tech.privy.data.json.LocationData;
17+
import com.pulkit4tech.privy.data.json.MarkerData;
18+
19+
import static android.content.Intent.ACTION_VIEW;
20+
import static com.pulkit4tech.privy.constants.Constants.DEBUG;
21+
22+
public class PrivyDetailsActivity extends AppCompatActivity {
23+
24+
private MarkerData data;
25+
26+
@Override
27+
protected void onCreate(Bundle savedInstanceState) {
28+
super.onCreate(savedInstanceState);
29+
setContentView(R.layout.activity_privy_details);
30+
setToolBar();
31+
setFab();
32+
33+
data = retrieveData();
34+
Log.d(DEBUG, data.toString());
35+
if (data != null) {
36+
setData();
37+
}
38+
39+
}
40+
41+
private void setFab() {
42+
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
43+
fab.setOnClickListener(new View.OnClickListener() {
44+
@Override
45+
public void onClick(View view) {
46+
getDirection();
47+
}
48+
});
49+
}
50+
51+
private void getDirection() {
52+
try {
53+
Intent intent = new Intent(ACTION_VIEW,
54+
Uri.parse(String.format("http://maps.google.com/maps?daddr=%f,%f", data.getGeometry().getLocation().getLat(), data.getGeometry().getLocation().getLng())));
55+
startActivity(intent);
56+
} catch (Exception e) {
57+
Log.d(DEBUG, e.toString());
58+
snackMsg(getString(R.string.error_processing_request));
59+
}
60+
}
61+
62+
private void setToolBar() {
63+
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
64+
setSupportActionBar(toolbar);
65+
getSupportActionBar().setTitle("Privy Details");
66+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
67+
getSupportActionBar().setDisplayShowHomeEnabled(true);
68+
}
69+
70+
private void setData() {
71+
TextView name = (TextView) findViewById(R.id.privy_details_name);
72+
TextView geometry = (TextView) findViewById(R.id.privy_details_geo);
73+
TextView open_now = (TextView) findViewById(R.id.privy_details_opening);
74+
TextView vicinity = (TextView) findViewById(R.id.privy_details_vicinity);
75+
TextView ratings = (TextView) findViewById(R.id.privy_details_ratings);
76+
77+
name.setText(checkNameValue(data.getName()));
78+
geometry.setText(checkGeoValue(data.getGeometry()));
79+
open_now.setText(checkOpening(data.getOpeninghours()));
80+
vicinity.setText(checkVicinityValue(data.getVicinity()));
81+
ratings.setText(checkRatingValue(data.getRating()));
82+
}
83+
84+
private String checkNameValue(String val) {
85+
if (val == null)
86+
return "N/A";
87+
return val;
88+
}
89+
90+
private String checkVicinityValue(String vicinity) {
91+
if (vicinity == null)
92+
return "N/A";
93+
94+
return vicinity;
95+
}
96+
97+
private String checkRatingValue(float rating) {
98+
if (rating == 0)
99+
return "N/A";
100+
101+
return String.format("%.2f", rating);
102+
}
103+
104+
private String checkOpening(MarkerData.OpeningHours openingHours) {
105+
if (openingHours == null)
106+
return "N/A";
107+
108+
return openingHours.isOpennow() ? "YES" : "NO";
109+
}
110+
111+
private String checkGeoValue(LocationData geo) {
112+
if (geo == null)
113+
return "N/A";
114+
return "Lat : " + String.format("%.2f", geo.getLocation().getLat()) + " Lng : " + String.format("%.2f", geo.getLocation().getLng());
115+
}
116+
117+
private MarkerData retrieveData() {
118+
Bundle bundle = getIntent().getExtras();
119+
if (bundle != null) {
120+
return (MarkerData) getIntent().getSerializableExtra(getString(R.string.marker_data));
121+
}
122+
return null;
123+
}
124+
125+
@Override
126+
public boolean onOptionsItemSelected(MenuItem item) {
127+
// handle arrow click here
128+
if (item.getItemId() == android.R.id.home) {
129+
finish(); // close this activity and return to preview activity (if there is any)
130+
}
131+
132+
return super.onOptionsItemSelected(item);
133+
}
134+
135+
private void snackMsg(String msg) {
136+
Snackbar.make((RelativeLayout) findViewById(R.id.relative_layout_privy_detail), msg, Snackbar.LENGTH_LONG).show();
137+
}
138+
}

app/src/main/java/com/pulkit4tech/privy/data/json/Location.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.pulkit4tech.privy.data.json;
22

3-
public class Location {
3+
import java.io.Serializable;
4+
5+
public class Location implements Serializable{
46
private double lat;
57
private double lng;
68

app/src/main/java/com/pulkit4tech/privy/data/json/LocationData.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.pulkit4tech.privy.data.json;
22

3-
public class LocationData {
3+
import java.io.Serializable;
4+
5+
public class LocationData implements Serializable {
46
private Location location;
57

68
public void setLocation(Location location) {

app/src/main/java/com/pulkit4tech/privy/data/json/MarkerData.java

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import com.google.gson.annotations.SerializedName;
44

5+
import java.io.Serializable;
6+
import java.util.ArrayList;
57
import java.util.List;
68

7-
public class MarkerData {
9+
public class MarkerData implements Serializable {
810
private LocationData geometry;
911

1012
@SerializedName("icon")
@@ -15,6 +17,24 @@ public class MarkerData {
1517
private String scope;
1618
private List<String> types;
1719
private String vicinity;
20+
private OpeningHours opening_hours;
21+
private float rating;
22+
23+
public float getRating() {
24+
return rating;
25+
}
26+
27+
public void setRating(float rating) {
28+
this.rating = rating;
29+
}
30+
31+
public OpeningHours getOpeninghours() {
32+
return opening_hours;
33+
}
34+
35+
public void setOpeninghours(OpeningHours opening_hours) {
36+
this.opening_hours = opening_hours;
37+
}
1838

1939
public LocationData getGeometry() {
2040
return geometry;
@@ -91,6 +111,37 @@ public String toString() {
91111
", scope='" + scope + '\'' +
92112
", types=" + types +
93113
", vicinity='" + vicinity + '\'' +
114+
", opening_hours=" + opening_hours +
115+
", rating=" + rating +
94116
'}';
95117
}
118+
119+
public class OpeningHours implements Serializable{
120+
private boolean open_now;
121+
private ArrayList<String> weekday_text;
122+
123+
public boolean isOpennow() {
124+
return open_now;
125+
}
126+
127+
public void setOpennow(boolean open_now) {
128+
this.open_now = open_now;
129+
}
130+
131+
public ArrayList<String> getWeekdaytext() {
132+
return weekday_text;
133+
}
134+
135+
public void setWeekdaytext(ArrayList<String> weekday_text) {
136+
this.weekday_text = weekday_text;
137+
}
138+
139+
@Override
140+
public String toString() {
141+
return "OpeningHours{" +
142+
"open_now=" + open_now +
143+
", weekday_text=" + weekday_text +
144+
'}';
145+
}
146+
}
96147
}

app/src/main/java/com/pulkit4tech/privy/fragments/PrivyMapsFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ private boolean checkLocationEnabledPermission() {
162162
}
163163

164164
private void markNearbyPrivys(LatLng myLocation) {
165-
new NetworkRequest(mContext, mMap, universalMarkers, myLocation).getMarkerData();
165+
new NetworkRequest(getActivity(), mMap, universalMarkers, myLocation).getMarkerData();
166166
}
167167

168-
public void snackMsg(String msg) {
168+
private void snackMsg(String msg) {
169169
Snackbar.make((CoordinatorLayout) getActivity().findViewById(R.id.coordinator_layout), msg, Snackbar.LENGTH_LONG).show();
170170
}
171171
}

0 commit comments

Comments
 (0)