Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.daumantas.zaidimas;
- import android.Manifest;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.location.Location;
- import android.location.LocationManager;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.TextView;
- import android.widget.Toast;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import android.location.LocationListener;
- import com.google.android.gms.common.GoogleApiAvailability;
- import com.google.android.gms.location.FusedLocationProviderClient;
- import com.google.android.gms.location.LocationServices;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.OnMapReadyCallback;
- import com.google.android.gms.maps.SupportMapFragment;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- import java.net.URL;
- public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
- private static final String TAG = "MapActivity";
- private static final String FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION;
- private static final String COARSE_LOCATION = Manifest.permission.ACCESS_COARSE_LOCATION;
- private static final int LOCATION_PERMISSION_REQUEST_CODE = 1234;
- private static final float DEFAULT_ZOOM = 15f;
- //vars
- private Boolean mLocationPermissionGranted = false;
- private GoogleMap mMap;
- private FusedLocationProviderClient mFusedLocationProviderClient;
- ListView listView1;
- ListView listView2;
- ListView listView3;
- ListView listView4;
- ListView listView5;
- String Grain;
- String Timber;
- String Stone;
- String Iron;
- String Gold;
- TextView tvGrain;
- TextView tvTimber;
- TextView tvStone;
- TextView tvIron;
- TextView tvGold;
- double latit;
- double longit;
- String postLat;
- String postLong;
- AlertDialog.Builder builder;
- String URL_POST = "http://192.168.1.65/getdataa.php";
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_map);
- getLocationPermission();
- tvGrain = (TextView) findViewById(R.id.tvGrain);
- tvTimber = (TextView) findViewById(R.id.tvTimber);
- tvStone = (TextView) findViewById(R.id.tvStone);
- tvIron = (TextView) findViewById(R.id.tvIron);
- tvGold = (TextView) findViewById(R.id.tvGold);
- builder = new AlertDialog.Builder(MapActivity.this);
- }
- @Override
- public void onMapReady(GoogleMap googleMap) {
- Toast.makeText(this, "Map is ready", Toast.LENGTH_SHORT).show();
- Log.d(TAG, "onMapReady: Map is ready");
- mMap = googleMap;
- if (mLocationPermissionGranted) {
- getDeviceLocation();
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
- != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
- Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
- return;
- }
- mMap.setMyLocationEnabled(true);
- LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
- lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, new LocationListener() {
- @Override
- public void onLocationChanged(Location location) {
- Log.d("My Location: ", location.toString());
- LatLng newLocation = new LatLng(location.getLatitude(), location.getLongitude());
- latit = newLocation.latitude;
- longit = newLocation.longitude;
- double roundlong = Math.round(latit * 1000) / 1000.0;
- double roundlat = Math.round(longit * 1000) / 1000.0;
- String postLat = String.valueOf(roundlat);
- String postLong = String.valueOf(roundlong);
- Log.d(TAG, "_________POSTLAT___________: " + postLat);
- Log.d(TAG, "_________POSTLONG___________: " + postLong);
- Toast.makeText(MapActivity.this, "Location Changed", Toast.LENGTH_SHORT).show();
- onLogin(postLat, postLong);
- }
- @Override
- public void onProviderDisabled(String provider) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onProviderEnabled(String provider) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onStatusChanged(String provider, int status,
- Bundle extras) {
- // TODO Auto-generated method stub
- }
- });
- }
- }
- public void onLogin(String postLat, String postLong) {
- Log.d(TAG, "_________onLogin CALLED_________");
- String username = postLat;
- String password = postLong;
- String type = "login";
- BackgroundWorker backgroundWorker = new BackgroundWorker(this);
- backgroundWorker.execute(type, username, password);
- }
- public void getMats(String recievedGrain, String recievedTimber, String recievedStone, String recievedIron, String recievedGold){
- Log.d(TAG, "_________getMats CALLED_________");
- Log.d(TAG, "RECIEVED GRAIN: " + recievedGrain);
- Log.d(TAG, "RECIEVED Timber: " + recievedTimber);
- Log.d(TAG, "RECIEVED Stone: " + recievedStone);
- Log.d(TAG, "RECIEVED Iron: " + recievedIron);
- Log.d(TAG, "RECIEVED Gold: " + recievedGold);
- tvGrain.setText(recievedGrain);
- tvTimber.setText(recievedTimber);
- tvStone.setText(recievedStone);
- tvIron.setText(recievedIron);
- tvGold.setText(recievedGold);
- }
- private void getDeviceLocation(){
- Log.d(TAG, "getDeviceLocation: getting the devices location");
- mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
- try {
- if (mLocationPermissionGranted){
- final Task location = mFusedLocationProviderClient.getLastLocation();
- location.addOnCompleteListener(new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()){
- Log.d(TAG, "onComplete: found location!");
- Location currentLocation = (Location) task.getResult();
- moveCamera(new LatLng(currentLocation.getLatitude(),currentLocation.getLongitude()),DEFAULT_ZOOM);
- } else{
- Log.d(TAG, "onComplete: current location is null");
- Toast.makeText(MapActivity.this, "unable to get current location", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- } catch (SecurityException e){
- Log.d(TAG, "getDeviceLocation: SecurityException: " + e.getMessage());
- }
- }
- private void moveCamera(LatLng latLng, float zoom){
- Log.d(TAG, "moveCamera: Moving the camera to " + latLng.latitude + ", lng: " + latLng.longitude );
- mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,zoom));
- }
- private void initMap(){
- SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
- Log.d(TAG, "initMap: initializing map");
- mapFragment.getMapAsync(MapActivity.this);
- }
- private void getLocationPermission(){
- Log.d(TAG, "getLocationPermission: Getting location permissions");
- String[] permissions = {Manifest.permission.ACCESS_COARSE_LOCATION,
- Manifest.permission.ACCESS_FINE_LOCATION};
- if(ContextCompat.checkSelfPermission(this.getApplicationContext(),
- FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
- if (ContextCompat.checkSelfPermission(this.getApplicationContext(),
- COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED){
- mLocationPermissionGranted = true;
- initMap();
- }else {
- ActivityCompat.requestPermissions(this,permissions,LOCATION_PERMISSION_REQUEST_CODE);
- }
- }else {
- ActivityCompat.requestPermissions(this,permissions,LOCATION_PERMISSION_REQUEST_CODE);
- }
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- Log.d(TAG, "onRequestPermissionsResult: called");
- mLocationPermissionGranted = false;
- switch (requestCode){
- case LOCATION_PERMISSION_REQUEST_CODE:{
- if (grantResults.length > 0){
- for (int i =0; i < grantResults.length; i++) {
- if (grantResults[i] != PackageManager.PERMISSION_GRANTED){
- mLocationPermissionGranted = false;
- Log.d(TAG, "onRequestPermissionsResult: failed permission");
- return;
- }
- }
- Log.d(TAG, "onRequestPermissionsResult: permission granted");
- mLocationPermissionGranted = true;
- //initialize map
- initMap();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement