Allow settings preference title to span over multiple lines.

- add singleLineTitle=false to SettingsPreference style, so that it will
not confined the title to a single line.
- remove the custom multi line title from DividerPreference and
MasterSwitchPreference.

Change-Id: I5a78d2cd6ac00c4482e252b0789fd2d265bd9adf
Fix: 34886787
Test: manual
This commit is contained in:
Doris Ling
2017-04-11 13:17:38 -07:00
parent f84c8d3480
commit aa805e70ed
6 changed files with 21 additions and 68 deletions

View File

@@ -136,7 +136,6 @@
<declare-styleable name="DividerPreference">
<attr name="allowDividerAbove" format="boolean" />
<attr name="allowDividerBelow" format="boolean" />
<attr name="multiLine" format="boolean" />
</declare-styleable>
<!-- For GesturePreference -->

View File

@@ -31,6 +31,7 @@
<style name="SettingsPreference">
<item name="allowDividerAbove">false</item>
<item name="allowDividerBelow">true</item>
<item name="singleLineTitle">false</item>
<item name="android:layout">@layout/preference_material_settings</item>
</style>

View File

@@ -28,84 +28,64 @@
<PreferenceCategory android:title="@string/enterprise_privacy_exposure_category">
<com.android.settings.DividerPreference
android:layout_height="wrap_content"
android:title="@string/enterprise_privacy_enterprise_data"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_enterprise_data"/>
<com.android.settings.DividerPreference
android:title="@string/enterprise_privacy_installed_packages"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_installed_packages"/>
<com.android.settings.DividerPreference
android:title="@string/enterprise_privacy_usage_stats"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_usage_stats"/>
<com.android.settings.DividerPreference
android:key="network_logs"
android:title="@string/enterprise_privacy_network_logs"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_network_logs"/>
<com.android.settings.DividerPreference
android:key="bug_reports"
android:title="@string/enterprise_privacy_bug_reports"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_bug_reports"/>
<com.android.settings.DividerPreference
android:key="security_logs"
android:title="@string/enterprise_privacy_security_logs"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_security_logs"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/enterprise_privacy_exposure_changes_category">
<com.android.settings.DividerPreference
android:key="number_enterprise_installed_packages"
android:title="@string/enterprise_privacy_enterprise_installed_packages"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_enterprise_installed_packages"/>
<com.android.settings.DividerPreference
android:key="enterprise_privacy_number_location_access_packages"
android:title="@string/enterprise_privacy_location_access"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_location_access"/>
<com.android.settings.DividerPreference
android:key="enterprise_privacy_number_microphone_access_packages"
android:title="@string/enterprise_privacy_microphone_access"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_microphone_access"/>
<com.android.settings.DividerPreference
android:key="enterprise_privacy_number_camera_access_packages"
android:title="@string/enterprise_privacy_camera_access"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_camera_access"/>
<com.android.settings.DividerPreference
android:key="number_enterprise_set_default_apps"
android:title="@string/enterprise_privacy_enterprise_set_default_apps"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_enterprise_set_default_apps"/>
<com.android.settings.DividerPreference
android:key="always_on_vpn_primary_user"
settings:multiLine="true"/>
android:key="always_on_vpn_primary_user"/>
<com.android.settings.DividerPreference
android:key="always_on_vpn_managed_profile"
android:title="@string/enterprise_privacy_always_on_vpn_work"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_always_on_vpn_work"/>
<com.android.settings.DividerPreference
android:key="input_method"
android:title="@string/enterprise_privacy_input_method"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_input_method"/>
<com.android.settings.DividerPreference
android:key="global_http_proxy"
android:title="@string/enterprise_privacy_global_http_proxy"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_global_http_proxy"/>
<com.android.settings.DividerPreference
android:key="ca_certs"
android:title="@string/enterprise_privacy_ca_certs"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_ca_certs"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/enterprise_privacy_device_access_category">
<com.android.settings.DividerPreference
android:title="@string/enterprise_privacy_lock_device"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_lock_device"/>
<com.android.settings.DividerPreference
android:title="@string/enterprise_privacy_wipe_device"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_wipe_device"/>
<com.android.settings.DividerPreference
android:key="failed_password_wipe_current_user"
android:title="@string/enterprise_privacy_failed_password_wipe_device"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_failed_password_wipe_device"/>
<com.android.settings.DividerPreference
android:key="failed_password_wipe_managed_profile"
android:title="@string/enterprise_privacy_failed_password_wipe_work"
settings:multiLine="true"/>
android:title="@string/enterprise_privacy_failed_password_wipe_work"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -25,7 +25,6 @@ public class DividerPreference extends Preference {
private Boolean mAllowAbove;
private Boolean mAllowBelow;
private Boolean mMultiLine;
public DividerPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -36,9 +35,6 @@ public class DividerPreference extends Preference {
if (a.hasValue(R.styleable.DividerPreference_allowDividerBelow)) {
mAllowBelow = a.getBoolean(R.styleable.DividerPreference_allowDividerBelow, false);
}
if (a.hasValue(R.styleable.DividerPreference_multiLine)) {
mMultiLine = a.getBoolean(R.styleable.DividerPreference_multiLine, false);
}
}
public DividerPreference(Context context) {
@@ -64,12 +60,5 @@ public class DividerPreference extends Preference {
if (mAllowBelow != null) {
holder.setDividerAllowedBelow(mAllowBelow);
}
if (mMultiLine != null && mMultiLine) {
TextView textView = (TextView)holder.findViewById(android.R.id.title);
if (textView != null) {
textView.setSingleLine(false);
}
}
}
}

View File

@@ -165,7 +165,6 @@ public class AppNotificationSettings extends NotificationSettingsBase {
channelPref.setKey(channel.getId());
channelPref.setTitle(channel.getName());
channelPref.setChecked(channel.getImportance() != IMPORTANCE_NONE);
channelPref.setMultiLine(true);
channelPref.setSummary(getImportanceSummary(channel.getImportance()));
Bundle channelArgs = new Bundle();
channelArgs.putInt(AppInfoBase.ARG_PACKAGE_UID, mUid);

View File

@@ -36,7 +36,6 @@ public class MasterSwitchPreference extends TwoTargetPreference {
private Switch mSwitch;
private boolean mChecked;
private boolean mMultiLine;
public MasterSwitchPreference(Context context, AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
@@ -81,12 +80,6 @@ public class MasterSwitchPreference extends TwoTargetPreference {
if (mSwitch != null) {
mSwitch.setChecked(mChecked);
}
if (mMultiLine) {
TextView textView = (TextView) holder.findViewById(android.R.id.title);
if (textView != null) {
textView.setSingleLine(false);
}
}
}
public boolean isChecked() {
@@ -106,14 +99,6 @@ public class MasterSwitchPreference extends TwoTargetPreference {
}
}
public boolean isMultiLine() {
return mMultiLine;
}
public void setMultiLine(boolean multiLine) {
mMultiLine = multiLine;
}
/**
* If admin is not null, disables the switch.
* Otherwise, keep it enabled.