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

Commit d2c86ff9 authored by Peter Kalauskas's avatar Peter Kalauskas
Browse files

Make health storage HAL lazy

Make health storage HAL run only when needed.

Bug: 115675262
Test: Flash crosshatch, ensure android.hardware.health.storage@1.0-service
      is not running. Enable debug logging in vold. Run 'adb shell sm
      idle-maint run' and check logs to ensure vold runs "Start Dev GC
      on HAL"
Change-Id: I4bd48b5bb1b3ae7e1f4ccaff2042f1331e4cd76d
parent b2dedd49
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
service vendor.health-storage-hal-1-0 /vendor/bin/hw/android.hardware.health.storage@1.0-service
    interface android.hardware.health.storage@1.0::IStorage default
    oneshot
    disabled
    class hal
    user system
    group system
+4 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
 * limitations under the License.
 */

#include <hidl/HidlLazyUtils.h>
#include <hidl/HidlTransportSupport.h>
#include "Storage.h"

@@ -23,6 +24,7 @@ using android::status_t;
using android::UNKNOWN_ERROR;
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
using android::hardware::LazyServiceRegistrar;
using android::hardware::health::storage::V1_0::IStorage;
using android::hardware::health::storage::V1_0::implementation::Storage;

@@ -30,7 +32,8 @@ int main() {
    configureRpcThreadpool(1, true);

    sp<IStorage> service = new Storage();
    status_t result = service->registerAsService();
    LazyServiceRegistrar registrar;
    status_t result = registrar.registerService(service);

    if (result != OK) {
        return result;