Advertisement
Guest User

Untitled

a guest
Aug 12th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.41 KB | None | 0 0
  1. package com.example.daumantas.zaidimas;
  2.  
  3. import android.Manifest;
  4. import android.app.AlertDialog;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.pm.PackageManager;
  8. import android.location.Location;
  9. import android.location.LocationManager;
  10. import android.os.AsyncTask;
  11. import android.os.Bundle;
  12. import android.support.annotation.NonNull;
  13. import android.support.annotation.Nullable;
  14. import android.support.v4.app.ActivityCompat;
  15. import android.support.v4.content.ContextCompat;
  16. import android.support.v7.app.AppCompatActivity;
  17. import android.util.Log;
  18. import android.widget.ArrayAdapter;
  19. import android.widget.ListView;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22.  
  23.  
  24. import org.json.JSONArray;
  25. import org.json.JSONException;
  26. import org.json.JSONObject;
  27. import android.location.LocationListener;
  28.  
  29. import com.google.android.gms.common.GoogleApiAvailability;
  30. import com.google.android.gms.location.FusedLocationProviderClient;
  31. import com.google.android.gms.location.LocationServices;
  32. import com.google.android.gms.maps.CameraUpdateFactory;
  33. import com.google.android.gms.maps.GoogleMap;
  34. import com.google.android.gms.maps.OnMapReadyCallback;
  35. import com.google.android.gms.maps.SupportMapFragment;
  36. import com.google.android.gms.maps.model.LatLng;
  37. import com.google.android.gms.tasks.OnCompleteListener;
  38. import com.google.android.gms.tasks.Task;
  39. import java.io.BufferedReader;
  40. import java.io.InputStreamReader;
  41. import java.net.HttpURLConnection;
  42. import java.net.URL;
  43.  
  44. public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
  45.  
  46.  
  47. private static final String TAG = "MapActivity";
  48.  
  49. private static final String FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION;
  50. private static final String COARSE_LOCATION = Manifest.permission.ACCESS_COARSE_LOCATION;
  51. private static final int LOCATION_PERMISSION_REQUEST_CODE = 1234;
  52. private static final float DEFAULT_ZOOM = 15f;
  53.  
  54. //vars
  55. private Boolean mLocationPermissionGranted = false;
  56. private GoogleMap mMap;
  57. private FusedLocationProviderClient mFusedLocationProviderClient;
  58. ListView listView1;
  59. ListView listView2;
  60. ListView listView3;
  61. ListView listView4;
  62. ListView listView5;
  63.  
  64. String Grain;
  65. String Timber;
  66. String Stone;
  67. String Iron;
  68. String Gold;
  69.  
  70.  
  71. TextView tvGrain;
  72. TextView tvTimber;
  73. TextView tvStone;
  74. TextView tvIron;
  75. TextView tvGold;
  76.  
  77. double latit;
  78. double longit;
  79. String postLat;
  80. String postLong;
  81. AlertDialog.Builder builder;
  82.  
  83. String URL_POST = "http://192.168.1.65/getdataa.php";
  84.  
  85.  
  86. @Override
  87. protected void onCreate(@Nullable Bundle savedInstanceState) {
  88. super.onCreate(savedInstanceState);
  89. setContentView(R.layout.activity_map);
  90. getLocationPermission();
  91. tvGrain = (TextView) findViewById(R.id.tvGrain);
  92. tvTimber = (TextView) findViewById(R.id.tvTimber);
  93. tvStone = (TextView) findViewById(R.id.tvStone);
  94. tvIron = (TextView) findViewById(R.id.tvIron);
  95. tvGold = (TextView) findViewById(R.id.tvGold);
  96.  
  97.  
  98. builder = new AlertDialog.Builder(MapActivity.this);
  99. }
  100.  
  101. @Override
  102. public void onMapReady(GoogleMap googleMap) {
  103. Toast.makeText(this, "Map is ready", Toast.LENGTH_SHORT).show();
  104. Log.d(TAG, "onMapReady: Map is ready");
  105. mMap = googleMap;
  106. if (mLocationPermissionGranted) {
  107. getDeviceLocation();
  108. if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
  109. != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
  110. Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
  111. return;
  112. }
  113. mMap.setMyLocationEnabled(true);
  114. LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  115. lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, new LocationListener() {
  116.  
  117. @Override
  118. public void onLocationChanged(Location location) {
  119. Log.d("My Location: ", location.toString());
  120. LatLng newLocation = new LatLng(location.getLatitude(), location.getLongitude());
  121. latit = newLocation.latitude;
  122. longit = newLocation.longitude;
  123. double roundlong = Math.round(latit * 1000) / 1000.0;
  124. double roundlat = Math.round(longit * 1000) / 1000.0;
  125. String postLat = String.valueOf(roundlat);
  126. String postLong = String.valueOf(roundlong);
  127. Log.d(TAG, "_________POSTLAT___________: " + postLat);
  128. Log.d(TAG, "_________POSTLONG___________: " + postLong);
  129. Toast.makeText(MapActivity.this, "Location Changed", Toast.LENGTH_SHORT).show();
  130. onLogin(postLat, postLong);
  131. }
  132.  
  133. @Override
  134. public void onProviderDisabled(String provider) {
  135. // TODO Auto-generated method stub
  136. }
  137.  
  138. @Override
  139. public void onProviderEnabled(String provider) {
  140. // TODO Auto-generated method stub
  141. }
  142.  
  143. @Override
  144. public void onStatusChanged(String provider, int status,
  145. Bundle extras) {
  146. // TODO Auto-generated method stub
  147. }
  148. });
  149.  
  150.  
  151. }
  152.  
  153. }
  154.  
  155. public void onLogin(String postLat, String postLong) {
  156. Log.d(TAG, "_________onLogin CALLED_________");
  157. String username = postLat;
  158. String password = postLong;
  159. String type = "login";
  160. BackgroundWorker backgroundWorker = new BackgroundWorker(this);
  161. backgroundWorker.execute(type, username, password);
  162.  
  163. }
  164. public void getMats(String recievedGrain, String recievedTimber, String recievedStone, String recievedIron, String recievedGold){
  165. Log.d(TAG, "_________getMats CALLED_________");
  166. Log.d(TAG, "RECIEVED GRAIN: " + recievedGrain);
  167. Log.d(TAG, "RECIEVED Timber: " + recievedTimber);
  168. Log.d(TAG, "RECIEVED Stone: " + recievedStone);
  169. Log.d(TAG, "RECIEVED Iron: " + recievedIron);
  170. Log.d(TAG, "RECIEVED Gold: " + recievedGold);
  171. tvGrain.setText(recievedGrain);
  172. tvTimber.setText(recievedTimber);
  173. tvStone.setText(recievedStone);
  174. tvIron.setText(recievedIron);
  175. tvGold.setText(recievedGold);
  176. }
  177.  
  178.  
  179.  
  180. private void getDeviceLocation(){
  181. Log.d(TAG, "getDeviceLocation: getting the devices location");
  182.  
  183. mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
  184.  
  185. try {
  186. if (mLocationPermissionGranted){
  187. final Task location = mFusedLocationProviderClient.getLastLocation();
  188. location.addOnCompleteListener(new OnCompleteListener() {
  189. @Override
  190. public void onComplete(@NonNull Task task) {
  191. if (task.isSuccessful()){
  192. Log.d(TAG, "onComplete: found location!");
  193. Location currentLocation = (Location) task.getResult();
  194. moveCamera(new LatLng(currentLocation.getLatitude(),currentLocation.getLongitude()),DEFAULT_ZOOM);
  195. } else{
  196. Log.d(TAG, "onComplete: current location is null");
  197. Toast.makeText(MapActivity.this, "unable to get current location", Toast.LENGTH_SHORT).show();
  198. }
  199. }
  200. });
  201. }
  202.  
  203. } catch (SecurityException e){
  204. Log.d(TAG, "getDeviceLocation: SecurityException: " + e.getMessage());
  205. }
  206. }
  207.  
  208. private void moveCamera(LatLng latLng, float zoom){
  209. Log.d(TAG, "moveCamera: Moving the camera to " + latLng.latitude + ", lng: " + latLng.longitude );
  210. mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,zoom));
  211. }
  212.  
  213. private void initMap(){
  214. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
  215. Log.d(TAG, "initMap: initializing map");
  216. mapFragment.getMapAsync(MapActivity.this);
  217. }
  218.  
  219. private void getLocationPermission(){
  220. Log.d(TAG, "getLocationPermission: Getting location permissions");
  221. String[] permissions = {Manifest.permission.ACCESS_COARSE_LOCATION,
  222. Manifest.permission.ACCESS_FINE_LOCATION};
  223.  
  224. if(ContextCompat.checkSelfPermission(this.getApplicationContext(),
  225. FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
  226. if (ContextCompat.checkSelfPermission(this.getApplicationContext(),
  227. COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED){
  228. mLocationPermissionGranted = true;
  229. initMap();
  230. }else {
  231. ActivityCompat.requestPermissions(this,permissions,LOCATION_PERMISSION_REQUEST_CODE);
  232. }
  233. }else {
  234. ActivityCompat.requestPermissions(this,permissions,LOCATION_PERMISSION_REQUEST_CODE);
  235. }
  236. }
  237.  
  238. @Override
  239. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  240. Log.d(TAG, "onRequestPermissionsResult: called");
  241. mLocationPermissionGranted = false;
  242. switch (requestCode){
  243. case LOCATION_PERMISSION_REQUEST_CODE:{
  244. if (grantResults.length > 0){
  245. for (int i =0; i < grantResults.length; i++) {
  246. if (grantResults[i] != PackageManager.PERMISSION_GRANTED){
  247. mLocationPermissionGranted = false;
  248. Log.d(TAG, "onRequestPermissionsResult: failed permission");
  249. return;
  250. }
  251. }
  252. Log.d(TAG, "onRequestPermissionsResult: permission granted");
  253. mLocationPermissionGranted = true;
  254. //initialize map
  255. initMap();
  256. }
  257. }
  258. }
  259. }
  260.  
  261.  
  262. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement