UI refinement of highlighted menu entry for large screen

- Add a new highlight background drawable
- Add two homepage specific preferences for the new layout design

Fix: 207079684
Test: visual
Change-Id: I20c80da090a03129bffa845d443ee5d1ad13b97b
This commit is contained in:
Jason Chiu
2021-11-19 14:35:27 +08:00
parent 83a8b76ec2
commit 90eef24080
9 changed files with 243 additions and 31 deletions

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 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.
-->
<inset xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:insetLeft="@dimen/homepage_menu_entry_padding_horizontal"
android:insetRight="@dimen/homepage_menu_entry_padding_horizontal">
<shape android:shape="rectangle">
<solid
android:color="?androidprv:attr/colorAccentSecondaryVariant" />
<corners
android:radius="@dimen/homepage_menu_entry_corner_radius" />
</shape>
</inset>

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:gravity="center_vertical"
android:paddingStart="@dimen/homepage_menu_entry_padding_horizontal"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:background="?android:attr/selectableItemBackground"
android:clipToPadding="false"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/icon_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="56dp"
android:gravity="center"
android:orientation="horizontal"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:paddingTop="4dp"
android:paddingBottom="4dp">
<androidx.preference.internal.PreferenceImageView
android:id="@android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:maxWidth="40dp"
app:maxHeight="40dp"/>
</LinearLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingEnd="16dp">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceListItem"
android:ellipsize="marquee"/>
<TextView
android:id="@android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@android:id/title"
android:layout_alignStart="@android:id/title"
android:layout_gravity="start"
android:textAlignment="viewStart"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="4"
style="@style/PreferenceSummaryTextStyle"/>
</RelativeLayout>
</LinearLayout>

View File

@@ -141,6 +141,10 @@
<dimen name="homepage_title_margin_bottom">8dp</dimen> <dimen name="homepage_title_margin_bottom">8dp</dimen>
<dimen name="homepage_title_margin_horizontal">24dp</dimen> <dimen name="homepage_title_margin_horizontal">24dp</dimen>
<!-- Homepage menu entry -->
<dimen name="homepage_menu_entry_padding_horizontal">16dp</dimen>
<dimen name="homepage_menu_entry_corner_radius">28dp</dimen>
<!-- Dimensions for Wifi Assistant Card --> <!-- Dimensions for Wifi Assistant Card -->
<dimen name="wifi_assistant_padding_top_bottom">16dp</dimen> <dimen name="wifi_assistant_padding_top_bottom">16dp</dimen>
<dimen name="wifi_assistant_padding_start_end">16dp</dimen> <dimen name="wifi_assistant_padding_start_end">16dp</dimen>

View File

