Advertisement
Guest User

Untitled

a guest
Oct 12th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.00 KB | None | 0 0
  1. findfriend.setOnClickListener(new View.OnClickListener() {
  2. @Override
  3. public void onClick(View view) {
  4. startActivity(new Intent(MainActivity.this, MapsActivity.class));
  5. }
  6. });
  7.  
  8. final TextView tname;
  9. tname = (TextView) findViewById(R.id.textview);
  10.  
  11. ref = FirebaseDatabase.getInstance().getReferenceFromUrl("https://ffinder-b4617.firebaseio.com/Email");
  12. mReferece2 = ref.child("email");
  13. mReferece2 = ref.child("location");
  14.  
  15. proceed.setOnClickListener(new View.OnClickListener() {
  16. @Override
  17. public void onClick(View view) {
  18.  
  19. ref.addValueEventListener(new ValueEventListener() {
  20. @Override
  21. public void onDataChange(DataSnapshot dataSnapshot) {
  22. for (DataSnapshot dataSnapshot1: dataSnapshot.getChildren()){
  23. UserInformation details = dataSnapshot1.getValue(UserInformation.class);
  24.  
  25. String email = details.email;
  26. Double lat = details.latitude;
  27. Double lon = details.longitude;
  28. tname.setText(lat+" "+'n'+lon+'n'+email);
  29.  
  30. System.out.println("-->"+ lat+" " + lon+" "+ email);
  31. }
  32. }
  33.  
  34. @Override
  35. public void onCancelled(DatabaseError databaseError) {
  36.  
  37. }
  38. });
  39.  
  40. }
  41. });
  42. }
  43.  
  44. @Override
  45. protected void onCreate(Bundle savedInstanceState) {
  46. super.onCreate(savedInstanceState);
  47. setContentView(R.layout.activity_maps);
  48. Firebase.setAndroidContext(this);
  49.  
  50. if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
  51. checkLocationPermission();
  52. }
  53.  
  54. //Check if Google Play Services Available or not
  55. if (!CheckGooglePlayServices()) {
  56. Log.d("onCreate", "Finishing test case since Google Play Services are not available");
  57. finish();
  58. } else {
  59. Log.d("onCreate", "Google Play Services available.");
  60. }
  61.  
  62. auth = FirebaseAuth.getInstance();
  63.  
  64. // Obtain the SupportMapFragment and get notified when the map is ready to be used.
  65. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
  66. .findFragmentById(R.id.map);
  67. mapFragment.getMapAsync(this);
  68.  
  69. FirebaseDatabase.getInstance().getReference().child("Location");
  70. }
  71.  
  72. @Override
  73. public void onLocationChanged(Location location) {
  74. Log.d("onLocationChanged", "entered");
  75.  
  76. mLastLocation = location;
  77.  
  78. DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
  79. dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
  80. Date date = new Date();
  81. mLastUpdateTime = ((dateFormat.format(date).toString()));
  82.  
  83. saveToFirebase();
  84.  
  85. if (mCurrLocationMarker != null) {
  86. mCurrLocationMarker.remove();
  87. }
  88.  
  89. latitude = location.getLatitude();
  90. longitude = location.getLongitude();
  91.  
  92. LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
  93. MarkerOptions markerOptions = new MarkerOptions();
  94. markerOptions.position(latLng);
  95. markerOptions.draggable(true);
  96. markerOptions.title("Current Position");
  97. markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
  98. mCurrLocationMarker = mMap.addMarker(markerOptions);
  99. mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
  100. mMap.animateCamera(CameraUpdateFactory.zoomTo(11));
  101.  
  102. Toast.makeText(MapsActivity.this,"Your Current Location", Toast.LENGTH_LONG).show();
  103.  
  104. //stop location updates
  105. if (mGoogleApiClient != null) {
  106. LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
  107. Log.d("onLocationChanged", "Removing Location Updates");
  108. }
  109.  
  110. }
  111.  
  112. public void saveToFirebase() {
  113.  
  114. Firebase firebase = new Firebase("https://ffinder-b4617.firebaseio.com").child("Email").child("location");
  115.  
  116. Map mLoactions = new HashMap();
  117. mLoactions.put("timestamp",mLastUpdateTime);
  118. mLoactions.put("latitude", mLastLocation.getLatitude());
  119. mLoactions.put("longitude", mLastLocation.getLongitude());
  120.  
  121. firebase.setValue(mLoactions);
  122. }
  123.  
  124. @Override
  125. public void onConnectionFailed(ConnectionResult connectionResult) {
  126. }
  127.  
  128. public static final int MY_PERMISSIONS_REQUEST_LOCATION = 99;
  129. public boolean checkLocationPermission(){
  130. if (ContextCompat.checkSelfPermission(this,
  131. Manifest.permission.ACCESS_FINE_LOCATION)
  132. != PackageManager.PERMISSION_GRANTED) {
  133.  
  134. // Asking user if explanation is needed
  135. if (ActivityCompat.shouldShowRequestPermissionRationale(this,
  136. Manifest.permission.ACCESS_FINE_LOCATION)) {
  137.  
  138. ActivityCompat.requestPermissions(this,
  139. new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
  140. MY_PERMISSIONS_REQUEST_LOCATION);
  141.  
  142.  
  143. } else {
  144. // No explanation needed, we can request the permission.
  145. ActivityCompat.requestPermissions(this,
  146. new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
  147. MY_PERMISSIONS_REQUEST_LOCATION);
  148. }
  149. return false;
  150. } else {
  151. return true;
  152. }
  153. }
  154.  
  155. @Override
  156. public void onRequestPermissionsResult(int requestCode,
  157. String permissions[], int[] grantResults) {
  158. switch (requestCode) {
  159. case MY_PERMISSIONS_REQUEST_LOCATION: {
  160. // If request is cancelled, the result arrays are empty.
  161. if (grantResults.length > 0
  162. && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  163.  
  164. if (ContextCompat.checkSelfPermission(this,
  165. Manifest.permission.ACCESS_FINE_LOCATION)
  166. == PackageManager.PERMISSION_GRANTED) {
  167.  
  168. if (mGoogleApiClient == null) {
  169. buildGoogleApiClient();
  170. }
  171. mMap.setMyLocationEnabled(true);
  172. }
  173.  
  174. } else {
  175.  
  176. // Permission denied, Disable the functionality that depends on this permission.
  177. Toast.makeText(this, "permission denied", Toast.LENGTH_LONG).show();
  178. }
  179. return;
  180. }
  181. }
  182. }
  183.  
  184. @Override
  185. public boolean onMarkerClick(Marker marker) {
  186. marker.setDraggable(true);
  187. return false;
  188. }
  189.  
  190. @Override
  191. public void onMarkerDragStart(Marker marker) {}
  192.  
  193. @Override
  194. public void onMarkerDrag(Marker marker) {}
  195.  
  196. @Override
  197. public void onMarkerDragEnd(Marker marker) {
  198. end_latitude = marker.getPosition().latitude;
  199. end_longitude = marker.getPosition().longitude;
  200.  
  201. Log.d("end_lat",""+end_latitude);
  202. Log.d("end_lng",""+end_longitude);
  203. }
  204. }
  205.  
  206. @Override
  207. protected void onCreate(Bundle savedInstanceState) {
  208. super.onCreate(savedInstanceState);
  209. setContentView(R.layout.activity_login);
  210. Firebase.setAndroidContext(this);
  211.  
  212. auth = FirebaseAuth.getInstance();
  213.  
  214. if (auth.getCurrentUser() != null){
  215. startActivity(new Intent(LoginActivity.this, MainActivity.class));
  216. finish();
  217. }
  218.  
  219. setContentView(R.layout.activity_login);
  220.  
  221. inputEmail = (EditText) findViewById(R.id.email);
  222. inputPassword = (EditText) findViewById(R.id.password);
  223. progressBar = (ProgressBar) findViewById(R.id.progressBar);
  224. btnSignup = (Button) findViewById(R.id.btn_signup);
  225. btnLogin = (Button) findViewById(R.id.btn_login);
  226. btnReset = (Button) findViewById(R.id.btn_reset_password);
  227.  
  228. auth = FirebaseAuth.getInstance();
  229.  
  230. btnSignup.setOnClickListener(new View.OnClickListener() {
  231. @Override
  232. public void onClick(View v) {
  233. startActivity(new Intent(LoginActivity.this, SignupActivity.class));
  234. }
  235. });
  236.  
  237. btnReset.setOnClickListener(new View.OnClickListener() {
  238. @Override
  239. public void onClick(View v) {
  240. startActivity(new Intent(LoginActivity.this, ResetPasswordActivity.class));
  241. }
  242. });
  243.  
  244. btnLogin.setOnClickListener(new View.OnClickListener() {
  245. @Override
  246. public void onClick(View v) {
  247.  
  248. String email = inputEmail.getText().toString();
  249. final String password = inputPassword.getText().toString();
  250.  
  251. if (TextUtils.isEmpty(email)) {
  252. Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
  253. return;
  254. }
  255.  
  256. if (TextUtils.isEmpty(password)) {
  257. Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
  258. return;
  259. }
  260. progressBar.setVisibility(View.VISIBLE);
  261.  
  262. //authenticate user
  263. auth.signInWithEmailAndPassword(email, password)
  264. .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
  265. @Override
  266. public void onComplete(@NonNull Task<AuthResult> task) {
  267.  
  268. progressBar.setVisibility(View.GONE);
  269. if (!task.isSuccessful()) {
  270. // there was an error
  271. if (password.length() < 6) {
  272. inputPassword.setError(getString(R.string.minimum_password));
  273. } else {
  274. Toast.makeText(LoginActivity.this, getString(R.string.auth_failed), Toast.LENGTH_LONG).show();
  275. }
  276. } else {
  277. Intent intent = new Intent(LoginActivity.this, MainActivity.class);
  278. startActivity(intent);
  279. finish();
  280. }
  281. }
  282. });
  283. }
  284. });
  285. }
  286.  
  287. public void userLoginInfo(){
  288.  
  289. String email = inputEmail.getText().toString();
  290.  
  291. mDatabase = FirebaseDatabase.getInstance().getReference().child("Email").push();
  292. String userId = mDatabase.child("email").getKey();
  293. mDatabase.child(userId).setValue(email);
  294. }
  295. }
  296.  
  297. public class UserInformation {
  298.  
  299. public String email;
  300. public double latitude;
  301. public double longitude;
  302.  
  303. public UserInformation() {
  304. }
  305.  
  306. public UserInformation(String email, double latitude, double longitude) {
  307. this.email = email;
  308. this.latitude = latitude;
  309. this.longitude = longitude;
  310. }
  311.  
  312. public String getEmail() {
  313. return email;
  314. }
  315.  
  316. public double getLatitude() {
  317. return latitude;
  318. }
  319.  
  320. public double getLongitude() {
  321. return longitude;
  322. }
  323. }
  324.  
  325. public void saveToFirebase() {
  326. DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Email").push();
  327.  
  328. String email = FirebaseAuth.getInstance().getCurrentUser().getEmail();
  329.  
  330. UserInformation userInformation = new UserInformation(email, mLastLocation.getLatitude(), mLastLocation.getLongitude());
  331.  
  332. ref.setValue(userInformation);
  333. }
  334.  
  335. DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Email");
  336.  
  337. ref.addValueEventListener(new ValueEventListener() {
  338. @Override
  339. public void onDataChange(DataSnapshot dataSnapshot) {
  340. for (DataSnapshot child : dataSnapshot.getChildren()){
  341. UserInformation details = child.getValue(UserInformation.class);
  342.  
  343. System.out.println("-->" + details.getLatitude() +" " + details.getLongitude() +" "+ details.getEmail());
  344. }
  345. }
  346.  
  347. @Override
  348. public void onCancelled(DatabaseError databaseError) {}
  349. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement