[Audiosharing] Set/get compatibility config by toggle.

Also use startPrivateBroadcast() to start the broadcast with
compatibility config stored in SettingsProvider.

Test: manual
Bug: 305620450
Bug: 292538935
Change-Id: Iff067833fb0668531aa32957b414585751f2bcee
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
index 9dda0a1..c39257d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
@@ -139,16 +139,20 @@
 
     @Override
     public boolean isChecked() {
-        // TODO: return real compatibility config.
-        return false;
+        return mBroadcast != null && mBroadcast.getImproveCompatibility();
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        if (mBroadcast == null) {
+        if (mBroadcast == null || mBroadcast.getImproveCompatibility() == isChecked) {
+            Log.d(
+                    TAG,
+                    "Skip setting improveCompatibility, unchanged = "
+                            + (mBroadcast.getImproveCompatibility() == isChecked));
             return false;
         }
-        // TODO: set real compatibility config.
+        mBroadcast.setImproveCompatibility(isChecked);
+        // TODO: call updateBroadcast once framework change ready.
         return true;
     }
 
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
index ae1d791..84b63b1 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
@@ -22,7 +22,6 @@
 import android.bluetooth.BluetoothLeBroadcastAssistant;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.bluetooth.BluetoothLeBroadcastSubgroupSettings;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.util.Log;
@@ -539,8 +538,7 @@
                                                 mTargetSinks.add(device.getDevice());
                                             }
                                         }
-                                        mBroadcast.startPrivateBroadcast(
-                                                BluetoothLeBroadcastSubgroupSettings.QUALITY_HIGH);
+                                        mBroadcast.startPrivateBroadcast();
                                     });
                         });
             }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
index 3f0717d..b82c94d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
@@ -22,7 +22,6 @@
 import android.bluetooth.BluetoothLeBroadcastAssistant;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.bluetooth.BluetoothLeBroadcastSubgroupSettings;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -339,7 +338,7 @@
             }
             mDeviceItemsForSharing.remove(0);
         }
-        mBroadcast.startPrivateBroadcast(BluetoothLeBroadcastSubgroupSettings.QUALITY_HIGH);
+        mBroadcast.startPrivateBroadcast();
     }
 
     private void stopAudioSharing() {