Skip to content

Commit b2998d9

Browse files
authored
Merge pull request #296 from open-eid/MOPPAND-1700
Refactor nullable variables from CryptoContainer wrapper.
2 parents 2f41a8c + a6a959b commit b2998d9

File tree

11 files changed

+114
-115
lines changed

11 files changed

+114
-115
lines changed

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/crypto/EncryptNavigation.kt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,11 +1153,14 @@ fun EncryptNavigation(
11531153
showContainerCloseConfirmationDialog.value = false
11541154
},
11551155
onDismissButton = {
1156-
saveFile(
1157-
cryptoContainer?.file,
1158-
cryptoContainer?.containerMimetype(),
1159-
saveFileLauncher,
1160-
)
1156+
val file = cryptoContainer?.file
1157+
if (file != null) {
1158+
saveFile(
1159+
file,
1160+
cryptoContainer?.containerMimetype(),
1161+
saveFileLauncher,
1162+
)
1163+
}
11611164
},
11621165
onConfirmButton = {
11631166
showContainerCloseConfirmationDialog.value = false
@@ -1203,7 +1206,7 @@ private fun handleBackButtonClick(
12031206
}
12041207

12051208
private fun saveFile(
1206-
file: File?,
1209+
file: File,
12071210
mimetype: String?,
12081211
saveFileLauncher: ActivityResultLauncher<Intent>,
12091212
) {
@@ -1214,7 +1217,7 @@ private fun saveFile(
12141217
.addCategory(Intent.CATEGORY_OPENABLE)
12151218
.putExtra(
12161219
Intent.EXTRA_TITLE,
1217-
sanitizeString(file?.name, ""),
1220+
sanitizeString(file.name, ""),
12181221
).setType(mimetype)
12191222
.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION),
12201223
null,

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/crypto/bottomsheet/CryptoDataFileBottomSheet.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ fun CryptoDataFileBottomSheet(
5656
handleSivaConfirmation: () -> Unit,
5757
context: Context,
5858
saveFileLauncher: ActivityResultLauncher<Intent>,
59-
saveFile: (File?, String, ActivityResultLauncher<Intent>) -> Unit,
59+
saveFile: (File, String, ActivityResultLauncher<Intent>) -> Unit,
6060
openRemoveFileDialog: MutableState<Boolean>,
6161
onBackButtonClick: () -> Unit,
6262
) {
@@ -108,7 +108,9 @@ fun CryptoDataFileBottomSheet(
108108
if (dataFile != null) {
109109
try {
110110
val file = sharedContainerViewModel.getCryptoContainerDataFile(cryptoContainer, dataFile)
111-
saveFile(file, dataFile.mimeType(context), saveFileLauncher)
111+
if (file != null) {
112+
saveFile(file, dataFile.mimeType(context), saveFileLauncher)
113+
}
112114
} catch (ex: Exception) {
113115
errorLog("SigningContainer", "Unable to save file. Unable to get datafile", ex)
114116
onBackButtonClick()

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/crypto/bottomsheet/EncryptContainerBottomSheet.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fun EncryptContainerBottomSheet(
4444
cryptoContainer: CryptoContainer?,
4545
onSignClick: () -> Unit,
4646
saveFileLauncher: ActivityResultLauncher<Intent>,
47-
saveFile: (File?, String?, ActivityResultLauncher<Intent>) -> Unit,
47+
saveFile: (File, String?, ActivityResultLauncher<Intent>) -> Unit,
4848
) {
4949
val buttonName = stringResource(id = R.string.button_name)
5050

@@ -74,11 +74,14 @@ fun EncryptContainerBottomSheet(
7474
R.string.container_save,
7575
)} ${cryptoContainer?.getName() ?: ""} $buttonName",
7676
) {
77-
saveFile(
78-
cryptoContainer?.file,
79-
cryptoContainer?.containerMimetype(),
80-
saveFileLauncher,
81-
)
77+
val file = cryptoContainer?.file
78+
if (file != null) {
79+
saveFile(
80+
file,
81+
cryptoContainer.containerMimetype(),
82+
saveFileLauncher,
83+
)
84+
}
8285
},
8386
BottomSheetButton(
8487
showButton = isSignButtonShown,

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/signing/SigningNavigation.kt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,11 +1274,14 @@ fun SigningNavigation(
12741274
showContainerCloseConfirmationDialog.value = false
12751275
},
12761276
onDismissButton = {
1277-
saveFile(
1278-
signedContainer?.getContainerFile(),
1279-
signedContainer?.containerMimetype(),
1280-
saveFileLauncher,
1281-
)
1277+
val file = signedContainer?.getContainerFile()
1278+
if (file != null) {
1279+
saveFile(
1280+
file,
1281+
signedContainer?.containerMimetype(),
1282+
saveFileLauncher,
1283+
)
1284+
}
12821285
},
12831286
onConfirmButton = {
12841287
showContainerCloseConfirmationDialog.value = false
@@ -1346,7 +1349,7 @@ private fun handleBackButtonClick(
13461349
}
13471350

13481351
private fun saveFile(
1349-
file: File?,
1352+
file: File,
13501353
mimetype: String?,
13511354
saveFileLauncher: ActivityResultLauncher<Intent>,
13521355
) {
@@ -1357,7 +1360,7 @@ private fun saveFile(
13571360
.addCategory(Intent.CATEGORY_OPENABLE)
13581361
.putExtra(
13591362
Intent.EXTRA_TITLE,
1360-
sanitizeString(file?.name, ""),
1363+
sanitizeString(file.name, ""),
13611364
).setType(mimetype)
13621365
.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION),
13631366
null,

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/signing/bottomsheet/ContainerBottomSheet.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ fun ContainerBottomSheet(
4343
signedContainer: SignedContainer?,
4444
onEncryptClick: () -> Unit,
4545
saveFileLauncher: ActivityResultLauncher<Intent>,
46-
saveFile: (File?, String?, ActivityResultLauncher<Intent>) -> Unit,
46+
saveFile: (File, String?, ActivityResultLauncher<Intent>) -> Unit,
4747
) {
4848
val buttonName = stringResource(id = R.string.button_name)
4949

@@ -72,11 +72,14 @@ fun ContainerBottomSheet(
7272
R.string.container_save,
7373
)} ${signedContainer?.getName() ?: ""} $buttonName",
7474
) {
75-
saveFile(
76-
signedContainer?.getContainerFile(),
77-
signedContainer?.containerMimetype(),
78-
saveFileLauncher,
79-
)
75+
val file = signedContainer?.getContainerFile()
76+
if (file != null) {
77+
saveFile(
78+
file,
79+
signedContainer.containerMimetype(),
80+
saveFileLauncher,
81+
)
82+
}
8083
},
8184
BottomSheetButton(
8285
showButton = isEncryptButtonShown,

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/signing/bottomsheet/DataFileBottomSheet.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ fun DataFileBottomSheet(
5656
handleSivaConfirmation: () -> Unit,
5757
context: Context,
5858
saveFileLauncher: ActivityResultLauncher<Intent>,
59-
saveFile: (File?, String, ActivityResultLauncher<Intent>) -> Unit,
59+
saveFile: (File, String, ActivityResultLauncher<Intent>) -> Unit,
6060
openRemoveFileDialog: MutableState<Boolean>,
6161
onBackButtonClick: () -> Unit,
6262
) {
@@ -114,7 +114,9 @@ fun DataFileBottomSheet(
114114
else -> it.mediaType
115115
}
116116

117-
saveFile(file, mimeType, saveFileLauncher)
117+
if (file != null) {
118+
saveFile(file, mimeType, saveFileLauncher)
119+
}
118120
} catch (ex: Exception) {
119121
errorLog("DataFileBottomSheet", "Unable to save file. Unable to get data file", ex)
120122
onBackButtonClick()

app/src/main/kotlin/ee/ria/DigiDoc/viewmodel/EncryptViewModel.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class EncryptViewModel
7272

7373
fun isEmptyFileInContainer(cryptoContainer: CryptoContainer?): Boolean =
7474
cryptoContainer?.dataFiles?.any {
75-
(it?.length() ?: 0L) == 0L
75+
it.length() == 0L
7676
} == true
7777

7878
fun isContainerWithoutRecipients(cryptoContainer: CryptoContainer?): Boolean =
@@ -162,17 +162,17 @@ class EncryptViewModel
162162
val containerFile = container.file
163163
val isEncrypted = isEncryptedContainer(container)
164164

165-
if (isEncrypted && containerFile != null) {
165+
if (isEncrypted) {
166166
uris += containerFile.toUri()
167167
} else {
168168
val dataFiles = container.getDataFiles()
169169
val dataFilesDir =
170-
containerFile?.let {
170+
containerFile.let {
171171
ContainerUtil.getContainerDataFilesDir(context, it)
172172
}
173173

174-
dataFiles.mapNotNullTo(uris) { dataFile ->
175-
container.getDataFile(dataFile, dataFilesDir)?.toUri()
174+
dataFiles.mapTo(uris) { dataFile ->
175+
container.getDataFile(dataFile, dataFilesDir).toUri()
176176
}
177177
}
178178

app/src/main/kotlin/ee/ria/DigiDoc/viewmodel/shared/SharedContainerViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ class SharedContainerViewModel
273273
): File? =
274274
cryptoContainer?.getDataFile(
275275
dataFile,
276-
cryptoContainer.file?.let {
276+
cryptoContainer.file.let {
277277
ContainerUtil.getContainerDataFilesDir(
278278
context,
279279
it,

0 commit comments

Comments
 (0)