diff --git a/app/src/main/java/com/example/ueberwachungssystem/Detection/DetectorService.java b/app/src/main/java/com/example/ueberwachungssystem/Detection/DetectorService.java
index af2d440..ea2f28d 100644
--- a/app/src/main/java/com/example/ueberwachungssystem/Detection/DetectorService.java
+++ b/app/src/main/java/com/example/ueberwachungssystem/Detection/DetectorService.java
@@ -3,13 +3,17 @@ package com.example.ueberwachungssystem.Detection;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
+import android.util.Log;
import android.widget.ImageView;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.camera.core.ExperimentalGetImage;
import androidx.lifecycle.LifecycleService;
+import com.example.ueberwachungssystem.WifiCommunication;
+
import java.io.File;
@ExperimentalGetImage
@@ -21,6 +25,11 @@ public class DetectorService extends LifecycleService {
VideoDetector videoDetector = null;
AudioRecorder audioRecorder = null;
+ /** Communication **/
+
+ WifiCommunication wifiCommunication;
+
+ StringBuffer dataFromWifi;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
@@ -42,9 +51,16 @@ public class DetectorService extends LifecycleService {
isServiceRunning = true;
+
+ wifiCommunication = new WifiCommunication (1234);
+ wifiCommunication.setOnConnectionListener(new WifiCommunication.OnConnectionListener() {
+ @Override
+ public void onConnection(StringBuffer data) {
+ dataFromWifi = data;
+ }
+ });
return super.onStartCommand(intent, flags, startId);
}
-
@Override
public void onDestroy() {
super.onDestroy();
@@ -140,8 +156,6 @@ public class DetectorService extends LifecycleService {
}
-
-
/** pass Detection Report to Service Detection Listener and trigger it */
public void passToServiceListener(DetectionReport detectionReport) {
if (listener != null) {
diff --git a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java
index 1f2a68a..ef186e5 100644
--- a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java
+++ b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java
@@ -1,11 +1,14 @@
package com.example.ueberwachungssystem;
+import static android.content.ContentValues.TAG;
+
import android.annotation.SuppressLint;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
+import android.util.Log;
import android.view.MenuItem;
import android.widget.Toast;
import android.view.Menu;
@@ -26,19 +29,42 @@ public class MainActivity extends AppCompatActivity {
WifiCommunication communication;
PermissionRequest permission;
- boolean communicationRunning = false;
+ boolean communicationRunning = true;
+ String dataRecieved;
+ TextView textview1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ textview1 = findViewById(R.id.textView1);
+
+ Button button1 = findViewById(R.id.buttonSend);
+ button1.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ communication.sendTrue("Testmessage");
+ }
+ });
}
@Override
protected void onResume() {
super.onResume();
- if (!communicationRunning){
- communication = new WifiCommunication(MainActivity.this, SERVER_PORT);
- communicationRunning = true;
+ if (communicationRunning){
+ communication = new WifiCommunication(1234);
+ communication.setOnConnectionListener(new WifiCommunication.OnConnectionListener() {
+ @Override
+ public void onConnection(StringBuffer data) {
+ //Log.d("Test", data.toString());
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ textview1.setText(data);
+ }
+ });
+ }
+ });
+ communicationRunning = false;
}
permission = new PermissionRequest(MainActivity.this);
permission.rechtePruefen();
@@ -59,17 +85,17 @@ public class MainActivity extends AppCompatActivity {
switch (item.getItemId()) {
case R.id.Rechteverwaltung:
popUpClass = new PopUpClass(MainActivity.this);
- popUpClass.showPopupWindow(tvMessages);
+ //popUpClass.showPopupWindow(tvMessages);
popUpClass.RechtePrüfen();
return true;
case R.id.Sensoren:
popUpClass = new PopUpClass(MainActivity.this);
- popUpClass.showPopupWindow(tvMessages);
+ //popUpClass.showPopupWindow(tvMessages);
popUpClass.Sensoren();
return true;
case R.id.Impressum:
popUpClass = new PopUpClass(MainActivity.this);
- popUpClass.showPopupWindow(tvMessages);
+ //popUpClass.showPopupWindow(tvMessages);
popUpClass.Impressum();
return true;
default:
diff --git a/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java b/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java
index f283bdf..d22acbf 100644
--- a/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java
+++ b/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java
@@ -2,6 +2,12 @@ package com.example.ueberwachungssystem;
import android.annotation.SuppressLint;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+
+import com.example.ueberwachungssystem.Detection.DetectionReport;
+import com.example.ueberwachungssystem.Detection.Detector;
+import com.example.ueberwachungssystem.Detection.DetectorService;
+
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
@@ -15,7 +21,7 @@ import java.util.Date;
import java.util.Enumeration;
public class WifiCommunication {
- private final MainActivity mainActivity;
+ //private final MainActivity mainActivity;
private final InetAddress address;
private final int port;
@@ -23,9 +29,11 @@ public class WifiCommunication {
volatile private boolean send;
private final DatagramSocket socket;
volatile private boolean running;
+
+ private OnConnectionListener listener;
@SuppressLint("SetTextI18n")
- public WifiCommunication(MainActivity mainActivity, int port) {
- this.mainActivity = mainActivity;
+ public WifiCommunication(int port) {
+ //this.mainActivity = mainActivity;
this.port = port;
try {
socket = new DatagramSocket(this.port);
@@ -38,10 +46,23 @@ public class WifiCommunication {
} catch (SocketException | UnknownHostException e) {
throw new RuntimeException(e);
}
- Toast.makeText(mainActivity.getApplicationContext(),"Communication running", Toast.LENGTH_SHORT).show();
-
+ //Toast.makeText(mainActivity.getApplicationContext(),"Communication running", Toast.LENGTH_SHORT).show();
//mainActivity.runOnUiThread(() -> mainActivity.tvMessages.setText("Communication running"));
}
+
+ public interface OnConnectionListener {
+ void onConnection(StringBuffer data);
+ }
+ public void setOnConnectionListener(@NonNull OnConnectionListener listener) {
+ this.listener = listener;
+ }
+
+ public void sendWifiData(StringBuffer wifiMessage) {
+ if (listener != null) {
+ listener.onConnection(wifiMessage);
+ }
+ }
+
private class ReceiveThread extends Thread {
private StringBuffer rxStringBuffer = new StringBuffer();
private String rxString="";
@@ -54,11 +75,12 @@ public class WifiCommunication {
byte[] receiveData = new byte[512];
DatagramPacket rxPacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(rxPacket);
- rxString = new String(rxPacket.getData());
+ rxString = new String(receiveData, 0, rxPacket.getLength());
String[] splitrxString = rxString.split(",");
if(!previousRxString.equals(rxString) && splitrxString[0].equals("1") && splitrxString.length==7) {
rxStringBuffer.append(rxString).append("\n");
- mainActivity.runOnUiThread(() -> mainActivity.tvMessages.setText(rxStringBuffer));
+ sendWifiData(rxStringBuffer);
+ //mainActivity.runOnUiThread(() -> mainActivity.tvMessages.setText(rxStringBuffer));
previousRxString = rxString;
}
} while (running);
@@ -86,7 +108,7 @@ public class WifiCommunication {
DatagramPacket txPacket = new DatagramPacket(send_Data, txString.length(), address, port);
- for(int i = 0; i < 500; i++) {
+ for(int i = 0; i < 300; i++) {
socket.send(txPacket);
}
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index c5abe55..7969f40 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -38,4 +38,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
+
+
+
+
\ No newline at end of file