From 01d9014ba14b33f76c09bd1901224f7e674eefff Mon Sep 17 00:00:00 2001 From: mrenouf Date: Fri, 8 Mar 2024 20:06:51 -0500 Subject: 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 --- java/src/com/android/intentresolver/v2/JavaFlowHelper.kt | 2 ++ java/src/com/android/intentresolver/v2/ProfileAvailability.kt | 2 ++ java/src/com/android/intentresolver/v2/ProfileHelper.kt | 2 ++ 3 files changed, 6 insertions(+) (limited to 'java/src') 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 collect(scope: CoroutineScope, flow: Flow, collector: Consumer): 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( -- cgit v1.2.3-59-g8ed1b