Android 6.0 修改来电界面UI,接听方式为两个按钮

 借鉴Android 7.0的做法,实现M上的UI。


+++ b/LINUX/android/packages/apps/InCallUI/res/layout/accessible_answer_fragment.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+~ Copyright (C) 2013 The Android Open Source Project
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~      http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License
+-->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center_horizontal"
+    android:background="@color/glowpad_background_color">
+    <RelativeLayout
+        android:id="@+id/accessible_answer_fragment_answer"
+        android:orientation="vertical"
+        android:layout_width="120dp"
+        android:layout_height="120dp"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:clickable="true"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="16dp"
+        android:layout_marginRight="120dp">
+        <ImageView
+            android:layout_width="64dp"
+            android:layout_height="64dp"
+            android:src="@drawable/ic_lockscreen_answer_activated_layer"
+            android:layout_centerInParent="true">
+        </ImageView>
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/description_target_answer"
+            android:textSize="12sp"
+            android:textColor="@color/accessible_answer_hint_text_color"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="8dp"/>
+    </RelativeLayout>
+    <RelativeLayout
+        android:id="@+id/accessible_answer_fragment_decline"
+        android:orientation="vertical"
+        android:layout_width="120dp"
+        android:layout_height="120dp"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:clickable="true"
+        android:layout_alignParentLeft="true"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="120dp"
+        android:layout_marginRight="16dp">
+        <ImageView
+            android:layout_width="64dp"
+            android:layout_height="64dp"
+            android:src="@drawable/ic_lockscreen_decline_activated_layer"
+            android:layout_centerInParent="true">
+        </ImageView>
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/description_target_decline"
+            android:textSize="12sp"
+            android:textColor="@color/accessible_answer_hint_text_color"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="8dp"/>
+    </RelativeLayout>
+    <LinearLayout
+        android:id="@+id/accessible_answer_fragment_text"
+        android:orientation="vertical"
+        android:layout_width="92dp"
+        android:layout_height="92dp"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:clickable="true"
+        android:layout_alignParentEnd="false"
+        android:layout_alignParentStart="false"
+        android:layout_alignWithParentIfMissing="false"
+        android:layout_alignParentTop="false"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentRight="false"
+        android:layout_centerHorizontal="true"
+        android:contentDescription="@string/description_target_send_sms"
+        android:gravity="center">
+        <ImageView
+            android:layout_width="64dp"
+            android:layout_height="64dp"
+            android:src="@drawable/ic_lockscreen_text">
+        </ImageView>
+    </LinearLayout>
+
+</RelativeLayout>

+++ b/LINUX/android/packages/apps/InCallUI/res/values/colors.xml
@@ -108,4 +108,5 @@
 
     <!-- Ripple color used over light backgrounds. -->
     <color name="ripple_light">#40000000</color>
+    <color name="accessible_answer_hint_text_color">#B2FFFFFF</color>
 </resources>
