Skip to content

Commit 9338ab0

Browse files
committed
Support beginning a video recording with the microphone muted
1 parent f3ba308 commit 9338ab0

3 files changed

Lines changed: 14 additions & 12 deletions

File tree

app/src/main/java/app/grapheneos/camera/CamConfig.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,6 +1145,12 @@ class CamConfig(private val mActivity: MainActivity) {
11451145
} else {
11461146
View.VISIBLE
11471147
}
1148+
mActivity.muteToggle.visibility =
1149+
if (includeAudio) {
1150+
View.VISIBLE
1151+
} else {
1152+
View.GONE
1153+
}
11481154

11491155
val videoCaptureBuilder = VideoCapture.Builder(
11501156
Recorder.Builder()
@@ -1428,6 +1434,7 @@ class CamConfig(private val mActivity: MainActivity) {
14281434
mActivity.captureButton.setImageResource(R.drawable.torch_off_button)
14291435

14301436
mActivity.micOffIcon.visibility = View.GONE
1437+
mActivity.muteToggle.visibility = View.GONE
14311438
} else {
14321439
mActivity.qrOverlay.visibility = View.INVISIBLE
14331440
mActivity.thirdOption.visibility = View.VISIBLE
@@ -1443,6 +1450,7 @@ class CamConfig(private val mActivity: MainActivity) {
14431450
} else {
14441451
mActivity.captureButton.setImageResource(R.drawable.camera_shutter)
14451452
mActivity.micOffIcon.visibility = View.GONE
1453+
mActivity.muteToggle.visibility = View.GONE
14461454
}
14471455
}
14481456

app/src/main/java/app/grapheneos/camera/capturer/VideoCapturer.kt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ class VideoCapturer(private val mActivity: MainActivity) {
187187
val pendingRecording = recordingCtx.pendingRecording
188188

189189
if (includeAudio) {
190-
pendingRecording.withAudioEnabled()
190+
pendingRecording.withAudioEnabled(isMuted)
191191
}
192192

193193
beforeRecordingStarts()
@@ -315,14 +315,6 @@ class VideoCapturer(private val mActivity: MainActivity) {
315315
mActivity.timerView.visibility = View.VISIBLE
316316

317317
mActivity.settingsDialog.includeAudioToggle.isEnabled = false
318-
319-
if (camConfig.includeAudio) {
320-
isMuted = false
321-
mActivity.muteToggle.setImageResource(R.drawable.mic_on)
322-
mActivity.muteToggle.setBackgroundColor(mActivity.getColor(R.color.red))
323-
mActivity.muteToggle.tooltipText = mActivity.getString(R.string.tap_to_mute_audio)
324-
mActivity.muteToggle.visibility = View.VISIBLE
325-
}
326318
}
327319

328320
private fun afterRecordingStops() {
@@ -375,22 +367,19 @@ class VideoCapturer(private val mActivity: MainActivity) {
375367
// mActivity.micOffIcon.visibility = View.VISIBLE
376368

377369
mActivity.settingsDialog.includeAudioToggle.isEnabled = true
378-
mActivity.muteToggle.visibility = View.GONE
379370

380371
isRecording = false
381372

382373
mActivity.forceUpdateOrientationSensor()
383374
}
384375

385376
fun muteRecording() {
386-
if (!isRecording) return
387377
check(camConfig.includeAudio)
388378
isMuted = true
389379
recording?.mute(true)
390380
}
391381

392382
fun unmuteRecording() {
393-
if (!isRecording) return
394383
check(camConfig.includeAudio)
395384
isMuted = false
396385
recording?.mute(false)

app/src/main/java/app/grapheneos/camera/ui/SettingsDialog.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,11 @@ class SettingsDialog(val mActivity: MainActivity, themedContext: Context) :
369369
} else {
370370
View.VISIBLE
371371
}
372+
mActivity.muteToggle.visibility = if (includeAudioToggle.isChecked) {
373+
View.VISIBLE
374+
} else {
375+
View.GONE
376+
}
372377

373378
camConfig.includeAudio = includeAudioToggle.isChecked
374379
}

0 commit comments

Comments
 (0)