diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1e65373..c46bf1d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,8 +2,27 @@ - - + + + + + + + + + + + + diff --git a/app/src/main/java/com/example/ueberwachungssystem/Logger/Logger.java b/app/src/main/java/com/example/ueberwachungssystem/Logger/Logger.java new file mode 100644 index 0000000..924f5aa --- /dev/null +++ b/app/src/main/java/com/example/ueberwachungssystem/Logger/Logger.java @@ -0,0 +1,44 @@ +package com.example.ueberwachungssystem.Logger; + +import android.util.Log; +import android.widget.TextView; + +import java.io.PrintWriter; +import java.io.StringWriter; + +public class Logger { + private TextView textView; + private StringBuffer sb = new StringBuffer(); + private String tag; + + public Logger(String tag, TextView textView, String logInitText) { + this.tag = tag; + this.textView = textView; + sb.append(logInitText); + } + + public void log(String s) { + Log.d(tag, s); + sb.append(s).append("\n"); + if (textView != null) { + textView.setText(sb.toString()); + } + } + + public void log(Exception e) { + StringWriter sw = new StringWriter(); + e.printStackTrace(new PrintWriter(sw)); + log(sw.toString()); + } + + public void clearLog() { + sb.setLength(0); + if (textView != null) { + textView.setText(""); + } + } + + public String getLoggedText() { + return sb.toString(); + } +} diff --git a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java index 2de2671..ee60374 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java +++ b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java @@ -1,22 +1,72 @@ package com.example.ueberwachungssystem; +import androidx.annotation.NonNull; +import androidx.camera.core.ExperimentalGetImage; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ScrollView; +import android.widget.TextView; +import android.widget.ToggleButton; -public class MainActivity extends AppCompatActivity { +import com.example.ueberwachungssystem.Detection.DetectionReport; +import com.example.ueberwachungssystem.Detection.Detector; +import com.example.ueberwachungssystem.Detection.VideoDetector; +import org.w3c.dom.Text; +@ExperimentalGetImage +public class MainActivity extends AppCompatActivity implements View.OnClickListener { + private Fragment aktuellesFragment; WifiCommunication communication; + private TextView alarm; + private String text = "Das ist ein Alarm des Sensors"; + //Buttons + private ToggleButton toggleKamera; + private ToggleButton btnAudio; + private ToggleButton btnBewegung; + //Detektoren + VideoDetector vd = new VideoDetector(this); + private void log(String nachricht) { + Log.d(this.getClass().getSimpleName(), nachricht); + } - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - } @Override - protected void onResume() { - super.onResume(); - communication = new WifiCommunication(MainActivity.this, 1234); + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setTitle(this.getClass().getSimpleName()); + setContentView(R.layout.activity_main); + alarm = findViewById(R.id.Alarm); + alarm.setText(text); + toggleKamera = findViewById(R.id.toggleKamera); + toggleKamera.setOnClickListener(this); + vd.setOnDetectionListener(new Detector.OnDetectionListener() { + @Override + public void onDetection(@NonNull DetectionReport detectionReport) { + DetectionReport dr = detectionReport; + String drString = dr.toString(); + } + }); + + //boolean isRunning = vd.isRunning(); + + } + @Override + public void onClick(View v) { + if (v == toggleKamera) { + if (toggleKamera.isChecked()) { + vd.startDetection(); + } else { + vd.stopDetection(); + } + } } @Override @@ -24,4 +74,147 @@ public class MainActivity extends AppCompatActivity { super.onPause(); communication.stopCommunication(); } -} + + @Override + protected void onResume() { + super.onResume(); + communication = new WifiCommunication(MainActivity.this, 1234); + } + + public void onClickZeigeFragment1(View view) { + Button button = (Button) view; + log(button.getText() + " ausgewählt"); + zeigeFragment(Fragment1.erstellen("Fragment 1 wurde angeklickt")); + } + public void onClickZeigeFragment2(View view) { + Button button = (Button) view; + log(button.getText() + " ausgewählt"); + zeigeFragment(Fragment2.erstellen("Fragment 2 wurde angeklickt")); + } + + public void onClickZeigeFragment3(View view) { + Button button = (Button) view; + log(button.getText() + " ausgewählt"); + zeigeFragment(Fragment3.erstellen("Fragment 3 wurde angeklickt")); + } + + public void onClickEntferneFragment(View view) { + entferneFragment(); + } + private void zeigeFragment(Fragment fragment) { + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + ft.replace(R.id.frame, fragment); + ft.commit(); + aktuellesFragment = fragment; + } + private void entferneFragment() { + if (aktuellesFragment != null) { + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + ft.remove(aktuellesFragment); + ft.commit(); + aktuellesFragment = null ; + } + } + public static class Fragment1 extends Fragment { + private String text; + private final static String KEY_TEXT = "KEY_TEXT"; + + private void log(String nachricht) { + Log.d(this.getClass().getSimpleName(), nachricht); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) { + log("onCreateView"); + View view = inflater.inflate(R.layout.fragment1, container, false); + TextView Sensor = (TextView) view.findViewById(R.id.Sensor); + Sensor.setText(text); + return view; + } + public static Fragment1 erstellen(String text) { + Fragment1 fragment = new Fragment1(); + Bundle b = new Bundle(); + b.putString(KEY_TEXT, text); + fragment.setArguments(b); + return fragment; + } + @Override + public void onCreate(Bundle bundle) { + super .onCreate(bundle); + Bundle args = getArguments(); + if (args != null ) { + text = args.getString(KEY_TEXT); + log("onCreate: text=" + text); + } else { + log("onCreate"); + } + } + } + public static class Fragment2 extends Fragment { + private String text; + private final static String KEY_TEXT = "KEY_TEXT" ; + private void log(String nachricht) { + Log.d(this.getClass().getSimpleName(), nachricht); + } + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) { + log( "onCreateView" ); + View view = inflater.inflate(R.layout.fragment2, container, false ); + TextView Sensor = (TextView) view.findViewById(R.id.Sensor); + Sensor.setText(text); + return view; + } + public static Fragment2 erstellen(String text) { + Fragment2 fragment = new Fragment2(); + Bundle b = new Bundle(); + b.putString(KEY_TEXT, text); + fragment.setArguments(b); + return fragment; + } + @Override + public void onCreate(Bundle bundle) { + super.onCreate(bundle); + Bundle args = getArguments(); + if (args != null) { + text = args.getString(KEY_TEXT); + log("onCreate: text=" + text); + } else { + log("onCreate"); + } + } + } + + public static class Fragment3 extends Fragment { + private String text; + private final static String KEY_TEXT = "KEY_TEXT" ; + private void log(String nachricht) { + Log.d(this.getClass().getSimpleName(), nachricht); + } + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) { + log( "onCreateView" ); + View view = inflater.inflate(R.layout.fragment2, container, false ); + TextView Sensor = (TextView) view.findViewById(R.id.Sensor); + Sensor.setText(text); + return view; + } + public static Fragment3 erstellen(String text) { + Fragment3 fragment = new Fragment3(); + Bundle b = new Bundle(); + b.putString(KEY_TEXT, text); + fragment.setArguments(b); + return fragment; + } + @Override + public void onCreate(Bundle bundle) { + super.onCreate(bundle); + Bundle args = getArguments(); + if (args != null) { + text = args.getString(KEY_TEXT); + log("onCreate: text=" + text); + } else { + log("onCreate"); + } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_main_land.xml b/app/src/main/res/layout-land/activity_main_land.xml new file mode 100644 index 0000000..41d2ef1 --- /dev/null +++ b/app/src/main/res/layout-land/activity_main_land.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 17eab17..c0bbb3a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,18 +1,123 @@ - + android:background="@android:color/holo_green_dark" + android:visibility="visible" + tools:context="com.example.ueberwachungssystem.MainActivity" + tools:visibility="visible"> - + android:layout_alignBottom="@id/toggleAudio" + android:layout_marginRight="15dp" + android:layout_toStartOf="@+id/toggleAudio" + android:layout_toLeftOf="@id/toggleAudio" + android:text="Kamera" /> - \ No newline at end of file + + + + +