b/LINUX/android/packages/apps/InCallUI/src/com/android/incallui/AccessibleAnswerFragment.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.os.Bundle;
+import android.telecom.VideoProfile;
+import android.view.GestureDetector;
+import android.view.GestureDetector.SimpleOnGestureListener;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.dialer.R;
+
+/**
+ * AnswerFragment to use when touch exploration is enabled in accessibility.
+ */
+public class AccessibleAnswerFragment extends AnswerFragment {
+
+    private static final String TAG = AccessibleAnswerFragment.class.getSimpleName();
+    private static final int SWIPE_THRESHOLD = 100;
+
+    private View mAnswer;
+    private View mDecline;
+    private View mText;
+
+    private TouchListener mTouchListener;
+    private GestureDetector mGestureDetector;
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        ViewGroup group = (ViewGroup) inflater.inflate(R.layout.accessible_answer_fragment,
+                container, false);
+
+        mTouchListener = new TouchListener();
+        mGestureDetector = new GestureDetector(getContext(), new SimpleOnGestureListener() {
+            @Override
+            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
+                    float velocityY) {
+                return AccessibleAnswerFragment.this.onFling(e1, e2, velocityX, velocityX);
+            }
+        });
+
+        mAnswer = group.findViewById(R.id.accessible_answer_fragment_answer);
+        mAnswer.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Log.d(TAG, "Answer Button Clicked");
+                onAnswer(VideoProfile.STATE_AUDIO_ONLY, getContext());
+            }
+        });
+        mDecline = group.findViewById(R.id.accessible_answer_fragment_decline);
+        mDecline.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Log.d(TAG, "Decline Button Clicked");
+                onDecline(getContext());
+            }
+        });
+
+        mText = group.findViewById(R.id.accessible_answer_fragment_text);
+        mText.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Log.d(TAG, "Text Button Clicked");
+                onText();
+            }
+        });
+        return group;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        // Intercept all touch events for full screen swiping gesture.
+        InCallActivity activity = (InCallActivity) getActivity();
+        activity.setDispatchTouchEventListener(mTouchListener);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        InCallActivity activity = (InCallActivity) getActivity();
+        activity.setDispatchTouchEventListener(null);
+    }
+
+    private class TouchListener implements View.OnTouchListener {
+        @Override
+        public boolean onTouch(View v, MotionEvent event) {
+            return mGestureDetector.onTouchEvent(event);
+        }
+    }
+
+    private boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
+            float velocityY) {
+        if (hasPendingDialogs()) {
+            return false;
+        }
+
+        float diffY = e2.getY() - e1.getY();
+        float diffX = e2.getX() - e1.getX();
+        if (Math.abs(diffX) > Math.abs(diffY)) {
+            if (Math.abs(diffX) > SWIPE_THRESHOLD) {
+                if (diffX > 0) {
+                    onSwipeRight();
+                } else {
+                    onSwipeLeft();
+                }
+            }
+            return true;
+        } else if (Math.abs(diffY) > SWIPE_THRESHOLD) {
+            if (diffY > 0) {
+                onSwipeDown();
+            } else {
+                onSwipeUp();
+            }
+            return true;
+        }
+
+        return false;
+    }
+
+    private void onSwipeUp() {
+        Log.d(TAG, "onSwipeUp");
+        onText();
+    }
+
+    private void onSwipeDown() {
+        Log.d(TAG, "onSwipeDown");
+    }
+
+    private void onSwipeLeft() {
+        Log.d(TAG, "onSwipeLeft");
+        onDecline(getContext());
+    }
+
+    private void onSwipeRight() {
+        Log.d(TAG, "onSwipeRight");
+        onAnswer(VideoProfile.STATE_AUDIO_ONLY, getContext());
+    }
+}

+++ b/LINUX/android/packages/apps/InCallUI/src/com/android/incallui/AnswerFragment.java
@@ -39,12 +39,13 @@ import com.google.common.collect.Lists;
 
 import java.util.ArrayList;
 import java.util.List;
+import com.android.dialer.R;
 
 /**
  *
  */
-public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresenter.AnswerUi>
-        implements GlowPadWrapper.AnswerListener, AnswerPresenter.AnswerUi {
+public abstract class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresenter.AnswerUi>
+        implements AnswerPresenter.AnswerUi {
 
     public static final int TARGET_SET_FOR_AUDIO_WITHOUT_SMS = 0;
     public static final int TARGET_SET_FOR_AUDIO_WITH_SMS = 1;
@@ -52,18 +53,12 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
     public static final int TARGET_SET_FOR_VIDEO_WITH_SMS = 3;
     public static final int TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST = 4;
 
-    public static final int TARGET_SET_FOR_QTI_VIDEO_WITHOUT_SMS = 1000;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_WITH_SMS = 1001;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST = 1003;
-    public static final int TARGET_SET_FOR_QTI_BIDIRECTIONAL_VIDEO_ACCEPT_REJECT_REQUEST = 1004;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_REQUEST = 1005;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_REQUEST = 1006;
-    public static final int TARGET_SET_FOR_QTI_AUDIO_WITHOUT_SMS = 1007;
-    public static final int TARGET_SET_FOR_QTI_AUDIO_WITH_SMS = 1008;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITHOUT_SMS = 1009;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITH_SMS = 1010;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITHOUT_SMS = 1011;
-    public static final int TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITH_SMS = 1012;
+    /**
+     * This fragment implement no UI at all. Derived class should do it.
+     */
+    @Override
+    public abstract View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState);
 
     /**
      * The popup showing the list of canned responses.
@@ -83,11 +78,6 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
 
     private final List<String> mSmsResponses = new ArrayList<>();
 
-    private GlowPadWrapper mGlowpad;
-
-    public AnswerFragment() {
-    }
-
     @Override
     public AnswerPresenter createPresenter() {
         return InCallPresenter.getInstance().getAnswerPresenter();
@@ -97,247 +87,6 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
     public AnswerPresenter.AnswerUi getUi() {
         return this;
     }
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        mGlowpad = (GlowPadWrapper) inflater.inflate(R.layout.answer_fragment,
-                container, false);
-
-        Log.d(this, "Creating view for answer fragment ", this);
-        Log.d(this, "Created from activity", getActivity());
-        mGlowpad.setAnswerListener(this);
-
-        return mGlowpad;
-    }
-
-    @Override
-    public void onDestroyView() {
-        Log.d(this, "onDestroyView");
-        if (mGlowpad != null) {
-            mGlowpad.stopPing();
-            mGlowpad = null;
-        }
-        super.onDestroyView();
-    }
-
-    @Override
-    public void onShowAnswerUi(boolean shown) {
-        Log.d(this, "Show answer UI: " + shown);
-        if (shown) {
-            mGlowpad.startPing();
-        } else {
-            mGlowpad.stopPing();
-        }
-    }
-
-    /**
-     * Sets targets on the glowpad according to target set identified by the parameter.
-     * @param targetSet Integer identifying the set of targets to use.
-     */
-    public void showTargets(int targetSet) {
-        showTargets(targetSet, VideoProfile.STATE_BIDIRECTIONAL);
-    }
-
-    /**
-     * Sets targets on the glowpad according to target set identified by the parameter.
-     * @param targetSet Integer identifying the set of targets to use.
-     */
-    @Override
-    public void showTargets(int targetSet, int videoState) {
-        final int targetResourceId;
-        final int targetDescriptionsResourceId;
-        final int directionDescriptionsResourceId;
-        final int handleDrawableResourceId;
-        mGlowpad.setVideoState(videoState);
-        final boolean isEnhanceUIEnabled = getContext().getResources().getBoolean(
-                R.bool.config_enable_enhance_video_call_ui);
-
-        switch (targetSet) {
-            case TARGET_SET_FOR_AUDIO_WITH_SMS:
-                targetResourceId = R.array.incoming_call_widget_audio_with_sms_targets;
-                targetDescriptionsResourceId =
-                        R.array.incoming_call_widget_audio_with_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                        R.array.incoming_call_widget_audio_with_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
-                break;
-            case TARGET_SET_FOR_VIDEO_WITHOUT_SMS:
-                targetResourceId = R.array.incoming_call_widget_video_without_sms_targets;
-                targetDescriptionsResourceId =
-                        R.array.incoming_call_widget_video_without_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                        R.array.incoming_call_widget_video_without_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_VIDEO_WITH_SMS:
-                targetResourceId = R.array.incoming_call_widget_video_with_sms_targets;
-                targetDescriptionsResourceId =
-                        R.array.incoming_call_widget_video_with_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                        R.array.incoming_call_widget_video_with_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST:
-                targetResourceId =
-                        R.array.incoming_call_widget_video_request_targets;
-                targetDescriptionsResourceId =
-                        R.array.incoming_call_widget_video_request_target_descriptions;
-                directionDescriptionsResourceId = R.array
-                        .incoming_call_widget_video_request_target_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_WITHOUT_SMS:
-                if (isEnhanceUIEnabled) {
-                    targetResourceId =
-                            R.array.enhance_incoming_call_widget_video_without_sms_targets;
-                } else {
-                    targetResourceId = R.array.qti_incoming_call_widget_video_without_sms_targets;
-                }
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_without_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_without_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_WITH_SMS:
-                if (isEnhanceUIEnabled) {
-                    targetResourceId = R.array.enhance_incoming_call_widget_video_with_sms_targets;
-                } else {
-                    targetResourceId = R.array.qti_incoming_call_widget_video_with_sms_targets;
-                }
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_with_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_with_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITHOUT_SMS:
-                targetResourceId =
-                    R.array.qti_incoming_call_widget_tx_video_without_sms_targets;
-                targetDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_tx_video_without_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_tx_video_without_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITH_SMS:
-                targetResourceId =
-                    R.array.qti_incoming_call_widget_tx_video_with_sms_targets;
-                targetDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_tx_video_with_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_tx_video_with_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITHOUT_SMS:
-                targetResourceId =
-                    R.array.qti_incoming_call_widget_rx_video_without_sms_targets;
-                targetDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_rx_video_without_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_rx_video_without_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITH_SMS:
-                targetResourceId =
-                    R.array.qti_incoming_call_widget_rx_video_with_sms_targets;
-                targetDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_rx_video_with_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                    R.array.qti_incoming_call_widget_rx_video_with_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST:
-                if (isEnhanceUIEnabled) {
-                    targetResourceId =
-                            R.array.enhance_incoming_call_widget_video_upgrade_request_targets;
-                } else {
-                    targetResourceId = R.array.qti_incoming_call_widget_video_request_targets;
-                }
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_request_target_descriptions;
-                directionDescriptionsResourceId = R.array.
-                        qti_incoming_call_widget_video_request_target_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_BIDIRECTIONAL_VIDEO_ACCEPT_REJECT_REQUEST:
-                if (isEnhanceUIEnabled) {
-                    targetResourceId = R.array.
-                            enhance_incoming_call_bidirectional_video_accept_request_targets;
-                } else {
-                    targetResourceId = R.array.
-                        qti_incoming_call_widget_bidirectional_video_accept_reject_request_targets;
-                }
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_request_target_descriptions;
-                directionDescriptionsResourceId = R.array.
-                        qti_incoming_call_widget_video_request_target_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_REQUEST:
-                if (isEnhanceUIEnabled) {
-                    targetResourceId = R.array.
-                            enhance_incoming_call_video_transmit_accept_request_targets;
-                } else {
-                    targetResourceId = R.array.
-                        qti_incoming_call_widget_video_transmit_accept_reject_request_targets;
-                }
-                targetDescriptionsResourceId = R.array.
-                        qti_incoming_call_widget_video_transmit_request_target_descriptions;
-                directionDescriptionsResourceId = R.array
-                        .qti_incoming_call_widget_video_request_target_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-            case TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_REQUEST:
-                if (isEnhanceUIEnabled) {
-                    targetResourceId = R.array.
-                        enhance_incoming_call_video_receive_accept_request_targets;
-                } else {
-                    targetResourceId = R.array.
-                        qti_incoming_call_widget_video_receive_accept_reject_request_targets;
-                }
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_video_receive_request_target_descriptions;
-                directionDescriptionsResourceId = R.array
-                        .qti_incoming_call_widget_video_request_target_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
-                break;
-
-            case TARGET_SET_FOR_QTI_AUDIO_WITH_SMS:
-                targetResourceId = R.array.qti_incoming_call_widget_audio_with_sms_targets;
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_audio_with_sms_target_descriptions;
-                directionDescriptionsResourceId = R.array
-                        .qti_incoming_call_widget_audio_with_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
-                break;
-            case TARGET_SET_FOR_QTI_AUDIO_WITHOUT_SMS:
-                targetResourceId = R.array.qti_incoming_call_widget_audio_without_sms_targets;
-                targetDescriptionsResourceId =
-                        R.array.qti_incoming_call_widget_audio_without_sms_target_descriptions;
-                directionDescriptionsResourceId = R.array
-                        .qti_incoming_call_widget_audio_without_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
-                break;
-            case TARGET_SET_FOR_AUDIO_WITHOUT_SMS:
-            default:
-                targetResourceId = R.array.incoming_call_widget_audio_without_sms_targets;
-                targetDescriptionsResourceId =
-                        R.array.incoming_call_widget_audio_without_sms_target_descriptions;
-                directionDescriptionsResourceId =
-                        R.array.incoming_call_widget_audio_without_sms_direction_descriptions;
-                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
-                break;
-        }
-
-        if (targetResourceId != mGlowpad.getTargetResourceId()) {
-            mGlowpad.setTargetResources(targetResourceId);
-            mGlowpad.setTargetDescriptionsResourceId(targetDescriptionsResourceId);
-            mGlowpad.setDirectionDescriptionsResourceId(directionDescriptionsResourceId);
-            mGlowpad.setHandleDrawable(handleDrawableResourceId);
-            mGlowpad.reset(false);
-        }
-    }
 
     @Override
     public void showMessageDialog() {
@@ -354,9 +103,7 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
                 new DialogInterface.OnCancelListener() {
                     @Override
                     public void onCancel(DialogInterface dialogInterface) {
-                        if (mGlowpad != null) {
-                            mGlowpad.startPing();
-                        }
+                        onMessageDialogCancel();
                         dismissCannedResponsePopup();
                         getPresenter().onDismissDialog();
                     }
@@ -386,7 +133,7 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
      * This is safe to call even if the popup is already dismissed, and even if you never called
      * showRespondViaSmsPopup() in the first place.
      */
-    private void dismissCannedResponsePopup() {
+    protected void dismissCannedResponsePopup() {
         if (mCannedResponsePopup != null) {
             mCannedResponsePopup.dismiss();  // safe even if already dismissed
             mCannedResponsePopup = null;
@@ -499,28 +246,23 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
         return getActivity();
     }
 
-    @Override
     public void onAnswer(int videoState, Context context) {
         Log.d(this, "onAnswer videoState=" + videoState + " context=" + context);
         getPresenter().onAnswer(videoState, context);
     }
 
-    @Override
     public void onDecline(Context context) {
         getPresenter().onDecline(context);
     }
 
-    @Override
     public void onDeclineUpgradeRequest(Context context) {
         InCallPresenter.getInstance().declineUpgradeRequest(context);
     }
 
-    @Override
     public void onText() {
         getPresenter().onText();
     }
 
-    @Override
     public void onDeflect(Context context) {
         getPresenter().onDeflect(context);
     }
@@ -552,4 +294,20 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
             }
         }
     }
+
+    public void onShowAnswerUi(boolean shown) {
+        // Do Nothing
+    }
+
+    public void showTargets(int targetSet) {
+        // Do Nothing
+    }
+
+    public void showTargets(int targetSet, int videoState) {
+        // Do Nothing
+    }
+
+    protected void onMessageDialogCancel() {
+        // Do nothing.
+    }
 }

+++ b/LINUX/android/packages/apps/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -426,17 +426,17 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi>
              * if the incoming call is only an audio call.
              */
             if (withSms) {
-                getUi().showTargets(AnswerFragment.TARGET_SET_FOR_QTI_AUDIO_WITH_SMS);
+                getUi().showTargets(GlowPadAnswerFragment.TARGET_SET_FOR_QTI_AUDIO_WITH_SMS);
                 getUi().configureMessageDialog(textMsgs);
             } else {
-                getUi().showTargets(AnswerFragment.TARGET_SET_FOR_QTI_AUDIO_WITHOUT_SMS);
+                getUi().showTargets(GlowPadAnswerFragment.TARGET_SET_FOR_QTI_AUDIO_WITHOUT_SMS);
             }
         } else {
             if (withSms) {
-                getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITH_SMS);
+                getUi().showTargets(GlowPadAnswerFragment.TARGET_SET_FOR_AUDIO_WITH_SMS);
                 getUi().configureMessageDialog(textMsgs);
             } else {
-                getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITHOUT_SMS);
+                getUi().showTargets(GlowPadAnswerFragment.TARGET_SET_FOR_AUDIO_WITHOUT_SMS);
             }
         }
     }
b/LINUX/android/packages/apps/InCallUI/src/com/android/incallui/GlowPadAnswerFragment.java
@@ -0,0 +1,302 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui;
+
+import android.os.Bundle;
+import android.telecom.VideoProfile;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.dialer.R;
+
+public class GlowPadAnswerFragment extends AnswerFragment implements GlowPadWrapper.AnswerListener{
+
+    public static final int TARGET_SET_FOR_QTI_VIDEO_WITHOUT_SMS = 1000;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_WITH_SMS = 1001;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST = 1003;
+    public static final int TARGET_SET_FOR_QTI_BIDIRECTIONAL_VIDEO_ACCEPT_REJECT_REQUEST = 1004;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_REQUEST = 1005;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_REQUEST = 1006;
+    public static final int TARGET_SET_FOR_QTI_AUDIO_WITHOUT_SMS = 1007;
+    public static final int TARGET_SET_FOR_QTI_AUDIO_WITH_SMS = 1008;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITHOUT_SMS = 1009;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITH_SMS = 1010;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITHOUT_SMS = 1011;
+    public static final int TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITH_SMS = 1012;
+    private GlowPadWrapper mGlowpad;
+
+    public GlowPadAnswerFragment() {
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        mGlowpad = (GlowPadWrapper) inflater.inflate(R.layout.answer_fragment,
+                container, false);
+
+        Log.d(this, "Creating view for answer fragment ", this);
+        Log.d(this, "Created from activity", getActivity());
+        mGlowpad.setAnswerListener(this);
+
+        return mGlowpad;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mGlowpad.requestFocus();
+    }
+
+    @Override
+    public void onDestroyView() {
+        Log.d(this, "onDestroyView");
+        if (mGlowpad != null) {
+            mGlowpad.stopPing();
+            mGlowpad = null;
+        }
+        super.onDestroyView();
+    }
+
+    @Override
+    public void onShowAnswerUi(boolean shown) {
+        Log.d(this, "Show answer UI: " + shown);
+        if (shown) {
+            mGlowpad.startPing();
+        } else {
+            mGlowpad.stopPing();
+        }
+    }
+
+    /**
+     * Sets targets on the glowpad according to target set identified by the parameter.
+     *
+     * @param targetSet Integer identifying the set of targets to use.
+     */
+    public void showTargets(int targetSet) {
+        showTargets(targetSet, VideoProfile.STATE_BIDIRECTIONAL);
+    }
+
+    /**
+     * Sets targets on the glowpad according to target set identified by the parameter.
+     *
+     * @param targetSet Integer identifying the set of targets to use.
+     */
+    @Override
+    public void showTargets(int targetSet, int videoState) {
+        final int targetResourceId;
+        final int targetDescriptionsResourceId;
+        final int directionDescriptionsResourceId;
+        final int handleDrawableResourceId;
+        mGlowpad.setVideoState(videoState);
+        final boolean isEnhanceUIEnabled = getContext().getResources().getBoolean(
+                R.bool.config_enable_enhance_video_call_ui);
+
+        switch (targetSet) {
+            case TARGET_SET_FOR_AUDIO_WITH_SMS:
+                targetResourceId = R.array.incoming_call_widget_audio_with_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.incoming_call_widget_audio_with_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.incoming_call_widget_audio_with_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+                break;
+            case TARGET_SET_FOR_VIDEO_WITHOUT_SMS:
+                targetResourceId = R.array.incoming_call_widget_video_without_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.incoming_call_widget_video_without_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.incoming_call_widget_video_without_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_VIDEO_WITH_SMS:
+                targetResourceId = R.array.incoming_call_widget_video_with_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.incoming_call_widget_video_with_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.incoming_call_widget_video_with_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST:
+                targetResourceId =
+                        R.array.incoming_call_widget_video_request_targets;
+                targetDescriptionsResourceId =
+                        R.array.incoming_call_widget_video_request_target_descriptions;
+                directionDescriptionsResourceId = R.array
+                        .incoming_call_widget_video_request_target_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_WITHOUT_SMS:
+                if (isEnhanceUIEnabled) {
+                    targetResourceId =
+                            R.array.enhance_incoming_call_widget_video_without_sms_targets;
+                } else {
+                    targetResourceId = R.array.qti_incoming_call_widget_video_without_sms_targets;
+                }
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_without_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_without_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_WITH_SMS:
+                if (isEnhanceUIEnabled) {
+                    targetResourceId = R.array.enhance_incoming_call_widget_video_with_sms_targets;
+                } else {
+                    targetResourceId = R.array.qti_incoming_call_widget_video_with_sms_targets;
+                }
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_with_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_with_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITHOUT_SMS:
+                targetResourceId =
+                        R.array.qti_incoming_call_widget_tx_video_without_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_tx_video_without_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_tx_video_without_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITH_SMS:
+                targetResourceId =
+                        R.array.qti_incoming_call_widget_tx_video_with_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_tx_video_with_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_tx_video_with_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITHOUT_SMS:
+                targetResourceId =
+                        R.array.qti_incoming_call_widget_rx_video_without_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_rx_video_without_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_rx_video_without_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITH_SMS:
+                targetResourceId =
+                        R.array.qti_incoming_call_widget_rx_video_with_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_rx_video_with_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_rx_video_with_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST:
+                if (isEnhanceUIEnabled) {
+                    targetResourceId =
+                            R.array.enhance_incoming_call_widget_video_upgrade_request_targets;
+                } else {
+                    targetResourceId = R.array.qti_incoming_call_widget_video_request_targets;
+                }
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_request_target_descriptions;
+                directionDescriptionsResourceId = R.array.
+                        qti_incoming_call_widget_video_request_target_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_BIDIRECTIONAL_VIDEO_ACCEPT_REJECT_REQUEST:
+                if (isEnhanceUIEnabled) {
+                    targetResourceId = R.array.
+                            enhance_incoming_call_bidirectional_video_accept_request_targets;
+                } else {
+                    targetResourceId = R.array.
+                            qti_incoming_call_widget_bidirectional_video_accept_reject_request_targets;
+                }
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_request_target_descriptions;
+                directionDescriptionsResourceId = R.array.
+                        qti_incoming_call_widget_video_request_target_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_REQUEST:
+                if (isEnhanceUIEnabled) {
+                    targetResourceId = R.array.
+                            enhance_incoming_call_video_transmit_accept_request_targets;
+                } else {
+                    targetResourceId = R.array.
+                            qti_incoming_call_widget_video_transmit_accept_reject_request_targets;
+                }
+                targetDescriptionsResourceId = R.array.
+                        qti_incoming_call_widget_video_transmit_request_target_descriptions;
+                directionDescriptionsResourceId = R.array
+                        .qti_incoming_call_widget_video_request_target_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+            case TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_REQUEST:
+                if (isEnhanceUIEnabled) {
+                    targetResourceId = R.array.
+                            enhance_incoming_call_video_receive_accept_request_targets;
+                } else {
+                    targetResourceId = R.array.
+                            qti_incoming_call_widget_video_receive_accept_reject_request_targets;
+                }
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_video_receive_request_target_descriptions;
+                directionDescriptionsResourceId = R.array
+                        .qti_incoming_call_widget_video_request_target_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+                break;
+
+            case TARGET_SET_FOR_QTI_AUDIO_WITH_SMS:
+                targetResourceId = R.array.qti_incoming_call_widget_audio_with_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_audio_with_sms_target_descriptions;
+                directionDescriptionsResourceId = R.array
+                        .qti_incoming_call_widget_audio_with_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+                break;
+            case TARGET_SET_FOR_QTI_AUDIO_WITHOUT_SMS:
+                targetResourceId = R.array.qti_incoming_call_widget_audio_without_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.qti_incoming_call_widget_audio_without_sms_target_descriptions;
+                directionDescriptionsResourceId = R.array
+                        .qti_incoming_call_widget_audio_without_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+                break;
+            case TARGET_SET_FOR_AUDIO_WITHOUT_SMS:
+            default:
+                targetResourceId = R.array.incoming_call_widget_audio_without_sms_targets;
+                targetDescriptionsResourceId =
+                        R.array.incoming_call_widget_audio_without_sms_target_descriptions;
+                directionDescriptionsResourceId =
+                        R.array.incoming_call_widget_audio_without_sms_direction_descriptions;
+                handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+                break;
+        }
+
+        if (targetResourceId != mGlowpad.getTargetResourceId()) {
+            mGlowpad.setTargetResources(targetResourceId);
+            mGlowpad.setTargetDescriptionsResourceId(targetDescriptionsResourceId);
+            mGlowpad.setDirectionDescriptionsResourceId(directionDescriptionsResourceId);
+            mGlowpad.setHandleDrawable(handleDrawableResourceId);
+            mGlowpad.reset(false);
+        }
+    }
+
+    @Override
+    protected void onMessageDialogCancel() {
+        if (mGlowpad != null) {
+            mGlowpad.startPing();
+        }
+    }
+}

