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

Commit f8989a33 authored by Yalan Yiue's avatar Yalan Yiue Committed by Android (Google) Code Review
Browse files

Merge "[Partial Screensharing] Handle app's name when media projection is...

Merge "[Partial Screensharing] Handle app's name when media projection is called by system apps" into tm-qpr-dev
parents 5142dafc a8bc7683
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -109,7 +109,6 @@ public class MediaProjectionPermissionActivity extends Activity
        CharSequence dialogTitle = null;
        CharSequence dialogTitle = null;
        String appName = null;
        String appName = null;
        if (Utils.isHeadlessRemoteDisplayProvider(packageManager, mPackageName)) {
        if (Utils.isHeadlessRemoteDisplayProvider(packageManager, mPackageName)) {
            // TODO(b/253438807): handle special app name
            dialogText = getString(R.string.media_projection_dialog_service_text);
            dialogText = getString(R.string.media_projection_dialog_service_text);
            dialogTitle = getString(R.string.media_projection_dialog_service_title);
            dialogTitle = getString(R.string.media_projection_dialog_service_title);
        } else {
        } else {
+27 −10
Original line number Original line Diff line number Diff line
@@ -23,11 +23,15 @@ import com.android.systemui.R
class MediaProjectionPermissionDialog(
class MediaProjectionPermissionDialog(
    context: Context?,
    context: Context?,
    private val onStartRecordingClicked: Runnable,
    private val onStartRecordingClicked: Runnable,
    appName: String?
    private val appName: String?
) : BaseScreenSharePermissionDialog(context, createOptionList(), appName) {
) : BaseScreenSharePermissionDialog(context, createOptionList(appName), appName) {
    override fun onCreate(savedInstanceState: Bundle?) {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        super.onCreate(savedInstanceState)
        if (appName == null) {
            setDialogTitle(R.string.media_projection_permission_dialog_system_service_title)
        } else {
            setDialogTitle(R.string.media_projection_permission_dialog_title)
            setDialogTitle(R.string.media_projection_permission_dialog_title)
        }
        setStartButtonText(R.string.media_projection_permission_dialog_continue)
        setStartButtonText(R.string.media_projection_permission_dialog_continue)
        setStartButtonOnClickListener {
        setStartButtonOnClickListener {
            // Note that it is important to run this callback before dismissing, so that the
            // Note that it is important to run this callback before dismissing, so that the
@@ -38,17 +42,30 @@ class MediaProjectionPermissionDialog(
    }
    }


    companion object {
    companion object {
        private fun createOptionList(): List<ScreenShareOption> {
        private fun createOptionList(appName: String?): List<ScreenShareOption> {
            val singleAppWarningText =
                if (appName == null) {
                    R.string.media_projection_permission_dialog_system_service_warning_single_app
                } else {
                    R.string.media_projection_permission_dialog_warning_single_app
                }
            val entireScreenWarningText =
                if (appName == null) {
                    R.string.media_projection_permission_dialog_system_service_warning_entire_screen
                } else {
                    R.string.media_projection_permission_dialog_warning_entire_screen
                }

            return listOf(
            return listOf(
                ScreenShareOption(
                ScreenShareOption(
                    ENTIRE_SCREEN,
                    mode = ENTIRE_SCREEN,
                    R.string.media_projection_permission_dialog_option_entire_screen,
                    spinnerText = R.string.media_projection_permission_dialog_option_entire_screen,
                    R.string.media_projection_permission_dialog_warning_entire_screen
                    warningText = entireScreenWarningText
                ),
                ),
                ScreenShareOption(
                ScreenShareOption(
                    SINGLE_APP,
                    mode = SINGLE_APP,
                    R.string.media_projection_permission_dialog_option_single_app,
                    spinnerText = R.string.media_projection_permission_dialog_option_single_app,
                    R.string.media_projection_permission_dialog_warning_single_app
                    warningText = singleAppWarningText
                )
                )
            )
            )
        }
        }