summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/select_account_list_item.xml5
-rw-r--r--src/com/android/incallui/InCallActivity.java22
-rw-r--r--src/com/android/incallui/TelecommAdapter.java4
3 files changed, 21 insertions, 10 deletions
diff --git a/res/layout/select_account_list_item.xml b/res/layout/select_account_list_item.xml
index 0b24c9b9..3759e3e9 100644
--- a/res/layout/select_account_list_item.xml
+++ b/res/layout/select_account_list_item.xml
@@ -15,7 +15,8 @@
-->
<!-- Layout of a single item in the InCallUI Account Chooser Dialog. -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<view class="com.android.contacts.common.widget.ActivityTouchLinearLayout"
+ xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -33,4 +34,4 @@
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent" />
-</LinearLayout>
+</view>
diff --git a/src/com/android/incallui/InCallActivity.java b/src/com/android/incallui/InCallActivity.java
index cbb2af28..02635dcc 100644
--- a/src/com/android/incallui/InCallActivity.java
+++ b/src/com/android/incallui/InCallActivity.java
@@ -454,14 +454,20 @@ public class InCallActivity extends Activity {
intent.removeExtra(NEW_OUTGOING_CALL);
Point touchPoint = null;
- Call call = CallList.getInstance().getOutgoingCall();
- if (call == null) {
- call = CallList.getInstance().getPendingOutgoingCall();
- }
- if (call != null) {
- Bundle extras = call.getTelecommCall().getDetails().getExtras();
- touchPoint = (Point) (extras == null ?
- null : extras.getParcelable(TouchPointManager.TOUCH_POINT));
+ if (TouchPointManager.getInstance().hasValidPoint()) {
+ // Use the most immediate touch point in the InCallUi if available
+ touchPoint = TouchPointManager.getInstance().getPoint();
+ } else {
+ // Otherwise retrieve the touch point from the call intent
+ Call call = CallList.getInstance().getOutgoingCall();
+ if (call == null) {
+ call = CallList.getInstance().getPendingOutgoingCall();
+ }
+ if (call != null) {
+ Bundle extras = call.getTelecommCall().getDetails().getExtras();
+ touchPoint = (Point) (extras == null ?
+ null : extras.getParcelable(TouchPointManager.TOUCH_POINT));
+ }
}
mCallCardFragment.animateForNewOutgoingCall(touchPoint);
}
diff --git a/src/com/android/incallui/TelecommAdapter.java b/src/com/android/incallui/TelecommAdapter.java
index 22aff11a..1f5c9c59 100644
--- a/src/com/android/incallui/TelecommAdapter.java
+++ b/src/com/android/incallui/TelecommAdapter.java
@@ -220,5 +220,9 @@ final class TelecommAdapter implements InCallPhoneListener {
} else {
Log.e(this, "error phoneAccountSelected, mAdapter is null");
}
+
+ if (accountHandle == null) {
+ Log.e(this, "error phoneAccountSelected, accountHandle is null");
+ }
}
}