123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- package de.edotzlaff.detection;
-
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.core.app.ActivityCompat;
- import androidx.core.content.ContextCompat;
-
- import android.Manifest;
- import android.app.Dialog;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.location.Location;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
-
- import com.google.android.gms.common.ConnectionResult;
- 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.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 org.w3c.dom.Text;
-
- import java.util.Calendar;
-
- public class MainActivity extends AppCompatActivity {
-
- private static final String TAG = "MainActivity";
- private static final int ERROR_DIALOG_REQUEST = 9001;
-
- private static final String FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION;
- private static final int LOCATION_PERMISSION_REQUEST_CODE = 1234;
- private Boolean mLocationPermissionsGranted = false;
- private GoogleMap mMap;
- private FusedLocationProviderClient mFusedLocationProviderClient;
-
- Long currentTime;
- Location currentLocation;
- // private DatabaseReference mDatenbank;
- private double breitengrad;
- private double laengengrad;
- private boolean useOwnGPS = true;
- private int indexID = 1;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- if (isServiceOK()){
- init();
- }
-
- //Detection funktion here
-
- getLocationPermission();
-
- //DB function here
-
-
- }
-
- //##########################################################################################################################################################################
- //################################################################## vvv Detect Vibration vvv ############################################################################
-
- //TODO Böbbi
-
- //################################################################## ^^^^ Detect Vibration ^^^^ ##########################################################################
- //##########################################################################################################################################################################
-
-
- //##########################################################################################################################################################################
- //################################################################## vvv Get Location from Device vvv ####################################################################
-
- private void getLocationPermission() {
- String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION};
- if (ContextCompat.checkSelfPermission(this.getApplicationContext(), FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
- mLocationPermissionsGranted = true;
- getDeviceLocation();
- } else {
- ActivityCompat.requestPermissions(this, permissions, LOCATION_PERMISSION_REQUEST_CODE);
- }
- }
-
- private void getDeviceLocation(){
- mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
- try {
- if (mLocationPermissionsGranted){
- final Task location = mFusedLocationProviderClient.getLastLocation();
-
- location.addOnCompleteListener(new OnCompleteListener() {
-
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()){
- currentLocation = (Location) task.getResult();
- if(useOwnGPS)
- {
- breitengrad = currentLocation.getLatitude();
- laengengrad = currentLocation.getLongitude();
-
- }
- currentLocation.setLatitude(breitengrad);
- currentLocation.setLongitude(laengengrad);
- setText();
- }
- else{
- Toast.makeText(MainActivity.this, "Current Location unavailable", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- }catch (SecurityException e){
- Log.e(TAG,"Device Location not found" + e.getMessage());
- }
- }
- //################################################################## ^^^^ Get Location from Device ^^^^ ##################################################################
- //##########################################################################################################################################################################
-
-
- //##########################################################################################################################################################################
- //################################################################## vvv DB Code vvv #####################################################################################
-
- //TODO Aron
-
- //################################################################## ^^^^ DB Code ^^^^ ###################################################################################
- //##########################################################################################################################################################################
-
-
-
- //##########################################################################################################################################################################
- //################################################################## vvv Set Text of Device 1/2/3 on MainActivity vvv ####################################################
-
- private void setText(){
- TextView txtDevice1 = (TextView) findViewById(R.id.txtdevice1);
- TextView txtDevice2 = (TextView) findViewById(R.id.txtdevice2);
- TextView txtDevice3 = (TextView) findViewById(R.id.txtdevice3);
- TextView txtDevice4 = (TextView) findViewById(R.id.txtdevice4);
-
-
- txtDevice1.setText("Device 1"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
-
- txtDevice2.setText("Device 2"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
-
- txtDevice3.setText("Device 3"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
-
- txtDevice4.setText("Device 4"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
-
- }
-
- //################################################################## ^^^^ Set Text of Device 1/2/3 on MainActivity ^^^^ ##################################################
- //##########################################################################################################################################################################
-
-
-
- //##########################################################################################################################################################################
- //################################################################## vvv Maps Code vvv ###################################################################################
-
- public boolean isServiceOK(){
- Log.d(TAG, "isServicesOK(): checking google services version");
-
- int available = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(MainActivity.this);
-
- if (available== ConnectionResult.SUCCESS){
- Log.d(TAG,"isServicesOK: Google Play Services is working");
- return true;
- }
- else if (GoogleApiAvailability.getInstance().isUserResolvableError(available)){
- Log.d(TAG, "isServicesOK(): an error occured but we can fix it");
- Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(MainActivity.this, available, ERROR_DIALOG_REQUEST);
- dialog.show();
- }
- else {
- Toast.makeText(this, "You can`t make map request", Toast.LENGTH_SHORT).show();
- }
- return false;
- }
-
- private void init() {
-
- Button btnEarthquake = (Button) findViewById(R.id.btnEarthquakeLocation);
- btnEarthquake.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(MainActivity.this, EarthquakeLocation.class);
- startActivity(intent);
- }
- });
-
- }
-
-
- //################################################################## ^^^^ Maps Code ^^^^ ##################################################################
- //###########################################################################################################################################################
-
-
- }
|