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

Commit 40d39c5a authored by Arthur Hung's avatar Arthur Hung Committed by Automerger Merge Worker
Browse files

Merge "Make sure all debug logs could be present after enabled" into tm-dev...

Merge "Make sure all debug logs could be present after enabled" into tm-dev am: 2b9326b1 am: afdd82a9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/18281619



Change-Id: Iae41aab4a9f1d24d410ae1b32c7b996dec486127
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 6ec20b77 afdd82a9
Loading
Loading
Loading
Loading
+99 −0
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2022 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.
 */

#ifndef _UI_INPUT_DISPATCHER_DEBUG_CONFIG_H
#define _UI_INPUT_DISPATCHER_DEBUG_CONFIG_H

#define LOG_TAG "InputDispatcher"

#include <log/log.h>
#include <log/log_event_list.h>

namespace android::inputdispatcher {
/**
 * Log detailed debug messages about each inbound event notification to the dispatcher.
 * Enable this via "adb shell setprop log.tag.InputDispatcherInboundEvent DEBUG" (requires restart)
 */
const bool DEBUG_INBOUND_EVENT_DETAILS =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "InboundEvent", ANDROID_LOG_INFO);

/**
 * Log detailed debug messages about each outbound event processed by the dispatcher.
 * Enable this via "adb shell setprop log.tag.InputDispatcherOutboundEvent DEBUG" (requires restart)
 */
const bool DEBUG_OUTBOUND_EVENT_DETAILS =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "OutboundEvent", ANDROID_LOG_INFO);

/**
 * Log debug messages about the dispatch cycle.
 * Enable this via "adb shell setprop log.tag.InputDispatcherDispatchCycle DEBUG" (requires restart)
 */
const bool DEBUG_DISPATCH_CYCLE =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "DispatchCycle", ANDROID_LOG_INFO);

/**
 * Log debug messages about channel creation
 * Enable this via "adb shell setprop log.tag.InputDispatcherChannelCreation DEBUG" (requires
 * restart)
 */
const bool DEBUG_CHANNEL_CREATION =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "ChannelCreation", ANDROID_LOG_INFO);

/**
 * Log debug messages about input event injection.
 * Enable this via "adb shell setprop log.tag.InputDispatcherInjection DEBUG" (requires restart)
 */
const bool DEBUG_INJECTION =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "Injection", ANDROID_LOG_INFO);

/**
 * Log debug messages about input focus tracking.
 * Enable this via "adb shell setprop log.tag.InputDispatcherFocus DEBUG" (requires restart)
 */
const bool DEBUG_FOCUS =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "Focus", ANDROID_LOG_INFO);

/**
 * Log debug messages about touch mode event
 * Enable this via "adb shell setprop log.tag.InputDispatcherTouchMode DEBUG" (requires restart)
 */
const bool DEBUG_TOUCH_MODE =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "TouchMode", ANDROID_LOG_INFO);

/**
 * Log debug messages about touch occlusion
 * Enable this via "adb shell setprop log.tag.InputDispatcherTouchOcclusion DEBUG" (requires
 * restart)
 */
const bool DEBUG_TOUCH_OCCLUSION =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "TouchOcclusion", ANDROID_LOG_INFO);

/**
 * Log debug messages about the app switch latency optimization.
 * Enable this via "adb shell setprop log.tag.InputDispatcherAppSwitch DEBUG" (requires restart)
 */
const bool DEBUG_APP_SWITCH =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "AppSwitch", ANDROID_LOG_INFO);

/**
 * Log debug messages about hover events.
 * Enable this via "adb shell setprop log.tag.InputDispatcherHover DEBUG" (requires restart)
 */
const bool DEBUG_HOVER =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "Hover", ANDROID_LOG_INFO);
} // namespace android::inputdispatcher

#endif // _UI_INPUT_DISPATCHER_DEBUG_CONFIG_H
 No newline at end of file
+1 −75
Original line number Original line Diff line number Diff line
@@ -27,8 +27,6 @@
#include <ftl/enum.h>
#include <ftl/enum.h>
#include <gui/SurfaceComposerClient.h>
#include <gui/SurfaceComposerClient.h>
#include <input/InputDevice.h>
#include <input/InputDevice.h>
#include <log/log.h>
#include <log/log_event_list.h>
#include <powermanager/PowerManager.h>
#include <powermanager/PowerManager.h>
#include <unistd.h>
#include <unistd.h>
#include <utils/Trace.h>
#include <utils/Trace.h>
@@ -42,6 +40,7 @@
#include <sstream>
#include <sstream>


#include "Connection.h"
#include "Connection.h"
#include "DebugConfig.h"
#include "InputDispatcher.h"
#include "InputDispatcher.h"


#define INDENT "  "
#define INDENT "  "
@@ -65,79 +64,6 @@ using android::os::InputEventInjectionSync;
namespace android::inputdispatcher {
namespace android::inputdispatcher {


namespace {
namespace {

/**
 * Log detailed debug messages about each inbound event notification to the dispatcher.
 * Enable this via "adb shell setprop log.tag.InputDispatcherInboundEvent DEBUG" (requires restart)
 */
const bool DEBUG_INBOUND_EVENT_DETAILS =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "InboundEvent", ANDROID_LOG_INFO);

/**
 * Log detailed debug messages about each outbound event processed by the dispatcher.
 * Enable this via "adb shell setprop log.tag.InputDispatcherOutboundEvent DEBUG" (requires restart)
 */
const bool DEBUG_OUTBOUND_EVENT_DETAILS =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "OutboundEvent", ANDROID_LOG_INFO);

/**
 * Log debug messages about the dispatch cycle.
 * Enable this via "adb shell setprop log.tag.InputDispatcherDispatchCycle DEBUG" (requires restart)
 */
const bool DEBUG_DISPATCH_CYCLE =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "DispatchCycle", ANDROID_LOG_INFO);

/**
 * Log debug messages about channel creation
 * Enable this via "adb shell setprop log.tag.InputDispatcherChannelCreation DEBUG" (requires
 * restart)
 */
const bool DEBUG_CHANNEL_CREATION =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "ChannelCreation", ANDROID_LOG_INFO);

