<lambda>null1 package com.android.tv.settings.testutils
2 
3 import android.app.ActivityManager
4 import android.app.IActivityManager
5 import android.content.res.Configuration
6 import android.os.LocaleList
7 import org.robolectric.annotation.Implements
8 import org.robolectric.shadows.ShadowActivityManager
9 import java.lang.reflect.Proxy
10 import java.util.Locale
11 
12 
13 @Implements(ActivityManager::class)
14 @Suppress("ACCIDENTAL_OVERRIDE") // override doesn't work with JvmStatic
15 open class SettingsShadowActivityManager : ShadowActivityManager() {
16     companion object {
17         val configuration: Configuration = Configuration().apply {
18             setLocales(LocaleList(Locale.US))
19         }
20 
21         @JvmStatic
22         protected fun getService(): IActivityManager {
23             val clazz = IActivityManager::class.java
24             return Proxy.newProxyInstance(clazz.classLoader, arrayOf<Class<*>>(clazz)) {
25                 _, method, _ ->
26                     if (method.name == "getConfiguration") configuration else null
27             } as IActivityManager
28         }
29     }
30 }
31