From 7bdd8fc0b3fcd37747289d862ea98df54f32a3e4 Mon Sep 17 00:00:00 2001 From: Filip Strajnar Date: Sat, 26 Oct 2024 12:25:55 +0200 Subject: [PATCH] Created methods to send Location to telegram. --- app/src/main/AndroidManifest.xml | 1 + .../logmylocation/LocationLoggingService.java | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 02a0988..91940b8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ + diff --git a/app/src/main/java/com/proculite/logmylocation/LocationLoggingService.java b/app/src/main/java/com/proculite/logmylocation/LocationLoggingService.java index 410059e..d66c8f3 100644 --- a/app/src/main/java/com/proculite/logmylocation/LocationLoggingService.java +++ b/app/src/main/java/com/proculite/logmylocation/LocationLoggingService.java @@ -20,11 +20,16 @@ import androidx.core.app.ServiceCompat; import androidx.core.location.LocationManagerCompat; import androidx.room.Room; +import com.pengrad.telegrambot.TelegramBot; +import com.pengrad.telegrambot.model.Chat; +import com.pengrad.telegrambot.request.SendLocation; + import java.util.List; public class LocationLoggingService extends Service implements LocationListener { private final String TAG = LocationLoggingService.class.getName(); private LocationDao locationDao; + private Location lastLocation; public LocationLoggingService() { } @@ -88,8 +93,28 @@ public class LocationLoggingService extends Service implements LocationListener super.onCreate(); } + private void updateLocation(Location newLocation){ + lastLocation = newLocation; + sendLocationToTelegram(newLocation); + } + + public void sendLocationToTelegram(Location location){ + String botToken = getResources().getString(R.string.telegramToken); + String telegramChat = getResources().getString(R.string.telegramChat); + TelegramBot bot = new TelegramBot(botToken); + + new Thread(()->{ + bot.execute(new SendLocation(telegramChat, + Double.valueOf(location.getLatitude()).floatValue(), + Double.valueOf(location.getLongitude()).floatValue() + )); + }).start(); + } + @Override public void onLocationChanged(@NonNull Location location) { + updateLocation(location); + new Thread(()->{ Log.d(TAG, String.format( "New location. Latitude: %s Longitude: %s Altitude: %s",