42 lines
1.6 KiB
Kotlin
42 lines
1.6 KiB
Kotlin
package co.electriccoin.zcash.crash.android.internal.local
|
|
|
|
import android.content.ComponentName
|
|
import android.content.Context
|
|
import android.content.pm.PackageManager
|
|
import androidx.test.core.app.ApplicationProvider
|
|
import androidx.test.filters.SmallTest
|
|
import co.electriccoin.zcash.crash.android.GlobalCrashReporter
|
|
import co.electriccoin.zcash.spackle.AndroidApiVersion
|
|
import org.junit.Assert.assertEquals
|
|
import org.junit.Assert.assertTrue
|
|
import org.junit.Test
|
|
|
|
class Components {
|
|
|
|
@Test
|
|
@SmallTest
|
|
fun process_names() {
|
|
val context = ApplicationProvider.getApplicationContext<Context>()
|
|
val pm = ApplicationProvider.getApplicationContext<Context>().packageManager
|
|
val providerInfo = pm.getProviderInfoCompat(ComponentName(context, CrashProcessNameContentProvider::class.java))
|
|
val receiverInfo = pm.getReceiverInfoCompat(ComponentName(context, ExceptionReceiver::class.java))
|
|
|
|
assertEquals(providerInfo.processName, receiverInfo.processName)
|
|
assertTrue(providerInfo.processName.endsWith(GlobalCrashReporter.CRASH_PROCESS_NAME_SUFFIX))
|
|
}
|
|
}
|
|
|
|
private fun PackageManager.getProviderInfoCompat(componentName: ComponentName) = if (AndroidApiVersion.isAtLeastT) {
|
|
getProviderInfo(componentName, PackageManager.ComponentInfoFlags.of(0))
|
|
} else {
|
|
@Suppress("Deprecation")
|
|
getProviderInfo(componentName, 0)
|
|
}
|
|
|
|
private fun PackageManager.getReceiverInfoCompat(componentName: ComponentName) = if (AndroidApiVersion.isAtLeastT) {
|
|
getReceiverInfo(componentName, PackageManager.ComponentInfoFlags.of(0))
|
|
} else {
|
|
@Suppress("Deprecation")
|
|
getReceiverInfo(componentName, 0)
|
|
}
|