Snap for 12602378 from af080edfe0 to 25Q1-release

Change-Id: I94f279c674c355be140a739f1d43b1b788df08f1
This commit is contained in:
Android Build Coastguard Worker
2024-11-05 00:24:13 +00:00
19 changed files with 226 additions and 33 deletions

View File

@@ -1930,6 +1930,20 @@
android:value="@string/menu_key_apps"/>
</activity-alias>
<activity android:name="Settings$AppStorageSettingsActivity"
android:label="@string/storage_label"
android:exported="true">
<intent-filter android:priority="1">
<action android:name="com.android.settings.APP_STORAGE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="package" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.applications.AppStorageSettings" />
<meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
android:value="@string/menu_key_apps"/>
</activity>
<activity android:name=".applications.InstalledAppOpenByDefaultActivity"
android:label="@string/application_info_label"
android:exported="true">

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2024 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This file only contains custom attribute and style definition for preferences -->
<!-- Things unrelated to preference framework UI customization should go to other styles files -->
<resources>
<style name="SettingsPreferenceTheme.Expressive" parent="@style/PreferenceTheme.SettingsLib.Expressive">
<item name="apnPreferenceStyle">@style/ApnPreference</item>
<item name="cardPreferenceStyle">@style/CardPreference</item>
<item name="slicePreferenceStyle">@style/SlicePreference</item>
<item name="seekBarPreferenceStyle">@style/SettingsSeekBarPreference</item>
<item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
<item name="preferenceFragmentCompatStyle">@style/SettingsPreferenceFragmentStyle</item>
</style>
</resources>

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2024 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
<style name="Theme.Settings.Expressive" parent="Theme.SettingsBase.Expressive">
<item name="android:clipToPadding">false</item>
<item name="android:clipChildren">false</item>
<item name="preferenceTheme">@style/SettingsPreferenceTheme.Expressive</item>
<item name="android:listPreferredItemHeight">72dip</item>
<item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:datePickerDialogTheme">@style/PickerDialogTheme.Settings</item>
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
<item name="face_layout_theme">@style/FaceLayoutTheme</item>
<item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_holo_dark</item>
<!-- For edge-to-edge -->
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<!-- For wifi icon -->
<item name="wifi_signal">@drawable/wifi_signal</item>
<item name="wifi_signal_color">?android:attr/colorAccent</item>
<item name="wifi_friction">@drawable/wifi_friction</item>
<item name="side_margin">0dp</item>
<item name="sudListItemIconColor">?android:attr/colorAccent</item>
<!-- Redefine the ActionBar style for contentInsetStart -->
<item name="android:actionBarStyle">@style/Widget.ActionBar</item>
<item name="preferenceBackgroundColor">@drawable/preference_background</item>
<!-- For AndroidX AlertDialog -->
<item name="alertDialogTheme">@style/Theme.AlertDialog</item>
<item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
<!-- For AppBarLayout -->
<item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
<item name="colorPrimaryVariant">@android:color/white</item>
<!-- For slice view in settings -->
<item name="sliceViewStyle">@style/Widget.SliceView.Settings</item>
<item name="notification_importance_button_background_color_unselected">@android:color/transparent</item>
<item name="notification_importance_button_border_color_unselected">?androidprv:attr/materialColorOutlineVariant</item>
<item name="notification_importance_button_foreground_color_unselected">?androidprv:attr/materialColorOnSurfaceVariant</item>
<item name="notification_importance_button_background_color_selected">?androidprv:attr/materialColorSecondaryContainer</item>
<item name="notification_importance_button_border_color_selected">?androidprv:attr/materialColorOnSecondaryContainer</item>
<item name="notification_importance_button_foreground_color_selected">?androidprv:attr/materialColorOnSecondaryContainer</item>
<!-- For AppCompat widgets, e.g. TextInputLayout -->
<item name="colorAccent">?android:attr/colorAccent</item>
</style>
<style name="Theme.Settings.Expressive.NoActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="colorSurface">@color/settingslib_colorSurface</item>
</style>
<style name="Theme.SubSettings.Expressive.Base" parent="Theme.Settings.Expressive.NoActionBar">
<!-- Redefine the ActionBar style for contentInsetStart -->
<item name="android:actionBarStyle">@style/Widget.ActionBar.SubSettings</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
<style name="Theme.SubSettings.Expressive" parent="Theme.SubSettings.Expressive.Base"/>
</resources>

View File

