Advertisement
Guest User

Untitled

a guest
May 27th, 2015
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. From bb1dec3b16fd8b1c8ebab6457d33933d134e6151 Mon Sep 17 00:00:00 2001
  2. From: Pawit Pornkitprasan <p.pawit@gmail.com>
  3. Date: Sat, 31 May 2014 12:34:56 +0700
  4. Subject: [PATCH] telephony: support for RIL that does not send UNSOL_CALL_RING
  5.  
  6. Samsung Broadcom RIL does not send UNSOL_CALL_RING at all, so it
  7. needs to be faked or non loop (e.g. Digital Phone) ringtones
  8. won't work.
  9.  
  10. Change-Id: Ib7373d32777f6c42ee488972a7aa63ae8e1cd09b
  11. ---
  12. .../com/android/internal/telephony/PhoneBase.java | 19 +++++++++++++++++++
  13. 1 file changed, 19 insertions(+)
  14.  
  15. diff --git a/src/java/com/android/internal/telephony/PhoneBase.java b/src/java/com/android/internal/telephony/PhoneBase.java
  16. index 22c0f43..c450325 100644
  17. --- a/src/java/com/android/internal/telephony/PhoneBase.java
  18. +++ b/src/java/com/android/internal/telephony/PhoneBase.java
  19. @@ -150,6 +150,7 @@ public abstract class PhoneBase extends Handler implements Phone {
  20. boolean mDnsCheckDisabled;
  21. public DcTrackerBase mDcTracker;
  22. boolean mDoesRilSendMultipleCallRing;
  23. + boolean mDoesRilSendCallRing;
  24. int mCallRingContinueToken;
  25. int mCallRingDelay;
  26. public boolean mIsTheCurrentActivePhone = true;
  27. @@ -326,6 +327,11 @@ public abstract class PhoneBase extends Handler implements Phone {
  28. TelephonyProperties.PROPERTY_RIL_SENDS_MULTIPLE_CALL_RING, true);
  29. Rlog.d(LOG_TAG, "mDoesRilSendMultipleCallRing=" + mDoesRilSendMultipleCallRing);
  30.  
  31. + // Some RIL do not even send a single RIL_UNSOL_CALL_RING
  32. + mDoesRilSendCallRing = SystemProperties.getBoolean(
  33. + "ro.telephony.call_ring", true);
  34. + Rlog.d(LOG_TAG, "mDoesRilSendCallRing=" + mDoesRilSendCallRing);
  35. +
  36. mCallRingDelay = SystemProperties.getInt(
  37. TelephonyProperties.PROPERTY_CALL_RING_DELAY, 3000);
  38. Rlog.d(LOG_TAG, "mCallRingDelay=" + mCallRingDelay);
  39. @@ -1343,6 +1349,18 @@ public abstract class PhoneBase extends Handler implements Phone {
  40. protected void notifyNewRingingConnectionP(Connection cn) {
  41. if (!mIsVoiceCapable)
  42. return;
  43. +
  44. + // Fake RIL_UNSOL_CALL_RING if the RIL doesn't send it.
  45. + // Note that we need the delay to prevent the request from
  46. + // being sent after CallTracker detects "RINGING" state, but
  47. + // before the correct contact-specific ringtone is queried.
  48. + // Otherwise, the incorrect ringtone will be used
  49. + if (!mDoesRilSendCallRing) {
  50. + int token = ++mCallRingContinueToken;
  51. + sendMessageDelayed(
  52. + obtainMessage(EVENT_CALL_RING_CONTINUE, token, 0), mCallRingDelay);
  53. + }
  54. +
  55. AsyncResult ar = new AsyncResult(null, cn, null);
  56. mNewRingingConnectionRegistrants.notifyRegistrants(ar);
  57. }
  58. @@ -1484,6 +1502,7 @@ public abstract class PhoneBase extends Handler implements Phone {
  59. pw.println(" mDnsCheckDisabled=" + mDnsCheckDisabled);
  60. pw.println(" mDcTracker=" + mDcTracker);
  61. pw.println(" mDoesRilSendMultipleCallRing=" + mDoesRilSendMultipleCallRing);
  62. + pw.println(" mDoesRilSendCallRing=" + mDoesRilSendCallRing);
  63. pw.println(" mCallRingContinueToken=" + mCallRingContinueToken);
  64. pw.println(" mCallRingDelay=" + mCallRingDelay);
  65. pw.println(" mIsTheCurrentActivePhone=" + mIsTheCurrentActivePhone);
  66. --
  67. 1.8.5.2 (Apple Git-48)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement