Partial screen sharing: show error notif when screen recording fails
When starting a screen recording of a specific app, and the app is then
removed from recents, there would be an error toast shown, but the
"recording" notification was still showing, and interacting with it
would do nothing.
With this fix, we show an error notification for that case, which
replaces the "recording" notification.
Fixes: 250033241
Test: RecordingServiceTest.java
Test: Manually - 1. Enable partial screen sharing
2. Start recording a specific app
3. Remove the app from recents before the recording
starts
Change-Id: Ic2dc8e6c40ba13d5feccc3deface0f62edabd6c8
This commit is contained in:
@@ -427,6 +427,7 @@ public class RecordingService extends Service implements ScreenMediaRecorderList
|
||||
Log.e(TAG, "stopRecording called, but there was an error when ending"
|
||||
+ "recording");
|
||||
exception.printStackTrace();
|
||||
createErrorNotification();
|
||||
} catch (Throwable throwable) {
|
||||
// Something unexpected happen, SystemUI will crash but let's delete
|
||||
// the temporary files anyway
|
||||
|
||||
@@ -203,6 +203,17 @@ public class RecordingServiceTest extends SysuiTestCase {
|
||||
verify(mScreenMediaRecorder).release();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnSystemRequestedStop_recorderEndThrowsRuntimeException_showsErrorNotification()
|
||||
throws IOException {
|
||||
doReturn(true).when(mController).isRecording();
|
||||
doThrow(new RuntimeException()).when(mScreenMediaRecorder).end();
|
||||
|
||||
mRecordingService.onStopped();
|
||||
|
||||
verify(mRecordingService).createErrorNotification();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnSystemRequestedStop_recorderEndThrowsOOMError_releasesRecording()
|
||||
throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user