Fix wrong index; some fields could not be added. Disabled delete animation.
Change-Id: I6007dcdce7ca3126f05437463258b9c93cd928bb
diff --git a/src/com/android/contacts/ui/widget/ContactEditorView.java b/src/com/android/contacts/ui/widget/ContactEditorView.java
index 0916bc0..ff90f65 100644
--- a/src/com/android/contacts/ui/widget/ContactEditorView.java
+++ b/src/com/android/contacts/ui/widget/ContactEditorView.java
@@ -41,7 +41,6 @@
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.text.TextUtils;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -225,28 +224,32 @@
public Dialog createDialog(Bundle bundle) {
if (bundle == null) throw new IllegalArgumentException("bundle must not be null");
- int dialogId = bundle.getInt(DIALOG_ID_KEY);
+ final int dialogId = bundle.getInt(DIALOG_ID_KEY);
switch (dialogId) {
case DIALOG_ID_FIELD_SELECTOR:
- final ArrayList<CharSequence> items =
+ final ArrayList<KindSectionView> usedFields =
+ new ArrayList<KindSectionView>(mFields.getChildCount());
+ final ArrayList<CharSequence> usedFieldTitles =
new ArrayList<CharSequence>(mFields.getChildCount());
+
for (int i = 0; i < mFields.getChildCount(); i++) {
final KindSectionView sectionView = (KindSectionView) mFields.getChildAt(i);
// not a list and already exists? ignore
if (!sectionView.getKind().isList && sectionView.getEditorCount() != 0) {
continue;
}
- items.add(sectionView.getTitle());
+ usedFieldTitles.add(sectionView.getTitle());
+ usedFields.add(sectionView);
}
final DialogInterface.OnClickListener itemClickListener =
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
- final KindSectionView view = (KindSectionView) mFields.getChildAt(which);
+ final KindSectionView view = usedFields.get(which);
view.addItem();
}
};
return new AlertDialog.Builder(getContext())
- .setItems(items.toArray(new CharSequence[0]), itemClickListener)
+ .setItems(usedFieldTitles.toArray(new CharSequence[0]), itemClickListener)
.create();
default:
throw new IllegalArgumentException("Invalid dialogId: " + dialogId);
diff --git a/src/com/android/contacts/ui/widget/GenericEditorView.java b/src/com/android/contacts/ui/widget/GenericEditorView.java
index 378f4f4..6068660 100644
--- a/src/com/android/contacts/ui/widget/GenericEditorView.java
+++ b/src/com/android/contacts/ui/widget/GenericEditorView.java
@@ -219,17 +219,17 @@
// Keep around in model, but mark as deleted
mEntry.markDeleted();
- final ViewGroupAnimator animator = ViewGroupAnimator.captureView(getRootView());
+// final ViewGroupAnimator animator = ViewGroupAnimator.captureView(getRootView());
- animator.removeView(GenericEditorView.this);
-// ((ViewGroup) getParent()).removeView(GenericEditorView.this);
+// animator.removeView(GenericEditorView.this);
+ ((ViewGroup) getParent()).removeView(GenericEditorView.this);
if (mListener != null) {
// Notify listener when present
mListener.onDeleted(GenericEditorView.this);
}
- animator.animate();
+// animator.animate();
}
});
addView(mDelete);