Merge "Make Settings use system-api restricted icon."

This commit is contained in:
Philip P. Moltmann
2018-09-18 15:27:36 +00:00
committed by Android (Google) Code Review
15 changed files with 65 additions and 35 deletions

View File

@@ -27,7 +27,8 @@
<ImageView android:id="@+id/admin_support_icon"
android:layout_width="@dimen/admin_details_dialog_icon_size"
android:layout_height="@dimen/admin_details_dialog_icon_size"
android:src="@drawable/ic_info"
android:tint="?android:attr/colorAccent"
android:src="@*android:drawable/ic_info"
android:scaleType="fitCenter"
android:contentDescription="@null" />
<TextView android:id="@+id/admin_support_dialog_title"

View File

@@ -36,9 +36,10 @@
<ImageView
android:id="@+id/restricted_lock_icon_remote_input"
android:layout_width="@dimen/restricted_icon_size"
android:layout_height="@dimen/restricted_icon_size"
android:src="@drawable/ic_info"
android:layout_width="@*android:dimen/config_restricted_icon_size"
android:layout_height="@*android:dimen/config_restricted_icon_size"
android:tint="?android:attr/colorAccent"
android:src="@*android:drawable/ic_info"
android:layout_marginEnd="?android:attr/dialogPreferredPadding"
android:layout_gravity="center_vertical"
android:scaleType="centerInside" />

View File

@@ -77,7 +77,7 @@
android:layout_gravity="center_vertical"
android:paddingLeft="16dip"
android:contentDescription="@string/printer_info_desc"
android:src="@drawable/ic_info"
android:src="@*android:drawable/ic_info"
android:tint="?android:attr/colorControlNormal"
android:tintMode="src_in" />

View File

@@ -37,9 +37,10 @@
android:ellipsize="marquee" />
<ImageView
android:id="@+id/restricted_lock_icon"
android:layout_width="@dimen/restricted_icon_size"
android:layout_height="@dimen/restricted_icon_size"
android:src="@drawable/ic_info"
android:layout_width="@*android:dimen/config_restricted_icon_size"
android:layout_height="@*android:dimen/config_restricted_icon_size"
android:tint="?android:attr/colorAccent"
android:src="@*android:drawable/ic_info"
android:layout_marginLeft="@dimen/restricted_icon_padding"
android:baselineAlignBottom="true"
android:scaleType="centerInside"

View File

@@ -34,10 +34,11 @@
android:layout_alignParentLeft="true" />
<ImageView
android:id="@+id/restricted_icon"
android:layout_width="@dimen/restricted_icon_size"
android:layout_height="@dimen/restricted_icon_size"
android:layout_width="@*android:dimen/config_restricted_icon_size"
android:layout_height="@*android:dimen/config_restricted_icon_size"
android:scaleType="centerInside"
android:src="@drawable/ic_info"
android:tint="?android:attr/colorAccent"
android:src="@*android:drawable/ic_info"
android:layout_alignParentRight="true"
android:visibility="gone" />
</RelativeLayout>

View File

@@ -41,10 +41,11 @@
android:ellipsize="marquee" />
<ImageView
android:id="@+id/restricted_icon"
android:layout_width="@dimen/restricted_icon_size"
android:layout_width="@*android:dimen/config_restricted_icon_size"
android:layout_height="match_parent"
android:scaleType="centerInside"
android:src="@drawable/ic_info"
android:tint="?android:attr/colorAccent"
android:src="@*android:drawable/ic_info"
android:layout_marginLeft="@dimen/restricted_icon_padding"
android:visibility="gone" />
</com.android.settings.CheckableLinearLayout>

View File

@@ -26,9 +26,10 @@
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:ellipsize="marquee" />
<ImageView android:id="@+id/restricted_icon"
android:layout_width="@dimen/restricted_icon_size"
android:layout_height="@dimen/restricted_icon_size"
android:src="@drawable/ic_info"
android:layout_width="@*android:dimen/config_restricted_icon_size"
android:layout_height="@*android:dimen/config_restricted_icon_size"
android:tint="?android:attr/colorAccent"
android:src="@*android:drawable/ic_info"
android:baselineAlignBottom="true"
android:layout_marginEnd="@dimen/restricted_icon_padding"
android:gravity="end|center_vertical"

View File

@@ -29,24 +29,23 @@
android:ellipsize="end"
android:textAppearance="@style/TextAppearance.Switch"
android:textColor="?android:attr/textColorPrimary"
android:textAlignment="viewStart" />
android:textAlignment="viewStart"/>
<ImageView
android:id="@+id/restricted_icon"
android:layout_width="@dimen/restricted_icon_size"
android:layout_height="@dimen/restricted_icon_size"
android:src="@drawable/ic_info"
android:tint="?android:attr/colorAccent"
android:theme="@android:style/Theme.Material"
android:layout_gravity="center_vertical"
android:layout_marginEnd="@dimen/restricted_icon_margin_end"
android:visibility="gone" />
android:layout_marginEnd="@dimen/restricted_icon_margin_end"/>
<com.android.settings.widget.ToggleSwitch
android:id="@+id/switch_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:theme="@style/Widget.SwitchBar.Switch" />
android:theme="@style/Widget.SwitchBar.Switch"/>
</merge>

