1 /**
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 package com.android.healthconnect.controller.permissions.api
15 
16 import android.util.Log
17 import java.time.Instant
18 import javax.inject.Inject
19 import javax.inject.Singleton
20 
21 @Singleton
22 class LoadAccessDateUseCase
23 @Inject
24 constructor(private val healthPermissionManager: HealthPermissionManager) {
25 
26     companion object {
27         private const val TAG = "LoadAccessDate"
28     }
29 
invokenull30     operator fun invoke(packageName: String?): Instant? {
31         packageName?.let {
32             return try {
33                 healthPermissionManager.loadStartAccessDate(it)
34             } catch (ex: Exception) {
35                 Log.e(TAG, "LoadStartAccessDate failed", ex)
36                 null
37             }
38         }
39         return null
40     }
41 }
42