1 /* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.healthconnect.controller.permissions.api 18 19 import android.health.connect.HealthConnectManager 20 import java.time.Instant 21 import javax.inject.Inject 22 23 class HealthPermissionManagerImpl @Inject constructor(private val manager: HealthConnectManager) : 24 HealthPermissionManager { getGrantedHealthPermissionsnull25 override fun getGrantedHealthPermissions(packageName: String): List<String> { 26 return manager.getGrantedHealthPermissions(packageName) 27 } 28 getHealthPermissionsFlagsnull29 override fun getHealthPermissionsFlags( 30 packageName: String, 31 permissions: List<String> 32 ): Map<String, Int> { 33 return manager.getHealthPermissionsFlags(packageName, permissions) 34 } 35 setHealthPermissionsUserFixedFlagValuenull36 override fun setHealthPermissionsUserFixedFlagValue( 37 packageName: String, 38 permissions: List<String>, 39 value: Boolean 40 ) { 41 manager.setHealthPermissionsUserFixedFlagValue(packageName, permissions, value) 42 } 43 grantHealthPermissionnull44 override fun grantHealthPermission(packageName: String, permissionName: String) { 45 manager.grantHealthPermission(packageName, permissionName) 46 } 47 revokeHealthPermissionnull48 override fun revokeHealthPermission(packageName: String, permissionName: String) { 49 manager.revokeHealthPermission(packageName, permissionName, /* reason= */ "") 50 } 51 revokeAllHealthPermissionsnull52 override fun revokeAllHealthPermissions(packageName: String) { 53 manager.revokeAllHealthPermissions(packageName, /* reason= */ "") 54 } 55 loadStartAccessDatenull56 override fun loadStartAccessDate(packageName: String?): Instant? { 57 return packageName?.let { manager.getHealthDataHistoricalAccessStartDate(it) } 58 } 59 } 60