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..7f51c28 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,30 @@ 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); + onImageViewReadyListener.onImageViewReady(ivp); + } 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); + b.putString(KEY_TEXT, "Test"); fragment.setArguments(b); return fragment; } + public interface OnImageViewReadyListener { + void onImageViewReady(ImageView imageView); + } + 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 5c6d973..6b356a7 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,15 +29,21 @@ import com.example.ueberwachungssystem.Detection.DetectorService; import com.example.ueberwachungssystem.Fragments.Fragment3; @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 DetectorService detectorService = new DetectorService(); int num=0; //Textviews @@ -161,15 +169,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())); + } } }); } @@ -180,26 +190,33 @@ 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")); + fragment2_ = zeigeFragment(fragment2.erstellen("Hier stehen dann die Videos")); } + @SuppressLint("WrongViewCast") public void onClickZeigeFragment3(View view) { Button button = (Button) view; + fragment3_ = zeigeFragment(fragment3.erstellen(view)); + } + public void onImageViewReady(ImageView imageView) { + fragmentImage = imageView; + detectorService.videoDetector.debugProcessing(null, fragmentImage); //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/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b6b7421..7298b84 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -94,7 +94,7 @@ android:layout_toRightOf="@id/btnAufnahmen" android:layout_marginLeft="15dp" android:text="Anzeige verbergen" - android:onClick="onClickEntferneFragment"/> + android:onClick="onClickZeigeFragment3"/>