]> nv-tegra.nvidia Code Review - android/platform/packages/apps/Phone.git/commitdiff
resolved conflicts for merge of 3cdfe2a5 to master
authorEric Laurent <elaurent@google.com>
Thu, 11 Feb 2010 20:15:23 +0000 (12:15 -0800)
committerEric Laurent <elaurent@google.com>
Thu, 11 Feb 2010 20:15:23 +0000 (12:15 -0800)
1  2 
src/com/android/phone/CallFeaturesSetting.java
src/com/android/phone/PhoneApp.java

index c3f5d23317fa29654ce1c8c95521b18345682da3,2a8d5f41df3b6e5880c6935f05b190945afe3023..ec7ba41e682bbc7cbe60b0ff2243a9654cfcb99e
@@@ -370,16 -370,6 +370,14 @@@ public class CallFeaturesSetting extend
      private CallForwardInfo[] mNewFwdSettings;
      String mNewVMNumber;
  
-     TTYHandler ttyHandler;
 +    private boolean mForeground;
 +
 +    @Override
 +    public void onPause() {
 +        super.onPause();
 +        mForeground = false;
 +    }
 +
      /**
       * We have to pull current settings from the network for all kinds of
       * voicemail providers so we can tell whether we have to update them,
index a318d8012f1e9e97b48cd4341c5cf8e702d627fd,dde9b84740fb4d505617ed4be405bdcc772735ef..35fc6e6a0c8de9870cf13f9903528ae86b757129
@@@ -94,7 -97,9 +95,10 @@@ public class PhoneApp extends Applicati
      private static final int EVENT_DATA_ROAMING_DISCONNECTED = 10;
      private static final int EVENT_DATA_ROAMING_OK = 11;
      private static final int EVENT_UNSOL_CDMA_INFO_RECORD = 12;
 -    private static final int EVENT_TTY_PREFERRED_MODE_CHANGED = 13;
 -    private static final int EVENT_TTY_MODE_GET = 14;
 -    private static final int EVENT_TTY_MODE_SET = 15;
 +    private static final int EVENT_DOCK_STATE_CHANGED = 13;
++    private static final int EVENT_TTY_PREFERRED_MODE_CHANGED = 14;
++    private static final int EVENT_TTY_MODE_GET = 15;
++    private static final int EVENT_TTY_MODE_SET = 16;
  
      // The MMI codes are also used by the InCallScreen.
      public static final int MMI_INITIATE = 51;
                      //TODO: handle message here;
                      break;
  
 +                case EVENT_DOCK_STATE_CHANGED:
 +                    // If the phone is docked/undocked during a call, and no wired or BT headset
 +                    // is connected: turn on/off the speaker accordingly.
 +                    boolean inDockMode = false;
 +                    if (mDockState == Intent.EXTRA_DOCK_STATE_DESK ||
 +                            mDockState == Intent.EXTRA_DOCK_STATE_CAR) {
 +                        inDockMode = true;
 +                    }
 +                    if (VDBG) Log.d(LOG_TAG, "received EVENT_DOCK_STATE_CHANGED. Phone inDock = "
 +                            + inDockMode);
 +
 +                    phoneState = phone.getState();
 +                    if (phoneState == Phone.State.OFFHOOK &&
 +                            !isHeadsetPlugged() &&
 +                            !(mBtHandsfree != null && mBtHandsfree.isAudioOn())) {
 +                        PhoneUtils.turnOnSpeaker(getApplicationContext(), inDockMode, true);
 +
 +                        if (mInCallScreen != null) {
 +                            mInCallScreen.requestUpdateTouchUi();
 +                        }
 +                    }
++
+                 case EVENT_TTY_PREFERRED_MODE_CHANGED:
+                     // TTY mode is only applied if a headset is connected
+                     int ttyMode;
+                     if (isHeadsetPlugged()) {
+                         ttyMode = mPreferredTtyMode;
+                     } else {
+                         ttyMode = Phone.TTY_MODE_OFF;
+                     }
+                     phone.setTTYMode(ttyMode, mHandler.obtainMessage(EVENT_TTY_MODE_SET));
+                     break;
+                 case EVENT_TTY_MODE_GET:
+                     handleQueryTTYModeResponse(msg);
+                     break;
+                 case EVENT_TTY_MODE_SET:
+                     handleSetTTYModeResponse(msg);
                      break;
              }
          }
                      Log.e(LOG_TAG, "Error! Emergency Callback Mode not supported for " +
                              phone.getPhoneName() + " phones");
                  }
 +            } else if (action.equals(Intent.ACTION_DOCK_EVENT)) {
 +                mDockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE,
 +                        Intent.EXTRA_DOCK_STATE_UNDOCKED);
 +                if (VDBG) Log.d(LOG_TAG, "ACTION_DOCK_EVENT -> mDockState = " + mDockState);
 +                mHandler.sendMessage(mHandler.obtainMessage(EVENT_DOCK_STATE_CHANGED, 0));
+             } else if (action.equals(TtyIntent.TTY_PREFERRED_MODE_CHANGE_ACTION)) {
+                 mPreferredTtyMode = intent.getIntExtra(TtyIntent.TTY_PREFFERED_MODE,
+                                                        Phone.TTY_MODE_OFF);
+                 if (VDBG) Log.d(LOG_TAG, "mReceiver: TTY_PREFERRED_MODE_CHANGE_ACTION");
+                 if (VDBG) Log.d(LOG_TAG, "    mode: " + mPreferredTtyMode);
+                 mHandler.sendMessage(mHandler.obtainMessage(EVENT_TTY_PREFERRED_MODE_CHANGED, 0));
              }
          }
      }