Location Tracker
This commit is contained in:
@@ -3,6 +3,11 @@
|
|||||||
package="in.sminnovations.arrest_tb">
|
package="in.sminnovations.arrest_tb">
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_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
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
|
|||||||
@@ -51,9 +51,10 @@ import de.hdodenhof.circleimageview.CircleImageView;
|
|||||||
|
|
||||||
public class AddImage extends NavigationTop {
|
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;
|
private Button nosave;
|
||||||
|
String address;
|
||||||
|
|
||||||
|
|
||||||
CircleImageView circle_image;
|
CircleImageView circle_image;
|
||||||
@@ -114,6 +115,12 @@ public class AddImage extends NavigationTop {
|
|||||||
string3 = preferences.getString("patientage", null);
|
string3 = preferences.getString("patientage", null);
|
||||||
string4 = preferences.getString("patientnikshayid", null);
|
string4 = preferences.getString("patientnikshayid", null);
|
||||||
string5 = preferences.getString("dob", 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 ) {
|
if (string5== null ) {
|
||||||
|
|
||||||
|
|
||||||
@@ -283,35 +290,35 @@ public class AddImage extends NavigationTop {
|
|||||||
private void ValidateProductData()
|
private void ValidateProductData()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!isOnline()) {
|
if (!isOnline()) {
|
||||||
//Create an alertdialog
|
//Create an alertdialog
|
||||||
AlertDialog.Builder Checkbuilder = new AlertDialog.Builder(AddImage.this);
|
AlertDialog.Builder Checkbuilder = new AlertDialog.Builder(AddImage.this);
|
||||||
Checkbuilder.setTitle("No Internet Connection !");
|
Checkbuilder.setTitle("No Internet Connection !");
|
||||||
Checkbuilder.setMessage("Check Your Internet Connection.");
|
Checkbuilder.setMessage("Check Your Internet Connection.");
|
||||||
//Builder Retry Button
|
//Builder Retry Button
|
||||||
|
|
||||||
Checkbuilder.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
|
Checkbuilder.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int id) {
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
|
|
||||||
dialog.cancel();
|
dialog.cancel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Checkbuilder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
|
Checkbuilder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
AlertDialog alert = Checkbuilder.create();
|
AlertDialog alert = Checkbuilder.create();
|
||||||
alert.show();
|
alert.show();
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
StoreProductInformation();
|
StoreProductInformation();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void StoreProductInformation()
|
private void StoreProductInformation()
|
||||||
@@ -426,6 +433,7 @@ public class AddImage extends NavigationTop {
|
|||||||
productMap.put("National_Id", string4);
|
productMap.put("National_Id", string4);
|
||||||
productMap.put("Dob", string5);
|
productMap.put("Dob", string5);
|
||||||
productMap.put("sdate",saveCurrentDate );
|
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 {
|
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() {
|
public String getLab_Number() {
|
||||||
return Lab_Number;
|
return Lab_Number;
|
||||||
}
|
}
|
||||||
@@ -131,21 +150,11 @@ public class Tests {
|
|||||||
this.sdate = sdate;
|
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) {
|
public String getAddress() {
|
||||||
Lab_Number = lab_Number;
|
return address;
|
||||||
this.SPIN_Tube_ID = SPIN_Tube_ID;
|
}
|
||||||
Dob = dob;
|
|
||||||
Gender = gender;
|
public void setAddress(String address) {
|
||||||
Image = image;
|
this.address = address;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -21,6 +21,7 @@ import androidx.core.content.ContextCompat;
|
|||||||
public class TestResult extends NavigationTop implements AdapterView.OnItemSelectedListener {
|
public class TestResult extends NavigationTop implements AdapterView.OnItemSelectedListener {
|
||||||
Button btnTest;
|
Button btnTest;
|
||||||
EditText NIRTLabd,SPINTubeIDd;
|
EditText NIRTLabd,SPINTubeIDd;
|
||||||
|
|
||||||
String NIRTLabde,SPINTubeIDde,validatyd,sampled;
|
String NIRTLabde,SPINTubeIDde,validatyd,sampled;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user