diff options
author | Yorke Lee <yorkelee@google.com> | 2013-09-24 07:24:39 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2013-09-24 16:16:41 -0700 |
commit | 02403e5cd7eb0f1cff85146013e33691e1dc2e8b (patch) | |
tree | df6b38f9575b254a652bf33d83d7df779e7486c3 /src | |
parent | 121b28e859806d27ed852f47c1994c9d473bfd0d (diff) |
Fix brief flash when clicking on a search result to dial
Delay the hiding of the search fragment so that the in-call ui has time
to show up.
Bug: 10780429
Change-Id: I0f44bbb10e221ad4480ed1acf6225e6d6b6411ce
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/dialer/DialtactsActivity.java | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java index 4c747c95b..05c9e2c2a 100644 --- a/src/com/android/dialer/DialtactsActivity.java +++ b/src/com/android/dialer/DialtactsActivity.java @@ -29,6 +29,8 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.os.RemoteException; import android.os.ServiceManager; import android.provider.CallLog.Calls; @@ -165,6 +167,21 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O private DialerDatabaseHelper mDialerDatabaseHelper; + private static final int EVENT_DELAYED_HIDE_SEARCH = 1; + + // Wait this much time (in ms) before hiding the search fragment after clicking on + // a search result to dial, to avoid jank + private static final int CLEAR_SEARCH_DELAY = 500; + + final Handler mHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + if (msg.what == EVENT_DELAYED_HIDE_SEARCH) { + hideDialpadAndSearchUi(); + } + } + }; + /** * Listener used when one of phone numbers in search UI is selected. This will initiate a * phone call using the phone number. @@ -177,14 +194,16 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O // CallLog screen (search UI will be automatically exited). PhoneNumberInteraction.startInteractionForPhoneCall( DialtactsActivity.this, dataUri, getCallOrigin()); - hideDialpadAndSearchUi(); + mHandler.sendEmptyMessageDelayed(EVENT_DELAYED_HIDE_SEARCH, + CLEAR_SEARCH_DELAY); } @Override public void onCallNumberDirectly(String phoneNumber) { Intent intent = CallUtil.getCallIntent(phoneNumber, getCallOrigin()); startActivity(intent); - hideDialpadAndSearchUi(); + mHandler.sendEmptyMessageDelayed(EVENT_DELAYED_HIDE_SEARCH, + CLEAR_SEARCH_DELAY); } @Override |