Location Tracker
This commit is contained in:
@@ -3,6 +3,11 @@
|
||||
package="in.sminnovations.arrest_tb">
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
||||
@@ -51,9 +51,10 @@ import de.hdodenhof.circleimageview.CircleImageView;
|
||||
|
||||
public class AddImage extends NavigationTop {
|
||||
|
||||
String string1,string2,string3,string4,string5,string6,string7,string8,string9,number;
|
||||
String string1,string2,string3,string4,string5,string6,string7,string8,string9,number,logi,lati;
|
||||
|
||||
private Button nosave;
|
||||
String address;
|
||||
|
||||
|
||||
CircleImageView circle_image;
|
||||
@@ -114,6 +115,12 @@ public class AddImage extends NavigationTop {
|
||||
string3 = preferences.getString("patientage", null);
|
||||
string4 = preferences.getString("patientnikshayid", null);
|
||||
string5 = preferences.getString("dob", null);
|
||||
|
||||
lati=preferences.getString("latitude", null);
|
||||
logi=preferences.getString("longitude", null);
|
||||
address="latitude "+lati+" longitude "+logi;
|
||||
Log.e("main", "error "+address);
|
||||
|
||||
if (string5== null ) {
|
||||
|
||||
|
||||
@@ -283,35 +290,35 @@ public class AddImage extends NavigationTop {
|
||||
private void ValidateProductData()
|
||||
{
|
||||
|
||||
if (!isOnline()) {
|
||||
//Create an alertdialog
|
||||
AlertDialog.Builder Checkbuilder = new AlertDialog.Builder(AddImage.this);
|
||||
Checkbuilder.setTitle("No Internet Connection !");
|
||||
Checkbuilder.setMessage("Check Your Internet Connection.");
|
||||
//Builder Retry Button
|
||||
if (!isOnline()) {
|
||||
//Create an alertdialog
|
||||
AlertDialog.Builder Checkbuilder = new AlertDialog.Builder(AddImage.this);
|
||||
Checkbuilder.setTitle("No Internet Connection !");
|
||||
Checkbuilder.setMessage("Check Your Internet Connection.");
|
||||
//Builder Retry Button
|
||||
|
||||
Checkbuilder.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
Checkbuilder.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
|
||||
dialog.cancel();
|
||||
}
|
||||
});
|
||||
dialog.cancel();
|
||||
}
|
||||
});
|
||||
|
||||
Checkbuilder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
Checkbuilder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
AlertDialog alert = Checkbuilder.create();
|
||||
alert.show();
|
||||
AlertDialog alert = Checkbuilder.create();
|
||||
alert.show();
|
||||
|
||||
}
|
||||
else {
|
||||
StoreProductInformation();
|
||||
}
|
||||
}
|
||||
else {
|
||||
StoreProductInformation();
|
||||
}
|
||||
|
||||
}
|
||||
private void StoreProductInformation()
|
||||
@@ -426,6 +433,7 @@ public class AddImage extends NavigationTop {
|
||||
productMap.put("National_Id", string4);
|
||||
productMap.put("Dob", string5);
|
||||
productMap.put("sdate",saveCurrentDate );
|
||||
productMap.put("address",address );
|
||||
|
||||
|
||||
|
||||
|
||||
219
app/src/main/java/in/sminnovations/arrest_tb/GpsTracker.java
Normal file
219
app/src/main/java/in/sminnovations/arrest_tb/GpsTracker.java
Normal file
@@ -0,0 +1,219 @@
|
||||
package in.sminnovations.arrest_tb;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Service;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.location.Location;
|
||||
import android.location.LocationListener;
|
||||
import android.location.LocationManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.core.app.ActivityCompat;
|
||||
|
||||
class GpsTracker extends Service implements LocationListener {
|
||||
private final Context mContext;
|
||||
|
||||
// flag for GPS status
|
||||
boolean isGPSEnabled = false;
|
||||
|
||||
// flag for network status
|
||||
boolean isNetworkEnabled = false;
|
||||
|
||||
// flag for GPS status
|
||||
boolean canGetLocation = false;
|
||||
|
||||
Location location; // location
|
||||
double latitude; // latitude
|
||||
double longitude; // longitude
|
||||
|
||||
// The minimum distance to change Updates in meters
|
||||
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
|
||||
|
||||
// The minimum time between updates in milliseconds
|
||||
private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
|
||||
|
||||
// Declaring a Location Manager
|
||||
protected LocationManager locationManager;
|
||||
|
||||
public GpsTracker(Context context) {
|
||||
this.mContext = context;
|
||||
getLocation();
|
||||
}
|
||||
|
||||
public Location getLocation() {
|
||||
try {
|
||||
locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);
|
||||
|
||||
// getting GPS status
|
||||
isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
|
||||
|
||||
// getting network status
|
||||
isNetworkEnabled = locationManager
|
||||
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
|
||||
|
||||
if (!isGPSEnabled && !isNetworkEnabled) {
|
||||
// no network provider is enabled
|
||||
} else {
|
||||
this.canGetLocation = true;
|
||||
// First get location from Network Provider
|
||||
if (isNetworkEnabled) {
|
||||
//check the network permission
|
||||
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 101);
|
||||
}
|
||||
locationManager.requestLocationUpdates(
|
||||
LocationManager.NETWORK_PROVIDER,
|
||||
MIN_TIME_BW_UPDATES,
|
||||
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
|
||||
|
||||
Log.d("Network", "Network");
|
||||
if (locationManager != null) {
|
||||
location = locationManager
|
||||
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
|
||||
|
||||
if (location != null) {
|
||||
latitude = location.getLatitude();
|
||||
longitude = location.getLongitude();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if GPS Enabled get lat/long using GPS Services
|
||||
if (isGPSEnabled) {
|
||||
if (location == null) {
|
||||
//check the network permission
|
||||
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 101);
|
||||
}
|
||||
locationManager.requestLocationUpdates(
|
||||
LocationManager.GPS_PROVIDER,
|
||||
MIN_TIME_BW_UPDATES,
|
||||
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
|
||||
|
||||
Log.d("GPS Enabled", "GPS Enabled");
|
||||
if (locationManager != null) {
|
||||
location = locationManager
|
||||
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||
|
||||
if (location != null) {
|
||||
latitude = location.getLatitude();
|
||||
longitude = location.getLongitude();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return location;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop using GPS listener
|
||||
* Calling this function will stop using GPS in your app
|
||||
* */
|
||||
|
||||
public void stopUsingGPS(){
|
||||
if(locationManager != null){
|
||||
locationManager.removeUpdates(GpsTracker.this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get latitude
|
||||
* */
|
||||
|
||||
public double getLatitude(){
|
||||
if(location != null){
|
||||
latitude = location.getLatitude();
|
||||
}
|
||||
|
||||
// return latitude
|
||||
return latitude;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get longitude
|
||||
* */
|
||||
|
||||
public double getLongitude(){
|
||||
if(location != null){
|
||||
longitude = location.getLongitude();
|
||||
}
|
||||
|
||||
// return longitude
|
||||
return longitude;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to check GPS/wifi enabled
|
||||
* @return boolean
|
||||
* */
|
||||
|
||||
public boolean canGetLocation() {
|
||||
return this.canGetLocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to show settings alert dialog
|
||||
* On pressing Settings button will lauch Settings Options
|
||||
* */
|
||||
|
||||
public void showSettingsAlert(){
|
||||
AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
|
||||
|
||||
// Setting Dialog Title
|
||||
alertDialog.setTitle("GPS is settings");
|
||||
|
||||
// Setting Dialog Message
|
||||
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
|
||||
|
||||
// On pressing Settings button
|
||||
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog,int which) {
|
||||
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
|
||||
mContext.startActivity(intent);
|
||||
}
|
||||
});
|
||||
|
||||
// on pressing cancel button
|
||||
alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.cancel();
|
||||
}
|
||||
});
|
||||
alertDialog.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderDisabled(String provider) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderEnabled(String provider) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged(String provider, int status, Bundle extras) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent arg0) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package in.sminnovations.arrest_tb.Model;
|
||||
|
||||
public class Tests {
|
||||
|
||||
private String Lab_Number, SPIN_Tube_ID, Dob, Gender, Image, Patient_Age, Patient_Id, National_Id, Primary_Key, Sample_Type, Tube_Validity, date, Time, Result,sdate;
|
||||
private String Lab_Number, SPIN_Tube_ID, Dob, Gender, Image, Patient_Age, Patient_Id, National_Id, Primary_Key, Sample_Type, Tube_Validity, date, Time, Result,sdate ,address;
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,25 @@ public class Tests {
|
||||
|
||||
}
|
||||
|
||||
public Tests(String lab_Number, String SPIN_Tube_ID, String dob, String gender, String image, String patient_Age, String patient_Id, String national_Id, String primary_Key, String sample_Type, String tube_Validity, String date, String time, String result, String sdate, String address) {
|
||||
Lab_Number = lab_Number;
|
||||
this.SPIN_Tube_ID = SPIN_Tube_ID;
|
||||
Dob = dob;
|
||||
Gender = gender;
|
||||
Image = image;
|
||||
Patient_Age = patient_Age;
|
||||
Patient_Id = patient_Id;
|
||||
National_Id = national_Id;
|
||||
Primary_Key = primary_Key;
|
||||
Sample_Type = sample_Type;
|
||||
Tube_Validity = tube_Validity;
|
||||
this.date = date;
|
||||
Time = time;
|
||||
Result = result;
|
||||
this.sdate = sdate;
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getLab_Number() {
|
||||
return Lab_Number;
|
||||
}
|
||||
@@ -131,21 +150,11 @@ public class Tests {
|
||||
this.sdate = sdate;
|
||||
}
|
||||
|
||||
public Tests(String lab_Number, String SPIN_Tube_ID, String dob, String gender, String image, String patient_Age, String patient_Id, String national_Id, String primary_Key, String sample_Type, String tube_Validity, String date, String time, String result, String sdate) {
|
||||
Lab_Number = lab_Number;
|
||||
this.SPIN_Tube_ID = SPIN_Tube_ID;
|
||||
Dob = dob;
|
||||
Gender = gender;
|
||||
Image = image;
|
||||
Patient_Age = patient_Age;
|
||||
Patient_Id = patient_Id;
|
||||
National_Id = national_Id;
|
||||
Primary_Key = primary_Key;
|
||||
Sample_Type = sample_Type;
|
||||
Tube_Validity = tube_Validity;
|
||||
this.date = date;
|
||||
Time = time;
|
||||
Result = result;
|
||||
this.sdate = sdate;
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import androidx.core.content.ContextCompat;
|
||||
public class TestResult extends NavigationTop implements AdapterView.OnItemSelectedListener {
|
||||
Button btnTest;
|
||||
EditText NIRTLabd,SPINTubeIDd;
|
||||
|
||||
String NIRTLabde,SPINTubeIDde,validatyd,sampled;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user