Merge "Compose singleLine & textAllCaps transforms" into klp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cd4919c032
@@ -32,12 +32,10 @@
|
||||
android:id="@+id/carrier_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="marquee"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="@dimen/kg_status_line_font_size"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textAllCaps="@bool/kg_use_all_caps" />
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -17,14 +17,18 @@
|
||||
package com.android.keyguard;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.method.SingleLineTransformationMethod;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.telephony.IccCardConstants;
|
||||
import com.android.internal.telephony.IccCardConstants.State;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class CarrierText extends TextView {
|
||||
private static CharSequence mSeparator;
|
||||
|
||||
@@ -77,6 +81,8 @@ public class CarrierText extends TextView {
|
||||
public CarrierText(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mLockPatternUtils = new LockPatternUtils(mContext);
|
||||
boolean useAllCaps = mContext.getResources().getBoolean(R.bool.kg_use_all_caps);
|
||||
setTransformationMethod(new CarrierTextTransformationMethod(mContext, useAllCaps));
|
||||
}
|
||||
|
||||
protected void updateCarrierText(State simState, CharSequence plmn, CharSequence spn) {
|
||||
@@ -258,4 +264,25 @@ public class CarrierText extends TextView {
|
||||
|
||||
return mContext.getText(carrierHelpTextId);
|
||||
}
|
||||
|
||||
private class CarrierTextTransformationMethod extends SingleLineTransformationMethod {
|
||||
private final Locale mLocale;
|
||||
private final boolean mAllCaps;
|
||||
|
||||
public CarrierTextTransformationMethod(Context context, boolean allCaps) {
|
||||
mLocale = context.getResources().getConfiguration().locale;
|
||||
mAllCaps = allCaps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getTransformation(CharSequence source, View view) {
|
||||
source = super.getTransformation(source, view);
|
||||
|
||||
if (mAllCaps && source != null) {
|
||||
source = source.toString().toUpperCase(mLocale);
|
||||
}
|
||||
|
||||
return source;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user