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

Commit 2b79f7a4 authored by Maryam Dehaini's avatar Maryam Dehaini Committed by Android (Google) Code Review
Browse files

Merge "Add logs for app-to-web" into main

parents 1dc2a757 ba80c21b
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ import com.android.window.flags.Flags
import com.android.wm.shell.R
import com.android.wm.shell.common.DisplayController
import com.android.wm.shell.compatui.DialogAnimationController
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.DESKTOP_WINDOWING_APP_TO_WEB_CHANGE_OPEN_BY_DEFAULT_SETTINGS
import com.android.wm.shell.shared.annotations.ShellMainThread
import com.android.wm.shell.transition.Transitions
import com.android.wm.shell.windowdecor.common.WindowDecorTaskResourceLoader
@@ -69,6 +71,7 @@ internal class OpenByDefaultDialog(
    @ShellMainThread private val mainDispatcher: MainCoroutineDispatcher,
    @ShellMainThread private val mainScope: CoroutineScope,
    private val listener: DialogLifecycleListener,
    private val desktopModeUiEventLogger: DesktopModeUiEventLogger,
) {
    private lateinit var dialog: OpenByDefaultDialogView
    private lateinit var viewHost: SurfaceControlViewHost
@@ -84,6 +87,7 @@ internal class OpenByDefaultDialog(
    private val domainVerificationManager =
        userContext.getSystemService(DomainVerificationManager::class.java)!!
    private val packageName = taskInfo.baseActivity?.packageName!!
    private var linkHandlingAllowed: Boolean = false

    private var loadAppInfoJob: Job? = null

@@ -117,6 +121,13 @@ internal class OpenByDefaultDialog(
        dialog.setDismissOnClickListener { closeMenu() }
        dialog.setConfirmButtonClickListener {
            setDefaultLinkHandlingSetting()
            // Log if user is confirming settings change
            if (isConfirmingSettingsChange()) {
                desktopModeUiEventLogger.log(
                    taskInfo,
                    DESKTOP_WINDOWING_APP_TO_WEB_CHANGE_OPEN_BY_DEFAULT_SETTINGS
                )
            }
            closeMenu()
        }

@@ -166,9 +177,15 @@ internal class OpenByDefaultDialog(

        val userState =
            getDomainVerificationUserState(domainVerificationManager, packageName) ?: return
        val openInApp = userState.isLinkHandlingAllowed
        openInAppButton.isChecked = openInApp
        openInBrowserButton.isChecked = !openInApp
        linkHandlingAllowed = userState.isLinkHandlingAllowed
        openInAppButton.isChecked = linkHandlingAllowed
        openInBrowserButton.isChecked = !linkHandlingAllowed
    }

    private fun isConfirmingSettingsChange() = if (linkHandlingAllowed) {
        openInBrowserButton.isChecked
    } else {
        openInAppButton.isChecked
    }

    private fun setDefaultLinkHandlingSetting() {
+7 −1
Original line number Diff line number Diff line
@@ -195,7 +195,13 @@ class DesktopModeUiEventLogger(
        @UiEvent(doc = "A11y service triggered a11y action to resize app window left")
        A11Y_ACTION_RESIZE_LEFT(2168),
        @UiEvent(doc = "A11y service triggered a11y action to resize app window right")
        A11Y_ACTION_RESIZE_RIGHT(2169);
        A11Y_ACTION_RESIZE_RIGHT(2169),
        @UiEvent(doc = "Switch to browser by clicking open in browser button in the handle menu")
        DESKTOP_WINDOWING_APP_TO_WEB_OPEN_IN_BROWSER(2487),
        @UiEvent(doc = "Switch to app by clicking open in app button in the handle menu")
        DESKTOP_WINDOWING_APP_TO_WEB_OPEN_IN_APP(2488),
        @UiEvent(doc = "Change link handling settings using the open by default dialog")
        DESKTOP_WINDOWING_APP_TO_WEB_CHANGE_OPEN_BY_DEFAULT_SETTINGS(2489);

        override fun getId(): Int = mId
    }
+2 −1
Original line number Diff line number Diff line
@@ -1399,7 +1399,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
                    public void onDialogDismissed() {
                        mOpenByDefaultDialog = null;
                    }
                }
                },
                mDesktopModeUiEventLogger
        );
    }

+9 −0
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@ import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.A11Y_APP_HANDLE_MENU_DESKTOP_VIEW
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.A11Y_APP_HANDLE_MENU_FULLSCREEN
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.A11Y_APP_HANDLE_MENU_SPLIT_SCREEN
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.DESKTOP_WINDOWING_APP_TO_WEB_OPEN_IN_APP
import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.DESKTOP_WINDOWING_APP_TO_WEB_OPEN_IN_BROWSER
import com.android.wm.shell.shared.annotations.ShellMainThread
import com.android.wm.shell.shared.bubbles.BubbleAnythingFlagHelper
import com.android.wm.shell.shared.bubbles.ContextUtils.isRtl
@@ -228,6 +230,13 @@ private constructor(
                    bind(taskInfo, shouldShowMoreActionsPill)
                    this.onOpenInAppOrBrowserClickListener = {
                        openInAppOrBrowserClickListener.invoke(openInAppOrBrowserIntent!!)
                        val uiEvent =
                            if (isBrowserApp) {
                                DESKTOP_WINDOWING_APP_TO_WEB_OPEN_IN_APP
                            } else {
                                DESKTOP_WINDOWING_APP_TO_WEB_OPEN_IN_BROWSER
                            }
                        desktopModeUiEventLogger.log(taskInfo, uiEvent)
                        onHandleMenuClicked.invoke()
                    }
                    this.onOpenByDefaultClickListener = onOpenByDefaultClickListener
+1 −0
Original line number Diff line number Diff line
@@ -363,6 +363,7 @@ class AppHandleController(
                        openByDefaultDialog = null
                    }
                },
                desktopModeUiEventLogger,
            )
    }

Loading