Fix edit text error state in the print UI.

If the user input in the print UI is invalid we show an error icon
next to it. The design requires no error message being shown in a
popup but TextView does show the popup all the time.

bug:16966145

Change-Id: I7aa1ec8093bc76e2f440bcb243609e92e049786b
This commit is contained in:
Svet Ganov
2014-09-11 00:05:06 -07:00
committed by Svetoslav
parent 9127e4580c
commit 43212264dd
2 changed files with 48 additions and 4 deletions

View File

@@ -55,7 +55,7 @@
android:text="@string/label_copies">
</TextView>
<EditText
<com.android.printspooler.widget.CustomErrorEditText
android:id="@+id/copies_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@@ -63,7 +63,7 @@
android:singleLine="true"
android:ellipsize="end"
android:inputType="numberDecimal">
</EditText>
</com.android.printspooler.widget.CustomErrorEditText>
</LinearLayout>
@@ -197,7 +197,7 @@
android:visibility="visible">
</TextView>
<EditText
<com.android.printspooler.widget.CustomErrorEditText
android:id="@+id/page_range_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@@ -206,7 +206,7 @@
android:ellipsize="end"
android:visibility="visible"
android:inputType="textNoSuggestions">
</EditText>
</com.android.printspooler.widget.CustomErrorEditText>
</LinearLayout>

View File

@@ -0,0 +1,44 @@
/*
* Copyright (C) 2014 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.printspooler.widget;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.EditText;
/**
* EditText that shows an error without a popup.
*/
public final class CustomErrorEditText extends EditText {
private CharSequence mError;
public CustomErrorEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public CharSequence getError() {
return mError;
}
@Override
public void setError(CharSequence error, Drawable icon) {
setCompoundDrawables(null, null, icon, null);
mError = error;
}
}