mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-04-22 09:08:03 +00:00
Initial commit: Pezkuwi Wallet Android
Security hardened release: - Code obfuscation enabled (minifyEnabled=true, shrinkResources=true) - Sensitive files excluded (google-services.json, keystores) - Branch.io key moved to BuildConfig placeholder - Updated dependencies: OkHttp 4.12.0, Gson 2.10.1, BouncyCastle 1.77 - Comprehensive ProGuard rules for crypto wallet - Navigation 2.7.7, Lifecycle 2.7.0, ConstraintLayout 2.1.4
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest />
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package io.novafoundation.nova.feature_versions_api.di
|
||||
|
||||
import io.novafoundation.nova.feature_versions_api.domain.UpdateNotificationsInteractor
|
||||
|
||||
interface VersionsFeatureApi {
|
||||
|
||||
fun interactor(): UpdateNotificationsInteractor
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package io.novafoundation.nova.feature_versions_api.domain
|
||||
|
||||
import java.util.Date
|
||||
|
||||
class UpdateNotification(
|
||||
val version: Version,
|
||||
val changelog: String?,
|
||||
val severity: Severity,
|
||||
val time: Date
|
||||
)
|
||||
|
||||
class Version(
|
||||
val major: Long,
|
||||
val minor: Long,
|
||||
val patch: Long
|
||||
) : Comparable<Version> {
|
||||
|
||||
companion object {
|
||||
fun getComparator(): Comparator<Version> {
|
||||
return compareBy<Version> { it.major }
|
||||
.thenBy { it.minor }
|
||||
.thenBy { it.patch }
|
||||
}
|
||||
}
|
||||
|
||||
override operator fun compareTo(other: Version): Int {
|
||||
return getComparator()
|
||||
.compare(this, other)
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "$major.$minor.$patch"
|
||||
}
|
||||
}
|
||||
|
||||
enum class Severity {
|
||||
NORMAL, MAJOR, CRITICAL
|
||||
}
|
||||
|
||||
fun Version.toUnderscoreString(): String {
|
||||
return "${major}_${minor}_$patch"
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package io.novafoundation.nova.feature_versions_api.domain
|
||||
|
||||
interface UpdateNotificationsInteractor {
|
||||
|
||||
suspend fun waitPermissionToUpdate()
|
||||
|
||||
fun allowInAppUpdateCheck()
|
||||
|
||||
suspend fun hasImportantUpdates(): Boolean
|
||||
|
||||
suspend fun getUpdateNotifications(): List<UpdateNotification>
|
||||
|
||||
suspend fun skipNewUpdates()
|
||||
|
||||
suspend fun loadVersions()
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package io.novafoundation.nova.feature_versions_api.presentation
|
||||
|
||||
interface VersionsRouter {
|
||||
|
||||
fun openAppUpdater()
|
||||
|
||||
fun closeUpdateNotifications()
|
||||
}
|
||||
Reference in New Issue
Block a user