Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit baa89426 authored by Andre Le's avatar Andre Le
Browse files

QSDetailedView: Only dismiss screen record dialog in the dialog

The functionality to dismiss the dialog should be in the DialogDelegate,
rather than in the view binder, since the detailed view will not dismiss
the dialog when start recording button is clicked. Thus, this CL extract
the part to dismiss dialog out and move it back to the DialogDelegate.

This CL follows the refactor mentioned in
go/al-screen-record-detailed-view.

Bug: b/378514312
Flag: NONE refactor
Test: ScreenRecordPermissionDialogDelegateTest,
SystemCastPermissionDialogDelegateTest,
ShareToAppPermissionDialogDelegateTest
Test: Click on screen record tile in the QS -> verify that screen
recording in single app and entire screen both works

Change-Id: I028f1d3c1a3fb62363e432504a51eda72ca29aa7
parent 167a3ab6
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import android.content.Context
import android.hardware.display.DisplayManager
import android.os.Bundle
import android.os.UserHandle
import android.view.View
import androidx.annotation.StyleRes
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger
@@ -119,6 +120,12 @@ class ScreenRecordPermissionDialogDelegate(
        super<BaseMediaProjectionPermissionDialogDelegate>.onCreate(dialog, savedInstanceState)
        setDialogTitle(R.string.screenrecord_permission_dialog_title)
        dialog.setTitle(R.string.screenrecord_title)
        setStartButtonOnClickListener { v: View? ->
            val screenRecordViewBinder: ScreenRecordPermissionViewBinder? =
                viewBinder as ScreenRecordPermissionViewBinder?
            screenRecordViewBinder?.startButtonOnClicked()
            dialog.dismiss()
        }
        setCancelButtonOnClickListener { dialog.dismiss() }
    }
}
+30 −29
Original line number Diff line number Diff line
@@ -79,7 +79,10 @@ class ScreenRecordPermissionViewBinder(
    override fun bind() {
        super.bind()
        initRecordOptionsView()
        setStartButtonOnClickListener { _: View? ->
        setStartButtonOnClickListener { startButtonOnClicked() }
    }

    fun startButtonOnClicked() {
        onStartRecordingClicked?.run()
        if (selectedScreenShareOption.mode == ENTIRE_SCREEN) {
            requestScreenCapture(
@@ -109,8 +112,6 @@ class ScreenRecordPermissionViewBinder(
            )
            activityStarter.startActivity(intent, /* dismissShade= */ true)
        }
            dialog.dismiss()
        }
    }

    @SuppressLint("ClickableViewAccessibility")