device_google_gs201/dumpstate/service.cpp
Alex Hong cbc81c7f5b Upgrade android.hardware.dumpstate from HIDL 1.1 to AIDL 1
lshal is not supported for AIDL, now use dumpsys instead.
Update the debug command as below.
  Old: lshal debug android.hardware.dumpstate@1.1::IDumpstateDevice/default [section]
  New: dumpsys android.hardware.dumpstate.IDumpstateDevice/default [section]

Currently dumpsys does not start the Lazy HAL service, only dumpstate does.
Because we need to run dumpsys for debugging, keep the dumpstate HAL running at boot.
Do not set it to be a lazy HAL.

Test: atest VtsHalDumpstateTargetTest pass
      adb shell dumpsys -t 30 android.hardware.dumpstate.IDumpstateDevice/default all
Bug: 223118410
Change-Id: I7f866a57c3eff8c9783fee89dce205cf9728c459
2022-04-15 17:00:31 +08:00

37 lines
1.3 KiB
C++

/*
* 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.
*/
#define LOG_TAG "android.hardware.dumpstate-service.gs201"
#include "Dumpstate.h"
#include <android-base/logging.h>
#include <android/binder_manager.h>
#include <android/binder_process.h>
using aidl::android::hardware::dumpstate::Dumpstate;
int main() {
ABinderProcess_setThreadPoolMaxThreadCount(0);
std::shared_ptr<Dumpstate> dumpstate = ndk::SharedRefBase::make<Dumpstate>();
const std::string instance = std::string() + Dumpstate::descriptor + "/default";
binder_status_t status =
AServiceManager_registerLazyService(dumpstate->asBinder().get(), instance.c_str());
CHECK_EQ(status, STATUS_OK);
ABinderProcess_joinThreadPool();
return EXIT_FAILURE; // Unreachable
}