mReadOnlyName.setVisibility(View.GONE);
}
+ boolean anySecondaryFieldFilled = false;
// Create editor sections for each possible data kind
for (DataKind kind : source.getSortedDataKinds()) {
// Skip kind of not editable
final KindSectionView section = (KindSectionView)mInflater.inflate(
R.layout.item_kind_section, parent, false);
section.setState(kind, state, mIsSourceReadOnly, vig);
+ if (kind.secondary && section.isAnyEditorFilledOut()) {
+ anySecondaryFieldFilled = true;
+ }
parent.addView(section);
}
}
- setSecondaryVisible(mSecondaryVisible);
+ setSecondaryVisible(anySecondaryFieldFilled);
}
/**
import android.telephony.PhoneNumberFormattingTextWatcher;
import android.text.Editable;
import android.text.InputType;
+import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.ContextThemeWrapper;
}
}
+ public boolean isAnyFieldFilledOut() {
+ int childCount = mFields.getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ EditText editorView = (EditText) mFields.getChildAt(i);
+ if (!TextUtils.isEmpty(editorView.getText())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private void rebuildValues() {
setValues(mKind, mEntry, mState, mReadOnly, mViewIdGenerator);
}
this.updateEditorsVisible();
}
+ public boolean isAnyEditorFilledOut() {
+ if (mState == null) {
+ return false;
+ }
+
+ if (!mState.hasMimeEntries(mKind.mimeType)) {
+ return false;
+ }
+
+ int editorCount = mEditors.getChildCount();
+ for (int i = 0; i < editorCount; i++) {
+ GenericEditorView editorView = (GenericEditorView) mEditors.getChildAt(i);
+ if (editorView.isAnyFieldFilledOut()) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
/**
* Build editors for all current {@link #mState} rows.
*/