PositionTesterContextMenuListener.java revision 192ab903887bbb8e7c7b6da5c581573850e30f46
1package android.widget.expandablelistview; 2 3import android.view.ContextMenu; 4import android.view.View; 5import android.view.ContextMenu.ContextMenuInfo; 6import android.view.View.OnCreateContextMenuListener; 7import android.widget.ExpandableListView; 8 9import junit.framework.Assert; 10 11public class PositionTesterContextMenuListener implements OnCreateContextMenuListener { 12 13 private int groupPosition, childPosition; 14 15 private int testType; // as returned by getPackedPositionType 16 17 public void expectGroupContextMenu(int groupPosition) { 18 this.groupPosition = groupPosition; 19 testType = ExpandableListView.PACKED_POSITION_TYPE_GROUP; 20 } 21 22 public void expectChildContextMenu(int groupPosition, int childPosition) { 23 this.groupPosition = groupPosition; 24 this.childPosition = childPosition; 25 testType = ExpandableListView.PACKED_POSITION_TYPE_CHILD; 26 } 27 28 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 29 ExpandableListView.ExpandableListContextMenuInfo elvMenuInfo = (ExpandableListView.ExpandableListContextMenuInfo) menuInfo; 30 long packedPosition = elvMenuInfo.packedPosition; 31 32 int packedPositionType = ExpandableListView.getPackedPositionType(packedPosition); 33 Assert.assertEquals("Wrong packed position type", testType, packedPositionType); 34 35 int packedPositionGroup = ExpandableListView.getPackedPositionGroup(packedPosition); 36 Assert.assertEquals("Wrong group position", groupPosition, packedPositionGroup); 37 38 if (testType == ExpandableListView.PACKED_POSITION_TYPE_CHILD) { 39 int packedPositionChild = ExpandableListView.getPackedPositionChild(packedPosition); 40 Assert.assertEquals("Wrong child position", childPosition, packedPositionChild); 41 } 42 } 43} 44