Skip to content

Commit 559c831

Browse files
committed
Fixed back button exiting from app in full screen mode
1 parent a750dbb commit 559c831

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

app/src/main/java/it/danieleverducci/ojo/ui/MainActivity.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.util.Log;
99
import android.view.View;
1010

11+
import androidx.fragment.app.Fragment;
1112
import androidx.navigation.NavController;
1213
import androidx.navigation.Navigation;
1314

@@ -21,6 +22,7 @@ public class MainActivity extends AppCompatActivity {
2122
private ActivityMainBinding binding;
2223
private NavController navController;
2324
private boolean rotationEnabledSetting;
25+
private OnBackButtonPressedListener onBackButtonPressedListener;
2426

2527
@Override
2628
protected void onCreate(Bundle savedInstanceState) {
@@ -49,6 +51,17 @@ public void onClick(View view) {
4951
});
5052
}
5153

54+
public void setOnBackButtonPressedListener(OnBackButtonPressedListener onBackButtonPressedListener) {
55+
this.onBackButtonPressedListener = onBackButtonPressedListener;
56+
}
57+
58+
@Override
59+
public void onBackPressed() {
60+
if (this.onBackButtonPressedListener != null && this.onBackButtonPressedListener.onBackPressed())
61+
return;
62+
super.onBackPressed();
63+
}
64+
5265
public void navigateToFragment(int actionId) {
5366
navigateToFragment(actionId, null);
5467
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package it.danieleverducci.ojo.ui;
2+
3+
public interface OnBackButtonPressedListener {
4+
public boolean onBackPressed();
5+
}

app/src/main/java/it/danieleverducci/ojo/ui/SurveillanceFragment.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ public View onCreateView(
8080

8181
binding = FragmentSurveillanceBinding.inflate(inflater, container, false);
8282
return binding.getRoot();
83-
8483
}
8584

8685
@Override
@@ -106,12 +105,26 @@ public void onResume() {
106105
}
107106
}
108107

108+
fullscreenCameraView = false;
109109
addAllCameras();
110110

111111
// Start playback for all streams
112112
for (CameraView cv : cameraViews) {
113113
cv.startPlayback();
114114
}
115+
116+
// Register for back pressed events
117+
((MainActivity)getActivity()).setOnBackButtonPressedListener(new OnBackButtonPressedListener() {
118+
@Override
119+
public boolean onBackPressed() {
120+
if(fullscreenCameraView && cameraViews.size() > 1) {
121+
fullscreenCameraView = false;
122+
showAllCameras();
123+
return true;
124+
}
125+
return false;
126+
}
127+
});
115128
}
116129

117130
@Override

0 commit comments

Comments
 (0)