Merge branch 'release-candidate/roboswag-v0.1' into lists_pre_release

This commit is contained in:
Gavriil Sitnikov 2016-08-31 16:19:41 +03:00
commit 1406eb73fa
3 changed files with 30 additions and 2 deletions

View File

@ -27,6 +27,8 @@ import android.support.v7.widget.AppCompatEditText;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.SingleLineTransformationMethod;
import android.text.method.TransformationMethod;
import android.util.AttributeSet;
import java.util.ArrayList;
@ -217,8 +219,17 @@ public class TypefacedEditText extends AppCompatEditText {
* @param maxLines Maximum lines to be set.
*/
public void setMultiline(final int maxLines) {
super.setMaxLines(maxLines);
if (maxLines <= 1) {
Lc.assertion("Wrong maxLines: " + maxLines);
return;
}
multiline = true;
final TransformationMethod transformationMethod = getTransformationMethod();
super.setSingleLine(false);
super.setMaxLines(maxLines);
if (!(transformationMethod instanceof SingleLineTransformationMethod)) {
setTransformationMethod(transformationMethod);
}
}
@Override
@ -232,6 +243,14 @@ public class TypefacedEditText extends AppCompatEditText {
@Override
public void setSingleLine() {
final TransformationMethod transformationMethod = getTransformationMethod();
super.setSingleLine(true);
if (transformationMethod != null) {
if (!(transformationMethod instanceof SingleLineTransformationMethod)) {
Lc.w("SingleLineTransformationMethod method ignored because of previous transformation method: " + transformationMethod);
}
setTransformationMethod(transformationMethod);
}
setLines(1);
multiline = false;
}

View File

@ -26,6 +26,8 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.AppCompatTextView;
import android.text.TextUtils;
import android.text.method.SingleLineTransformationMethod;
import android.text.method.TransformationMethod;
import android.util.AttributeSet;
import android.util.TypedValue;
@ -198,7 +200,14 @@ public class TypefacedTextView extends AppCompatTextView {
*/
public void setLineStrategy(@NonNull final LineStrategy lineStrategy, final int maxLines) {
this.lineStrategy = lineStrategy;
final TransformationMethod transformationMethod = getTransformationMethod();
super.setSingleLine(!lineStrategy.multiline);
if (transformationMethod != null) {
if (!(transformationMethod instanceof SingleLineTransformationMethod)) {
Lc.w("SingleLineTransformationMethod method ignored because of previous transformation method: " + transformationMethod);
}
setTransformationMethod(transformationMethod);
}
if (lineStrategy.multiline) {
super.setMaxLines(maxLines);
}

View File

@ -128,7 +128,7 @@ public final class AttributesUtils {
try {
final Class androidRes = Class.forName("com.android.internal.R$styleable");
final TypedArray typedArray = context.obtainStyledAttributes(attrs, AttributesUtils.getField(androidRes, "TextView"));
final int result = typedArray.getInt(AttributesUtils.getField(androidRes, "TextView_fontFamily"), Integer.MAX_VALUE);
final int result = typedArray.getInt(AttributesUtils.getField(androidRes, "TextView_maxLines"), Integer.MAX_VALUE);
typedArray.recycle();
return result;
} catch (Exception e) {