diff --git a/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment1.java b/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment1.java index ac3ddd8..417ccfe 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment1.java +++ b/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment1.java @@ -19,6 +19,7 @@ import java.io.File; public 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); @@ -39,6 +40,13 @@ public class Fragment1 extends Fragment { fragment.setArguments(b); return fragment; } + public static Fragment1 aktualisieren(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); diff --git a/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment3.java b/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment3.java index 2235c47..a4583b7 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment3.java +++ b/app/src/main/java/com/example/ueberwachungssystem/Fragments/Fragment3.java @@ -21,8 +21,10 @@ import java.util.Arrays; import java.util.List; public class Fragment3 extends Fragment { + + private OnImageViewReadyListener onImageViewReadyListener; private String text; - public ImageView ivp; + public static ImageView ivp; private final static String KEY_TEXT = "KEY_TEXT"; private void log(String nachricht) { Log.d(this.getClass().getSimpleName(), nachricht); @@ -32,16 +34,28 @@ public class Fragment3 extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) { log("onCreateView"); View view = inflater.inflate(R.layout.fragment3, container, false); - ivp = (ImageView) view.findViewById(R.id.Video); + if (onImageViewReadyListener != null) { + ImageView ivp = (ImageView) view.findViewById(R.id.Video); + ImageView ivp2 = (ImageView) view.findViewById(R.id.Video2); + onImageViewReadyListener.onImageViewReady(ivp, ivp2); + } return view; } - public static Fragment3 erstellen(String text) { + public static Fragment3 erstellen(View view) { Fragment3 fragment = new Fragment3(); - Bundle b = new Bundle(); - b.putString(KEY_TEXT, text); - fragment.setArguments(b); return fragment; } + public interface OnImageViewReadyListener { + void onImageViewReady(ImageView imageView, ImageView imageView2); + } + public void onAttach(Context context) { + super.onAttach(context); + try { + onImageViewReadyListener = (OnImageViewReadyListener) context; + } catch (ClassCastException e) { + throw new ClassCastException(context.toString() + " must implement OnImageViewReadyListener"); + } + } @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); diff --git a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java index 6d5e0ab..09b2ba8 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java +++ b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java @@ -6,6 +6,7 @@ import androidx.fragment.app.FragmentTransaction; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import android.annotation.SuppressLint; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -17,6 +18,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; @@ -27,16 +29,25 @@ import com.example.ueberwachungssystem.Detection.DetectorService; import com.example.ueberwachungssystem.Fragments.Fragment3; import com.example.ueberwachungssystem.Fragments.VideoListFragment; +import java.util.OptionalInt; + @ExperimentalGetImage -public class MainActivity extends AppCompatActivity { +public class MainActivity extends AppCompatActivity implements Fragment3.OnImageViewReadyListener{ //StringBuffer private StringBuffer messageBuffer = new StringBuffer(); //Fragmente private Fragment aktuellesFragment; + private Fragment fragment1_; + private Fragment fragment2_; + private Fragment fragment3_; + private Fragment1 fragment1; private Fragment2 fragment2; private Fragment3 fragment3; + + private ImageView fragmentImage; + private ImageView fragmentImage2; private VideoListFragment videoListFragment = new VideoListFragment(); private DetectorService detectorService = new DetectorService(); int num = 0; @@ -53,7 +64,7 @@ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setTitle(this.getClass().getSimpleName()); + setTitle("Supervision"); setContentView(R.layout.activity_main); Auswahl = findViewById(R.id.textAuswahl); Auswahl.setText(auswahltext); @@ -163,15 +174,17 @@ public class MainActivity extends AppCompatActivity { public void onServiceConnected(ComponentName name, IBinder service) { DetectorService.ServiceBinder binder = (DetectorService.ServiceBinder) service; detectorService = binder.getBoundService(); -// detectorService.videoDetector.debugProcessing(null, outputImageView); //inputImageView detectorService.setOnDetectionListener(new DetectorService.OnDetectionListener() { @Override public void onDetection(@NonNull StringBuffer stringBuffer) { Log.d("onDetection", stringBuffer.toString()); //Für oli hier Textview einbauen - num++; + num = stringBuffer.toString().split("\n").length; messageBuffer = stringBuffer; - zeigeFragment(fragment1.erstellen(messageBuffer.toString())); + if ((aktuellesFragment == fragment1_) && (aktuellesFragment != null)) { + Log.d("Fragment", aktuellesFragment.toString() + " " + fragment1_.toString()); + fragment1_ = zeigeFragment(fragment1.erstellen(messageBuffer.toString())); + } } }); } @@ -182,27 +195,34 @@ public class MainActivity extends AppCompatActivity { public void onClickZeigeFragment1(View view) { Button button = (Button) view; - zeigeFragment(fragment1.erstellen(messageBuffer.toString())); + fragment1_ = zeigeFragment(fragment1.erstellen(messageBuffer.toString())); } public void onClickZeigeFragment2(View view) { Button button = (Button) view; //zeigeFragment(fragment2.erstellen("Hier stehen dann die Videos")); - zeigeFragment(videoListFragment); + fragment2_ = zeigeFragment(videoListFragment); } public void onClickZeigeFragment3(View view) { Button button = (Button) view; + fragment3_ = zeigeFragment(fragment3.erstellen(view)); + } + public void onImageViewReady(ImageView imageView, ImageView imageView2) { + fragmentImage = imageView; + fragmentImage2 = imageView2; + detectorService.videoDetector.debugProcessing(fragmentImage, fragmentImage2); //inputImageView } public void onClickEntferneFragment(View view) { entferneFragment(); } - private void zeigeFragment(Fragment fragment) { + private Fragment zeigeFragment(Fragment fragment) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.frame, fragment); ft.commit(); aktuellesFragment = fragment; + return aktuellesFragment; } private void entferneFragment() { if (aktuellesFragment != null) { diff --git a/app/src/main/java/com/example/ueberwachungssystem/PopUpClass.java b/app/src/main/java/com/example/ueberwachungssystem/PopUpClass.java index 9062729..4b10d5d 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/PopUpClass.java +++ b/app/src/main/java/com/example/ueberwachungssystem/PopUpClass.java @@ -82,11 +82,11 @@ public class PopUpClass { } public void Sensoren(){ - PopUpText.setText("Es können 3 verschiedene Sensoren verwendet werden \n -1. Beschleunigungssensor\n -2. Mikrofon\n -3. Kamera"); + PopUpText.setText("Es können 3 verschiedene Sensoren verwendet werden \n -1. Beschleunigungssensor\n -2. Mikrofon\n -3. Kamera\n Diese können sowohl einzeln als auch alle zusammen verwendet werden"); buttonEdit.setVisibility(View.GONE); } public void Impressum(){ - PopUpText.setText("Die Ueberwachungsapp wurde im Rahmen eines Praktikums der TH-Nürnberg programmiert"); + PopUpText.setText("Die Ueberwachungsapp wurde im Rahmen eines Praktikums der TH-Nürnberg programmiert \n Von: \n -Kohler Bastian\n -Kleinecke Oliver\n -Market Leon\n -Siebenhaar Miguel\n -Wolz Tobias "); buttonEdit.setVisibility(View.GONE); } public void DetectionTotal(int num) { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d2a4cb5..600c122 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -93,8 +93,8 @@ android:layout_alignBottom="@+id/btnAufnahmen" android:layout_toRightOf="@id/btnAufnahmen" android:layout_marginLeft="15dp" - android:text="Anzeige verbergen" - android:onClick="onClickEntferneFragment"/> + android:text="Live Video" + android:onClick="onClickZeigeFragment3"/> - + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:rotation="90"> + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/popup_window.xml b/app/src/main/res/layout/popup_window.xml index 167dcde..6d2eb63 100644 --- a/app/src/main/res/layout/popup_window.xml +++ b/app/src/main/res/layout/popup_window.xml @@ -6,7 +6,7 @@ android:paddingLeft="10dp" android:paddingRight="10dp" android:gravity="center" - android:background="#A5ACB2"> + android:background="#010C49">