Allow stopping of Framework advertising

Test: build
Relnote: NA
Change-Id: I1920353e1248fb0c92f1dbcf78705ac19f683b19
diff --git a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/framework/FwkFragment.kt b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/framework/FwkFragment.kt
index 3230f45..d066bbc 100644
--- a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/framework/FwkFragment.kt
+++ b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/framework/FwkFragment.kt
@@ -95,8 +95,9 @@
             scan()
         }
 
-        binding.switchAdvertise.setOnClickListener {
-            if (binding.switchAdvertise.isChecked) startAdvertise()
+        binding.switchAdvertise.setOnCheckedChangeListener { _, isChecked ->
+            if (isChecked) startAdvertise()
+            else stopAdvertise()
         }
     }
 
@@ -151,7 +152,22 @@
 
         bleAdvertiser?.startAdvertising(advertiseSettings, advertiseData, advertiseCallback)
 
-        Toast.makeText(context, getString(R.string.advertise_start_message), Toast.LENGTH_LONG)
+        Toast.makeText(context, getString(R.string.advertise_start_message), Toast.LENGTH_SHORT)
             .show()
     }
+
+    // Permissions are handled by MainActivity requestBluetoothPermissions
+    @SuppressLint("MissingPermission")
+    private fun stopAdvertise() {
+        Log.d(TAG, "stopAdvertise() called")
+
+        val bluetoothManager =
+            context?.getSystemService(Context.BLUETOOTH_SERVICE) as? BluetoothManager
+
+        val bluetoothAdapter = bluetoothManager?.adapter
+
+        val bleAdvertiser = bluetoothAdapter?.bluetoothLeAdvertiser
+
+        bleAdvertiser?.stopAdvertising(advertiseCallback)
+    }
 }