/**
 * Log debug messages about input event injection.
 * Enable this via "adb shell setprop log.tag.InputDispatcherInjection DEBUG" (requires restart)
 */
const bool DEBUG_INJECTION =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "Injection", ANDROID_LOG_INFO);

/**
 * Log debug messages about input focus tracking.
 * Enable this via "adb shell setprop log.tag.InputDispatcherFocus DEBUG" (requires restart)
 */
const bool DEBUG_FOCUS =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "Focus", ANDROID_LOG_INFO);

/**
 * Log debug messages about touch mode event
 * Enable this via "adb shell setprop log.tag.InputDispatcherTouchMode DEBUG" (requires restart)
 */
const bool DEBUG_TOUCH_MODE =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "TouchMode", ANDROID_LOG_INFO);

/**
 * Log debug messages about touch occlusion
 * Enable this via "adb shell setprop log.tag.InputDispatcherTouchOcclusion DEBUG" (requires
 * restart)
 */
const bool DEBUG_TOUCH_OCCLUSION =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "TouchOcclusion", ANDROID_LOG_INFO);

/**
 * Log debug messages about the app switch latency optimization.
 * Enable this via "adb shell setprop log.tag.InputDispatcherAppSwitch DEBUG" (requires restart)
 */
const bool DEBUG_APP_SWITCH =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "AppSwitch", ANDROID_LOG_INFO);

/**
 * Log debug messages about hover events.
 * Enable this via "adb shell setprop log.tag.InputDispatcherHover DEBUG" (requires restart)
 */
const bool DEBUG_HOVER =
        __android_log_is_loggable(ANDROID_LOG_DEBUG, LOG_TAG "Hover", ANDROID_LOG_INFO);

// Temporarily releases a held mutex for the lifetime of the instance.
// Temporarily releases a held mutex for the lifetime of the instance.
// Named to match std::scoped_lock
// Named to match std::scoped_lock
class scoped_unlock {
class scoped_unlock {
+17 −15
Original line number Original line Diff line number Diff line
@@ -14,10 +14,12 @@
 * limitations under the License.
 * limitations under the License.
 */
 */


#include "DebugConfig.h"
#include "input/InputDevice.h"
#include "input/InputDevice.h"


#include "InputState.h"
#include "InputState.h"


#include <cinttypes>
#include "InputDispatcher.h"
#include "InputDispatcher.h"


namespace android::inputdispatcher {
namespace android::inputdispatcher {
@@ -100,11 +102,11 @@ bool InputState::trackMotion(const MotionEntry& entry, int32_t action, int32_t f
                mMotionMementos.erase(mMotionMementos.begin() + index);
                mMotionMementos.erase(mMotionMementos.begin() + index);
                return true;
                return true;
            }
            }
#if DEBUG_OUTBOUND_EVENT_DETAILS
            if (DEBUG_OUTBOUND_EVENT_DETAILS) {
                ALOGD("Dropping inconsistent motion up or cancel event: deviceId=%d, source=%08x, "
                ALOGD("Dropping inconsistent motion up or cancel event: deviceId=%d, source=%08x, "
                      "displayId=%" PRId32 ", actionMasked=%d",
                      "displayId=%" PRId32 ", actionMasked=%d",
                      entry.deviceId, entry.source, entry.displayId, actionMasked);
                      entry.deviceId, entry.source, entry.displayId, actionMasked);
#endif
            }
            return false;
            return false;
        }
        }


@@ -157,11 +159,11 @@ bool InputState::trackMotion(const MotionEntry& entry, int32_t action, int32_t f
                    return true;
                    return true;
                }
                }
            }
            }
#if DEBUG_OUTBOUND_EVENT_DETAILS
            if (DEBUG_OUTBOUND_EVENT_DETAILS) {
                ALOGD("Dropping inconsistent motion pointer up/down or move event: "
                ALOGD("Dropping inconsistent motion pointer up/down or move event: "
                      "deviceId=%d, source=%08x, displayId=%" PRId32 ", actionMasked=%d",
                      "deviceId=%d, source=%08x, displayId=%" PRId32 ", actionMasked=%d",
                      entry.deviceId, entry.source, entry.displayId, actionMasked);
                      entry.deviceId, entry.source, entry.displayId, actionMasked);
#endif
            }
            return false;
            return false;
        }
        }


@@ -171,11 +173,11 @@ bool InputState::trackMotion(const MotionEntry& entry, int32_t action, int32_t f
                mMotionMementos.erase(mMotionMementos.begin() + index);
                mMotionMementos.erase(mMotionMementos.begin() + index);
                return true;
                return true;
            }
            }
#if DEBUG_OUTBOUND_EVENT_DETAILS
            if (DEBUG_OUTBOUND_EVENT_DETAILS) {
                ALOGD("Dropping inconsistent motion hover exit event: deviceId=%d, source=%08x, "
                ALOGD("Dropping inconsistent motion hover exit event: deviceId=%d, source=%08x, "
                      "displayId=%" PRId32,
                      "displayId=%" PRId32,
                      entry.deviceId, entry.source, entry.displayId);
                      entry.deviceId, entry.source, entry.displayId);
#endif
            }
            return false;
            return false;
        }
        }