Esempio n. 1
0
 private void loadCurrentDirtyContact() {
   mCursor = queryDirtyRawContact(null, null);
   try {
     if (mCursor.getCount() < sPreDirtyContactMap.size()) {
       Log.d(TAG, "loadCurrentDirtyContact1+++");
       HashSet<DirtyContactEvent> tmpDirtyContactSet = new HashSet<DirtyContactEvent>();
       mDirtyContactSet.clear();
       mPreDirtyContactSet.clear();
       while (mCursor.moveToNext()) {
         DirtyContactEvent e = getDirtyContactItem(mCursor);
         tmpDirtyContactSet.add(e);
         mPreDirtyContactSet.add(e);
       }
       Collection<DirtyContactEvent> oldSet = sPreDirtyContactMap.values();
       Iterator it = oldSet.iterator();
       while (it.hasNext()) {
         DirtyContactEvent e = (DirtyContactEvent) it.next();
         if (!tmpDirtyContactSet.contains(e)) {
           e.update(DirtyContactEvent.DELETE, 1, 1, e.version);
           mDirtyContactSet.add(e);
           Log.d(TAG, e.toString());
         }
       }
       Log.d(TAG, "loadCurrentDirtyContact1---");
       synchronized (mListeners) {
         for (ContactListener l : mListeners) {
           l.onContactChange(mDirtyContactSet);
         }
       }
       sPreDirtyContactMap.clear();
       it = tmpDirtyContactSet.iterator();
       while (it.hasNext()) {
         DirtyContactEvent e = (DirtyContactEvent) it.next();
         sPreDirtyContactMap.put(e._ID, e);
       }
       return;
     }
     mDirtyContactSet.clear();
     Log.d(TAG, "loadCurrentDirtyContact2+++");
     while (mCursor.moveToNext()) {
       DirtyContactEvent e = getDirtyContactItem(mCursor);
       if (!mPreDirtyContactSet.contains(e)) {
         mPreDirtyContactSet.add(e);
         mDirtyContactSet.add(e);
         sPreDirtyContactMap.put(e._ID, e);
         Log.d(TAG, e.toString());
       }
     }
     Log.d(TAG, "loadCurrentDirtyContact2---");
     synchronized (mListeners) {
       for (ContactListener l : mListeners) {
         l.onContactChange(mDirtyContactSet);
       }
     }
   } finally {
     Log.d(TAG, "cursor position = " + mCursor.getPosition());
     mCursor.close();
   }
 }
Esempio n. 2
0
  public void report(ContactConstraint[] constraints) {
    if (m_listener == null) {
      return;
    }

    for (int i = 0; i < m_contactCount; ++i) {
      Contact c = m_contacts[i];
      ContactConstraint cc = constraints[i];
      ContactResult cr = new ContactResult();
      cr.shape1 = c.getShape1();
      cr.shape2 = c.getShape2();
      Body b1 = cr.shape1.getBody();
      int manifoldCount = c.getManifoldCount();
      List<Manifold> manifolds = c.getManifolds();
      for (int j = 0; j < manifoldCount; ++j) {
        Manifold manifold = manifolds.get(j);
        cr.normal.set(manifold.normal);
        for (int k = 0; k < manifold.pointCount; ++k) {
          ManifoldPoint point = manifold.points[k];
          ContactConstraintPoint ccp = cc.points[k];
          cr.position = XForm.mul(b1.getXForm(), point.localPoint1);

          // TOI constraint results are not stored, so get
          // the result from the constraint.
          cr.normalImpulse = ccp.normalImpulse;
          cr.tangentImpulse = ccp.tangentImpulse;
          cr.id = new ContactID(point.id);

          m_listener.result(cr);
        }
      }
    }
  }
  @Test
  public final void testHandleContactUpdatedEvent() {
    AggregateIdentifier id = new UUIDAggregateIdentifier();
    ContactUpdatedEvent event = new ContactUpdatedEvent(id, mockContactEntry);

    contactListener.handle(event);

    verify(mockContactRepository).save(mockContactEntry);
  }
  @Test
  public final void testHandleContactDeletedEvent() {
    AggregateIdentifier id = new UUIDAggregateIdentifier();
    ContactRemovedEvent event = new ContactRemovedEvent(id);

    when(mockContactRepository.findOne(id.asString())).thenReturn(mockContactEntry);
    contactListener.handle(event);

    verify(mockContactRepository).delete(mockContactEntry);
  }
  @Test
  public final void testHandlePhoneNumberAddedEvent() {
    AggregateIdentifier id = new UUIDAggregateIdentifier();
    PhoneNumberAddedEvent event = new PhoneNumberAddedEvent(id, mockPhoneNumber);

    when(mockContactRepository.findOne(id.asString())).thenReturn(mockContactEntry);

    contactListener.handle(event);

    List<PhoneNumberEntry> phoneNumbers = new ArrayList<PhoneNumberEntry>();
    phoneNumbers.add(mockPhoneNumber);
    verify(mockContactEntry).setPhoneNumbers(phoneNumbers);
    verify(mockContactRepository).save(mockContactEntry);
  }
Esempio n. 6
0
 public void endContact(long contactAddr) {
   contact.addr = contactAddr;
   contact.GetWorldManifold();
   if (contactListener != null) contactListener.endContact(contact);
 }
Esempio n. 7
0
 public void beginContact(long contactAddr) {
   contact.addr = contactAddr;
   if (contactListener != null) contactListener.beginContact(contact);
 }
 @Before
 public void setUp() throws Exception {
   MockitoAnnotations.initMocks(this);
   contactListener = new ContactListener();
   contactListener.setContactQueryRepository(mockContactRepository);
 }