diff --git a/res/layout/sfps_enroll_enrolling.xml b/res/layout/sfps_enroll_enrolling.xml index e0f9d1f8454..bd6e69a4175 100644 --- a/res/layout/sfps_enroll_enrolling.xml +++ b/res/layout/sfps_enroll_enrolling.xml @@ -45,7 +45,7 @@ android:id="@+id/illustration_lottie" android:layout_width="@dimen/fingerprint_progress_bar_max_size" android:layout_height="@dimen/fingerprint_progress_bar_max_size" - android:layout_marginRight="@dimen/sfps_lottie_translate_x" + android:layout_marginEnd="@dimen/sfps_lottie_translate_x" android:layout_marginBottom="@dimen/sfps_lottie_translate_y" android:scaleType="centerInside" android:visibility="gone" @@ -66,7 +66,7 @@ android:id="@+id/fingerprint_progress_bar" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginLeft="@dimen/sfps_progress_bar_translate_x" + android:layout_marginStart="@dimen/sfps_progress_bar_translate_x" android:layout_marginTop="@dimen/sfps_progress_bar_translate_y" android:layout_gravity="center" android:minHeight="@dimen/fingerprint_progress_bar_min_size" diff --git a/res/values-ldrtl/dimens.xml b/res/values-ldrtl/dimens.xml index cbe7eb5abdc..f11b2f458a7 100755 --- a/res/values-ldrtl/dimens.xml +++ b/res/values-ldrtl/dimens.xml @@ -23,4 +23,8 @@ 20dp 0dp 20dp + + + 242dp + 10dp diff --git a/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java b/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java index 2895e751c26..85b48e9ded9 100644 --- a/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java +++ b/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java @@ -17,6 +17,8 @@ package com.android.settings.accessibility; import android.app.settings.SettingsEnums; +import android.content.Context; +import android.provider.Settings; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; @@ -50,5 +52,16 @@ public class CaptioningMoreOptionsFragment extends DashboardFragment { } public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.captioning_more_options); + new BaseSearchIndexProvider(R.xml.captioning_more_options) { + @Override + protected boolean isPageSearchEnabled(Context context) { + if (!Flags.fixA11ySettingsSearch()) { + return super.isPageSearchEnabled(context); + } + // CaptioningMoreOptions is only searchable if captions are enabled, so that we + // don't show search results for settings that will cause no change to the user. + return Settings.Secure.getInt(context.getContentResolver(), + Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, 0) == 1; + } + }; } diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java index 4cb540c07a4..e42c6549f7d 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java @@ -26,6 +26,7 @@ import android.sysprop.BluetoothProperties; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; @@ -52,7 +53,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.utils.ThreadUtils; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -81,7 +84,9 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll private static final String LE_AUDIO_TOGGLE_VISIBLE_PROPERTY = "persist.bluetooth.leaudio.toggle_visible"; - private final AtomicReference> mInvisiblePreferenceKey = new AtomicReference<>(); + private Set mInvisibleProfiles = Collections.emptySet(); + private final AtomicReference> mAdditionalInvisibleProfiles = + new AtomicReference<>(); private LocalBluetoothManager mManager; private LocalBluetoothProfileManager mProfileManager; @@ -95,13 +100,21 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll @VisibleForTesting PreferenceCategory mProfilesContainer; - public BluetoothDetailsProfilesController(Context context, PreferenceFragmentCompat fragment, - LocalBluetoothManager manager, CachedBluetoothDevice device, Lifecycle lifecycle) { + public BluetoothDetailsProfilesController( + Context context, + PreferenceFragmentCompat fragment, + LocalBluetoothManager manager, + CachedBluetoothDevice device, + Lifecycle lifecycle, + @Nullable List invisibleProfiles) { super(context, fragment, device, lifecycle); mManager = manager; mProfileManager = mManager.getProfileManager(); mCachedDevice = device; mCachedDeviceGroup = Utils.findAllCachedBluetoothDevicesByGroupId(mManager, mCachedDevice); + if (invisibleProfiles != null) { + mInvisibleProfiles = Set.copyOf(invisibleProfiles); + } } @Override @@ -563,7 +576,7 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll protected void refresh() { ThreadUtils.postOnBackgroundThread( () -> { - mInvisiblePreferenceKey.set( + mAdditionalInvisibleProfiles.set( FeatureFactory.getFeatureFactory() .getBluetoothFeatureProvider() .getInvisibleProfilePreferenceKeys( @@ -604,12 +617,15 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll mProfilesContainer.addPreference(preference); } - Set invisibleKeys = mInvisiblePreferenceKey.get(); - if (invisibleKeys != null) { - for (int i = 0; i < mProfilesContainer.getPreferenceCount(); ++i) { - Preference pref = mProfilesContainer.getPreference(i); - pref.setVisible(pref.isVisible() && !invisibleKeys.contains(pref.getKey())); - } + Set additionalInvisibleProfiles = mAdditionalInvisibleProfiles.get(); + HashSet combinedInvisibleProfiles = new HashSet<>(mInvisibleProfiles); + if (additionalInvisibleProfiles != null) { + combinedInvisibleProfiles.addAll(additionalInvisibleProfiles); + } + Log.i(TAG, "Invisible profiles: " + combinedInvisibleProfiles); + for (int i = 0; i < mProfilesContainer.getPreferenceCount(); ++i) { + Preference pref = mProfilesContainer.getPreference(i); + pref.setVisible(pref.isVisible() && !combinedInvisibleProfiles.contains(pref.getKey())); } } diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index 844a7c05484..0e51d178fe8 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -419,12 +419,16 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment @Override protected List createPreferenceControllers(Context context) { + List invisibleProfiles = List.of(); if (Flags.enableBluetoothDeviceDetailsPolish()) { mFormatter = FeatureFactory.getFeatureFactory() .getBluetoothFeatureProvider() .getDeviceDetailsFragmentFormatter( requireContext(), this, mBluetoothAdapter, mCachedDevice); + invisibleProfiles = + mFormatter.getInvisibleBluetoothProfiles( + FragmentTypeModel.DeviceDetailsMainFragment.INSTANCE); } ArrayList controllers = new ArrayList<>(); @@ -444,7 +448,7 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment controllers.add(new BluetoothDetailsSpatialAudioController(context, this, mCachedDevice, lifecycle)); controllers.add(new BluetoothDetailsProfilesController(context, this, mManager, - mCachedDevice, lifecycle)); + mCachedDevice, lifecycle, invisibleProfiles)); controllers.add(new BluetoothDetailsMacAddressController(context, this, mCachedDevice, lifecycle)); controllers.add(new StylusDevicesController(context, mInputDevice, mCachedDevice, diff --git a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt index 8f0bf3e9dc6..f2a569d2245 100644 --- a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt +++ b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt @@ -43,6 +43,7 @@ import com.android.settings.core.SubSettingLauncher import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settings.spa.preference.ComposePreference import com.android.settingslib.bluetooth.CachedBluetoothDevice +import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigItemModel import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon import com.android.settingslib.spa.framework.theme.SettingsDimension @@ -68,6 +69,9 @@ interface DeviceDetailsFragmentFormatter { /** Gets keys of visible preferences in built-in preference in xml. */ fun getVisiblePreferenceKeys(fragmentType: FragmentTypeModel): List? + /** Updates device details fragment layout. */ + fun getInvisibleBluetoothProfiles(fragmentType: FragmentTypeModel): List? + /** Updates device details fragment layout. */ fun updateLayout(fragmentType: FragmentTypeModel) @@ -108,13 +112,22 @@ class DeviceDetailsFragmentFormatterImpl( viewModel .getItems(fragmentType) ?.filterIsInstance() - ?.mapNotNull { it.preferenceKey } + ?.map { it.preferenceKey } + } + + override fun getInvisibleBluetoothProfiles(fragmentType: FragmentTypeModel): List? = + runBlocking { + viewModel + .getItems(fragmentType) + ?.filterIsInstance() + ?.first()?.invisibleProfiles } /** Updates bluetooth device details fragment layout. */ override fun updateLayout(fragmentType: FragmentTypeModel) = runBlocking { val items = viewModel.getItems(fragmentType) ?: return@runBlocking val layout = viewModel.getLayout(fragmentType) ?: return@runBlocking + val prefKeyToSettingId = items .filterIsInstance() diff --git a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt index f69f023d482..c0fbd4f2c4a 100644 --- a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt +++ b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt @@ -22,7 +22,6 @@ import android.content.Context import android.graphics.PorterDuff import android.os.Bundle import android.view.Menu -import android.view.MenuInflater import android.view.MenuItem import androidx.lifecycle.lifecycleScope import com.android.settings.R @@ -63,8 +62,10 @@ class DeviceDetailsMoreSettingsFragment : DashboardFragment() { item.icon?.setColorFilter( resources.getColor( com.android.settingslib.widget.theme.R.color - .settingslib_materialColorOnSurface), - PorterDuff.Mode.SRC_ATOP) + .settingslib_materialColorOnSurface + ), + PorterDuff.Mode.SRC_ATOP, + ) item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS) } } @@ -116,14 +117,27 @@ class DeviceDetailsMoreSettingsFragment : DashboardFragment() { } formatter = featureFactory.bluetoothFeatureProvider.getDeviceDetailsFragmentFormatter( - requireContext(), this, bluetoothManager.adapter, cachedDevice) + requireContext(), + this, + bluetoothManager.adapter, + cachedDevice, + ) helpItem = formatter .getMenuItem(FragmentTypeModel.DeviceDetailsMoreSettingsFragment) .stateIn(lifecycleScope, SharingStarted.WhileSubscribed(), initialValue = null) return listOf( BluetoothDetailsProfilesController( - context, this, localBluetoothManager, cachedDevice, settingsLifecycle)) + context, + this, + localBluetoothManager, + cachedDevice, + settingsLifecycle, + formatter.getInvisibleBluetoothProfiles( + FragmentTypeModel.DeviceDetailsMoreSettingsFragment + ), + ) + ) } override fun getLogTag(): String = TAG diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index d7d1531c0d8..e987ebea1cb 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -293,6 +293,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { new ChooseLockSettingsHelper.Builder(this); launchedCDC = builder.setHeader(mTitle) .setDescription(mDetails) + .setAlternateButton(alternateButton) .setExternal(true) .setUserId(LockPatternUtils.USER_REPAIR_MODE) .show(); diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java index 0d57b577298..677d18e6052 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java @@ -197,8 +197,8 @@ public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFr mCancelButton = view.findViewById(R.id.cancelButton); boolean showCancelButton = mRemoteValidation || getActivity().getIntent().getBooleanExtra( SHOW_CANCEL_BUTTON, false); - boolean hasAlternateButton = (mFrp || mRemoteValidation) && !TextUtils.isEmpty( - mAlternateButtonText); + boolean hasAlternateButton = (mFrp || mRemoteValidation || mRepairMode) + && !TextUtils.isEmpty(mAlternateButtonText); mCancelButton.setVisibility(showCancelButton || hasAlternateButton ? View.VISIBLE : View.GONE); if (hasAlternateButton) { diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java index 6969472b485..5486808821a 100644 --- a/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java @@ -20,6 +20,9 @@ import static com.google.common.truth.Truth.assertThat; import android.app.settings.SettingsEnums; import android.content.Context; +import android.platform.test.annotations.EnableFlags; +import android.platform.test.flag.junit.SetFlagsRule; +import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; @@ -27,15 +30,23 @@ import com.android.settings.R; import com.android.settings.testutils.XmlTestUtils; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** Tests for {@link CaptioningMoreOptionsFragment}. */ @RunWith(RobolectricTestRunner.class) public class CaptioningMoreOptionsFragmentTest { + // Language/locale preference key, from captioning_more_options.xml + private static final String CAPTIONING_LOCALE_KEY = "captioning_locale"; + + @Rule + public final SetFlagsRule mSetFlagRule = new SetFlagsRule(); private final Context mContext = ApplicationProvider.getApplicationContext(); private CaptioningMoreOptionsFragment mFragment; @@ -65,11 +76,40 @@ public class CaptioningMoreOptionsFragmentTest { @Test public void getNonIndexableKeys_existInXmlLayout() { final List niks = CaptioningMoreOptionsFragment.SEARCH_INDEX_DATA_PROVIDER - .getNonIndexableKeys(mContext); + .getNonIndexableKeys(mContext) + .stream().filter(Objects::nonNull).collect(Collectors.toList()); final List keys = - XmlTestUtils.getKeysFromPreferenceXml(mContext, - R.xml.captioning_more_options); + XmlTestUtils.getKeysFromPreferenceXml(mContext, R.xml.captioning_more_options); assertThat(keys).containsAtLeastElementsIn(niks); } + + @Test + @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH) + public void getNonIndexableKeys_captioningEnabled_localeIsSearchable() { + setCaptioningEnabled(true); + + final List niks = CaptioningMoreOptionsFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + // Not in NonIndexableKeys == searchable + assertThat(niks).doesNotContain(CAPTIONING_LOCALE_KEY); + } + + @Test + @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH) + public void getNonIndexableKeys_captioningDisabled_localeIsNotSearchable() { + setCaptioningEnabled(false); + + final List niks = CaptioningMoreOptionsFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + // In NonIndexableKeys == not searchable + assertThat(niks).contains(CAPTIONING_LOCALE_KEY); + } + + private void setCaptioningEnabled(boolean enabled) { + Settings.Secure.putInt(mContext.getContentResolver(), + Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, enabled ? 1 : 0); + } } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java index 4b4dd8b11e1..d137d8287e8 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java @@ -120,11 +120,7 @@ public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsCont .thenAnswer(invocation -> ImmutableList.of(mConnectableProfiles)); setupDevice(mDeviceConfig); - mController = new BluetoothDetailsProfilesController(mContext, mFragment, mLocalManager, - mCachedDevice, mLifecycle); - mProfiles.setKey(mController.getPreferenceKey()); - mController.mProfilesContainer = mProfiles; - mScreen.addPreference(mProfiles); + initController(List.of()); BluetoothProperties.le_audio_allow_list(Lists.newArrayList(LE_DEVICE_MODEL)); } @@ -554,6 +550,36 @@ public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsCont @Test public void prefKeyInBlockingList_hideToggle() { + initController(List.of("A2DP")); + setupDevice(makeDefaultDeviceConfig()); + + addA2dpProfileToDevice(true, true, true); + when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any())) + .thenReturn(ImmutableSet.of()); + + showScreen(mController); + + List switches = getProfileSwitches(false); + assertThat(switches.get(0).isVisible()).isFalse(); + } + + @Test + public void prefKeyNotInBlockingList_showToggle() { + initController(List.of()); + setupDevice(makeDefaultDeviceConfig()); + + addA2dpProfileToDevice(true, true, true); + when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any())) + .thenReturn(ImmutableSet.of()); + + showScreen(mController); + + List switches = getProfileSwitches(false); + assertThat(switches.get(0).isVisible()).isTrue(); + } + + @Test + public void prefKeyInFeatureProviderBlockingList_hideToggle() { setupDevice(makeDefaultDeviceConfig()); addA2dpProfileToDevice(true, true, true); @@ -567,7 +593,7 @@ public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsCont } @Test - public void prefKeyNotInBlockingList_showToggle() { + public void prefKeyNotInFeatureProviderBlockingList_showToggle() { setupDevice(makeDefaultDeviceConfig()); addA2dpProfileToDevice(true, true, true); @@ -627,4 +653,13 @@ public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsCont assertThat(switches.getFirst().getTitle()).isEqualTo( mContext.getString(mLeAudioProfile.getNameResource(mDevice))); } + + private void initController(List invisibleProfiles) { + mController = new BluetoothDetailsProfilesController(mContext, mFragment, mLocalManager, + mCachedDevice, mLifecycle, invisibleProfiles); + mProfiles.setKey(mController.getPreferenceKey()); + mController.mProfilesContainer = mProfiles; + mScreen.removeAll(); + mScreen.addPreference(mProfiles); + } } diff --git a/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt b/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt index a5bc2463cdd..8070b2e5362 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt +++ b/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt @@ -122,10 +122,11 @@ class DeviceDetailsFragmentFormatterTest { .thenReturn( DeviceSettingConfigModel( listOf( - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_HEADER, - "bluetooth_device_header"), - DeviceSettingConfigItemModel.BuiltinItem( + "bluetooth_device_header" + ), + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_ACTION_BUTTONS, "action_buttons"), ), listOf(), @@ -203,10 +204,10 @@ class DeviceDetailsFragmentFormatterTest { .thenReturn( DeviceSettingConfigModel( listOf( - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_HEADER, "bluetooth_device_header"), - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_KEYBOARD_SETTINGS, "keyboard_settings"), ), @@ -227,12 +228,12 @@ class DeviceDetailsFragmentFormatterTest { .thenReturn( DeviceSettingConfigModel( listOf( - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_HEADER, "bluetooth_device_header"), DeviceSettingConfigItemModel.AppProvidedItem( DeviceSettingId.DEVICE_SETTING_ID_ANC), - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_KEYBOARD_SETTINGS, "keyboard_settings"), ), diff --git a/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt b/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt index 9cbe6e38736..6869c23fa95 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt +++ b/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt @@ -282,10 +282,10 @@ class BluetoothDeviceDetailsViewModelTest { private companion object { val BUILTIN_SETTING_ITEM_1 = - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_HEADER, "bluetooth_device_header") val BUILDIN_SETTING_ITEM_2 = - DeviceSettingConfigItemModel.BuiltinItem( + DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem( DeviceSettingId.DEVICE_SETTING_ID_ACTION_BUTTONS, "action_buttons") val SETTING_ITEM_HELP = DeviceSettingConfigItemModel.AppProvidedItem(12345) }