@@ -21,7 +21,8 @@
<com.android.settingslib.widget.TopIntroPreference
android:key="accessibility_autoclick_intro"
android:title="@string/accessibility_autoclick_intro_text"/>
android:title="@string/accessibility_autoclick_intro_text"
settings:searchable="false"/>
<com.android.settingslib.widget.IllustrationPreference
android:key="accessibility_autoclick_banner"
@@ -29,32 +30,42 @@
settings:searchable="false"
settings:lottie_rawRes="@drawable/accessibility_dwell"/>
<!-- Items in a list should not be searchable. -->
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="accessibility_control_autoclick_default"
android:title="@string/accessibility_autoclick_default_title"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
<!-- Items in a list should not be searchable. -->
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="accessibility_control_autoclick_200ms"
android:title="@string/accessibility_autoclick_short_title"
android:summary="@string/accessibility_autoclick_short_summary"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
<!-- Items in a list should not be searchable. -->
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="accessibility_control_autoclick_600ms"
android:title="@string/accessibility_autoclick_medium_title"
android:summary="@string/accessibility_autoclick_medium_summary"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
<!-- Items in a list should not be searchable. -->
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="accessibility_control_autoclick_1sec"
android:title="@string/accessibility_autoclick_long_title"
android:summary="@string/accessibility_autoclick_long_summary"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
<!-- Items in a list should not be searchable. -->
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="accessibility_control_autoclick_custom"
android:title="@string/accessibility_autoclick_custom_title"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.ToggleAutoclickPreferenceController"/>
<com.android.settingslib.widget.LayoutPreference
@@ -62,6 +73,7 @@
android:layout="@layout/accessibility_autoclick_custom_seekbar"
android:selectable="false"
android:visibility="gone"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController"/>
<com.android.settings.accessibility.AccessibilityFooterPreference

View File

@@ -111,6 +111,7 @@ public class Settings extends SettingsActivity {
public static class ModuleLicensesActivity extends SettingsActivity { /* empty */ }
public static class ApplicationSettingsActivity extends SettingsActivity { /* empty */ }
public static class ManageApplicationsActivity extends SettingsActivity { /* empty */ }
public static class AppStorageSettingsActivity extends SettingsActivity { /* empty */ }
public static class ManageAssistActivity extends SettingsActivity { /* empty */ }
public static class HighPowerApplicationsActivity extends SettingsActivity { /* empty */ }
public static class BackgroundCheckSummaryActivity extends SettingsActivity { /* empty */ }

View File

@@ -73,6 +73,7 @@ import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.core.instrumentation.SharedPreferencesLogger;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.widget.SettingsThemeHelper;
import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -169,6 +170,9 @@ public class SettingsActivity extends SettingsBaseActivity
private static final String EXTRA_UI_OPTIONS = "settings:ui_options";
private static final int EXPRESSIVE_BACK_ICON =
com.android.settingslib.collapsingtoolbar.R.drawable.settingslib_expressive_icon_back;
private String mFragmentClass;
private String mHighlightMenuKey;
@@ -301,7 +305,9 @@ public class SettingsActivity extends SettingsBaseActivity
// If this is in setup flow, don't apply theme. Because light theme needs to be applied
// in SettingsBaseActivity#onCreate().
if (isSubSettings(intent) && !WizardManagerHelper.isAnySetupWizard(getIntent())) {
setTheme(R.style.Theme_SubSettings);
int themeId = SettingsThemeHelper.isExpressiveTheme(this)
? R.style.Theme_SubSettings_Expressive : R.style.Theme_SubSettings;
setTheme(themeId);
}
setContentView(R.layout.settings_main_prefs);
@@ -388,6 +394,9 @@ public class SettingsActivity extends SettingsBaseActivity
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(isActionBarButtonEnabled);
actionBar.setHomeButtonEnabled(isActionBarButtonEnabled);
if (SettingsThemeHelper.isExpressiveTheme(this)) {
actionBar.setHomeAsUpIndicator(EXPRESSIVE_BACK_ICON);
}
actionBar.setDisplayShowTitleEnabled(true);
}
}

View File

