java.lang.Object | |||||
↳ | android.content.Context | ||||
↳ | android.content.ContextWrapper | ||||
↳ | android.view.ContextThemeWrapper | ||||
↳ | android.app.Activity | ||||
↳ | com.android.phone.InCallScreen |
Phone app "in call" screen.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_SHOW_ACTIVATION | ||||||||||
String | ACTION_UNDEFINED | ||||||||||
String | EXTRA_OTA_CALL | ||||||||||
String | OTA_NUMBER |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.app.Activity
| |||||||||||
From class
android.content.Context
| |||||||||||
From interface
android.content.ComponentCallbacks2
|
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
otaUtils |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.app.Activity
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
End the current in call screen session.
| |||||||||||
Dismisses the in-call screen.
| |||||||||||
Updates and returns the InCallControlState instance.
| |||||||||||
Handle OTA Call End scenario when display becomes dark during OTA Call
and InCallScreen is in pause mode.
| |||||||||||
Manually handle configuration changes.
| |||||||||||
Override onCreatePanelView(), in order to get complete control
over the UI that comes up when the user presses MENU.
| |||||||||||
Override onPanelClosed() to capture the panel closing event,
allowing us to set the poke lock correctly whenever the option
menu panel goes away.
| |||||||||||
Overriden to track relevant focus changes.
| |||||||||||
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.app.Activity
| |||||||||||
From class
android.view.ContextThemeWrapper
| |||||||||||
From class
android.content.ContextWrapper
| |||||||||||
From class
android.content.Context
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
android.content.ComponentCallbacks
| |||||||||||
From interface
android.content.ComponentCallbacks2
| |||||||||||
From interface
android.view.KeyEvent.Callback
| |||||||||||
From interface
android.view.LayoutInflater.Factory
| |||||||||||
From interface
android.view.LayoutInflater.Factory2
| |||||||||||
From interface
android.view.View.OnClickListener
| |||||||||||
From interface
android.view.View.OnCreateContextMenuListener
| |||||||||||
From interface
android.view.View.OnTouchListener
| |||||||||||
From interface
android.view.Window.Callback
|
End the current in call screen session. This must be called when an InCallScreen session has complete so that the next invocation via an onResume will not be in an old state.
Dismisses the in-call screen. We never *really* finish() the InCallScreen, since we don't want to get destroyed and then have to be re-created from scratch for the next call. Instead, we just move ourselves to the back of the activity stack. This also means that we'll no longer be reachable via the BACK button (since moveTaskToBack() puts us behind the Home app, but the home app doesn't allow the BACK key to move you any farther down in the history stack.) (Since the Phone app itself is never killed, this basically means that we'll keep a single InCallScreen instance around for the entire uptime of the device. This noticeably improves the UI responsiveness for incoming calls.)
Updates and returns the InCallControlState instance.
Handle OTA Call End scenario when display becomes dark during OTA Call and InCallScreen is in pause mode. CallNotifier will listen for call end indication and call this api to handle OTA Call end scenario
Manually handle configuration changes. We specify android:configChanges="orientation|keyboardHidden|uiMode" in our manifest to make sure the system doesn't destroy and re-create us due to the above config changes. Instead, this method will be called, and should manually rebuild the onscreen UI to keep it in sync with the current configuration.
Override onCreatePanelView(), in order to get complete control over the UI that comes up when the user presses MENU. This callback allows me to return a totally custom View hierarchy (with custom layout and custom "item" views) to be shown instead of a standard android.view.Menu hierarchy. This gets called (with featureId == FEATURE_OPTIONS_PANEL) every time we need to bring up the menu. (And in cases where we return non-null, that means that the "standard" menu callbacks onCreateOptionsMenu() and onPrepareOptionsMenu() won't get called at all.)
Override onPanelClosed() to capture the panel closing event, allowing us to set the poke lock correctly whenever the option menu panel goes away.
Overriden to track relevant focus changes. If a key is down and some time later the focus changes, we may NOT recieve the keyup event; logically the keyup event has not occured in this window. This issue is fixed by treating a focus changed event as an interruption to the keydown, making sure that any code that needs to be run in onKeyUp is ALSO run here. Note, this focus change event happens AFTER the in-call menu is displayed, so mIsMenuDisplayed should always be correct by the time this method is called in the framework, please see: onCreatePanelView, onOptionsMenuClosed