diff options
author | Chiao Cheng <chiaocheng@google.com> | 2013-07-18 23:59:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-07-18 23:59:52 +0000 |
commit | be8b0d1c5b9c4979296758d2b49255303106db2e (patch) | |
tree | aa94bb5f6814234ca765ca3a060ea6f0a6fc41f6 | |
parent | b4e09de8bb3c9ff483febdf267cb9167821d32c0 (diff) | |
parent | 79e215c4f78316dcdb2a2ab87931e72e67acc473 (diff) |
Merge "Adding fragment and listener for answering calls."
-rw-r--r-- | InCallUI/InCallUI.iml | 26 | ||||
-rw-r--r-- | InCallUI/res/layout/answer_fragment.xml | 44 | ||||
-rw-r--r-- | InCallUI/res/layout/incall_screen.xml | 26 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/AnswerFragment.java | 40 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/AnswerPresenter.java | 31 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/AnswerUi.java | 72 |
6 files changed, 214 insertions, 25 deletions
diff --git a/InCallUI/InCallUI.iml b/InCallUI/InCallUI.iml new file mode 100644 index 000000000..2dc7d7ee2 --- /dev/null +++ b/InCallUI/InCallUI.iml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="android" name="Android"> + <configuration> + <option name="GEN_FOLDER_RELATIVE_PATH_APT" value="../../../out/target/common/obj/APPS/InCallUI_intermediates/src" /> + <option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="../../../out/target/common/obj/APPS/InCallUI_intermediates/src" /> + </configuration> + </facet> + </component> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$/../../../out/target/common/obj/APPS/InCallUI_intermediates/src"> + <sourceFolder url="file://$MODULE_DIR$/../../../out/target/common/obj/APPS/InCallUI_intermediates/src" isTestSource="false" /> + </content> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + </content> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module" module-name="libcore" /> + <orderEntry type="module" module-name="base" /> + <orderEntry type="module" module-name="common" /> + <orderEntry type="jdk" jdkName="Android 4.2.2" jdkType="Android SDK" /> + </component> +</module> + diff --git a/InCallUI/res/layout/answer_fragment.xml b/InCallUI/res/layout/answer_fragment.xml new file mode 100644 index 000000000..bfe2303af --- /dev/null +++ b/InCallUI/res/layout/answer_fragment.xml @@ -0,0 +1,44 @@ +<?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. +--> + +<!-- TODO(klp): move out to separate file --> +<com.android.incallui.AnswerUi + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:dc="http://schemas.android.com/apk/res-auto" + + android:id="@+id/glow_pad_view" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/glowpadview_margin_bottom" + android:focusable="true" + android:layout_alignParentBottom="true" + android:layout_centerHorizontal="true" + android:gravity="center" + android:layout_gravity="center_vertical" + + dc:targetDrawables="@array/incoming_call_widget_3way_targets" + dc:targetDescriptions="@array/incoming_call_widget_3way_target_descriptions" + dc:directionDescriptions="@array/incoming_call_widget_3way_direction_descriptions" + dc:handleDrawable="@drawable/ic_in_call_touch_handle" + dc:outerRingDrawable="@*android:drawable/ic_lockscreen_outerring" + dc:outerRadius="@dimen/glowpadview_target_placement_radius" + dc:innerRadius="@dimen/glowpadview_inner_radius" + dc:snapMargin="@dimen/glowpadview_snap_margin" + dc:feedbackCount="1" + dc:vibrationDuration="20" + dc:glowRadius="@dimen/glowpadview_glow_radius" + dc:pointDrawable="@*android:drawable/ic_lockscreen_glowdot" + /> diff --git a/InCallUI/res/layout/incall_screen.xml b/InCallUI/res/layout/incall_screen.xml index 32159a688..01180ee34 100644 --- a/InCallUI/res/layout/incall_screen.xml +++ b/InCallUI/res/layout/incall_screen.xml @@ -26,30 +26,6 @@ android:layout_weight="1" android:background="#ddd"/> - <!-- TODO(klp): move out to separate file --> - <com.android.incallui.widget.multiwaveview.GlowPadView - android:id="@+id/glow_pad_view" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/glowpadview_margin_bottom" - android:focusable="true" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:gravity="center" - android:layout_gravity="center_vertical" - - dc:targetDrawables="@array/incoming_call_widget_3way_targets" - dc:targetDescriptions="@array/incoming_call_widget_3way_target_descriptions" - dc:directionDescriptions="@array/incoming_call_widget_3way_direction_descriptions" - dc:handleDrawable="@drawable/ic_in_call_touch_handle" - dc:outerRingDrawable="@*android:drawable/ic_lockscreen_outerring" - dc:outerRadius="@dimen/glowpadview_target_placement_radius" - dc:innerRadius="@dimen/glowpadview_inner_radius" - dc:snapMargin="@dimen/glowpadview_snap_margin" - dc:feedbackCount="1" - dc:vibrationDuration="20" - dc:glowRadius="@dimen/glowpadview_glow_radius" - dc:pointDrawable="@*android:drawable/ic_lockscreen_glowdot" - /> + </LinearLayout> diff --git a/InCallUI/src/com/android/incallui/AnswerFragment.java b/InCallUI/src/com/android/incallui/AnswerFragment.java new file mode 100644 index 000000000..a80fa93b1 --- /dev/null +++ b/InCallUI/src/com/android/incallui/AnswerFragment.java @@ -0,0 +1,40 @@ +/* + * 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.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +/** + * + */ +public class AnswerFragment extends Fragment { + + AnswerPresenter mPresenter; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + final AnswerUi ui = (AnswerUi) inflater.inflate(R.layout.answer_fragment, container, + false); + mPresenter = new AnswerPresenter(ui); + return ui; + } +} diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java new file mode 100644 index 000000000..237719591 --- /dev/null +++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java @@ -0,0 +1,31 @@ +package com.android.incallui; + +/** + * + */ +public class AnswerPresenter { + + private Ui mUi; + + public AnswerPresenter(Ui ui) { + this.mUi = ui; + + mUi.setPresenter(this); + } + + public void onAnswer() { + + } + + public void onDecline() { + + } + + public void onText() { + + } + + public interface Ui { + void setPresenter(AnswerPresenter presenter); + } +} diff --git a/InCallUI/src/com/android/incallui/AnswerUi.java b/InCallUI/src/com/android/incallui/AnswerUi.java new file mode 100644 index 000000000..f50115393 --- /dev/null +++ b/InCallUI/src/com/android/incallui/AnswerUi.java @@ -0,0 +1,72 @@ +package com.android.incallui; + +import android.content.Context; +import android.util.AttributeSet; +import android.util.Log; +import android.view.View; + +import com.android.incallui.widget.multiwaveview.GlowPadView; + +/** + * + */ +public class AnswerUi extends GlowPadView implements AnswerPresenter.Ui, + GlowPadView.OnTriggerListener { + + private static final String TAG = AnswerUi.class.getSimpleName(); + + private AnswerPresenter mPresenter; + + public AnswerUi(Context context) { + super(context); + } + + public AnswerUi(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + public void onGrabbed(View v, int handle) { + + } + + @Override + public void onReleased(View v, int handle) { + + } + + @Override + public void onTrigger(View v, int target) { + final int resId = getResourceIdForTarget(target); + switch (resId) { + case R.drawable.ic_lockscreen_answer: + mPresenter.onAnswer(); + break; + case R.drawable.ic_lockscreen_decline: + mPresenter.onDecline(); + break; + case R.drawable.ic_lockscreen_text: + mPresenter.onText(); + break; + default: + // Code should never reach here. + Log.e(TAG, "Trigger detected on unhandled resource. Skipping."); + } + } + + @Override + public void onGrabbedStateChange(View v, int handle) { + + } + + @Override + public void onFinishFinalAnimation() { + + } + + @Override + public void setPresenter(AnswerPresenter listener) { + mPresenter = listener; + } + +} |