Adds a multi line preference class.

Some preferences (namely inside the encryption interstitial) can flow
passed a single line when the font size is set to largest. We should
allow for this to extend to another line instead of using ellipsis.

bug:27875272
Change-Id: I2697ae37bfe39a4890298f82cf80fc70b93881df
This commit is contained in:
Udam Saini
2016-03-30 14:39:42 -07:00
parent d719ae8e37
commit 85eebb52a8
2 changed files with 50 additions and 1 deletions

View File

@@ -19,7 +19,7 @@
android:title="@string/lock_settings_picker_title" android:title="@string/lock_settings_picker_title"
android:key="lock_settings_picker"> android:key="lock_settings_picker">
<Preference <com.android.settings.MultiLinePreference
android:icon="@drawable/ic_lock_list_icon" android:icon="@drawable/ic_lock_list_icon"
android:key="encrypt_require_password" android:key="encrypt_require_password"
android:persistent="false"/> android:persistent="false"/>

View File

@@ -0,0 +1,49 @@
/*
* Copyright (C) 2016 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;
import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
public class MultiLinePreference extends Preference {
public MultiLinePreference(Context ctx, AttributeSet attrs, int defStyle) {
super(ctx, attrs, defStyle);
}
public MultiLinePreference(Context ctx, AttributeSet attrs) {
super(ctx, attrs);
}
public MultiLinePreference(Context ctx) {
super(ctx);
}
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
TextView textView = (TextView) view.findViewById(android.R.id.title);
if (textView != null) {
textView.setSingleLine(false);
}
}
}