/* * 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 { 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.setAnswerFragment(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); 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_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(); } } }