diff --git a/app/src/main/java/com/mapps/seproject/CameraFragment.java b/app/src/main/java/com/mapps/seproject/CameraFragment.java index 7444e512e6bb156754cdf69a237e623d7ac6bef3..2ac3fa49a3ac671dd0558b4219378202f02f928e 100644 --- a/app/src/main/java/com/mapps/seproject/CameraFragment.java +++ b/app/src/main/java/com/mapps/seproject/CameraFragment.java @@ -54,6 +54,9 @@ import static android.app.Activity.RESULT_OK; public class CameraFragment extends Fragment { + String UserEmail = null; + final DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("users"); + private static final String IMAGE_DIRECTORY_NAME = "Hello_Camera"; View view; private static final int CAMERA_CAPTURE_IMAGE_REQUEST_CODE = 100; @@ -94,6 +97,7 @@ public class CameraFragment extends Fragment { firebaseUser = firebaseAuth.getCurrentUser(); UID = firebaseUser.getUid(); + final String data = firebaseAuth.getCurrentUser().getEmail(); mStorageRef = FirebaseStorage.getInstance().getReference(); btnCapturePicture = (Button) view.findViewById(R.id.btnCapturePicture); @@ -152,7 +156,7 @@ public class CameraFragment extends Fragment { } @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { + public void onActivityResult(int requestCode, int resultCode, final Intent data) { // if the result is capturing Image if (requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE) { if (resultCode == RESULT_OK) { @@ -167,7 +171,35 @@ public class CameraFragment extends Fragment { latitude = gps .getLatitude(); city = gps.getCity(); postalCode = gps.getPostalCode(); - Toast.makeText(getActivity(),"Longitude:"+Double.toString(longitude)+"\nLatitude:"+Double.toString(latitude)+"\nCity:"+city+"\nPostal:"+postalCode,Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), city, Toast.LENGTH_SHORT).show(); + /* mDatabase.addListenerForSingleValueEvent(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot dataSnapshot) { + for(DataSnapshot snapshot : dataSnapshot.getChildren()){ + + UserEmail = snapshot.child("email").toString().split("value =")[1].split(" ")[1].replaceAll("\\s+",""); + if(UserEmail.equals(data)) { + + snapshot.getRef().child("location").setValue(city); + Toast.makeText(getActivity(), UserEmail, Toast.LENGTH_SHORT).show(); + Log.e("Location:",city); + + break; + } + + + + } + + } + + @Override + public void onCancelled(DatabaseError databaseError) { + + } + });*/ + + // Toast.makeText(getActivity(),"Longitude:"+Double.toString(longitude)+"\nLatitude:"+Double.toString(latitude)+"\nCity:"+city+"\nPostal:"+postalCode,Toast.LENGTH_SHORT).show(); } else { diff --git a/app/src/main/java/com/mapps/seproject/TrackGPS.java b/app/src/main/java/com/mapps/seproject/TrackGPS.java index 3a2a4276863f863b3dc926123234f83272066483..16335644d84889e56f37d38dd60438d4616f0955 100644 --- a/app/src/main/java/com/mapps/seproject/TrackGPS.java +++ b/app/src/main/java/com/mapps/seproject/TrackGPS.java @@ -123,6 +123,35 @@ public class TrackGPS extends Service implements LocationListener { //String country = addresses.get(0).getCountryName(); postalCode = addresses.get(0).getPostalCode(); //String knownName = addresses.get(0).getFeatureName(); + + // addresses = geocoder.getFromLocation(latitude, longitude, 1); + // String address = addresses.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex() + // city = addresses.get(0).getLocality(); + mDatabase.addListenerForSingleValueEvent(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot dataSnapshot) { + for(DataSnapshot snapshot : dataSnapshot.getChildren()){ + + UserEmail = snapshot.child("email").toString().split("value =")[1].split(" ")[1].replaceAll("\\s+",""); + if(UserEmail.equals(data)) { + + snapshot.getRef().child("location").setValue(city); + Log.e("Location:",city); + + break; + } + + + + } + + } + + @Override + public void onCancelled(DatabaseError databaseError) { + + } + }); } } catch(SecurityException e){ @@ -145,6 +174,7 @@ public class TrackGPS extends Service implements LocationListener { longitude = loc.getLongitude(); Geocoder geocoder= new Geocoder(mContext,Locale.getDefault()); List<Address> addresses; + int flags = 0; addresses = geocoder.getFromLocation(latitude, longitude, 1); // String address = addresses.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex() @@ -158,10 +188,15 @@ public class TrackGPS extends Service implements LocationListener { if(UserEmail.equals(data)) { snapshot.getRef().child("location").setValue(city); + Log.e("Location:",city); + break; } + + } + } @Override