@@ -46,6 +46,7 @@ import com.android.settings.Utils;
import com.android.settings.core.CategoryMixin.CategoryHandler;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType;
import com.android.settingslib.widget.SettingsThemeHelper;
import com.android.window.flags.Flags;
import com.google.android.material.appbar.AppBarLayout;
@@ -68,6 +69,12 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa
private static final int DEFAULT_REQUEST = -1;
private static final float TOOLBAR_LINE_SPACING_MULTIPLIER = 1.1f;
private static final int EXPRESSIVE_LAYOUT_ID =
com.android.settingslib.collapsingtoolbar.R.layout.settingslib_expressive_collapsing_toolbar_base_layout;
private static final int COLLAPSING_LAYOUT_ID =
com.android.settingslib.collapsingtoolbar.R.layout.collapsing_toolbar_base_layout;
protected CategoryMixin mCategoryMixin;
protected CollapsingToolbarLayout mCollapsingToolbarLayout;
protected AppBarLayout mAppBarLayout;
@@ -116,8 +123,9 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa
}
if (isToolbarEnabled() && !isAnySetupWizard) {
super.setContentView(
com.android.settingslib.collapsingtoolbar.R.layout.collapsing_toolbar_base_layout);
int resId = SettingsThemeHelper.isExpressiveTheme(getApplicationContext())
? EXPRESSIVE_LAYOUT_ID : COLLAPSING_LAYOUT_ID;
super.setContentView(resId);
mCollapsingToolbarLayout =
findViewById(com.android.settingslib.collapsingtoolbar.R.id.collapsing_toolbar);
mAppBarLayout = findViewById(R.id.app_bar);

View File

@@ -44,6 +44,7 @@ import com.android.settings.accounts.AccountSyncSettings;
import com.android.settings.accounts.ChooseAccountFragment;
import com.android.settings.accounts.ManagedProfileSettings;
import com.android.settings.applications.AppDashboardFragment;
import com.android.settings.applications.AppStorageSettings;
import com.android.settings.applications.ProcessStatsSummary;
import com.android.settings.applications.ProcessStatsUi;
import com.android.settings.applications.UsageAccessDetails;
@@ -245,6 +246,7 @@ public class SettingsGateway {
MyDeviceInfoFragment.class.getName(),
ModuleLicensesDashboard.class.getName(),
ManageApplications.class.getName(),
AppStorageSettings.class.getName(),
FirmwareVersionSettings.class.getName(),
ManageAssist.class.getName(),
ProcessStatsUi.class.getName(),
@@ -437,6 +439,7 @@ public class SettingsGateway {
Settings.UserSettingsActivity.class.getName(),
Settings.ConfigureNotificationSettingsActivity.class.getName(),
Settings.ManageApplicationsActivity.class.getName(),
Settings.AppStorageSettingsActivity.class.getName(),
Settings.PaymentSettingsActivity.class.getName(),
// Home page > Display
Settings.AdaptiveBrightnessActivity.class.getName(),

View File

@@ -37,6 +37,7 @@ import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator
@@ -66,6 +67,9 @@ class AutoBrightnessScreen :
override fun storage(context: Context): KeyValueStore =
AutoBrightnessDataStore(SettingsSystemStore.get(context))
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun isAvailable(context: Context) =
context.resources.getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available

View File

@@ -30,7 +30,7 @@ import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen
class DisplayScreen :
open class DisplayScreen :
PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceIconProvider {
override val key: String
get() = KEY

View File

@@ -33,6 +33,7 @@ import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SwitchPreference
import kotlin.math.roundToInt
@@ -48,6 +49,9 @@ class PeakRefreshRateSwitchPreference :
override fun storage(context: Context): KeyValueStore =
PeakRefreshRateStore(context, SettingsSystemStore.get(context))
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun isAvailable(context: Context) =
context.resources.getBoolean(R.bool.config_show_smooth_display) &&
context.peakRefreshRate > DEFAULT_REFRESH_RATE

View File

@@ -36,6 +36,7 @@ import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator
@@ -69,6 +70,9 @@ class DarkModeScreen :
override val keywords: Int
get() = R.string.keywords_dark_ui_mode
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun isFlagEnabled(context: Context) = Flags.catalystDarkUiMode()
override fun fragmentClass() = DarkModeSettingsFragment::class.java

View File

@@ -33,6 +33,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange
@@ -82,6 +83,9 @@ open class CallVolumePreference :
}
}
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(getAudioStream(context))

View File

@@ -25,7 +25,13 @@ import com.android.settings.R
import com.android.settingslib.RestrictedLockUtilsInternal
import com.android.settingslib.datastore.KeyValueStore
import com.android.settingslib.datastore.NoOpKeyedObservable
import com.android.settingslib.metadata.*
import com.android.settingslib.metadata.PersistentPreference
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange
@@ -79,6 +85,9 @@ open class MediaVolumePreference :
}
}
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(STREAM_MUSIC)

View File

@@ -40,6 +40,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange
@@ -94,6 +95,9 @@ open class SeparateRingVolumePreference :
}
}
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(STREAM_RING)

View File

