Skip to content

Commit cd6f0b8

Browse files
Anton KulakovGerrit Code Review
Anton Kulakov
authored and
Gerrit Code Review
committed
Merge "Replace NoOp implementation with NoOp proxy in SdkLoaderTest" into androidx-main
2 parents a004886 + 5e107d8 commit cd6f0b8

File tree

1 file changed

+11
-44
lines changed
  • privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader

1 file changed

+11
-44
lines changed

Diff for: privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoaderTest.kt

+11-44
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,10 @@ package androidx.privacysandbox.sdkruntime.client.loader
1717

1818
import android.content.Context
1919
import android.os.Build
20-
import android.os.Bundle
21-
import android.os.IBinder
2220
import androidx.privacysandbox.sdkruntime.client.TestSdkConfigs
2321
import androidx.privacysandbox.sdkruntime.client.config.LocalSdkConfig
24-
import androidx.privacysandbox.sdkruntime.core.AppOwnedSdkSandboxInterfaceCompat
2522
import androidx.privacysandbox.sdkruntime.core.LoadSdkCompatException
26-
import androidx.privacysandbox.sdkruntime.core.SandboxedSdkCompat
2723
import androidx.privacysandbox.sdkruntime.core.Versions
28-
import androidx.privacysandbox.sdkruntime.core.activity.SdkSandboxActivityHandlerCompat
29-
import androidx.privacysandbox.sdkruntime.core.controller.LoadSdkCallback
3024
import androidx.privacysandbox.sdkruntime.core.controller.SdkSandboxControllerCompat
3125
import androidx.test.core.app.ApplicationProvider
3226
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -35,7 +29,7 @@ import androidx.test.filters.SmallTest
3529
import androidx.testutils.assertThrows
3630
import com.google.common.truth.Truth.assertThat
3731
import java.io.File
38-
import java.util.concurrent.Executor
32+
import java.lang.reflect.Proxy
3933
import org.junit.Before
4034
import org.junit.Test
4135
import org.junit.runner.RunWith
@@ -157,45 +151,18 @@ class SdkLoaderTest {
157151
}
158152

159153
private object NoOpFactory : SdkLoader.ControllerFactory {
160-
override fun createControllerFor(sdkConfig: LocalSdkConfig) = NoOpImpl()
161-
}
162-
163-
private class NoOpImpl : SdkSandboxControllerCompat.SandboxControllerImpl {
164-
165-
override fun loadSdk(
166-
sdkName: String,
167-
params: Bundle,
168-
executor: Executor,
169-
callback: LoadSdkCallback
170-
) {
171-
executor.execute {
172-
callback.onError(
173-
LoadSdkCompatException(
174-
LoadSdkCompatException.LOAD_SDK_INTERNAL_ERROR,
175-
"NoOp"
176-
)
177-
)
178-
}
179-
}
180-
181-
override fun getSandboxedSdks(): List<SandboxedSdkCompat> {
182-
throw UnsupportedOperationException("NoOp")
183-
}
184154

185-
override fun getAppOwnedSdkSandboxInterfaces(): List<AppOwnedSdkSandboxInterfaceCompat> {
186-
throw UnsupportedOperationException("NoOp")
187-
}
155+
val controllerImplClass = SdkSandboxControllerCompat.SandboxControllerImpl::class.java
188156

189-
override fun registerSdkSandboxActivityHandler(
190-
handlerCompat: SdkSandboxActivityHandlerCompat
191-
): IBinder {
192-
throw UnsupportedOperationException("NoOp")
193-
}
157+
val noOpProxy = Proxy.newProxyInstance(
158+
controllerImplClass.classLoader,
159+
arrayOf(controllerImplClass)
160+
) { proxy, method, args ->
161+
throw UnsupportedOperationException(
162+
"Unexpected method call (NoOp) object:$proxy, method: $method, args: $args"
163+
)
164+
} as SdkSandboxControllerCompat.SandboxControllerImpl
194165

195-
override fun unregisterSdkSandboxActivityHandler(
196-
handlerCompat: SdkSandboxActivityHandlerCompat
197-
) {
198-
throw UnsupportedOperationException("NoOp")
199-
}
166+
override fun createControllerFor(sdkConfig: LocalSdkConfig) = noOpProxy
200167
}
201168
}

0 commit comments

Comments
 (0)