@@ -20,7 +20,7 @@
xmlns:settings="http://schemas.android.com/apk/res-auto" xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="top_level_settings"> android:key="top_level_settings">
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.network.NetworkDashboardFragment" android:fragment="com.android.settings.network.NetworkDashboardFragment"
android:icon="@drawable/ic_settings_wireless" android:icon="@drawable/ic_settings_wireless"
android:key="top_level_network" android:key="top_level_network"
@@ -30,7 +30,7 @@
settings:highlightableMenuKey="@string/menu_key_network" settings:highlightableMenuKey="@string/menu_key_network"
settings:controller="com.android.settings.network.TopLevelNetworkEntryPreferenceController"/> settings:controller="com.android.settings.network.TopLevelNetworkEntryPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment" android:fragment="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment"
android:icon="@drawable/ic_devices_other" android:icon="@drawable/ic_devices_other"
android:key="top_level_connected_devices" android:key="top_level_connected_devices"
@@ -40,7 +40,7 @@
settings:highlightableMenuKey="@string/menu_key_connected_devices" settings:highlightableMenuKey="@string/menu_key_connected_devices"
settings:controller="com.android.settings.connecteddevice.TopLevelConnectedDevicesPreferenceController"/> settings:controller="com.android.settings.connecteddevice.TopLevelConnectedDevicesPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.applications.AppDashboardFragment" android:fragment="com.android.settings.applications.AppDashboardFragment"
android:icon="@drawable/ic_apps" android:icon="@drawable/ic_apps"
android:key="top_level_apps" android:key="top_level_apps"
@@ -49,7 +49,7 @@
android:summary="@string/app_and_notification_dashboard_summary" android:summary="@string/app_and_notification_dashboard_summary"
settings:highlightableMenuKey="@string/menu_key_apps"/> settings:highlightableMenuKey="@string/menu_key_apps"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.notification.ConfigureNotificationSettings" android:fragment="com.android.settings.notification.ConfigureNotificationSettings"
android:icon="@drawable/ic_notifications" android:icon="@drawable/ic_notifications"
android:key="top_level_notifications" android:key="top_level_notifications"
@@ -58,7 +58,7 @@
android:summary="@string/notification_dashboard_summary" android:summary="@string/notification_dashboard_summary"
settings:highlightableMenuKey="@string/menu_key_notifications"/> settings:highlightableMenuKey="@string/menu_key_notifications"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.fuelgauge.PowerUsageSummary" android:fragment="com.android.settings.fuelgauge.PowerUsageSummary"
android:icon="@drawable/ic_settings_battery_white" android:icon="@drawable/ic_settings_battery_white"
android:key="top_level_battery" android:key="top_level_battery"
@@ -68,7 +68,7 @@
settings:highlightableMenuKey="@string/menu_key_battery" settings:highlightableMenuKey="@string/menu_key_battery"
settings:controller="com.android.settings.fuelgauge.TopLevelBatteryPreferenceController"/> settings:controller="com.android.settings.fuelgauge.TopLevelBatteryPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.deviceinfo.StorageDashboardFragment" android:fragment="com.android.settings.deviceinfo.StorageDashboardFragment"
android:icon="@drawable/ic_storage_white" android:icon="@drawable/ic_storage_white"
android:key="top_level_storage" android:key="top_level_storage"
@@ -78,7 +78,7 @@
settings:highlightableMenuKey="@string/menu_key_storage" settings:highlightableMenuKey="@string/menu_key_storage"
settings:controller="com.android.settings.deviceinfo.TopLevelStoragePreferenceController"/> settings:controller="com.android.settings.deviceinfo.TopLevelStoragePreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.notification.SoundSettings" android:fragment="com.android.settings.notification.SoundSettings"
android:icon="@drawable/ic_volume_up_24dp" android:icon="@drawable/ic_volume_up_24dp"
android:key="top_level_sound" android:key="top_level_sound"
@@ -87,7 +87,7 @@
android:summary="@string/sound_dashboard_summary" android:summary="@string/sound_dashboard_summary"
settings:highlightableMenuKey="@string/menu_key_sound"/> settings:highlightableMenuKey="@string/menu_key_sound"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.DisplaySettings" android:fragment="com.android.settings.DisplaySettings"
android:icon="@drawable/ic_settings_display_white" android:icon="@drawable/ic_settings_display_white"
android:key="top_level_display" android:key="top_level_display"
@@ -97,7 +97,7 @@
settings:highlightableMenuKey="@string/menu_key_display" settings:highlightableMenuKey="@string/menu_key_display"
settings:controller="com.android.settings.display.TopLevelDisplayPreferenceController"/> settings:controller="com.android.settings.display.TopLevelDisplayPreferenceController"/>
<com.android.settingslib.RestrictedTopLevelPreference <com.android.settings.widget.RestrictedHomepagePreference
android:icon="@drawable/ic_settings_wallpaper_white" android:icon="@drawable/ic_settings_wallpaper_white"
android:key="top_level_wallpaper" android:key="top_level_wallpaper"
android:order="-70" android:order="-70"
@@ -106,7 +106,7 @@
settings:highlightableMenuKey="@string/menu_key_wallpaper" settings:highlightableMenuKey="@string/menu_key_wallpaper"
settings:controller="com.android.settings.display.TopLevelWallpaperPreferenceController"/> settings:controller="com.android.settings.display.TopLevelWallpaperPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.accessibility.AccessibilitySettings" android:fragment="com.android.settings.accessibility.AccessibilitySettings"
android:icon="@drawable/ic_settings_accessibility" android:icon="@drawable/ic_settings_accessibility"
android:key="top_level_accessibility" android:key="top_level_accessibility"
@@ -116,7 +116,7 @@
settings:highlightableMenuKey="@string/menu_key_accessibility" settings:highlightableMenuKey="@string/menu_key_accessibility"
settings:controller="com.android.settings.accessibility.TopLevelAccessibilityPreferenceController"/> settings:controller="com.android.settings.accessibility.TopLevelAccessibilityPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.security.SecuritySettings" android:fragment="com.android.settings.security.SecuritySettings"
android:icon="@drawable/ic_settings_security_white" android:icon="@drawable/ic_settings_security_white"
android:key="top_level_security" android:key="top_level_security"
@@ -126,7 +126,7 @@
settings:highlightableMenuKey="@string/menu_key_security" settings:highlightableMenuKey="@string/menu_key_security"
settings:controller="com.android.settings.security.TopLevelSecurityEntryPreferenceController"/> settings:controller="com.android.settings.security.TopLevelSecurityEntryPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.privacy.PrivacyDashboardFragment" android:fragment="com.android.settings.privacy.PrivacyDashboardFragment"
android:icon="@drawable/ic_settings_privacy" android:icon="@drawable/ic_settings_privacy"
android:key="top_level_privacy" android:key="top_level_privacy"
@@ -135,7 +135,7 @@
android:summary="@string/privacy_dashboard_summary" android:summary="@string/privacy_dashboard_summary"
settings:highlightableMenuKey="@string/menu_key_privacy"/> settings:highlightableMenuKey="@string/menu_key_privacy"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.location.LocationSettings" android:fragment="com.android.settings.location.LocationSettings"
android:icon="@drawable/ic_settings_location" android:icon="@drawable/ic_settings_location"
android:key="top_level_location" android:key="top_level_location"
@@ -145,7 +145,7 @@
settings:highlightableMenuKey="@string/menu_key_location" settings:highlightableMenuKey="@string/menu_key_location"
settings:controller="com.android.settings.location.TopLevelLocationPreferenceController"/> settings:controller="com.android.settings.location.TopLevelLocationPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:key="top_level_emergency" android:key="top_level_emergency"
android:title="@string/emergency_settings_preference_title" android:title="@string/emergency_settings_preference_title"
android:summary="@string/emergency_dashboard_summary" android:summary="@string/emergency_dashboard_summary"
@@ -154,7 +154,7 @@
android:fragment="com.android.settings.emergency.EmergencyDashboardFragment" android:fragment="com.android.settings.emergency.EmergencyDashboardFragment"
settings:highlightableMenuKey="@string/menu_key_emergency"/> settings:highlightableMenuKey="@string/menu_key_emergency"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.accounts.AccountDashboardFragment" android:fragment="com.android.settings.accounts.AccountDashboardFragment"
android:icon="@drawable/ic_settings_accounts" android:icon="@drawable/ic_settings_accounts"
android:key="top_level_accounts" android:key="top_level_accounts"
@@ -164,7 +164,7 @@
settings:highlightableMenuKey="@string/menu_key_accounts" settings:highlightableMenuKey="@string/menu_key_accounts"
settings:controller="com.android.settings.accounts.TopLevelAccountEntryPreferenceController"/> settings:controller="com.android.settings.accounts.TopLevelAccountEntryPreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.system.SystemDashboardFragment" android:fragment="com.android.settings.system.SystemDashboardFragment"
android:icon="@drawable/ic_settings_system_dashboard_white" android:icon="@drawable/ic_settings_system_dashboard_white"
android:key="top_level_system" android:key="top_level_system"
@@ -173,7 +173,7 @@
android:summary="@string/system_dashboard_summary" android:summary="@string/system_dashboard_summary"
settings:highlightableMenuKey="@string/menu_key_system"/> settings:highlightableMenuKey="@string/menu_key_system"/>
<Preference <com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment" android:fragment="com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment"
android:icon="@drawable/ic_phone_info" android:icon="@drawable/ic_phone_info"
android:key="top_level_about_device" android:key="top_level_about_device"
@@ -183,7 +183,7 @@
settings:highlightableMenuKey="@string/menu_key_about_device" settings:highlightableMenuKey="@string/menu_key_about_device"
settings:controller="com.android.settings.deviceinfo.aboutphone.TopLevelAboutDevicePreferenceController"/> settings:controller="com.android.settings.deviceinfo.aboutphone.TopLevelAboutDevicePreferenceController"/>
<Preference <com.android.settings.widget.HomepagePreference
android:icon="@drawable/ic_help" android:icon="@drawable/ic_help"
android:key="top_level_support" android:key="top_level_support"
android:order="100" android:order="100"

