summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRohit Yengisetty <rohit@cyngn.com>2015-04-01 11:35:55 -0700
committeremancebo <emancebo@cyngn.com>2015-04-08 10:49:33 -0700
commit7ebf0fe3fd485a331f455e662c39cbcc7df2e1f4 (patch)
tree5b632c293687beeef1d38d7dc2e7990dfea12d35
parent4d28adff76cfac12cddad4480a0043b50c038d0c (diff)
downloadpackages_apps_Contacts-7ebf0fe3fd485a331f455e662c39cbcc7df2e1f4.tar.gz
packages_apps_Contacts-7ebf0fe3fd485a331f455e662c39cbcc7df2e1f4.tar.bz2
packages_apps_Contacts-7ebf0fe3fd485a331f455e662c39cbcc7df2e1f4.zip
Contacts : Add ability to customize Contact Editor Views
Change-Id: I3661d9911f9b7524edcf3c1adf8ec96359d961ba
-rw-r--r--res/layout/raw_contact_editor_view.xml9
-rw-r--r--src/com/android/contacts/activities/ConfirmAddDetailActivity.java3
-rw-r--r--src/com/android/contacts/editor/BaseRawContactEditorView.java5
-rwxr-xr-xsrc/com/android/contacts/editor/ContactEditorFragment.java50
-rw-r--r--src/com/android/contacts/editor/DrawingOptions.java27
-rw-r--r--src/com/android/contacts/editor/Editor.java2
-rw-r--r--src/com/android/contacts/editor/EventFieldEditorView.java4
-rw-r--r--src/com/android/contacts/editor/KindSectionView.java8
-rw-r--r--src/com/android/contacts/editor/LabeledEditorView.java5
-rw-r--r--src/com/android/contacts/editor/PhoneticNameEditorView.java4
-rw-r--r--src/com/android/contacts/editor/PhotoEditorView.java2
-rwxr-xr-xsrc/com/android/contacts/editor/RawContactEditorView.java16
-rw-r--r--src/com/android/contacts/editor/RawContactReadOnlyEditorView.java5
-rw-r--r--src/com/android/contacts/editor/StructuredNameEditorView.java4
-rw-r--r--src/com/android/contacts/editor/TextFieldsEditorView.java15
15 files changed, 125 insertions, 34 deletions
diff --git a/res/layout/raw_contact_editor_view.xml b/res/layout/raw_contact_editor_view.xml
index 981160264..018467303 100644
--- a/res/layout/raw_contact_editor_view.xml
+++ b/res/layout/raw_contact_editor_view.xml
@@ -24,6 +24,15 @@
<include
layout="@layout/editor_account_header_with_dropdown" />
+ <TextView
+ android:id="@+id/attribution_space"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ android:textSize="12sp"
+ android:layout_marginTop="5dp"
+ android:layout_marginLeft="3dp"
+ android:visibility="gone" />
+
<LinearLayout
android:id="@+id/body"
android:layout_width="match_parent"
diff --git a/src/com/android/contacts/activities/ConfirmAddDetailActivity.java b/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
index 442565db7..559763df2 100644
--- a/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
+++ b/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
@@ -719,7 +719,8 @@ public class ConfirmAddDetailActivity extends Activity implements
Editor editor = (Editor) view;
// Don't allow deletion of the field because there is only 1 detail in this editor.
editor.setDeletable(false);
- editor.setValues(dataKind, valuesDelta, state, false, new ViewIdGenerator());
+ // TODO : null the right choice ?
+ editor.setValues(dataKind, valuesDelta, state, false, new ViewIdGenerator(), null);
}
mEditorContainerView.addView(view);
diff --git a/src/com/android/contacts/editor/BaseRawContactEditorView.java b/src/com/android/contacts/editor/BaseRawContactEditorView.java
index 7e74cfbd3..66afa037f 100644
--- a/src/com/android/contacts/editor/BaseRawContactEditorView.java
+++ b/src/com/android/contacts/editor/BaseRawContactEditorView.java
@@ -115,10 +115,11 @@ public abstract class BaseRawContactEditorView extends LinearLayout {
/**
* Set the internal state for this view, given a current
* {@link RawContactDelta} state and the {@link AccountType} that
- * apply to that state.
+ * apply to that state. Also takes in an additional {@link DrawingOptions}
+ * parameter to customize the final look of the UI.
*/
public abstract void setState(RawContactDelta state, AccountType source, ViewIdGenerator vig,
- boolean isProfile);
+ boolean isProfile, DrawingOptions drawingOptions);
/* package */ void setExpanded(boolean value) {
// only allow collapsing if we are one of several children
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 6ef766b5e..6735d233a 100755
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -35,6 +35,7 @@ import android.content.Loader;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Color;
import android.graphics.Rect;
import android.media.RingtoneManager;
import android.net.Uri;
@@ -65,6 +66,7 @@ import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ListPopupWindow;
+import android.widget.TextView;
import android.widget.Toast;
import com.android.contacts.ContactSaveService;
@@ -97,12 +99,15 @@ import com.android.contacts.util.PhoneCapabilityTester;
import com.android.contacts.util.UiClosables;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
+import org.w3c.dom.Text;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
public class ContactEditorFragment extends Fragment implements
SplitContactConfirmationDialogFragment.Listener,
@@ -152,6 +157,10 @@ public class ContactEditorFragment extends Fragment implements
public static final String INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION =
"disableDeleteMenuOption";
+ public static final String INTENT_EXTRA_SUGGESTED_TEXT_COLOR = "suggestedTextColor";
+ public static final String INTENT_EXTRA_CONTACT_INFO_SOURCE = "contactInfoSource";
+ public static final String INTENT_EXTRA_TEXT_COLOR_TRANSIENT = "textColorTransient";
+
/**
* Modes that specify what the AsyncTask has to perform after saving
*/
@@ -286,6 +295,9 @@ public class ContactEditorFragment extends Fragment implements
private ListPopupWindow mAggregationSuggestionPopup;
+ private String mContactInfoAttribution;
+ private DrawingOptions mDrawingOptions;
+
private static final class AggregationSuggestionAdapter extends BaseAdapter {
private final Activity mActivity;
private final boolean mSetNewContact;
@@ -483,12 +495,25 @@ public class ContactEditorFragment extends Fragment implements
mAction = action;
mLookupUri = lookupUri;
mIntentExtras = intentExtras;
- mAutoAddToDefaultGroup = mIntentExtras != null
- && mIntentExtras.containsKey(INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY);
- mNewLocalProfile = mIntentExtras != null
- && mIntentExtras.getBoolean(INTENT_EXTRA_NEW_LOCAL_PROFILE);
- mDisableDeleteMenuOption = mIntentExtras != null
- && mIntentExtras.getBoolean(INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION);
+
+ if (mIntentExtras != null) {
+ mAutoAddToDefaultGroup = mIntentExtras
+ .containsKey(INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY);
+ mNewLocalProfile = mIntentExtras.getBoolean(INTENT_EXTRA_NEW_LOCAL_PROFILE);
+ mDisableDeleteMenuOption = mIntentExtras
+ .getBoolean(INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION);
+
+ mDrawingOptions = new DrawingOptions();
+ if (mIntentExtras.containsKey(INTENT_EXTRA_SUGGESTED_TEXT_COLOR)) {
+ mDrawingOptions.setTextColor(intentExtras.getInt(INTENT_EXTRA_SUGGESTED_TEXT_COLOR));
+ }
+ if (mIntentExtras.containsKey(INTENT_EXTRA_TEXT_COLOR_TRANSIENT)) {
+ mDrawingOptions.setIsTextColorTransient(
+ intentExtras.getBoolean(INTENT_EXTRA_TEXT_COLOR_TRANSIENT));
+ }
+
+ mContactInfoAttribution = mIntentExtras.getString(INTENT_EXTRA_CONTACT_INFO_SOURCE);
+ }
}
public void setListener(Listener value) {
@@ -875,9 +900,20 @@ public class ContactEditorFragment extends Fragment implements
editor.setEnabled(mEnabled);
+ // add attribution
+ if (!TextUtils.isEmpty(mContactInfoAttribution)) {
+ TextView attributionView = (TextView) editor.findViewById(R.id.attribution_space);
+ attributionView.setText(mContactInfoAttribution);
+ if (mDrawingOptions.getTextColor() != null) {
+ attributionView.setTextColor(mDrawingOptions.getTextColor());
+ }
+ attributionView.setVisibility(View.VISIBLE);
+ }
+
mContent.addView(editor);
- editor.setState(rawContactDelta, type, mViewIdGenerator, isEditingUserProfile());
+ editor.setState(rawContactDelta, type, mViewIdGenerator, isEditingUserProfile(),
+ mDrawingOptions);
// Set up the photo handler.
bindPhotoHandler(editor, type, mState);
diff --git a/src/com/android/contacts/editor/DrawingOptions.java b/src/com/android/contacts/editor/DrawingOptions.java
new file mode 100644
index 000000000..e44867222
--- /dev/null
+++ b/src/com/android/contacts/editor/DrawingOptions.java
@@ -0,0 +1,27 @@
+package com.android.contacts.editor;
+
+/**
+ * Holds configuration options that dictate the look and feel of the editor views
+ */
+public class DrawingOptions {
+
+ private Integer mTextColor;
+ private Boolean mIsTextColorTransient;
+
+ public void setTextColor(int color) {
+ mTextColor = color;
+ }
+
+ public Integer getTextColor() {
+ return mTextColor;
+ }
+
+ public void setIsTextColorTransient(Boolean isTransient) {
+ mIsTextColorTransient = isTransient;
+ }
+
+ public Boolean getIsTextColorTransient() {
+ return mIsTextColorTransient;
+ }
+
+}
diff --git a/src/com/android/contacts/editor/Editor.java b/src/com/android/contacts/editor/Editor.java
index 799030936..ab0ff0306 100644
--- a/src/com/android/contacts/editor/Editor.java
+++ b/src/com/android/contacts/editor/Editor.java
@@ -61,7 +61,7 @@ public interface Editor {
* written back to that same object.
*/
public void setValues(DataKind kind, ValuesDelta values, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig);
+ ViewIdGenerator vig, DrawingOptions drawingOptions);
public void setDeletable(boolean deletable);
diff --git a/src/com/android/contacts/editor/EventFieldEditorView.java b/src/com/android/contacts/editor/EventFieldEditorView.java
index 4d9411f58..7dd81a5fc 100644
--- a/src/com/android/contacts/editor/EventFieldEditorView.java
+++ b/src/com/android/contacts/editor/EventFieldEditorView.java
@@ -106,9 +106,9 @@ public class EventFieldEditorView extends LabeledEditorView {
@Override
public void setValues(DataKind kind, ValuesDelta entry, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig) {
+ ViewIdGenerator vig, DrawingOptions drawingOptions) {
if (kind.fieldList.size() != 1) throw new IllegalStateException("kind must have 1 field");
- super.setValues(kind, entry, state, readOnly, vig);
+ super.setValues(kind, entry, state, readOnly, vig, drawingOptions);
mDateView.setEnabled(isEnabled() && !readOnly);
diff --git a/src/com/android/contacts/editor/KindSectionView.java b/src/com/android/contacts/editor/KindSectionView.java
index 261286e47..6af32e4ec 100644
--- a/src/com/android/contacts/editor/KindSectionView.java
+++ b/src/com/android/contacts/editor/KindSectionView.java
@@ -53,6 +53,8 @@ public class KindSectionView extends LinearLayout implements EditorListener {
private RawContactDelta mState;
private boolean mReadOnly;
+ private DrawingOptions mDrawingOptions;
+
private ViewIdGenerator mViewIdGenerator;
private LayoutInflater mInflater;
@@ -130,11 +132,13 @@ public class KindSectionView extends LinearLayout implements EditorListener {
}
}
- public void setState(DataKind kind, RawContactDelta state, boolean readOnly, ViewIdGenerator vig) {
+ public void setState(DataKind kind, RawContactDelta state, boolean readOnly,
+ ViewIdGenerator vig, DrawingOptions drawingOptions) {
mKind = kind;
mState = state;
mReadOnly = readOnly;
mViewIdGenerator = vig;
+ mDrawingOptions = drawingOptions;
setId(mViewIdGenerator.getId(state, kind, null, ViewIdGenerator.NO_VIEW_INDEX));
@@ -201,7 +205,7 @@ public class KindSectionView extends LinearLayout implements EditorListener {
if (view instanceof Editor) {
Editor editor = (Editor) view;
editor.setDeletable(true);
- editor.setValues(mKind, entry, mState, mReadOnly, mViewIdGenerator);
+ editor.setValues(mKind, entry, mState, mReadOnly, mViewIdGenerator, mDrawingOptions);
editor.setEditorListener(this);
}
mEditors.addView(view);
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index 0a33b6def..7592e830b 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -87,6 +87,7 @@ public abstract class LabeledEditorView extends LinearLayout implements Editor,
private DialogManager mDialogManager = null;
private EditorListener mListener;
protected int mMinLineItemHeight;
+ private DrawingOptions mDrawingOptions;
/**
* A marker in the spinner adapter of the currently selected custom type.
@@ -333,7 +334,7 @@ public abstract class LabeledEditorView extends LinearLayout implements Editor,
}
protected void rebuildValues() {
- setValues(mKind, mEntry, mState, mReadOnly, mViewIdGenerator);
+ setValues(mKind, mEntry, mState, mReadOnly, mViewIdGenerator, mDrawingOptions);
}
/**
@@ -342,7 +343,7 @@ public abstract class LabeledEditorView extends LinearLayout implements Editor,
*/
@Override
public void setValues(DataKind kind, ValuesDelta entry, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig) {
+ ViewIdGenerator vig, DrawingOptions drawingOptions) {
mKind = kind;
mEntry = entry;
mState = state;
diff --git a/src/com/android/contacts/editor/PhoneticNameEditorView.java b/src/com/android/contacts/editor/PhoneticNameEditorView.java
index 69e0719f3..5dbfa9b4a 100644
--- a/src/com/android/contacts/editor/PhoneticNameEditorView.java
+++ b/src/com/android/contacts/editor/PhoneticNameEditorView.java
@@ -103,11 +103,11 @@ public class PhoneticNameEditorView extends TextFieldsEditorView {
@Override
public void setValues(DataKind kind, ValuesDelta entry, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig) {
+ ViewIdGenerator vig, DrawingOptions drawingOptions) {
if (!(entry instanceof PhoneticValuesDelta)) {
entry = new PhoneticValuesDelta(entry);
}
- super.setValues(kind, entry, state, readOnly, vig);
+ super.setValues(kind, entry, state, readOnly, vig, drawingOptions);
}
@Override
diff --git a/src/com/android/contacts/editor/PhotoEditorView.java b/src/com/android/contacts/editor/PhotoEditorView.java
index a199f46ee..96ed08004 100644
--- a/src/com/android/contacts/editor/PhotoEditorView.java
+++ b/src/com/android/contacts/editor/PhotoEditorView.java
@@ -94,7 +94,7 @@ public class PhotoEditorView extends LinearLayout implements Editor {
/** {@inheritDoc} */
@Override
public void setValues(DataKind kind, ValuesDelta values, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig) {
+ ViewIdGenerator vig, DrawingOptions drawingOptions) {
mEntry = values;
mReadOnly = readOnly;
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index 3595bf3e2..da2c0c7c2 100755
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -210,7 +210,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
*/
@Override
public void setState(RawContactDelta state, AccountType type, ViewIdGenerator vig,
- boolean isProfile) {
+ boolean isProfile, DrawingOptions drawingOptions) {
mState = state;
@@ -323,11 +323,11 @@ public class RawContactEditorView extends BaseRawContactEditorView {
// Handle special case editor for structured name
final ValuesDelta primary = state.getPrimaryEntry(mimeType);
DataKind dataKind = type.getKindForMimetype(DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME);
- mName.setValues(dataKind, primary, state, false, vig);
+ mName.setValues(dataKind, primary, state, false, vig, drawingOptions);
if (!(SimContactsConstants.ACCOUNT_TYPE_SIM).equals(type.accountType)) {
mPhoneticName.setValues(
type.getKindForMimetype(DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME),
- primary, state, false, vig);
+ primary, state, false, vig, drawingOptions);
}
else {
mPhoneticName.setVisibility(View.GONE);
@@ -335,7 +335,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
} else if (Photo.CONTENT_ITEM_TYPE.equals(mimeType)) {
// Handle special case editor for photos
final ValuesDelta primary = state.getPrimaryEntry(mimeType);
- getPhotoEditor().setValues(kind, primary, state, false, vig);
+ getPhotoEditor().setValues(kind, primary, state, false, vig, drawingOptions);
} else if (GroupMembership.CONTENT_ITEM_TYPE.equals(mimeType)) {
if (mGroupMembershipView != null) {
mGroupMembershipView.setState(state);
@@ -344,7 +344,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
final KindSectionView section = (KindSectionView)mInflater.inflate(
R.layout.item_kind_section, mFields, false);
section.setEnabled(isEnabled());
- section.setState(kind, state, false, vig);
+ section.setState(kind, state, false, vig, drawingOptions);
mFields.addView(section);
if (SimContactsConstants.ACCOUNT_TYPE_SIM.equals(type.accountType) ) {
String accountName = state.getAccountName();
@@ -387,7 +387,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
}
}
section.setEnabled(isEnabled());
- section.setState(kind, state, false, vig);
+ section.setState(kind, state, false, vig, drawingOptions);
mFields.addView(section);
} else if (Organization.CONTENT_ITEM_TYPE.equals(mimeType)) {
// Create the organization section
@@ -395,7 +395,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
R.layout.item_kind_section, mFields, false);
section.setTitleVisible(false);
section.setEnabled(isEnabled());
- section.setState(kind, state, false, vig);
+ section.setState(kind, state, false, vig, drawingOptions);
// If there is organization info for the contact already, display it
if (!section.isEmpty()) {
@@ -426,7 +426,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
final KindSectionView section = (KindSectionView)mInflater.inflate(
R.layout.item_kind_section, mFields, false);
section.setEnabled(isEnabled());
- section.setState(kind, state, false, vig);
+ section.setState(kind, state, false, vig, drawingOptions);
mFields.addView(section);
}
}
diff --git a/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java b/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java
index 36e96a2ff..a420ea52f 100644
--- a/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java
+++ b/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java
@@ -113,7 +113,7 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView
*/
@Override
public void setState(RawContactDelta state, AccountType type, ViewIdGenerator vig,
- boolean isProfile) {
+ boolean isProfile, DrawingOptions drawingOptions) {
// Remove any existing sections
mGeneral.removeAllViews();
@@ -172,7 +172,8 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView
boolean hasPhotoEditor = type.getKindForMimetype(Photo.CONTENT_ITEM_TYPE) != null;
setHasPhotoEditor(hasPhotoEditor);
primary = state.getPrimaryEntry(Photo.CONTENT_ITEM_TYPE);
- getPhotoEditor().setValues(kind, primary, state, !type.areContactsWritable(), vig);
+ getPhotoEditor().setValues(kind, primary, state, !type.areContactsWritable(), vig,
+ drawingOptions);
}
// Name
diff --git a/src/com/android/contacts/editor/StructuredNameEditorView.java b/src/com/android/contacts/editor/StructuredNameEditorView.java
index 340843515..d7f8fcb9e 100644
--- a/src/com/android/contacts/editor/StructuredNameEditorView.java
+++ b/src/com/android/contacts/editor/StructuredNameEditorView.java
@@ -64,8 +64,8 @@ public class StructuredNameEditorView extends TextFieldsEditorView {
@Override
public void setValues(DataKind kind, ValuesDelta entry, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig) {
- super.setValues(kind, entry, state, readOnly, vig);
+ ViewIdGenerator vig, DrawingOptions drawingOptions) {
+ super.setValues(kind, entry, state, readOnly, vig, drawingOptions);
if (mSnapshot == null) {
mSnapshot = (StructuredNameDataItem) DataItem.createFrom(
new ContentValues(getValues().getCompleteValues()));
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index e272a95a8..f470db275 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -17,6 +17,7 @@
package com.android.contacts.editor;
import android.content.Context;
+import android.graphics.Color;
import android.graphics.Rect;
import android.os.Parcel;
import android.os.Parcelable;
@@ -61,6 +62,7 @@ public class TextFieldsEditorView extends LabeledEditorView {
private int mEditTextTopPadding;
private int mEditTextBottomPadding;
private int mPreviousViewHeight;
+ private int mOriginalEditTextColor;
public TextFieldsEditorView(Context context) {
super(context);
@@ -186,8 +188,8 @@ public class TextFieldsEditorView extends LabeledEditorView {
@Override
public void setValues(DataKind kind, ValuesDelta entry, RawContactDelta state, boolean readOnly,
- ViewIdGenerator vig) {
- super.setValues(kind, entry, state, readOnly, vig);
+ ViewIdGenerator vig, final DrawingOptions drawingOptions) {
+ super.setValues(kind, entry, state, readOnly, vig, drawingOptions);
// Remove edit texts that we currently have
if (mFieldEditTexts != null) {
for (EditText fieldEditText : mFieldEditTexts) {
@@ -236,6 +238,12 @@ public class TextFieldsEditorView extends LabeledEditorView {
final String column = field.column;
final String value = entry.getAsString(column);
fieldView.setText(value);
+ if (!TextUtils.isEmpty(value)) {
+ if (drawingOptions != null && drawingOptions.getTextColor() != null) {
+ mOriginalEditTextColor = fieldView.getCurrentTextColor();
+ fieldView.setTextColor(drawingOptions.getTextColor());
+ }
+ }
// Show the delete button if we have a non-null value
setDeleteButtonVisible(value != null);
@@ -254,6 +262,9 @@ public class TextFieldsEditorView extends LabeledEditorView {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (drawingOptions != null && Boolean.TRUE.equals(drawingOptions.getIsTextColorTransient())) {
+ fieldView.setTextColor(mOriginalEditTextColor);
+ }
}
});