chore: auto-merge develop → main

Triggered by: 84d2ff0 kiosk: improve wizard UX + gateway configurability
This commit is contained in:
github-actions[bot]
2026-05-05 06:11:42 +00:00
5 changed files with 74 additions and 15 deletions
+2 -2
View File
@@ -11,8 +11,8 @@ android {
applicationId = "it.dadaloop.evershelf.kiosk"
minSdk = 24
targetSdk = 34
versionCode = 6
versionName = "1.5.0"
versionCode = 7
versionName = "1.5.1"
}
signingConfigs {
@@ -70,6 +70,17 @@ class SettingsActivity : AppCompatActivity() {
deviceView.text = "Install the Scale Gateway app to use a Bluetooth scale"
}
val btnConfigureGateway = findViewById<MaterialButton>(R.id.btnConfigureGateway)
if (gatewayInstalled) {
btnConfigureGateway.visibility = android.view.View.VISIBLE
btnConfigureGateway.setOnClickListener {
val intent = packageManager.getLaunchIntentForPackage(GATEWAY_PACKAGE)
if (intent != null) startActivity(intent)
}
} else {
btnConfigureGateway.visibility = android.view.View.GONE
}
// Back
findViewById<android.widget.ImageButton>(R.id.btnBack).setOnClickListener { finish() }
@@ -79,7 +90,7 @@ class SettingsActivity : AppCompatActivity() {
// Run wizard again
findViewById<MaterialButton>(R.id.btnRunWizard).setOnClickListener {
prefs.edit().putBoolean(KEY_SETUP_COMPLETE, false).apply()
Toast.makeText(this, "Wizard will run on next launch", Toast.LENGTH_SHORT).show()
startActivity(Intent(this, SetupActivity::class.java))
finish()
}
@@ -89,7 +89,8 @@ class SetupActivity : AppCompatActivity() {
private lateinit var gatewayStatusIcon: TextView
private lateinit var gatewayStatusText: TextView
private lateinit var gatewayStatusDetail: TextView
private lateinit var btnInstallGateway: MaterialButton
private lateinit var btnInstallGateway: MaterialButton
private lateinit var btnConfigureGateway: MaterialButton
private lateinit var gatewayProgressBar: ProgressBar
private lateinit var gatewayProgressText: TextView
private lateinit var step3NextButtons: LinearLayout
@@ -212,9 +213,10 @@ class SetupActivity : AppCompatActivity() {
gatewayInstallCard = findViewById(R.id.gatewayInstallCard)
gatewayStatusIcon = findViewById(R.id.gatewayStatusIcon)
gatewayStatusText = findViewById(R.id.gatewayStatusText)
gatewayStatusDetail = findViewById(R.id.gatewayStatusDetail)
btnInstallGateway = findViewById(R.id.btnInstallGateway)
gatewayProgressBar = findViewById(R.id.gatewayProgressBar)
gatewayStatusDetail = findViewById(R.id.gatewayStatusDetail)
btnInstallGateway = findViewById(R.id.btnInstallGateway)
btnConfigureGateway = findViewById(R.id.btnConfigureGateway)
gatewayProgressBar = findViewById(R.id.gatewayProgressBar)
gatewayProgressText = findViewById(R.id.gatewayProgressText)
step3NextButtons = findViewById(R.id.step3NextButtons)
@@ -281,6 +283,14 @@ class SetupActivity : AppCompatActivity() {
pendingApkDownloadUrl = GATEWAY_DOWNLOAD_URL
triggerApkDownload(GATEWAY_DOWNLOAD_URL)
}
btnConfigureGateway.setOnClickListener {
val intent = packageManager.getLaunchIntentForPackage(GATEWAY_PACKAGE)
if (intent != null) {
startActivity(intent)
} else {
Toast.makeText(this, "Gateway non trovato", Toast.LENGTH_SHORT).show()
}
}
findViewById<MaterialButton>(R.id.btnScaleBack).setOnClickListener { showStep(3) }
findViewById<MaterialButton>(R.id.btnScaleNext).setOnClickListener {
prefs.edit().putBoolean(KEY_HAS_SCALE, true).apply()
@@ -336,10 +346,20 @@ class SetupActivity : AppCompatActivity() {
// Reset scale step when entering it
if (step == 4) {
scaleQuestionCard.visibility = View.VISIBLE
gatewayInfoCard.visibility = View.GONE
gatewayInstallCard.visibility = View.GONE
step3NextButtons.visibility = View.GONE
val scaleAlreadyConfiguredYes = prefs.contains(KEY_HAS_SCALE) && prefs.getBoolean(KEY_HAS_SCALE, false)
if (scaleAlreadyConfiguredYes) {
// User already confirmed they have a scale — skip the question
scaleQuestionCard.visibility = View.GONE
gatewayInfoCard.visibility = View.VISIBLE
gatewayInstallCard.visibility = View.VISIBLE
step3NextButtons.visibility = View.VISIBLE
checkGatewayStatus()
} else {
scaleQuestionCard.visibility = View.VISIBLE
gatewayInfoCard.visibility = View.GONE
gatewayInstallCard.visibility = View.GONE
step3NextButtons.visibility = View.GONE
}
}
// Build summary when entering done step
@@ -682,15 +702,17 @@ class SetupActivity : AppCompatActivity() {
gatewayStatusText.text = getString(R.string.wizard_gateway_installed)
gatewayStatusDetail.text = getString(R.string.wizard_gateway_installed_detail)
gatewayStatusDetail.setTextColor(0xFF34d399.toInt())
btnInstallGateway.visibility = View.GONE
gatewayProgressBar.visibility = View.GONE
gatewayProgressText.visibility = View.GONE
btnInstallGateway.visibility = View.GONE
btnConfigureGateway.visibility = View.VISIBLE
gatewayProgressBar.visibility = View.GONE
gatewayProgressText.visibility = View.GONE
} else {
gatewayStatusIcon.text = "📲"
gatewayStatusText.text = getString(R.string.wizard_gateway_not_installed)
gatewayStatusDetail.text = getString(R.string.wizard_gateway_not_installed_detail)
gatewayStatusDetail.setTextColor(0xFFfbbf24.toInt())
btnInstallGateway.visibility = View.VISIBLE
btnInstallGateway.visibility = View.VISIBLE
btnConfigureGateway.visibility = View.GONE
}
}
@@ -141,6 +141,19 @@
android:text="No scale connected"
android:textColor="#64748b"
android:textSize="13sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnConfigureGateway"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="⚙️ Apri Gateway per configurarlo"
android:textSize="13sp"
android:textAllCaps="false"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:strokeColor="#34d399"
android:textColor="#34d399"
android:layout_marginTop="12dp"
android:visibility="gone" />
</LinearLayout>
<!-- Screensaver Section -->
@@ -905,6 +905,19 @@
android:textSize="14sp"
android:textAllCaps="false"
android:backgroundTint="#7c3aed" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnConfigureGateway"
android:layout_width="match_parent"
android:layout_height="48dp"
android:text="⚙️ Apri Gateway per configurarlo"
android:textSize="14sp"
android:textAllCaps="false"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:strokeColor="#34d399"
android:textColor="#34d399"
android:layout_marginTop="8dp"
android:visibility="gone" />
</LinearLayout>
<!-- Step 3 navigation (shown after YES) -->