View File

@@ -529,8 +529,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
mBlockerController.countDown(controller.getPreferenceKey()); mBlockerController.countDown(controller.getPreferenceKey());
} }
@VisibleForTesting protected Preference createPreference(Tile tile) {
Preference createPreference(Tile tile) {
return tile instanceof ProviderTile return tile instanceof ProviderTile
? new SwitchPreference(getPrefContext()) ? new SwitchPreference(getPrefContext())
: tile.hasSwitch() : tile.hasSwitch()

View File

@@ -43,7 +43,9 @@ import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.support.SupportPreferenceController; import com.android.settings.support.SupportPreferenceController;
import com.android.settings.widget.HighlightableTopLevelPreferenceAdapter; import com.android.settings.widget.HighlightableTopLevelPreferenceAdapter;
import com.android.settings.widget.HomepagePreference;
import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
@SearchIndexable(forTarget = MOBILE) @SearchIndexable(forTarget = MOBILE)
@@ -247,6 +249,11 @@ public class TopLevelSettings extends DashboardFragment implements
return mTopLevelAdapter; return mTopLevelAdapter;
} }
@Override
protected Preference createPreference(Tile tile) {
return new HomepagePreference(getPrefContext());
}
void reloadHighlightMenuKey() { void reloadHighlightMenuKey() {
if (mTopLevelAdapter == null) { if (mTopLevelAdapter == null) {
return; return;

View File

@@ -31,6 +31,7 @@ import androidx.preference.PreferenceGroupAdapter;
import androidx.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.activityembedding.ActivityEmbeddingUtils; import com.android.settings.activityembedding.ActivityEmbeddingUtils;
import com.android.settings.homepage.SettingsHomepageActivity; import com.android.settings.homepage.SettingsHomepageActivity;
@@ -45,19 +46,18 @@ public class HighlightableTopLevelPreferenceAdapter extends PreferenceGroupAdapt
static final long DELAY_HIGHLIGHT_DURATION_MILLIS = 100L; static final long DELAY_HIGHLIGHT_DURATION_MILLIS = 100L;
@VisibleForTesting private final int mTitleColorNormal;
final int mHighlightColor; private final int mTitleColorHighlight;
final int mTitleColorNormal; private final int mSummaryColorNormal;
final int mTitleColorHighlight; private final int mSummaryColorHighlight;
final int mSummaryColorNormal; private final int mIconColorNormal;
final int mSummaryColorHighlight; private final int mIconColorHighlight;
final int mIconColorNormal;
final int mIconColorHighlight;
private final Context mContext; private final Context mContext;
private final SettingsHomepageActivity mHomepageActivity; private final SettingsHomepageActivity mHomepageActivity;
private final RecyclerView mRecyclerView; private final RecyclerView mRecyclerView;
private final int mNormalBackgroundRes; private final int mNormalBackgroundRes;
private final int mHighlightBackgroundRes;
private String mHighlightKey; private String mHighlightKey;
private String mPreviousHighlightKey; private String mPreviousHighlightKey;
private int mHighlightPosition = RecyclerView.NO_POSITION; private int mHighlightPosition = RecyclerView.NO_POSITION;
@@ -76,8 +76,7 @@ public class HighlightableTopLevelPreferenceAdapter extends PreferenceGroupAdapt
mContext.getTheme().resolveAttribute(android.R.attr.selectableItemBackground, mContext.getTheme().resolveAttribute(android.R.attr.selectableItemBackground,
outValue, true /* resolveRefs */); outValue, true /* resolveRefs */);
mNormalBackgroundRes = outValue.resourceId; mNormalBackgroundRes = outValue.resourceId;
mHighlightColor = Utils.getColorAttrDefaultColor(mContext, mHighlightBackgroundRes = R.drawable.homepage_highlighted_item_background;
com.android.internal.R.attr.colorAccentSecondaryVariant);
mTitleColorNormal = Utils.getColorAttrDefaultColor(mContext, mTitleColorNormal = Utils.getColorAttrDefaultColor(mContext,
android.R.attr.textColorPrimary); android.R.attr.textColorPrimary);
mTitleColorHighlight = Utils.getColorAttrDefaultColor(mContext, mTitleColorHighlight = Utils.getColorAttrDefaultColor(mContext,
@@ -227,7 +226,7 @@ public class HighlightableTopLevelPreferenceAdapter extends PreferenceGroupAdapt
private void addHighlightBackground(PreferenceViewHolder holder) { private void addHighlightBackground(PreferenceViewHolder holder) {
final View v = holder.itemView; final View v = holder.itemView;
v.setBackgroundColor(mHighlightColor); v.setBackgroundResource(mHighlightBackgroundRes);
((TextView) v.findViewById(android.R.id.title)).setTextColor(mTitleColorHighlight); ((TextView) v.findViewById(android.R.id.title)).setTextColor(mTitleColorHighlight);
((TextView) v.findViewById(android.R.id.summary)).setTextColor(mSummaryColorHighlight); ((TextView) v.findViewById(android.R.id.summary)).setTextColor(mSummaryColorHighlight);
final Drawable drawable = ((ImageView) v.findViewById(android.R.id.icon)).getDrawable(); final Drawable drawable = ((ImageView) v.findViewById(android.R.id.icon)).getDrawable();

View File

@@ -0,0 +1,48 @@
/*
* Copyright (C) 2021 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.
*/
package com.android.settings.widget;
import android.content.Context;
import android.util.AttributeSet;
import androidx.preference.Preference;
import com.android.settings.R;
/** A customized layout for homepage preference. */
public class HomepagePreference extends Preference {
public HomepagePreference(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setLayoutResource(R.layout.homepage_preference);
}
public HomepagePreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setLayoutResource(R.layout.homepage_preference);
}
public HomepagePreference(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutResource(R.layout.homepage_preference);
}
public HomepagePreference(Context context) {
super(context);
setLayoutResource(R.layout.homepage_preference);
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (C) 2021 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.
*/
package com.android.settings.widget;
import android.content.Context;
import android.util.AttributeSet;
import com.android.settings.R;
import com.android.settingslib.RestrictedTopLevelPreference;
/** Homepage preference that can be disabled by a device admin using a user restriction. */
public class RestrictedHomepagePreference extends RestrictedTopLevelPreference {
public RestrictedHomepagePreference(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setLayoutResource(R.layout.homepage_preference);
}
public RestrictedHomepagePreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setLayoutResource(R.layout.homepage_preference);
}
public RestrictedHomepagePreference(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutResource(R.layout.homepage_preference);
}
public RestrictedHomepagePreference(Context context) {
super(context);
setLayoutResource(R.layout.homepage_preference);
}
}