+++ b/LINUX/android/packages/apps/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -75,6 +75,7 @@ import android.media.AudioManager;
 import android.telecom.TelecomManager;
 import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
+import android.view.View.OnTouchListener;
 
 /**
  * Main activity that the user interacts with while in a live call.
@@ -745,7 +746,7 @@ public class InCallActivity extends Activity implements FragmentDisplayManager {
             mDialpadFragment = new DialpadFragment();
             return mDialpadFragment;
         } else if (TAG_ANSWER_FRAGMENT.equals(tag)) {
-            mAnswerFragment = new AnswerFragment();
+            mAnswerFragment = new AccessibleAnswerFragment();
             return mAnswerFragment;
         } else if (TAG_CONFERENCE_FRAGMENT.equals(tag)) {
             mConferenceManagerFragment = new ConferenceManagerFragment();
@@ -1162,4 +1163,14 @@ public class InCallActivity extends Activity implements FragmentDisplayManager {
             audioManager.setMode(AudioManager.MODE_NORMAL);
         }
     }
+
+    private OnTouchListener mDispatchTouchEventListener;
+
+    public OnTouchListener getDispatchTouchEventListener() {
+        return mDispatchTouchEventListener;
+    }
+
+    public void setDispatchTouchEventListener(OnTouchListener mDispatchTouchEventListener) {
+        this.mDispatchTouchEventListener = mDispatchTouchEventListener;
+    }
 }
+++ b/LINUX/android/packages/apps/InCallUI/src/com/android/incallui/QtiCallUtils.java
@@ -289,19 +289,19 @@ public class QtiCallUtils {
     public static int getIncomingCallAnswerOptions(Context context, int videoState,
             boolean withSms) {
         if (!useExt(context)) {
-            return withSms ? AnswerFragment.TARGET_SET_FOR_VIDEO_WITH_SMS :
-                    AnswerFragment.TARGET_SET_FOR_VIDEO_WITHOUT_SMS;
+            return withSms ? GlowPadAnswerFragment.TARGET_SET_FOR_VIDEO_WITH_SMS :
+                    GlowPadAnswerFragment.TARGET_SET_FOR_VIDEO_WITHOUT_SMS;
         } else if (VideoProfile.isBidirectional(videoState)) {
-            return withSms ? AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_WITH_SMS :
-                    AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_WITHOUT_SMS;
+            return withSms ? GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_WITH_SMS :
+                    GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_WITHOUT_SMS;
         } else if (VideoProfile.isTransmissionEnabled(videoState)) {
             return withSms ?
-                    AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITH_SMS :
-                    AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITHOUT_SMS;
+                    GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITH_SMS :
+                    GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_WITHOUT_SMS;
         } else {
             return withSms ?
-                    AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITH_SMS :
-                    AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITHOUT_SMS;
+                    GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITH_SMS :
+                    GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_WITHOUT_SMS;
         }
     }
 
@@ -312,19 +312,19 @@ public class QtiCallUtils {
     public static int getSessionModificationOptions(Context context, int currentVideoState,
             int modifyToVideoState) {
         if (!useExt(context)) {
-            return AnswerFragment.TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST;
+            return GlowPadAnswerFragment.TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST;
         }
 
         if (showVideoUpgradeOptions(currentVideoState, modifyToVideoState)) {
-            return AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST;
+            return GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST;
         } else if (isEnabled(VideoProfile.STATE_BIDIRECTIONAL, modifyToVideoState)) {
-            return AnswerFragment.TARGET_SET_FOR_QTI_BIDIRECTIONAL_VIDEO_ACCEPT_REJECT_REQUEST;
+            return GlowPadAnswerFragment.TARGET_SET_FOR_QTI_BIDIRECTIONAL_VIDEO_ACCEPT_REJECT_REQUEST;
         } else if (isEnabled(VideoProfile.STATE_TX_ENABLED, modifyToVideoState)) {
-            return AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_REQUEST;
+            return GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_TRANSMIT_ACCEPT_REJECT_REQUEST;
         } else if (isEnabled(VideoProfile.STATE_RX_ENABLED, modifyToVideoState)) {
-            return AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_REQUEST;
+            return GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_RECEIVE_ACCEPT_REJECT_REQUEST;
         }
-        return AnswerFragment.TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST;
+        return GlowPadAnswerFragment.TARGET_SET_FOR_QTI_VIDEO_ACCEPT_REJECT_REQUEST;
     }
 
     /**
-- 
2.17.1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值