Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@

<uses-permission android:name="android.permission.INTERNET" />

<!-- Needed for Android SDK 21+ -->
<uses-permission android:name="android.permission.WAKE_LOCK" />

<!-- Needed for Android SDK 28+ -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

<!-- Needed for Android SDK 33+ -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

<application
Expand Down
5 changes: 4 additions & 1 deletion app/src/main/kotlin/ee/ria/DigiDoc/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,9 @@ class MainActivity :
setPackage(pkg)
}
@Suppress("QueryPermissionsNeeded")
packageManager.resolveActivity(browseIntent, PackageManager.MATCH_DEFAULT_ONLY) != null
packageManager.resolveActivity(
browseIntent,
PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY.toLong()),
) != null
}
}
5 changes: 0 additions & 5 deletions app/src/main/kotlin/ee/ria/DigiDoc/di/AppModules.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import ee.ria.DigiDoc.common.BuildVersionProvider
import ee.ria.DigiDoc.common.BuildVersionProviderImpl
import ee.ria.DigiDoc.common.certificate.CertificateService
import ee.ria.DigiDoc.configuration.deserializer.Cdoc2ConfDeserializer
import ee.ria.DigiDoc.configuration.provider.ConfigurationProvider
Expand Down Expand Up @@ -129,9 +127,6 @@ class AppModules {
@Singleton
fun provideCryptoInitialization(): CryptoInitialization = CryptoInitialization()

@Provides
fun provideBuildVersionProvider(): BuildVersionProvider = BuildVersionProviderImpl()

@Provides
@Singleton
fun provideActivityManager(): ActivityManager = ActivityManagerImpl()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ fun DecryptPasswordDialog(
.notAccessible(),
textAlign = TextAlign.Start,
style = MaterialTheme.typography.bodyLarge,
color = MaterialTheme.colorScheme.onSurfaceVariant
color = MaterialTheme.colorScheme.onSurfaceVariant,
)

Text(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,7 @@ fun HrefDynamicText(
if (!linkUrl.isEmpty()) {
contentDescription = "$text1 $text2 $linkText link $linkUrl"
}
}
.let {
}.let {
val urlInText =
annotatedStringWithLinks
.getStringAnnotations(tag = "URL", start = 0, end = annotatedStringWithLinks.length)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,11 @@ fun PrimaryTextField(
}
}

Column(modifier =
Column(
modifier =
modifier.semantics {
isTraversalGroup = true
}
},
) {
Row(
modifier = Modifier.fillMaxWidth(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,13 @@
package ee.ria.DigiDoc.utils.accessibility

import android.content.Context
import android.os.Build
import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityEvent.TYPE_ANNOUNCEMENT
import android.view.accessibility.AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED
import android.view.accessibility.AccessibilityManager

class AccessibilityUtil {
companion object {
fun getAccessibilityEventType(): Int =
if (Build.VERSION.SDK_INT >= 34) {
TYPE_VIEW_ACCESSIBILITY_FOCUSED
} else {
TYPE_ANNOUNCEMENT
}
fun getAccessibilityEventType(): Int = TYPE_VIEW_ACCESSIBILITY_FOCUSED

fun sendAccessibilityEvent(
context: Context,
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@ import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Before
import org.junit.Test
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.anyLong
import org.mockito.ArgumentMatchers.anyString
import org.mockito.MockedStatic
import org.mockito.Mockito.mock
import org.mockito.Mockito.mockStatic
import org.mockito.Mockito.`when`
import org.mockito.kotlin.any

@ExperimentalCoroutinesApi
class CentralConfigurationServiceImplTest {
Expand All @@ -62,6 +65,8 @@ class CentralConfigurationServiceImplTest {
private lateinit var context: Context
private lateinit var property: ConfigurationProperty

private lateinit var packageInfoFlags: MockedStatic<PackageManager.PackageInfoFlags>

@Before
fun setup() {
val packageManager = mock(PackageManager::class.java)
Expand All @@ -70,7 +75,12 @@ class CentralConfigurationServiceImplTest {
`when`(context.packageName).thenReturn("test")
val packageInfo = mock(PackageInfo::class.java)
`when`(packageInfo.longVersionCode).thenReturn(0L)
`when`(packageManager.getPackageInfo(anyString(), anyInt())).thenReturn(packageInfo)
packageInfoFlags = mockStatic(PackageManager.PackageInfoFlags::class.java)
packageInfoFlags
.`when`<PackageManager.PackageInfoFlags> { PackageManager.PackageInfoFlags.of(anyLong()) }
.thenReturn(mock(PackageManager.PackageInfoFlags::class.java))
`when`(packageManager.getPackageInfo(anyString(), any<PackageManager.PackageInfoFlags>()))
.thenReturn(packageInfo)

Dispatchers.setMain(testDispatcher)

Expand Down Expand Up @@ -123,6 +133,7 @@ class CentralConfigurationServiceImplTest {

@After
fun tearDown() {
packageInfoFlags.close()
Dispatchers.resetMain()
mockWebServer.shutdown()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ import ee.ria.cdoc.ILogger
import ee.ria.cdoc.Lock
import ee.ria.cdoc.NetworkBackend
import ee.ria.cdoc.Recipient
import ee.ria.cdoc.Recipient.parseLabel
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.withContext
import org.apache.commons.io.FilenameUtils
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
compileSdkVersion = "37"
minSdkVersion = "33"
minSdkVersion = "34"
targetSdkVersion = "37"
versionCode = "1" # Updated via CodeMagic pipeline.
versionName = "3.1.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ import android.content.pm.PackageManager
import android.hardware.usb.UsbDevice
import android.hardware.usb.UsbManager
import android.os.Build
import ee.ria.DigiDoc.common.BuildVersionProvider
import ee.ria.DigiDoc.common.BuildVersionProviderImpl
import ee.ria.DigiDoc.utilsLib.logging.LoggingUtil.Companion.errorLog
import java.util.Locale
import java.util.stream.Collectors
Expand All @@ -55,11 +53,10 @@ object UserAgentUtil {
fun getAppInfo(
context: Context,
sendDiagnostics: SendDiagnostics = SendDiagnostics.None,
buildVersionProvider: BuildVersionProvider = BuildVersionProviderImpl(),
): String {
val sb = StringBuilder()

sb.append("riadigidoc/").append(getAppVersion(context, buildVersionProvider))
sb.append("riadigidoc/").append(getAppVersion(context))

sb.append(" (schema=1")
sb.append("; os=Android ").append(Build.VERSION.RELEASE)
Expand Down Expand Up @@ -95,7 +92,6 @@ object UserAgentUtil {
fun getUserAgent(
context: Context,
sendDiagnostics: SendDiagnostics = SendDiagnostics.None,
buildVersionProvider: BuildVersionProvider = BuildVersionProviderImpl(),
): String {
val sb = StringBuilder()

Expand All @@ -105,7 +101,7 @@ object UserAgentUtil {
sb.append(" (").append(arch).append(") ")
}

sb.append("APP ").append(getAppInfo(context, sendDiagnostics, buildVersionProvider))
sb.append("APP ").append(getAppInfo(context, sendDiagnostics))

return sb.toString()
}
Expand Down Expand Up @@ -161,28 +157,17 @@ object UserAgentUtil {
return ArrayList(smartDevices.values)
}

private fun getAppVersion(
context: Context,
buildVersionProvider: BuildVersionProvider,
): String =
private fun getAppVersion(context: Context): String =
try {
val info = getPackageInfo(context, buildVersionProvider)
val info = getPackageInfo(context)
"${info.versionName}.${info.longVersionCode}"
} catch (e: PackageManager.NameNotFoundException) {
errorLog(LOG_TAG, "Failed getting app version from package info", e)
"unknown"
}

@Throws(PackageManager.NameNotFoundException::class)
private fun getPackageInfo(
context: Context,
buildVersionProvider: BuildVersionProvider,
): PackageInfo =
if (buildVersionProvider.getSDKInt() >= Build.VERSION_CODES.TIRAMISU) {
context.packageManager
.getPackageInfo(context.packageName, PackageManager.PackageInfoFlags.of(0))
} else {
context.packageManager
.getPackageInfo(context.packageName, 0)
}
private fun getPackageInfo(context: Context): PackageInfo =
context.packageManager
.getPackageInfo(context.packageName, PackageManager.PackageInfoFlags.of(0))
}
Loading
Loading