Skip to content

Commit f2acc20

Browse files
committed
Merge origin/main into kamal/full-app-i18n-ko
Re-apply localization over main's redesigns: mobile send status screen, Keystone mobile signing refresh (Step 1/2 / 2/2 full-screen scanner), method selection (wallet-link card), address-book contact name surfaces, and swap review/composer updates. Adds en/ko keys for the new copy and threads l10n through the new call sites.
2 parents 7295b2b + 02cc9f5 commit f2acc20

122 files changed

Lines changed: 11156 additions & 2505 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

android/app/src/main/kotlin/com/keplr/vizor/MainActivity.kt

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package com.keplr.vizor
22

33
import android.content.Intent
44
import android.net.Uri
5+
import android.os.Build
56
import android.provider.Settings
7+
import android.view.HapticFeedbackConstants
68
import android.view.WindowManager
79
import io.flutter.embedding.android.FlutterFragmentActivity
810
import io.flutter.embedding.engine.FlutterEngine
@@ -20,6 +22,8 @@ class MainActivity : FlutterFragmentActivity() {
2022
).setMethodCallHandler { call, result ->
2123
when (call.method) {
2224
"error" -> result.success(performErrorHaptic())
25+
"sendSuccess" -> result.success(performSendSuccessHaptic())
26+
"sendFailure" -> result.success(performSendFailureHaptic())
2327
else -> result.notImplemented()
2428
}
2529
}
@@ -69,14 +73,32 @@ class MainActivity : FlutterFragmentActivity() {
6973
/** REJECT is the platform's error haptic; older APIs report
7074
* unhandled so Dart falls back to its own pattern. */
7175
private fun performErrorHaptic(): Boolean {
72-
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.R) {
76+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
7377
return false
7478
}
7579
return window.decorView.performHapticFeedback(
76-
android.view.HapticFeedbackConstants.REJECT
80+
HapticFeedbackConstants.REJECT
7781
)
7882
}
7983

84+
private fun performSendSuccessHaptic(): Boolean {
85+
val feedbackConstant = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
86+
HapticFeedbackConstants.CONFIRM
87+
} else {
88+
HapticFeedbackConstants.VIRTUAL_KEY
89+
}
90+
return window.decorView.performHapticFeedback(feedbackConstant)
91+
}
92+
93+
private fun performSendFailureHaptic(): Boolean {
94+
val feedbackConstant = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
95+
HapticFeedbackConstants.REJECT
96+
} else {
97+
HapticFeedbackConstants.LONG_PRESS
98+
}
99+
return window.decorView.performHapticFeedback(feedbackConstant)
100+
}
101+
80102
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
81103
if (
82104
::deviceOwnerAuthHandler.isInitialized &&

assets/icons/keystone_scan.svg

Lines changed: 3 additions & 0 deletions
Loading
57.9 KB
Loading
58.1 KB
Loading
48.7 KB
Loading
57.8 KB
Loading
375 KB
Loading
712 KB
Loading
871 KB
Loading

fastlane/android/Fastfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ platform :android do
7777
lane :build do
7878
metadata = android_release_metadata
7979
coingecko_price_base_url = ENV.fetch("VIZOR_COINGECKO_PRICE_BASE_URL", "https://api.coingecko.com/api/v3")
80+
wallet_link_backend_url = VizorRelease.wallet_link_backend_url
8081

8182
sh(
8283
[
@@ -88,6 +89,7 @@ platform :android do
8889
"--dart-define=VIZOR_FORM_FACTOR=mobile",
8990
"--dart-define=#{shell_escape("VIZOR_RELEASE_VERSION=#{metadata.fetch(:asset_version)}")}",
9091
"--dart-define=#{shell_escape("VIZOR_COINGECKO_PRICE_BASE_URL=#{coingecko_price_base_url}")}",
92+
"--dart-define=#{shell_escape("VIZOR_WALLET_LINK_BACKEND_URL=#{wallet_link_backend_url}")}",
9193
"--build-name", shell_escape(metadata.fetch(:version)),
9294
"--build-number", shell_escape(metadata.fetch(:build_number))
9395
].join(" ")

0 commit comments

Comments
 (0)