@@ -18,8 +18,11 @@ package com.android.settings.notification
import android.content.Context
import androidx.fragment.app.Fragment
import com.android.settings.R
import com.android.settings.Settings.SoundSettingsActivity
import com.android.settings.flags.Flags
import com.android.settings.utils.makeLaunchIntent
import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
@@ -55,6 +58,9 @@ class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider {
+DialPadTonePreference() order -50
}
override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) =
makeLaunchIntent(context, SoundSettingsActivity::class.java, metadata?.key)
companion object {
const val KEY = "sound_screen"
}

View File

@@ -15,7 +15,8 @@
*/
package com.android.settings.display
import android.content.Context
import android.content.ContextWrapper
import android.content.res.Resources
import android.provider.Settings
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL
@@ -23,26 +24,30 @@ import android.view.LayoutInflater
import androidx.preference.PreferenceViewHolder
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.testutils.shadow.SettingsShadowResources
import com.android.settingslib.PrimarySwitchPreference
import com.android.settingslib.preference.PreferenceDataStoreAdapter
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
import com.android.settingslib.widget.theme.R
import com.google.common.truth.Truth.assertThat
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.annotation.Config
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
// LINT.IfChange
@RunWith(AndroidJUnit4::class)
@Config(shadows = [SettingsShadowResources::class])
@Ignore("robolectric runtime")
class AutoBrightnessScreenTest {
private val context: Context = ApplicationProvider.getApplicationContext()
private val preferenceScreenCreator = AutoBrightnessScreen()
private var mockResources: Resources? = null
private val context =
object : ContextWrapper(ApplicationProvider.getApplicationContext()) {
override fun getResources(): Resources = mockResources ?: super.getResources()
}
@Test
fun switchClick_defaultScreenBrightnessModeTurnOffAuto_returnTrue() {
setScreenBrightnessMode(SCREEN_BRIGHTNESS_MODE_MANUAL)
@@ -100,20 +105,14 @@ class AutoBrightnessScreenTest {
@Test
fun isAvailable_configTrueSet_shouldReturnTrue() {
SettingsShadowResources.overrideResource(
com.android.internal.R.bool.config_automatic_brightness_available,
true,
)
mockResources = mock { on { getBoolean(any()) } doReturn true }
assertThat(preferenceScreenCreator.isAvailable(context)).isTrue()
}
@Test
fun isAvailable_configFalseSet_shouldReturnFalse() {
SettingsShadowResources.overrideResource(
com.android.internal.R.bool.config_automatic_brightness_available,
false,
)
mockResources = mock { on { getBoolean(any()) } doReturn false }
assertThat(preferenceScreenCreator.isAvailable(context)).isFalse()
}
@@ -121,6 +120,7 @@ class AutoBrightnessScreenTest {
private fun getPrimarySwitchPreference(): PrimarySwitchPreference =
preferenceScreenCreator.run {
val preference = createWidget(context)
preference.preferenceDataStore = PreferenceDataStoreAdapter(storage(context))
bind(preference, this)
val holder =
PreferenceViewHolder.createInstanceForTests(

View File

@@ -22,6 +22,7 @@ import android.platform.test.flag.junit.SetFlagsRule
import android.provider.Settings
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.preference.createAndBindWidget
import com.android.settingslib.widget.MainSwitchPreference
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -78,10 +79,6 @@ class AdaptiveConnectivityTogglePreferenceTest {
}
private fun getMainSwitchPreferenceCompat(): MainSwitchPreference =
adaptiveConnectivityTogglePreference.run {
val preference = createWidget(appContext)
bind(preference, this)
preference as MainSwitchPreference
}
adaptiveConnectivityTogglePreference.createAndBindWidget(appContext)
}
// LINT.ThenChange(AdaptiveConnectivityTogglePreferenceControllerTest.java)

View File

@@ -23,7 +23,7 @@ import androidx.preference.SwitchPreferenceCompat
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.datastore.SettingsSystemStore
import com.android.settingslib.preference.DefaultPreferenceBindingFactory
import com.android.settingslib.preference.createAndBindWidget
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -93,11 +93,7 @@ class DialPadTonePreferenceTest {
}
private fun getSwitchPreference(): SwitchPreferenceCompat =
DefaultPreferenceBindingFactory.getPreferenceBinding(dialPadTonePreference).run {
val preference = createWidget(context)
bind(preference, dialPadTonePreference)
preference as SwitchPreferenceCompat
}
dialPadTonePreference.createAndBindWidget(context)
private fun enableDialPadTone(enabled: Boolean) =
SettingsSystemStore.get(context).setBoolean(DTMF_TONE_WHEN_DIALING, enabled)