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

Commit a695438b authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add debug log to show why sensor event connection is not created" into main

parents a373d9a7 c9fd7aa9
Loading
Loading
Loading
Loading
+18 −3
Original line number Original line Diff line number Diff line
@@ -1583,6 +1583,10 @@ sp<ISensorEventConnection> SensorService::createSensorEventConnection(const Stri
    // Only 4 modes supported for a SensorEventConnection ... NORMAL, DATA_INJECTION,
    // Only 4 modes supported for a SensorEventConnection ... NORMAL, DATA_INJECTION,
    // REPLAY_DATA_INJECTION and HAL_BYPASS_REPLAY_DATA_INJECTION
    // REPLAY_DATA_INJECTION and HAL_BYPASS_REPLAY_DATA_INJECTION
    if (requestedMode != NORMAL && !isInjectionMode(requestedMode)) {
    if (requestedMode != NORMAL && !isInjectionMode(requestedMode)) {
      ALOGE(
          "Failed to create sensor event connection: invalid request mode. "
          "requestMode: %d",
          requestedMode);
      return nullptr;
      return nullptr;
    }
    }
    resetTargetSdkVersionCache(opPackageName);
    resetTargetSdkVersionCache(opPackageName);
@@ -1591,8 +1595,19 @@ sp<ISensorEventConnection> SensorService::createSensorEventConnection(const Stri
    // To create a client in DATA_INJECTION mode to inject data, SensorService should already be
    // To create a client in DATA_INJECTION mode to inject data, SensorService should already be
    // operating in DI mode.
    // operating in DI mode.
    if (requestedMode == DATA_INJECTION) {
    if (requestedMode == DATA_INJECTION) {
        if (mCurrentOperatingMode != DATA_INJECTION) return nullptr;
      if (mCurrentOperatingMode != DATA_INJECTION) {
        if (!isAllowListedPackage(packageName)) return nullptr;
        ALOGE(
            "Failed to create sensor event connection: sensor service not in "
            "DI mode when creating a client in DATA_INJECTION mode");
        return nullptr;
      }
      if (!isAllowListedPackage(packageName)) {
        ALOGE(
            "Failed to create sensor event connection: package %s not in "
            "allowed list for DATA_INJECTION mode",
            packageName.c_str());
        return nullptr;
      }
    }
    }


    uid_t uid = IPCThreadState::self()->getCallingUid();
    uid_t uid = IPCThreadState::self()->getCallingUid();