SHARE
TWEET

Untitled

a guest Oct 12th, 2017 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. });
RAW Paste Data
Pastebin PRO Autumn Special!
Get 40% OFF on Pastebin PRO accounts!
Top