summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
author mrenouf <mrenouf@google.com> 2024-03-08 20:06:51 -0500
committer Mark Renouf <mrenouf@google.com> 2024-03-12 13:23:37 +0000
commit01d9014ba14b33f76c09bd1901224f7e674eefff (patch)
tree68e9ab85049b4078d979462834e9670d7be9a438 /java/src
parente204bcf642d44f87a85c4e2b8037834eeb1ab0b4 (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')
-rw-r--r--java/src/com/android/intentresolver/v2/JavaFlowHelper.kt2
-rw-r--r--java/src/com/android/intentresolver/v2/ProfileAvailability.kt2
-rw-r--r--java/src/com/android/intentresolver/v2/ProfileHelper.kt2
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(