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

Commit 9c77a336 authored by “Longbo's avatar “Longbo Committed by Longbo Wei
Browse files

autoclick: Log the autoclick selected type

Video:
http://go/scrcast/NTY4NTUwMTIxNzQ3MjUxMnxiOTc1YTFmMS1mYw

Bug: b/409768370
Test: AutoclickControllerTest
Flag: com.android.server.accessibility.enable_autoclick_indicator
Change-Id: I8c3d36f0f7d291619e210f8c5aed2ce7a9546fb6
parent 3031373a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1106,6 +1106,8 @@ public class AutoclickController extends BaseEventStreamTransformation {
            // types.
            int selectedClickType = mHoveredState ? AUTOCLICK_TYPE_LEFT_CLICK : mActiveClickType;

            AutoclickLogger.logSelectedClickType(selectedClickType);

            // Handle scroll-specific click behavior.
            if (handleScrollClick()) {
                return;
+48 −0
Original line number Diff line number Diff line
/*
 * Copyright 2025 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.server.accessibility.autoclick;

import com.android.internal.util.FrameworkStatsLog;

public class AutoclickLogger {
    /**
     * Logs an autoclick clicked type, emit when autoclick is sent.
     *
     * @param autoclickTypeFromPanel the selected click type from AutoclickTypePanel
     */
    public static void logSelectedClickType(int autoclickTypeFromPanel) {
        int autoclickType = switch (autoclickTypeFromPanel) {
            case AutoclickTypePanel.AUTOCLICK_TYPE_LEFT_CLICK ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_LEFT_CLICK;
            case AutoclickTypePanel.AUTOCLICK_TYPE_RIGHT_CLICK ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_RIGHT_CLICK;
            case AutoclickTypePanel.AUTOCLICK_TYPE_DOUBLE_CLICK ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_DOUBLE_CLICK;
            case AutoclickTypePanel.AUTOCLICK_TYPE_DRAG ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_DRAG;
            case AutoclickTypePanel.AUTOCLICK_TYPE_LONG_PRESS ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_LONG_PRESS;
            case AutoclickTypePanel.AUTOCLICK_TYPE_SCROLL ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_SCROLL;
            default ->
                    FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED__CLICK_TYPE__AUTOCLICK_TYPE_UNKNOWN;
        };

        FrameworkStatsLog.write(FrameworkStatsLog.AUTOCLICK_EVENT_REPORTED,
                autoclickType);
    }
}