diff options
-rw-r--r-- | src/com/android/contacts/quickcontact/ExpandingEntryCardView.java | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java index 3cf927746..c23476502 100644 --- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java +++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java @@ -99,6 +99,7 @@ public class ExpandingEntryCardView extends CardView { private String mContactName; private Handler mHandler; private boolean mEnablePresence = false; + private boolean mHaveFetched = false; private static final Property<View, Integer> VIEW_LAYOUT_HEIGHT_PROPERTY = new Property<View, Integer>(Integer.class, "height") { @@ -890,20 +891,22 @@ public class ExpandingEntryCardView extends CardView { if (mEnablePresence) { if (mEnable == CallUtil.ENABLE_VIDEO_CALLING) { showVTicon = ContactDisplayUtils.getVTCapability(entry.getHeader()); - new Thread(new Runnable(){ - public void run(){ - if (null != entry.getHeader()) { - boolean oldVT = ContactDisplayUtils.getVTCapability( - entry.getHeader()); - boolean newVT = ContactDisplayUtils.startAvailabilityFetch( - entry.getHeader()); - if (oldVT != newVT) { - mHandler.sendEmptyMessage(PRESENCE_AVAILABILITY_FETCH); + if(!mHaveFetched){ + new Thread(new Runnable(){ + public void run(){ + if (null != entry.getHeader()) { + boolean oldVT = ContactDisplayUtils.getVTCapability( + entry.getHeader()); + boolean newVT = ContactDisplayUtils.startAvailabilityFetch( + entry.getHeader()); + if (oldVT != newVT) { + mHaveFetched = true; + mHandler.sendEmptyMessage(PRESENCE_AVAILABILITY_FETCH); + } } } - } - - }).start(); + }).start(); + } } } if (entry.getThirdIcon() != null && entry.getThirdAction() != Entry.ACTION_NONE |