Remove extra space around profiles and audio category

BUG: 376021212
Test: local test
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: If3e18ce26c688087158542e28e4981cf821fa2b8
This commit is contained in:
Haijie Hong
2024-10-29 15:18:33 +08:00
parent 75e2dc4b21
commit 2c9e4d373e
6 changed files with 47 additions and 5 deletions

View File

@@ -38,6 +38,7 @@ import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.flags.Flags;
import com.android.settingslib.bluetooth.A2dpProfile;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LeAudioProfile;
@@ -134,6 +135,9 @@ public class BluetoothDetailsAudioDeviceTypeController extends BluetoothDetailsC
@Override
protected void init(PreferenceScreen screen) {
mProfilesContainer = screen.findPreference(getPreferenceKey());
if (Flags.enableBluetoothDeviceDetailsPolish()) {
mProfilesContainer.setLayoutResource(R.layout.preference_category_bluetooth_no_padding);
}
refresh();
}

View File

@@ -96,6 +96,7 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
new HashMap<String, List<CachedBluetoothDevice>>();
private boolean mIsLeAudioToggleEnabled = false;
private boolean mIsLeAudioOnlyDevice = false;
private boolean mHasExtraSpace;
@VisibleForTesting
PreferenceCategory mProfilesContainer;
@@ -106,7 +107,8 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
LocalBluetoothManager manager,
CachedBluetoothDevice device,
Lifecycle lifecycle,
@Nullable List<String> invisibleProfiles) {
@Nullable List<String> invisibleProfiles,
boolean hasExtraSpace) {
super(context, fragment, device, lifecycle);
mManager = manager;
mProfileManager = mManager.getProfileManager();
@@ -115,12 +117,17 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
if (invisibleProfiles != null) {
mInvisibleProfiles = Set.copyOf(invisibleProfiles);
}
mHasExtraSpace = hasExtraSpace;
}
@Override
protected void init(PreferenceScreen screen) {
mProfilesContainer = (PreferenceCategory)screen.findPreference(getPreferenceKey());
mProfilesContainer.setLayoutResource(R.layout.preference_bluetooth_profile_category);
if (mHasExtraSpace) {
mProfilesContainer.setLayoutResource(R.layout.preference_bluetooth_profile_category);
} else {
mProfilesContainer.setLayoutResource(R.layout.preference_category_bluetooth_no_padding);
}
// Call refresh here even though it will get called later in onResume, to avoid the
// list of switches appearing to "pop" into the page.
refresh();
@@ -609,7 +616,11 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
Preference preference = mProfilesContainer.findPreference(KEY_BOTTOM_PREFERENCE);
if (preference == null) {
preference = new Preference(mContext);
preference.setLayoutResource(R.layout.preference_bluetooth_profile_category);
if (mHasExtraSpace) {
preference.setLayoutResource(R.layout.preference_bluetooth_profile_category);
} else {
preference.setLayoutResource(R.layout.preference_category_bluetooth_no_padding);
}
preference.setEnabled(false);
preference.setKey(KEY_BOTTOM_PREFERENCE);
preference.setOrder(ORDINAL);

View File

@@ -450,7 +450,7 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment
controllers.add(new BluetoothDetailsSpatialAudioController(context, this, mCachedDevice,
lifecycle));
controllers.add(new BluetoothDetailsProfilesController(context, this, mManager,
mCachedDevice, lifecycle, invisibleProfiles));
mCachedDevice, lifecycle, invisibleProfiles, invisibleProfiles == null));
controllers.add(new BluetoothDetailsMacAddressController(context, this, mCachedDevice,
lifecycle));
controllers.add(new StylusDevicesController(context, mInputDevice, mCachedDevice,

View File

@@ -143,6 +143,7 @@ class DeviceDetailsMoreSettingsFragment : DashboardFragment() {
formatter.getInvisibleBluetoothProfiles(
FragmentTypeModel.DeviceDetailsMoreSettingsFragment
),
false,
),
BluetoothDetailsAudioDeviceTypeController(
context,