diff options
Diffstat (limited to 'java/com/android/dialershared/bubble/res')
9 files changed, 316 insertions, 0 deletions
diff --git a/java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml b/java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml new file mode 100644 index 000000000..f9416ab57 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="@android:color/white" android:state_checked="true"/> + <item android:color="@android:color/transparent"/> +</selector> diff --git a/java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml b/java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml new file mode 100644 index 000000000..33ca1fdc5 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="#80FFFFFF" android:state_enabled="false"/> + <item android:color="@android:color/white"/> +</selector> diff --git a/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml new file mode 100644 index 000000000..77c813a75 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <corners + android:bottomRightRadius="@dimen/bubble_size" + android:topRightRadius="@dimen/bubble_size"/> + <solid android:color="@android:color/white"/> +</shape> diff --git a/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml new file mode 100644 index 000000000..9e2542154 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <corners + android:bottomLeftRadius="@dimen/bubble_size" + android:topLeftRadius="@dimen/bubble_size"/> + <solid android:color="@android:color/white"/> +</shape> diff --git a/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_checkable_circle.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_checkable_circle.xml new file mode 100644 index 000000000..85e0b24f3 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_checkable_circle.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?android:colorControlHighlight"> + <item> + <shape android:shape="oval"> + <solid android:color="@color/bubble_checkable_mask"/> + </shape> + </item> + <item android:id="@android:id/mask"> + <shape android:shape="oval"> + <solid android:color="@android:color/white"/> + </shape> + </item> +</ripple> diff --git a/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_circle.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_circle.xml new file mode 100644 index 000000000..8d5cf0bb5 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_circle.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?android:colorControlHighlight"> + <item> + <shape> + <corners android:radius="@dimen/bubble_size"/> + <solid android:color="@android:color/white"/> + </shape> + </item> +</ripple> diff --git a/java/com/android/dialershared/bubble/res/layout/bubble_base.xml b/java/com/android/dialershared/bubble/res/layout/bubble_base.xml new file mode 100644 index 000000000..76970f020 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/layout/bubble_base.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:clipToPadding="false" + tools:theme="@style/Theme.AppCompat"> + <View + android:id="@+id/bubble_drawer_shadow_provider" + android:layout_width="@dimen/bubble_size" + android:layout_height="@dimen/bubble_size" + android:layout_marginTop="@dimen/bubble_shadow_padding_size" + android:layout_marginBottom="@dimen/bubble_shadow_padding_size" + android:layout_marginStart="@dimen/bubble_shadow_padding_size" + android:background="@drawable/bubble_ripple_circle" + android:backgroundTint="@android:color/transparent" + android:elevation="10dp" + android:visibility="invisible" + /> + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="48dp" + android:elevation="10dp" + android:paddingTop="@dimen/bubble_shadow_padding_size" + android:paddingBottom="@dimen/bubble_shadow_padding_size" + android:paddingEnd="@dimen/bubble_shadow_padding_size"> + + <LinearLayout + android:id="@+id/bubble_expanded_layout" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingStart="32dp" + android:paddingEnd="8dp" + android:background="@drawable/bubble_background_pill_ltr" + android:layoutDirection="inherit" + android:orientation="horizontal" + android:visibility="gone" + tools:backgroundTint="#FF0000FF" + tools:visibility="visible"> + <com.android.dialershared.bubble.CheckableImageButton + android:id="@+id/bubble_icon_first" + android:layout_width="@dimen/bubble_size" + android:layout_height="@dimen/bubble_size" + android:layout_marginStart="4dp" + android:padding="@dimen/bubble_icon_padding" + android:tint="@color/bubble_icon_tint_states" + android:tintMode="src_in" + tools:background="@drawable/bubble_ripple_checkable_circle" + tools:src="@android:drawable/ic_lock_idle_lock"/> + <com.android.dialershared.bubble.CheckableImageButton + android:id="@+id/bubble_icon_second" + android:layout_width="@dimen/bubble_size" + android:layout_height="@dimen/bubble_size" + android:layout_marginStart="4dp" + android:padding="@dimen/bubble_icon_padding" + android:tint="@color/bubble_icon_tint_states" + android:tintMode="src_in" + tools:background="@drawable/bubble_ripple_checkable_circle" + tools:src="@android:drawable/ic_input_add"/> + <com.android.dialershared.bubble.CheckableImageButton + android:id="@+id/bubble_icon_third" + android:layout_width="@dimen/bubble_size" + android:layout_height="@dimen/bubble_size" + android:layout_marginStart="4dp" + android:padding="@dimen/bubble_icon_padding" + android:tint="@color/bubble_icon_tint_states" + android:tintMode="src_in" + tools:background="@drawable/bubble_ripple_checkable_circle" + tools:src="@android:drawable/ic_menu_call"/> + </LinearLayout> + </FrameLayout> + <FrameLayout + android:id="@+id/bubble_primary_container" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="start" + android:animateLayoutChanges="true" + android:clipChildren="false" + android:clipToPadding="false" + android:elevation="12dp"> + <ViewAnimator + android:id="@+id/bubble_button_primary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/bubble_shadow_padding_size" + android:background="@drawable/bubble_ripple_circle" + android:measureAllChildren="false" + tools:backgroundTint="#FF0000AA"> + <ImageView + android:id="@+id/bubble_icon_primary" + android:layout_width="@dimen/bubble_size" + android:layout_height="@dimen/bubble_size" + android:padding="@dimen/bubble_icon_padding" + android:tint="@android:color/white" + android:tintMode="src_in" + tools:src="@android:drawable/ic_btn_speak_now"/> + <TextView + android:id="@+id/bubble_text" + android:layout_width="wrap_content" + android:layout_height="@dimen/bubble_size" + android:paddingStart="@dimen/bubble_icon_padding" + android:paddingEnd="@dimen/bubble_icon_padding" + android:gravity="center" + android:minWidth="@dimen/bubble_size" + android:textAppearance="@style/TextAppearance.AppCompat" + tools:text="Call ended"/> + </ViewAnimator> + </FrameLayout> + +</FrameLayout> diff --git a/java/com/android/dialershared/bubble/res/values/colors.xml b/java/com/android/dialershared/bubble/res/values/colors.xml new file mode 100644 index 000000000..97545faf3 --- /dev/null +++ b/java/com/android/dialershared/bubble/res/values/colors.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<resources> + <color name="bubble_primary_background_darken">#33000000</color> +</resources> diff --git a/java/com/android/dialershared/bubble/res/values/values.xml b/java/com/android/dialershared/bubble/res/values/values.xml new file mode 100644 index 000000000..f5816172d --- /dev/null +++ b/java/com/android/dialershared/bubble/res/values/values.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 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 + --> + +<resources> + <dimen name="bubble_safe_margin_x">16dp</dimen> + <dimen name="bubble_safe_margin_y">64dp</dimen> + <dimen name="bubble_size">56dp</dimen> + <dimen name="bubble_icon_padding">16dp</dimen> + <dimen name="bubble_move_elevation_change">4dp</dimen> + <dimen name="bubble_shadow_padding_size">16dp</dimen> +</resources> |