Prepare for Play Store release: simplify dashboard, clean debug logs

- Simplify dashboard card: remove referral/staking/perwerde fields (not yet on-chain), keep roles + trust score + action button
- Remove all debug Log.d/e/w calls added during development (PEZ_STAKE, RuntimeFactory, ExtrinsicBuilder, etc.)
- Change Play Store track from beta to production
- Add release notes (whatsnew-en-US)
This commit is contained in:
2026-02-17 06:13:59 +03:00
parent 93e94cbf15
commit 9c7bb7c6e9
35 changed files with 53 additions and 433 deletions
@@ -1,6 +1,5 @@
package io.novafoundation.nova.common.utils
import android.util.Log
import io.novasama.substrate_sdk_android.runtime.AccountId
import io.novasama.substrate_sdk_android.runtime.definitions.registry.TypeRegistry
import io.novasama.substrate_sdk_android.runtime.definitions.types.composite.DictEnum
@@ -8,8 +7,6 @@ import io.novasama.substrate_sdk_android.runtime.definitions.types.generics.MULT
import io.novasama.substrate_sdk_android.runtime.definitions.types.primitives.FixedByteArray
import io.novasama.substrate_sdk_android.runtime.definitions.types.skipAliases
private const val TAG = "PezkuwiAddressConstructor"
/**
* Custom address constructor that handles Pezkuwi chains which use different type names.
* Pezkuwi uses "pezsp_runtime::multiaddress::MultiAddress" instead of standard "Address".
@@ -28,59 +25,39 @@ object PezkuwiAddressConstructor {
* Checks the actual type structure to determine the correct encoding format.
*/
fun constructInstance(typeRegistry: TypeRegistry, accountId: AccountId): Any {
// Try to find the address type
var foundTypeName: String? = null
val addressType = ADDRESS_TYPE_NAMES.firstNotNullOfOrNull { name ->
typeRegistry[name]?.also { foundTypeName = name }
}
Log.d(TAG, "Found address type: $foundTypeName, type class: ${addressType?.javaClass?.simpleName}")
// If no address type found, return the raw accountId (for chains with simple AccountId)
if (addressType == null) {
Log.d(TAG, "No address type found, returning raw accountId")
return accountId
}
val resolvedType = addressType.skipAliases()
Log.d(TAG, "Resolved type after skipAliases: ${resolvedType?.javaClass?.simpleName}, name: ${resolvedType?.name}")
// Check the actual type structure
return when (resolvedType) {
is DictEnum -> {
// Use the actual variant name from the type
// Standard chains use "Id", but Pezkuwi uses numeric variants like "0"
val variantNames = resolvedType.elements.values.map { it.name }
Log.d(TAG, "Type is DictEnum with variants: $variantNames")
// Use "Id" if available, otherwise use the first variant (index 0)
val idVariantName = if (variantNames.contains(MULTI_ADDRESS_ID)) {
MULTI_ADDRESS_ID
} else {
resolvedType.elements[0]?.name ?: MULTI_ADDRESS_ID
}
Log.d(TAG, "Using variant name: $idVariantName")
DictEnum.Entry(idVariantName, accountId)
}
is FixedByteArray -> {
Log.d(TAG, "Type is FixedByteArray with length: ${resolvedType.length}, returning raw accountId")
// GenericAccountId or similar - return raw
accountId
}
null -> {
Log.d(TAG, "Resolved type is null for type: $foundTypeName")
// If this is a MultiAddress type that couldn't resolve, use variant "0"
if (foundTypeName?.contains("MultiAddress") == true || foundTypeName?.contains("multiaddress") == true) {
Log.d(TAG, "Type appears to be MultiAddress, using variant 0")
DictEnum.Entry("0", accountId)
} else {
Log.d(TAG, "Returning raw accountId")
accountId
}
}
else -> {
Log.d(TAG, "Unknown type: ${resolvedType.javaClass.simpleName}, returning raw accountId")
// Unknown type, try raw accountId instead of DictEnum
accountId
}
}
@@ -2047,8 +2047,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Puntuación de confianza</string>
<string name="pezkuwi_dashboard_referral">Referido</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Solicitar y Acciones</string>
</resources>
@@ -2047,8 +2047,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Score de confiance</string>
<string name="pezkuwi_dashboard_referral">Parrainage</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Demande et Actions</string>
</resources>
@@ -2047,8 +2047,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Bizalmi pontszám</string>
<string name="pezkuwi_dashboard_referral">Ajánlás</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Jelentkezés és Műveletek</string>
</resources>
@@ -2033,8 +2033,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Skor Kepercayaan</string>
<string name="pezkuwi_dashboard_referral">Referral</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Ajukan &amp; Tindakan</string>
</resources>
@@ -2047,8 +2047,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Punteggio di fiducia</string>
<string name="pezkuwi_dashboard_referral">Referral</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Richiesta e Azioni</string>
</resources>
@@ -2033,8 +2033,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">信頼スコア</string>
<string name="pezkuwi_dashboard_referral">紹介</string>
<string name="pezkuwi_dashboard_staking">ステーキング</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">申請とアクション</string>
</resources>
@@ -2033,8 +2033,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">신뢰 점수</string>
<string name="pezkuwi_dashboard_referral">추천</string>
<string name="pezkuwi_dashboard_staking">스테이킹</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">신청 및 작업</string>
</resources>
@@ -2760,8 +2760,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Pûana Pêbaweriyê</string>
<string name="pezkuwi_dashboard_referral">Referral</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Serlêdan û Karên</string>
</resources>
@@ -2075,8 +2075,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Wynik zaufania</string>
<string name="pezkuwi_dashboard_referral">Polecenie</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Wniosek i Akcje</string>
</resources>
@@ -2047,8 +2047,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Pontuação de confiança</string>
<string name="pezkuwi_dashboard_referral">Indicação</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Candidatura e Ações</string>
</resources>
@@ -2075,8 +2075,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Рейтинг доверия</string>
<string name="pezkuwi_dashboard_referral">Реферал</string>
<string name="pezkuwi_dashboard_staking">Стейкинг</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Заявка и Действия</string>
</resources>
@@ -2,8 +2,5 @@
<resources>
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Güven Puanı</string>
<string name="pezkuwi_dashboard_referral">Referans</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Başvuru ve İşlemler</string>
</resources>
@@ -2033,8 +2033,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Điểm tin cậy</string>
<string name="pezkuwi_dashboard_referral">Giới thiệu</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Đăng ký &amp; Hành động</string>
</resources>
@@ -2033,8 +2033,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">信任评分</string>
<string name="pezkuwi_dashboard_referral">推荐</string>
<string name="pezkuwi_dashboard_staking">质押</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">申请与操作</string>
</resources>
-3
View File
@@ -2762,8 +2762,5 @@
<string name="pezkuwi_dashboard_title">Pezkuwi</string>
<string name="pezkuwi_dashboard_trust_score">Trust Score</string>
<string name="pezkuwi_dashboard_referral">Referral</string>
<string name="pezkuwi_dashboard_staking">Staking</string>
<string name="pezkuwi_dashboard_perwerde">Perwerde</string>
<string name="pezkuwi_dashboard_basvuru">Apply &amp; Actions</string>
</resources>