Skip to content

Commit 8bb32ac

Browse files
authored
Merge pull request #173 from muun/55.1-release-branch
Apollo: Release source code for 55.1 (1501)
2 parents 91ca2f8 + 26b85a6 commit 8bb32ac

5 files changed

Lines changed: 29 additions & 12 deletions

File tree

android/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ follow [https://changelog.md/](https://changelog.md/) guidelines.
66

77
## [Unreleased]
88

9+
## [55.1] - 2025-08-22
10+
11+
### FIXED
12+
13+
- Api < 24 crash on missing method
14+
- Null context fixed on dialog
15+
916
## [55.0] - 2025-08-07
1017

1118
### CHANGED

android/apolloui/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ android {
9898
applicationId "io.muun.apollo"
9999
minSdk 19
100100
targetSdk 34
101-
versionCode 1500
102-
versionName "55.0"
101+
versionCode 1501
102+
versionName "55.1"
103103

104104
// Needed to make sure these classes are available in the main DEX file for API 19
105105
// See: https://spin.atomicobject.com/2018/07/16/support-kitkat-multidex/

android/apolloui/src/main/java/io/muun/apollo/data/afs/HardwareCapabilitiesProvider.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,15 @@ class HardwareCapabilitiesProvider(private val context: Context) {
224224
}
225225
}
226226

227-
private fun File.getTotalSpaceSafe() = try {
228-
totalSpace
227+
private fun File?.getTotalSpaceSafe() = try {
228+
this?.totalSpace ?: UNKNOWN_BYTES_AMOUNT
229229
} catch (e: Exception) {
230230
Timber.e(HardwareCapabilityError("totalSpace", e))
231231
UNKNOWN_BYTES_AMOUNT
232232
}
233233

234-
private fun File.getFreeSpaceSafe() = try {
235-
freeSpace
234+
private fun File?.getFreeSpaceSafe() = try {
235+
this?.freeSpace ?: UNKNOWN_BYTES_AMOUNT
236236
} catch (e: Exception) {
237237
Timber.e(HardwareCapabilityError("freeSpace", e))
238238
UNKNOWN_BYTES_AMOUNT
@@ -268,18 +268,26 @@ class HardwareCapabilitiesProvider(private val context: Context) {
268268
* TODO: once our minSdk > 28 (OS.supportsMediaDrmClose()) we could do this with kotlin's
269269
* try-with-resources.
270270
*/
271-
private fun getDrmIdFromClosableMediaDrm(drmProviderUuid: UUID): String {
271+
private fun getDrmIdFromClosableMediaDrm(drmProviderUuid: UUID): String? {
272272
var mediaDrm: MediaDrm? = null
273273
try {
274274
mediaDrm = MediaDrm(drmProviderUuid)
275-
val deviceIdBytes = mediaDrm.getPropertyByteArray(MediaDrm.PROPERTY_DEVICE_UNIQUE_ID)
275+
val deviceIdBytes = getSafeDeviceId(mediaDrm) ?: return null
276276

277277
return Encodings.bytesToHex(Hashes.sha256(deviceIdBytes))
278278
} finally {
279279
mediaDrm?.let(::releaseMediaDRM)
280280
}
281281
}
282282

283+
private fun getSafeDeviceId(mediaDrm: MediaDrm): ByteArray? {
284+
return try {
285+
mediaDrm.getPropertyByteArray(MediaDrm.PROPERTY_DEVICE_UNIQUE_ID)
286+
} catch (e: Exception) {
287+
null
288+
}
289+
}
290+
283291
private fun releaseMediaDRM(drmObject: MediaDrm) {
284292
if (OS.supportsMediaDrmClose()) {
285293
drmObject.close()

android/apolloui/src/main/java/io/muun/apollo/presentation/ui/fragments/sync/SyncPresenter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void handleError(Throwable error) {
114114
view.showErrorDialog(
115115
getContext().getString(R.string.network_error_message),
116116
null,
117-
() -> navigator.navigateToLauncher(getContext())
117+
() -> navigator.navigateToLauncher(view.getViewContext())
118118
);
119119
} else {
120120
super.handleError(error);

common/src/main/java/io/muun/common/utils/ByteArray.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@ public static byte[] slice(byte[] bytes, int index) {
3636
*/
3737
public static byte[] concat(byte[]... parts) {
3838

39-
final int totalLength = Arrays.stream(parts)
40-
.map(x -> x.length)
41-
.reduce(0, Integer::sum);
39+
int totalLength = 0;
40+
41+
for (byte[] part : parts) {
42+
totalLength += part.length;
43+
}
4244

4345
final byte[] concatenatedArray = new byte[totalLength];
4446
int currentPosition = 0;

0 commit comments

Comments
 (0)