Update Matter SDK to show Authorisation dialog only for account login flow. (#33470)
* [Problem]
Authorisation dialogue wasn't disabled when user disabled it from settings
[Solution]
Put a condition to check if user has authorised it. if not, then dialogue will not be shown.
[Test]
Tested-by: Lazar Kovacic <kovacic.lazar@gmail.com>
* Restyled by google-java-format
* Update MatterCommissioningPrompter.java
* Restyled by whitespace
* Restyled by google-java-format
---------
Co-authored-by: osamabb <osamabb@amazon.de>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Lazar Kovacic <kovacic.lazar@gmail.com>
diff --git a/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/MatterCommissioningPrompter.java b/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/MatterCommissioningPrompter.java
index 7879af4..8d2a650 100644
--- a/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/MatterCommissioningPrompter.java
+++ b/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/MatterCommissioningPrompter.java
@@ -5,8 +5,10 @@
import android.app.Activity;
import android.app.NotificationChannel;
import android.app.NotificationManager;
+import android.content.ContentResolver;
import android.content.Context;
import android.os.Build;
+import android.provider.Settings;
import android.util.Log;
import android.widget.EditText;
import androidx.appcompat.app.AlertDialog;
@@ -45,6 +47,17 @@
+ ". Commissionee: "
+ commissioneeName);
+ ContentResolver contentResolver = context.getContentResolver();
+ boolean authorisationDialogDisabled =
+ Settings.Secure.getInt(contentResolver, "matter_show_authorisation_dialog", 0) == 0;
+ // By default do not show authorisation dialog
+ // only do so if customer or OS explicitly ask for it, by updating
+ // matter_show_authorisation_dialog flag to 1
+ if (authorisationDialogDisabled) {
+ OnPromptAccepted();
+ return;
+ }
+
getActivity()
.runOnUiThread(
() -> {