diff options
| author | 2024-03-08 20:06:51 -0500 | |
|---|---|---|
| committer | 2024-03-12 13:23:37 +0000 | |
| commit | 01d9014ba14b33f76c09bd1901224f7e674eefff (patch) | |
| tree | 68e9ab85049b4078d979462834e9670d7be9a438 /java/src | |
| parent | e204bcf642d44f87a85c4e2b8037834eeb1ab0b4 (diff) | |
Add JavaInterop @RequiresOptin to Java support classes
Restrict usage to Java. Can be overridden by adding an @OpIn
in Kotlin code if necessary.
Bug: 309960444
Test: atest IntentResolver-tests-unit
Flag: NA
Change-Id: I6952aa295cc67deee5e372e20fd2bb3baa9cc056
Diffstat (limited to 'java/src')
3 files changed, 6 insertions, 0 deletions
diff --git a/java/src/com/android/intentresolver/v2/JavaFlowHelper.kt b/java/src/com/android/intentresolver/v2/JavaFlowHelper.kt index c6c977f6..3c4bddd1 100644 --- a/java/src/com/android/intentresolver/v2/JavaFlowHelper.kt +++ b/java/src/com/android/intentresolver/v2/JavaFlowHelper.kt @@ -18,11 +18,13 @@ package com.android.intentresolver.v2 +import com.android.intentresolver.v2.annotation.JavaInterop import java.util.function.Consumer import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.launch +@JavaInterop fun <T> collect(scope: CoroutineScope, flow: Flow<T>, collector: Consumer<T>): Job = scope.launch { flow.collect { collector.accept(it) } } diff --git a/java/src/com/android/intentresolver/v2/ProfileAvailability.kt b/java/src/com/android/intentresolver/v2/ProfileAvailability.kt index 4b183ecb..ddb57991 100644 --- a/java/src/com/android/intentresolver/v2/ProfileAvailability.kt +++ b/java/src/com/android/intentresolver/v2/ProfileAvailability.kt @@ -16,6 +16,7 @@ package com.android.intentresolver.v2 +import com.android.intentresolver.v2.annotation.JavaInterop import com.android.intentresolver.v2.domain.interactor.UserInteractor import com.android.intentresolver.v2.shared.model.Profile import kotlinx.coroutines.CoroutineScope @@ -27,6 +28,7 @@ import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch /** Provides availability status for profiles */ +@JavaInterop class ProfileAvailability( private val scope: CoroutineScope, private val userInteractor: UserInteractor, diff --git a/java/src/com/android/intentresolver/v2/ProfileHelper.kt b/java/src/com/android/intentresolver/v2/ProfileHelper.kt index 29aab770..8a8e6b54 100644 --- a/java/src/com/android/intentresolver/v2/ProfileHelper.kt +++ b/java/src/com/android/intentresolver/v2/ProfileHelper.kt @@ -18,11 +18,13 @@ package com.android.intentresolver.v2 import android.os.UserHandle import com.android.intentresolver.inject.IntentResolverFlags +import com.android.intentresolver.v2.annotation.JavaInterop import com.android.intentresolver.v2.domain.interactor.UserInteractor import com.android.intentresolver.v2.shared.model.Profile import com.android.intentresolver.v2.shared.model.User import javax.inject.Inject +@JavaInterop class ProfileHelper @Inject constructor( |