View File

@@ -101,6 +101,7 @@
<attr name="switchBarMarginEnd" format="dimension" />
<attr name="switchBarBackgroundColor" format="color" />
<attr name="switchBarBackgroundActivatedColor" format="color" />
<attr name="switchBarRestrictionIcon" format="reference" />
<attr name="preferenceBackgroundColor" format="color" />

View File

@@ -267,6 +267,8 @@
<!-- Restricted icon in switch bar -->
<dimen name="restricted_icon_margin_end">16dp</dimen>
<!-- Restricted icon size in switch bar -->
<dimen name="restricted_icon_size">@*android:dimen/config_restricted_icon_size</dimen>
<!-- Display Size and Font Size preview screen -->
<dimen name="preview_pager_padding">8dp</dimen>

View File

@@ -85,6 +85,7 @@
<item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
<item name="switchBarBackgroundColor">@color/switch_bar_background</item>
<item name="switchBarBackgroundActivatedColor">?android:attr/colorAccent</item>
<item name="switchBarRestrictionIcon">@*android:drawable/ic_info</item>
</style>
<style name="Widget.SwitchBar.Switch" parent="@android:style/Widget.Material.CompoundButton.Switch">

View File

@@ -21,6 +21,7 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.SpannableStringBuilder;
@@ -32,6 +33,7 @@ import android.view.TouchDelegate;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.TextView;
@@ -64,14 +66,15 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
R.attr.switchBarMarginStart,
R.attr.switchBarMarginEnd,
R.attr.switchBarBackgroundColor,
R.attr.switchBarBackgroundActivatedColor};
R.attr.switchBarBackgroundActivatedColor,
R.attr.switchBarRestrictionIcon};
private final List<OnSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>();
private final MetricsFeatureProvider mMetricsFeatureProvider;
private final TextAppearanceSpan mSummarySpan;
private ToggleSwitch mSwitch;
private View mRestrictedIcon;
private ImageView mRestrictedIcon;
private TextView mTextView;
private String mLabel;
private String mSummary;
@@ -108,10 +111,11 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
LayoutInflater.from(context).inflate(R.layout.switch_bar, this);
final TypedArray a = context.obtainStyledAttributes(attrs, XML_ATTRIBUTES);
int switchBarMarginStart = (int) a.getDimension(0, 0);
int switchBarMarginEnd = (int) a.getDimension(1, 0);
final int switchBarMarginStart = (int) a.getDimension(0, 0);
final int switchBarMarginEnd = (int) a.getDimension(1, 0);
mBackgroundColor = a.getColor(2, 0);
mBackgroundActivatedColor = a.getColor(3, 0);
final Drawable restrictedIconDrawable = a.getDrawable(4);
a.recycle();
mTextView = findViewById(R.id.switch_text);
@@ -134,6 +138,7 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
(switchView, isChecked) -> setTextViewLabelAndBackground(isChecked));
mRestrictedIcon = findViewById(R.id.restricted_icon);
mRestrictedIcon.setImageDrawable(restrictedIconDrawable);
mRestrictedIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

View File

@@ -21,4 +21,8 @@
<bool name="config_show_connectivity_monitor">true</bool>
<bool name="config_display_recent_apps">true</bool>
<bool name="config_wifi_support_connected_mac_randomization">true</bool>
<!-- Fake dimen value for restricted icon size - needed to get around Robolectric
issue loading framework hidden resources -->
<dimen name="restricted_icon_size">24dp</dimen>
</resources>

View File

@@ -16,4 +16,14 @@
<item name="preferenceTheme">@style/PreferenceTheme</item>
<item name="android:windowLightStatusBar">true</item>
</style>
<style name="ThemeOverlay.SwitchBar.Settings" parent="@android:style/ThemeOverlay.Material.ActionBar">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
<item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
<item name="switchBarBackgroundColor">@color/switch_bar_background</item>
<item name="switchBarBackgroundActivatedColor">?android:attr/colorAccent</item>
<item name="switchBarRestrictionIcon">@drawable/ic_help</item>
</style>
</resources>

View File

@@ -77,6 +77,8 @@ public class SettingsRobolectricTestRunner extends RobolectricTestRunner {
Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/res")), null));
paths.add(new ResourcePath(null,
Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/HelpUtils/res/")), null));
paths.add(new ResourcePath(null,
Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/RestrictedLockUtils/res/")), null));
paths.add(new ResourcePath(null,
Fs.fromURL(new URL("file:frameworks/base/core/res/res")), null));
paths.add(new ResourcePath(null,