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
This commit is contained in:
Peter Kalauskas
2019-01-02 10:47:39 -08:00
parent b2dedd4938
commit d2c86ff910
2 changed files with 6 additions and 1 deletions

View File

@@ -1,5 +1,7 @@
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

View File

@@ -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;