diff options
Diffstat (limited to 'InCallUI')
450 files changed, 0 insertions, 47104 deletions
diff --git a/InCallUI/AndroidManifest.xml b/InCallUI/AndroidManifest.xml deleted file mode 100644 index 5c758edaa..000000000 --- a/InCallUI/AndroidManifest.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2016 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 - --> - -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.incallui"> - <uses-sdk - android:minSdkVersion="23" - android:targetSdkVersion="23" /> -</manifest> - diff --git a/InCallUI/build.gradle b/InCallUI/build.gradle deleted file mode 100644 index de4725199..000000000 --- a/InCallUI/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -apply plugin: 'com.android.library' - -android { - sourceSets.main { - manifest.srcFile 'AndroidManifest.xml' - res.srcDirs = ['res'] - } -} - -dependencies { - compile 'com.android.support:support-v4:23.1.+' - compile project(':phonecommon') - compile project(':contactscommon') -} diff --git a/InCallUI/proguard.flags b/InCallUI/proguard.flags deleted file mode 100644 index 4e8310ca9..000000000 --- a/InCallUI/proguard.flags +++ /dev/null @@ -1,14 +0,0 @@ --keep class com.android.incallui.widget.multiwaveview.* { - *; -} - -# Keep names that are used only by animation framework. --keepclasseswithmembers class com.android.incallui.AnimationUtils$CrossFadeDrawable { - *** setCrossFadeAlpha(...); -} - -# Any class or method annotated with NeededForTesting or NeededForReflection. --keepclassmembers class * { -@com.android.contacts.common.test.NeededForTesting *; -@com.android.incallui.NeededForReflection *; -} diff --git a/InCallUI/res/anim/activity_open_enter.xml b/InCallUI/res/anim/activity_open_enter.xml deleted file mode 100644 index 303b9ddc0..000000000 --- a/InCallUI/res/anim/activity_open_enter.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:shareInterpolator="false" - android:zAdjustment="top"> - <alpha android:fromAlpha="0.0" android:toAlpha="1.0" - android:interpolator="@anim/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:duration="300"/> - <scale android:fromXScale=".8" android:toXScale="1.0" - android:fromYScale=".8" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@anim/decelerate_cubic" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="true" - android:duration="300"/> -</set>
\ No newline at end of file diff --git a/InCallUI/res/anim/activity_open_exit.xml b/InCallUI/res/anim/activity_open_exit.xml deleted file mode 100644 index afa7c5e72..000000000 --- a/InCallUI/res/anim/activity_open_exit.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ ---> - -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:background="#ff000000" android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:fillEnabled="true" android:fillBefore="false" android:fillAfter="true" - android:interpolator="@anim/decelerate_quint" - android:duration="300"/> -</set>
\ No newline at end of file diff --git a/InCallUI/res/anim/call_status_pulse.xml b/InCallUI/res/anim/call_status_pulse.xml deleted file mode 100644 index abda25b73..000000000 --- a/InCallUI/res/anim/call_status_pulse.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<alpha xmlns:android="http://schemas.android.com/apk/res/android" - android:fromAlpha="0.5" - android:toAlpha="1" - android:duration="600" - android:repeatCount="infinite" - android:repeatMode="reverse" /> diff --git a/InCallUI/res/anim/decelerate_cubic.xml b/InCallUI/res/anim/decelerate_cubic.xml deleted file mode 100644 index f98809165..000000000 --- a/InCallUI/res/anim/decelerate_cubic.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2010, 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. -*/ ---> - -<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android" - android:factor="1.5" /> diff --git a/InCallUI/res/anim/decelerate_quint.xml b/InCallUI/res/anim/decelerate_quint.xml deleted file mode 100644 index ff2d5a9d0..000000000 --- a/InCallUI/res/anim/decelerate_quint.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2010, 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. -*/ ---> - -<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android" - android:factor="2.5" /> diff --git a/InCallUI/res/color/ota_title_color.xml b/InCallUI/res/color/ota_title_color.xml deleted file mode 100644 index 14a283a6b..000000000 --- a/InCallUI/res/color/ota_title_color.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?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 - --> - -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:color="#FFA6C839"/> -</selector> - diff --git a/InCallUI/res/color/selectable_icon_tint.xml b/InCallUI/res/color/selectable_icon_tint.xml deleted file mode 100644 index b8aad1303..000000000 --- a/InCallUI/res/color/selectable_icon_tint.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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="@color/button_disabled_color" android:state_enabled="false" /> - <item android:color="@color/incall_accent_color" android:state_selected="true" /> - <item android:color="@color/incall_accent_color" android:state_pressed="true" /> - <item android:color="@color/button_default_color" /> -</selector> - diff --git a/InCallUI/res/drawable-hdpi/fab_blue.png b/InCallUI/res/drawable-hdpi/fab_blue.png Binary files differdeleted file mode 100644 index 8ff3d2918..000000000 --- a/InCallUI/res/drawable-hdpi/fab_blue.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/fab_ic_call.png b/InCallUI/res/drawable-hdpi/fab_ic_call.png Binary files differdeleted file mode 100644 index 548a391a6..000000000 --- a/InCallUI/res/drawable-hdpi/fab_ic_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/fab_ic_end_call.png b/InCallUI/res/drawable-hdpi/fab_ic_end_call.png Binary files differdeleted file mode 100644 index b7f54d3bb..000000000 --- a/InCallUI/res/drawable-hdpi/fab_ic_end_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/fab_ic_message.png b/InCallUI/res/drawable-hdpi/fab_ic_message.png Binary files differdeleted file mode 100644 index a1cf2ad82..000000000 --- a/InCallUI/res/drawable-hdpi/fab_ic_message.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/fab_red.png b/InCallUI/res/drawable-hdpi/fab_red.png Binary files differdeleted file mode 100644 index 497cc7916..000000000 --- a/InCallUI/res/drawable-hdpi/fab_red.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_block_grey600_24dp.png b/InCallUI/res/drawable-hdpi/ic_block_grey600_24dp.png Binary files differdeleted file mode 100644 index 1e9294c12..000000000 --- a/InCallUI/res/drawable-hdpi/ic_block_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_business_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_business_white_24dp.png Binary files differdeleted file mode 100644 index d10ebb766..000000000 --- a/InCallUI/res/drawable-hdpi/ic_business_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_call_end_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_call_end_white_24dp.png Binary files differdeleted file mode 100644 index 757d339c4..000000000 --- a/InCallUI/res/drawable-hdpi/ic_call_end_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_call_split_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_call_split_white_24dp.png Binary files differdeleted file mode 100644 index 4e3dbf55d..000000000 --- a/InCallUI/res/drawable-hdpi/ic_call_split_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_call_white_24dp.png Binary files differdeleted file mode 100644 index 1902e721b..000000000 --- a/InCallUI/res/drawable-hdpi/ic_call_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_close_grey600_24dp.png b/InCallUI/res/drawable-hdpi/ic_close_grey600_24dp.png Binary files differdeleted file mode 100644 index 9ab350e9a..000000000 --- a/InCallUI/res/drawable-hdpi/ic_close_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_forward_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_forward_white_24dp.png Binary files differdeleted file mode 100644 index a0711d377..000000000 --- a/InCallUI/res/drawable-hdpi/ic_forward_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_hd_24dp.png b/InCallUI/res/drawable-hdpi/ic_hd_24dp.png Binary files differdeleted file mode 100644 index 35bf51a4f..000000000 --- a/InCallUI/res/drawable-hdpi/ic_hd_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_location_on_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_location_on_white_24dp.png Binary files differdeleted file mode 100644 index 7c281c3f5..000000000 --- a/InCallUI/res/drawable-hdpi/ic_location_on_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_lockscreen_glowdot.png b/InCallUI/res/drawable-hdpi/ic_lockscreen_glowdot.png Binary files differdeleted file mode 100644 index 983c45e2c..000000000 --- a/InCallUI/res/drawable-hdpi/ic_lockscreen_glowdot.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_person_add_grey600_24dp.png b/InCallUI/res/drawable-hdpi/ic_person_add_grey600_24dp.png Binary files differdeleted file mode 100644 index 185d03393..000000000 --- a/InCallUI/res/drawable-hdpi/ic_person_add_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_phone_paused_white_24dp.png Binary files differdeleted file mode 100644 index a2177f58a..000000000 --- a/InCallUI/res/drawable-hdpi/ic_phone_paused_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_question_mark.png b/InCallUI/res/drawable-hdpi/ic_question_mark.png Binary files differdeleted file mode 100644 index adab6c13f..000000000 --- a/InCallUI/res/drawable-hdpi/ic_question_mark.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_report_white_36dp.png b/InCallUI/res/drawable-hdpi/ic_report_white_36dp.png Binary files differdeleted file mode 100644 index 919a872e0..000000000 --- a/InCallUI/res/drawable-hdpi/ic_report_white_36dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_schedule_white_24dp.png b/InCallUI/res/drawable-hdpi/ic_schedule_white_24dp.png Binary files differdeleted file mode 100644 index f3581d104..000000000 --- a/InCallUI/res/drawable-hdpi/ic_schedule_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-hdpi/ic_toolbar_add_call.png Binary files differdeleted file mode 100644 index 06603f21c..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_add_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-hdpi/ic_toolbar_arrow_whitespace.png Binary files differdeleted file mode 100644 index ea02daad2..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_arrow_whitespace.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_bluetooth.png Binary files differdeleted file mode 100644 index 05e19bc25..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_bluetooth.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_headphones.png Binary files differdeleted file mode 100644 index 413fdff26..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_headphones.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-hdpi/ic_toolbar_audio_phone.png Binary files differdeleted file mode 100644 index 90ee1fb5f..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_audio_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-hdpi/ic_toolbar_dialpad.png Binary files differdeleted file mode 100644 index 69ece11be..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_dialpad.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-hdpi/ic_toolbar_hold.png Binary files differdeleted file mode 100644 index f32d6d552..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_hold.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-hdpi/ic_toolbar_merge.png Binary files differdeleted file mode 100644 index 2871555e4..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_merge.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-hdpi/ic_toolbar_mic_off.png Binary files differdeleted file mode 100644 index b142ca869..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_mic_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-hdpi/ic_toolbar_speaker_on.png Binary files differdeleted file mode 100644 index c934b1344..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_speaker_on.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-hdpi/ic_toolbar_swap.png Binary files differdeleted file mode 100644 index e673f3251..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_swap.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_video.png b/InCallUI/res/drawable-hdpi/ic_toolbar_video.png Binary files differdeleted file mode 100644 index cef47aaff..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_video.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-hdpi/ic_toolbar_video_off.png Binary files differdeleted file mode 100644 index 968ded7d8..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_video_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-hdpi/ic_toolbar_video_switch.png Binary files differdeleted file mode 100644 index cdd623dc0..000000000 --- a/InCallUI/res/drawable-hdpi/ic_toolbar_video_switch.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/img_business.png b/InCallUI/res/drawable-hdpi/img_business.png Binary files differdeleted file mode 100644 index f70634262..000000000 --- a/InCallUI/res/drawable-hdpi/img_business.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/img_conference.png b/InCallUI/res/drawable-hdpi/img_conference.png Binary files differdeleted file mode 100644 index 3d9f683a5..000000000 --- a/InCallUI/res/drawable-hdpi/img_conference.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/img_no_image.png b/InCallUI/res/drawable-hdpi/img_no_image.png Binary files differdeleted file mode 100644 index fd0ab3211..000000000 --- a/InCallUI/res/drawable-hdpi/img_no_image.png +++ /dev/null diff --git a/InCallUI/res/drawable-hdpi/img_phone.png b/InCallUI/res/drawable-hdpi/img_phone.png Binary files differdeleted file mode 100644 index 748312e6e..000000000 --- a/InCallUI/res/drawable-hdpi/img_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-land/rounded_call_card_background.xml b/InCallUI/res/drawable-land/rounded_call_card_background.xml deleted file mode 100644 index f41ecda79..000000000 --- a/InCallUI/res/drawable-land/rounded_call_card_background.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2015 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"> - <solid android:color="@color/incall_call_banner_background_color" /> - <corners - android:radius="4dp" /> -</shape>
\ No newline at end of file diff --git a/InCallUI/res/drawable-mdpi/fab_blue.png b/InCallUI/res/drawable-mdpi/fab_blue.png Binary files differdeleted file mode 100644 index 2ca6b4bdf..000000000 --- a/InCallUI/res/drawable-mdpi/fab_blue.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/fab_ic_call.png b/InCallUI/res/drawable-mdpi/fab_ic_call.png Binary files differdeleted file mode 100644 index ff7b345e1..000000000 --- a/InCallUI/res/drawable-mdpi/fab_ic_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/fab_ic_end_call.png b/InCallUI/res/drawable-mdpi/fab_ic_end_call.png Binary files differdeleted file mode 100644 index 76ce3973d..000000000 --- a/InCallUI/res/drawable-mdpi/fab_ic_end_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/fab_ic_message.png b/InCallUI/res/drawable-mdpi/fab_ic_message.png Binary files differdeleted file mode 100644 index 74876fe77..000000000 --- a/InCallUI/res/drawable-mdpi/fab_ic_message.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/fab_red.png b/InCallUI/res/drawable-mdpi/fab_red.png Binary files differdeleted file mode 100644 index c9e76a057..000000000 --- a/InCallUI/res/drawable-mdpi/fab_red.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_block_grey600_24dp.png b/InCallUI/res/drawable-mdpi/ic_block_grey600_24dp.png Binary files differdeleted file mode 100644 index edd666b73..000000000 --- a/InCallUI/res/drawable-mdpi/ic_block_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_business_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_business_white_24dp.png Binary files differdeleted file mode 100644 index 7b9227c06..000000000 --- a/InCallUI/res/drawable-mdpi/ic_business_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_call_end_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_call_end_white_24dp.png Binary files differdeleted file mode 100644 index 17eb4824e..000000000 --- a/InCallUI/res/drawable-mdpi/ic_call_end_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_call_split_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_call_split_white_24dp.png Binary files differdeleted file mode 100644 index cb7ee1f35..000000000 --- a/InCallUI/res/drawable-mdpi/ic_call_split_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_call_white_24dp.png Binary files differdeleted file mode 100644 index d4e5f5d7d..000000000 --- a/InCallUI/res/drawable-mdpi/ic_call_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_close_grey600_24dp.png b/InCallUI/res/drawable-mdpi/ic_close_grey600_24dp.png Binary files differdeleted file mode 100644 index 73faf52eb..000000000 --- a/InCallUI/res/drawable-mdpi/ic_close_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_forward_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_forward_white_24dp.png Binary files differdeleted file mode 100644 index 65f73299f..000000000 --- a/InCallUI/res/drawable-mdpi/ic_forward_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_hd_24dp.png b/InCallUI/res/drawable-mdpi/ic_hd_24dp.png Binary files differdeleted file mode 100644 index 30938fe4d..000000000 --- a/InCallUI/res/drawable-mdpi/ic_hd_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_location_on_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_location_on_white_24dp.png Binary files differdeleted file mode 100644 index 933eb5148..000000000 --- a/InCallUI/res/drawable-mdpi/ic_location_on_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_lockscreen_glowdot.png b/InCallUI/res/drawable-mdpi/ic_lockscreen_glowdot.png Binary files differdeleted file mode 100644 index 056c3f175..000000000 --- a/InCallUI/res/drawable-mdpi/ic_lockscreen_glowdot.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_person_add_grey600_24dp.png b/InCallUI/res/drawable-mdpi/ic_person_add_grey600_24dp.png Binary files differdeleted file mode 100644 index ec3237086..000000000 --- a/InCallUI/res/drawable-mdpi/ic_person_add_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_phone_paused_white_24dp.png Binary files differdeleted file mode 100644 index 7dc920b2b..000000000 --- a/InCallUI/res/drawable-mdpi/ic_phone_paused_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_question_mark.png b/InCallUI/res/drawable-mdpi/ic_question_mark.png Binary files differdeleted file mode 100644 index cfe64f696..000000000 --- a/InCallUI/res/drawable-mdpi/ic_question_mark.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_report_white_36dp.png b/InCallUI/res/drawable-mdpi/ic_report_white_36dp.png Binary files differdeleted file mode 100644 index dc0c995c1..000000000 --- a/InCallUI/res/drawable-mdpi/ic_report_white_36dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_schedule_white_24dp.png b/InCallUI/res/drawable-mdpi/ic_schedule_white_24dp.png Binary files differdeleted file mode 100644 index 501ee842e..000000000 --- a/InCallUI/res/drawable-mdpi/ic_schedule_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-mdpi/ic_toolbar_add_call.png Binary files differdeleted file mode 100644 index 1ee2fb1f5..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_add_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-mdpi/ic_toolbar_arrow_whitespace.png Binary files differdeleted file mode 100644 index c39990deb..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_arrow_whitespace.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_bluetooth.png Binary files differdeleted file mode 100644 index a6634ed66..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_bluetooth.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_headphones.png Binary files differdeleted file mode 100644 index b387e850a..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_headphones.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-mdpi/ic_toolbar_audio_phone.png Binary files differdeleted file mode 100644 index b4d887cf3..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_audio_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-mdpi/ic_toolbar_dialpad.png Binary files differdeleted file mode 100644 index 9baa21b95..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_dialpad.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-mdpi/ic_toolbar_hold.png Binary files differdeleted file mode 100644 index c8372738b..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_hold.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-mdpi/ic_toolbar_merge.png Binary files differdeleted file mode 100644 index 2fba86514..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_merge.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-mdpi/ic_toolbar_mic_off.png Binary files differdeleted file mode 100644 index c6b02b82c..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_mic_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-mdpi/ic_toolbar_speaker_on.png Binary files differdeleted file mode 100644 index 008e245f8..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_speaker_on.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-mdpi/ic_toolbar_swap.png Binary files differdeleted file mode 100644 index acc9850d5..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_swap.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_video.png b/InCallUI/res/drawable-mdpi/ic_toolbar_video.png Binary files differdeleted file mode 100644 index 3f13f9c31..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_video.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-mdpi/ic_toolbar_video_off.png Binary files differdeleted file mode 100644 index 64a69f2a7..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_video_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-mdpi/ic_toolbar_video_switch.png Binary files differdeleted file mode 100644 index 6d097c9e7..000000000 --- a/InCallUI/res/drawable-mdpi/ic_toolbar_video_switch.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/img_business.png b/InCallUI/res/drawable-mdpi/img_business.png Binary files differdeleted file mode 100644 index 90738a7ee..000000000 --- a/InCallUI/res/drawable-mdpi/img_business.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/img_conference.png b/InCallUI/res/drawable-mdpi/img_conference.png Binary files differdeleted file mode 100644 index 0694dbd55..000000000 --- a/InCallUI/res/drawable-mdpi/img_conference.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/img_no_image.png b/InCallUI/res/drawable-mdpi/img_no_image.png Binary files differdeleted file mode 100644 index 014a1c414..000000000 --- a/InCallUI/res/drawable-mdpi/img_no_image.png +++ /dev/null diff --git a/InCallUI/res/drawable-mdpi/img_phone.png b/InCallUI/res/drawable-mdpi/img_phone.png Binary files differdeleted file mode 100644 index 41a1d339d..000000000 --- a/InCallUI/res/drawable-mdpi/img_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/fab_blue.png b/InCallUI/res/drawable-xhdpi/fab_blue.png Binary files differdeleted file mode 100644 index 300b07eb4..000000000 --- a/InCallUI/res/drawable-xhdpi/fab_blue.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/fab_ic_call.png b/InCallUI/res/drawable-xhdpi/fab_ic_call.png Binary files differdeleted file mode 100644 index 2bff65e0a..000000000 --- a/InCallUI/res/drawable-xhdpi/fab_ic_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/fab_ic_end_call.png b/InCallUI/res/drawable-xhdpi/fab_ic_end_call.png Binary files differdeleted file mode 100644 index 1c95e175a..000000000 --- a/InCallUI/res/drawable-xhdpi/fab_ic_end_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/fab_ic_message.png b/InCallUI/res/drawable-xhdpi/fab_ic_message.png Binary files differdeleted file mode 100644 index 5e3334ae0..000000000 --- a/InCallUI/res/drawable-xhdpi/fab_ic_message.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/fab_red.png b/InCallUI/res/drawable-xhdpi/fab_red.png Binary files differdeleted file mode 100644 index 373e49e8f..000000000 --- a/InCallUI/res/drawable-xhdpi/fab_red.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_block_grey600_24dp.png b/InCallUI/res/drawable-xhdpi/ic_block_grey600_24dp.png Binary files differdeleted file mode 100644 index 36210a8cb..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_block_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_business_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_business_white_24dp.png Binary files differdeleted file mode 100644 index e5630455a..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_business_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_call_end_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_call_end_white_24dp.png Binary files differdeleted file mode 100644 index b00d82edd..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_call_end_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_call_split_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_call_split_white_24dp.png Binary files differdeleted file mode 100644 index 218cb1214..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_call_split_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_call_white_24dp.png Binary files differdeleted file mode 100644 index cde9cea3a..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_call_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_close_grey600_24dp.png b/InCallUI/res/drawable-xhdpi/ic_close_grey600_24dp.png Binary files differdeleted file mode 100644 index a3896c5c6..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_close_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_forward_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_forward_white_24dp.png Binary files differdeleted file mode 100644 index 7a5df52bf..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_forward_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_hd_24dp.png b/InCallUI/res/drawable-xhdpi/ic_hd_24dp.png Binary files differdeleted file mode 100644 index 4c954d86f..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_hd_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_location_on_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_location_on_white_24dp.png Binary files differdeleted file mode 100644 index 814ca8ddc..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_location_on_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_lockscreen_glowdot.png b/InCallUI/res/drawable-xhdpi/ic_lockscreen_glowdot.png Binary files differdeleted file mode 100644 index cbd039afd..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_lockscreen_glowdot.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_person_add_grey600_24dp.png b/InCallUI/res/drawable-xhdpi/ic_person_add_grey600_24dp.png Binary files differdeleted file mode 100644 index e56481ed7..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_person_add_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_phone_paused_white_24dp.png Binary files differdeleted file mode 100644 index a8becf485..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_phone_paused_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_question_mark.png b/InCallUI/res/drawable-xhdpi/ic_question_mark.png Binary files differdeleted file mode 100644 index 8da487088..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_question_mark.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_report_white_36dp.png b/InCallUI/res/drawable-xhdpi/ic_report_white_36dp.png Binary files differdeleted file mode 100644 index aed766804..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_report_white_36dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_schedule_white_24dp.png b/InCallUI/res/drawable-xhdpi/ic_schedule_white_24dp.png Binary files differdeleted file mode 100644 index 2e27936a4..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_schedule_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_add_call.png Binary files differdeleted file mode 100644 index b251d6bd8..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_add_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_arrow_whitespace.png Binary files differdeleted file mode 100644 index cdaa79d37..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_arrow_whitespace.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_bluetooth.png Binary files differdeleted file mode 100644 index 88f6bb945..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_bluetooth.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_headphones.png Binary files differdeleted file mode 100644 index 1acfcafbd..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_headphones.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_phone.png Binary files differdeleted file mode 100644 index 0ba8f1e3e..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_audio_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_dialpad.png Binary files differdeleted file mode 100644 index cf803d1c1..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_dialpad.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_hold.png Binary files differdeleted file mode 100644 index 8fecf7514..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_hold.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_merge.png Binary files differdeleted file mode 100644 index 777483eb0..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_merge.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_mic_off.png Binary files differdeleted file mode 100644 index cf2041ad6..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_mic_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_speaker_on.png Binary files differdeleted file mode 100644 index 5b5831cc0..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_speaker_on.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_swap.png Binary files differdeleted file mode 100644 index 38917cb88..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_swap.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_video.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_video.png Binary files differdeleted file mode 100644 index b20f50498..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_video.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_video_off.png Binary files differdeleted file mode 100644 index 1b269a6a7..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_video_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-xhdpi/ic_toolbar_video_switch.png Binary files differdeleted file mode 100644 index fae6bfdb1..000000000 --- a/InCallUI/res/drawable-xhdpi/ic_toolbar_video_switch.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/img_business.png b/InCallUI/res/drawable-xhdpi/img_business.png Binary files differdeleted file mode 100644 index 7b04d956f..000000000 --- a/InCallUI/res/drawable-xhdpi/img_business.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/img_conference.png b/InCallUI/res/drawable-xhdpi/img_conference.png Binary files differdeleted file mode 100644 index b0dbcc2dc..000000000 --- a/InCallUI/res/drawable-xhdpi/img_conference.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/img_no_image.png b/InCallUI/res/drawable-xhdpi/img_no_image.png Binary files differdeleted file mode 100644 index 4022207d0..000000000 --- a/InCallUI/res/drawable-xhdpi/img_no_image.png +++ /dev/null diff --git a/InCallUI/res/drawable-xhdpi/img_phone.png b/InCallUI/res/drawable-xhdpi/img_phone.png Binary files differdeleted file mode 100644 index 2e0ceec0f..000000000 --- a/InCallUI/res/drawable-xhdpi/img_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/fab_blue.png b/InCallUI/res/drawable-xxhdpi/fab_blue.png Binary files differdeleted file mode 100644 index 76d68ac6a..000000000 --- a/InCallUI/res/drawable-xxhdpi/fab_blue.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/fab_ic_call.png b/InCallUI/res/drawable-xxhdpi/fab_ic_call.png Binary files differdeleted file mode 100644 index a756b95ad..000000000 --- a/InCallUI/res/drawable-xxhdpi/fab_ic_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/fab_ic_end_call.png b/InCallUI/res/drawable-xxhdpi/fab_ic_end_call.png Binary files differdeleted file mode 100644 index 37e826402..000000000 --- a/InCallUI/res/drawable-xxhdpi/fab_ic_end_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/fab_ic_message.png b/InCallUI/res/drawable-xxhdpi/fab_ic_message.png Binary files differdeleted file mode 100644 index 66984b1e3..000000000 --- a/InCallUI/res/drawable-xxhdpi/fab_ic_message.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/fab_red.png b/InCallUI/res/drawable-xxhdpi/fab_red.png Binary files differdeleted file mode 100644 index 92eb979d5..000000000 --- a/InCallUI/res/drawable-xxhdpi/fab_red.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_block_grey600_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_block_grey600_24dp.png Binary files differdeleted file mode 100644 index 9f5120373..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_block_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_business_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_business_white_24dp.png Binary files differdeleted file mode 100644 index 7dfc8dc52..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_business_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_call_end_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_call_end_white_24dp.png Binary files differdeleted file mode 100644 index aeabe4a81..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_call_end_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_call_split_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_call_split_white_24dp.png Binary files differdeleted file mode 100644 index 5ea577716..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_call_split_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_call_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_call_white_24dp.png Binary files differdeleted file mode 100644 index b761bc466..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_call_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_close_grey600_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_close_grey600_24dp.png Binary files differdeleted file mode 100644 index 22d7aa55e..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_close_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_forward_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_forward_white_24dp.png Binary files differdeleted file mode 100644 index 7bd5b1635..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_forward_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_hd_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_hd_24dp.png Binary files differdeleted file mode 100644 index dd08bbbec..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_hd_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_location_on_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_location_on_white_24dp.png Binary files differdeleted file mode 100644 index 078b10d4f..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_location_on_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_lockscreen_glowdot.png b/InCallUI/res/drawable-xxhdpi/ic_lockscreen_glowdot.png Binary files differdeleted file mode 100644 index c0edd91c8..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_lockscreen_glowdot.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_person_add_grey600_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_person_add_grey600_24dp.png Binary files differdeleted file mode 100644 index c17dfe05f..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_person_add_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_phone_paused_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_phone_paused_white_24dp.png Binary files differdeleted file mode 100644 index baf0cf27f..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_phone_paused_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_question_mark.png b/InCallUI/res/drawable-xxhdpi/ic_question_mark.png Binary files differdeleted file mode 100644 index b9b6b00e7..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_question_mark.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_report_white_36dp.png b/InCallUI/res/drawable-xxhdpi/ic_report_white_36dp.png Binary files differdeleted file mode 100644 index f7cfacbd4..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_report_white_36dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_schedule_white_24dp.png b/InCallUI/res/drawable-xxhdpi/ic_schedule_white_24dp.png Binary files differdeleted file mode 100644 index bfc72736a..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_schedule_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_add_call.png Binary files differdeleted file mode 100644 index 6e343c74e..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_add_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_arrow_whitespace.png Binary files differdeleted file mode 100644 index 737704018..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_arrow_whitespace.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_bluetooth.png Binary files differdeleted file mode 100644 index b8a385d14..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_bluetooth.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_headphones.png Binary files differdeleted file mode 100644 index 62d0ae331..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_headphones.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_phone.png Binary files differdeleted file mode 100644 index 0e88501d6..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_audio_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_dialpad.png Binary files differdeleted file mode 100644 index a754f6875..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_dialpad.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_hold.png Binary files differdeleted file mode 100644 index f3757a8b5..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_hold.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_merge.png Binary files differdeleted file mode 100644 index 5d046008c..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_merge.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_mic_off.png Binary files differdeleted file mode 100644 index ae41d5c35..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_mic_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_speaker_on.png Binary files differdeleted file mode 100644 index d1bbb0947..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_speaker_on.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_swap.png Binary files differdeleted file mode 100644 index ea9127ee2..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_swap.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video.png Binary files differdeleted file mode 100644 index 5c52dd6c6..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_off.png Binary files differdeleted file mode 100644 index 898b7c04d..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_switch.png Binary files differdeleted file mode 100644 index 4380a47ca..000000000 --- a/InCallUI/res/drawable-xxhdpi/ic_toolbar_video_switch.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/img_business.png b/InCallUI/res/drawable-xxhdpi/img_business.png Binary files differdeleted file mode 100644 index c17e4c9d8..000000000 --- a/InCallUI/res/drawable-xxhdpi/img_business.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/img_conference.png b/InCallUI/res/drawable-xxhdpi/img_conference.png Binary files differdeleted file mode 100644 index a8dba5ed0..000000000 --- a/InCallUI/res/drawable-xxhdpi/img_conference.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/img_no_image.png b/InCallUI/res/drawable-xxhdpi/img_no_image.png Binary files differdeleted file mode 100644 index 2cf7f23a0..000000000 --- a/InCallUI/res/drawable-xxhdpi/img_no_image.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxhdpi/img_phone.png b/InCallUI/res/drawable-xxhdpi/img_phone.png Binary files differdeleted file mode 100644 index 4eaaba509..000000000 --- a/InCallUI/res/drawable-xxhdpi/img_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/fab_blue.png b/InCallUI/res/drawable-xxxhdpi/fab_blue.png Binary files differdeleted file mode 100644 index 1dd8a9260..000000000 --- a/InCallUI/res/drawable-xxxhdpi/fab_blue.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/fab_ic_call.png b/InCallUI/res/drawable-xxxhdpi/fab_ic_call.png Binary files differdeleted file mode 100644 index 7af3396b4..000000000 --- a/InCallUI/res/drawable-xxxhdpi/fab_ic_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/fab_ic_end_call.png b/InCallUI/res/drawable-xxxhdpi/fab_ic_end_call.png Binary files differdeleted file mode 100644 index aabdadec2..000000000 --- a/InCallUI/res/drawable-xxxhdpi/fab_ic_end_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/fab_ic_message.png b/InCallUI/res/drawable-xxxhdpi/fab_ic_message.png Binary files differdeleted file mode 100644 index c5a108aba..000000000 --- a/InCallUI/res/drawable-xxxhdpi/fab_ic_message.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/fab_red.png b/InCallUI/res/drawable-xxxhdpi/fab_red.png Binary files differdeleted file mode 100644 index f1b36f70b..000000000 --- a/InCallUI/res/drawable-xxxhdpi/fab_red.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_block_grey600_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_block_grey600_24dp.png Binary files differdeleted file mode 100644 index 01df2b52b..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_block_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_business_white_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_business_white_24dp.png Binary files differdeleted file mode 100644 index c9aea72ce..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_business_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_call_end_white_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_call_end_white_24dp.png Binary files differdeleted file mode 100644 index a6e8a7bc1..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_call_end_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_call_split_white_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_call_split_white_24dp.png Binary files differdeleted file mode 100644 index 600cec8e6..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_call_split_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_close_grey600_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_close_grey600_24dp.png Binary files differdeleted file mode 100644 index 7d1c061f7..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_close_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_forward_white_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_forward_white_24dp.png Binary files differdeleted file mode 100644 index 428009cfe..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_forward_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_hd_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_hd_24dp.png Binary files differdeleted file mode 100644 index 3f87b882e..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_hd_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_location_on_white_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_location_on_white_24dp.png Binary files differdeleted file mode 100644 index 8bcb6f620..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_location_on_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_person_add_grey600_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_person_add_grey600_24dp.png Binary files differdeleted file mode 100644 index e24919737..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_person_add_grey600_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_question_mark.png b/InCallUI/res/drawable-xxxhdpi/ic_question_mark.png Binary files differdeleted file mode 100644 index 7ba34242c..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_question_mark.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_report_white_36dp.png b/InCallUI/res/drawable-xxxhdpi/ic_report_white_36dp.png Binary files differdeleted file mode 100644 index 7ef0d7afc..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_report_white_36dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_schedule_white_24dp.png b/InCallUI/res/drawable-xxxhdpi/ic_schedule_white_24dp.png Binary files differdeleted file mode 100644 index b94f4dfa1..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_schedule_white_24dp.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_add_call.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_add_call.png Binary files differdeleted file mode 100644 index c97e4bb15..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_add_call.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_arrow_whitespace.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_arrow_whitespace.png Binary files differdeleted file mode 100644 index 1c11c5d0f..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_arrow_whitespace.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_bluetooth.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_bluetooth.png Binary files differdeleted file mode 100644 index f7fa12c8b..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_bluetooth.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_headphones.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_headphones.png Binary files differdeleted file mode 100644 index 8199701ce..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_headphones.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_phone.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_phone.png Binary files differdeleted file mode 100644 index ee14ea67a..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_audio_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_dialpad.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_dialpad.png Binary files differdeleted file mode 100644 index e537112fb..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_dialpad.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_hold.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_hold.png Binary files differdeleted file mode 100644 index 883d0d609..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_hold.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_merge.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_merge.png Binary files differdeleted file mode 100644 index 4b6437507..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_merge.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_mic_off.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_mic_off.png Binary files differdeleted file mode 100644 index 2d8f279da..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_mic_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_speaker_on.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_speaker_on.png Binary files differdeleted file mode 100644 index 0560bb262..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_speaker_on.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_swap.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_swap.png Binary files differdeleted file mode 100644 index 6f03b3f66..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_swap.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video.png Binary files differdeleted file mode 100644 index 0797fd019..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video_off.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video_off.png Binary files differdeleted file mode 100644 index 63f742bef..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video_off.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video_switch.png b/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video_switch.png Binary files differdeleted file mode 100644 index 77ff73cdb..000000000 --- a/InCallUI/res/drawable-xxxhdpi/ic_toolbar_video_switch.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/img_business.png b/InCallUI/res/drawable-xxxhdpi/img_business.png Binary files differdeleted file mode 100644 index 88f14e999..000000000 --- a/InCallUI/res/drawable-xxxhdpi/img_business.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/img_conference.png b/InCallUI/res/drawable-xxxhdpi/img_conference.png Binary files differdeleted file mode 100644 index eb42b5552..000000000 --- a/InCallUI/res/drawable-xxxhdpi/img_conference.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/img_no_image.png b/InCallUI/res/drawable-xxxhdpi/img_no_image.png Binary files differdeleted file mode 100644 index 216574222..000000000 --- a/InCallUI/res/drawable-xxxhdpi/img_no_image.png +++ /dev/null diff --git a/InCallUI/res/drawable-xxxhdpi/img_phone.png b/InCallUI/res/drawable-xxxhdpi/img_phone.png Binary files differdeleted file mode 100644 index 7cbfbd75e..000000000 --- a/InCallUI/res/drawable-xxxhdpi/img_phone.png +++ /dev/null diff --git a/InCallUI/res/drawable/btn_add.xml b/InCallUI/res/drawable/btn_add.xml deleted file mode 100644 index 7d5e90f71..000000000 --- a/InCallUI/res/drawable/btn_add.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item android:id="@+id/backgroundItem" - android:drawable="@drawable/btn_background" /> - - <item> - <bitmap android:src="@drawable/ic_toolbar_add_call" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_background.xml b/InCallUI/res/drawable/btn_background.xml deleted file mode 100644 index 597885803..000000000 --- a/InCallUI/res/drawable/btn_background.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> - -<!-- Background resource for "compound buttons" in the in-call UI. - These buttons have two states (checked and unchecked), and - show a blue bar along the bottom edge when checked. --> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/incall_accent_color"> - <item> - <selector> - - <item android:state_focused="true" - android:drawable="@drawable/btn_unselected_focused" /> - - <item android:drawable="@drawable/btn_unselected" /> - - </selector> - </item> -</ripple> diff --git a/InCallUI/res/drawable/btn_change_to_video.xml b/InCallUI/res/drawable/btn_change_to_video.xml deleted file mode 100644 index a26cee3e9..000000000 --- a/InCallUI/res/drawable/btn_change_to_video.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item android:id="@+id/backgroundItem" - android:drawable="@drawable/btn_background" /> - - <item> - <bitmap android:src="@drawable/ic_toolbar_video" - android:gravity="center" - android:tint="@color/selectable_icon_tint" - android:autoMirrored="true" /> - </item> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_change_to_voice.xml b/InCallUI/res/drawable/btn_change_to_voice.xml deleted file mode 100644 index 86a7f21d5..000000000 --- a/InCallUI/res/drawable/btn_change_to_voice.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item android:id="@+id/backgroundItem" - android:drawable="@drawable/btn_background" /> - - <item> - <bitmap android:src="@drawable/ic_toolbar_audio_phone" - android:gravity="center" - android:tint="@color/selectable_icon_tint" - android:autoMirrored="true" /> - </item> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_compound_audio.xml b/InCallUI/res/drawable/btn_compound_audio.xml deleted file mode 100644 index 25a64a6ab..000000000 --- a/InCallUI/res/drawable/btn_compound_audio.xml +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Layers used to render the in-call "Audio mode" compound button. - - This is a multi-mode button: - - - If no bluetooth headset is connected, it behaves like a simple - "compound button" that switches the speaker on and off. (This is why - the button itself is a ToggleButton instance.) - - - But if a bluetooth headset is connected, this becomes a simple - action button (with no concept of a "checked" state) that brings - up a popup menu offering you a 3-way choice between earpiece / - speaker / bluetooth. - - See InCallTouchUi.updateAudioButton() for the corresponding code. --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- The standard "compound button" background, used to distinguish - between the "checked" and "unchecked" states when this button is - simply an on/off toggle for the speaker. - (In states where the audio button *not* a toggle, we explicitly - hide this layer.) --> - <item android:id="@+id/compoundBackgroundItem" - android:drawable="@drawable/btn_compound_background" /> - - <!-- The little triangle that indicates that this isn't a plain - button, but will instead pop up a menu. This layer is *not* - shown when the audio button is simply an on/off toggle. --> - <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full - size of the button. --> - <item android:id="@+id/moreIndicatorItem"> - <bitmap android:src="@drawable/ic_toolbar_arrow_whitespace" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - - <!-- Finally, the button icon. - - When the audio button is simply an on/off toggle for the speaker, - the icon is a "speakerphone" regardless of whether the speaker is - active. (Instead, the "on/off" indication comes from the - btn_compound_background selector.) - - But when the audio button is connected to the 3-way popup menu, - we use the button's icon to indicate the current audio mode - (i.e. one of { earpiece (or wired headset) , speaker , bluetooth }). - - Here we have separate layers for each possible foreground icon, - and in InCallTouchUi.updateAudioButton() we hide them all - *except* the one needed for the current state. --> - - <!-- These all use an explicit <bitmap> to avoid scaling the icon up - to the full size of the button. --> - - <!-- Bluetooth is active --> - <item android:id="@+id/bluetoothItem"> - <bitmap android:src="@drawable/ic_toolbar_audio_bluetooth" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - - - <!-- Handset earpiece is active --> - <item android:id="@+id/handsetItem"> - <bitmap android:src="@drawable/ic_toolbar_audio_phone" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - - <!-- Speakerphone icon showing 'speaker on' state --> - <item android:id="@+id/speakerphoneItem"> - <bitmap android:src="@drawable/ic_toolbar_speaker_on" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list> diff --git a/InCallUI/res/drawable/btn_compound_background.xml b/InCallUI/res/drawable/btn_compound_background.xml deleted file mode 100644 index 20e2a3056..000000000 --- a/InCallUI/res/drawable/btn_compound_background.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Background resource for "compound buttons" in the in-call UI. - These buttons have two states (selected and unselected). --> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/incall_accent_color"> - <item> - <selector> - <item android:state_selected="true" android:state_focused="true" - android:drawable="@drawable/btn_selected_focused" /> - - <item android:state_focused="true" - android:drawable="@drawable/btn_unselected_focused" /> - - <item android:state_selected="true" - android:drawable="@drawable/btn_selected" /> - - <item android:drawable="@drawable/btn_unselected" /> - </selector> - </item> -</ripple> diff --git a/InCallUI/res/drawable/btn_compound_dialpad.xml b/InCallUI/res/drawable/btn_compound_dialpad.xml deleted file mode 100644 index 1b78ead44..000000000 --- a/InCallUI/res/drawable/btn_compound_dialpad.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Layers used to render the in-call "Dialpad" compound button. --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- The standard "compound button" background. --> - <item android:id="@+id/compoundBackgroundItem" - android:drawable="@drawable/btn_compound_background" /> - - <!-- ...and the actual icon on top. Use an explicit <bitmap> to avoid scaling - the icon up to the full size of the button. --> - <item> - <bitmap android:src="@drawable/ic_toolbar_dialpad" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list> diff --git a/InCallUI/res/drawable/btn_compound_hold.xml b/InCallUI/res/drawable/btn_compound_hold.xml deleted file mode 100644 index 7974efae5..000000000 --- a/InCallUI/res/drawable/btn_compound_hold.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Layers used to render the in-call "Hold" compound button. --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- The standard "compound button" background. --> - <item android:id="@+id/compoundBackgroundItem" - android:drawable="@drawable/btn_compound_background" /> - - <!-- ...and the actual icon on top. Use an explicit <bitmap> to avoid scaling - the icon up to the full size of the button. --> - <item> - <bitmap android:src="@drawable/ic_toolbar_hold" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list> diff --git a/InCallUI/res/drawable/btn_compound_mute.xml b/InCallUI/res/drawable/btn_compound_mute.xml deleted file mode 100644 index 86708fb0c..000000000 --- a/InCallUI/res/drawable/btn_compound_mute.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Layers used to render the in-call "Mute" compound button. --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- The standard "compound button" background. --> - <item android:id="@+id/compoundBackgroundItem" - android:drawable="@drawable/btn_compound_background" /> - - <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. --> - <item> - <bitmap android:src="@drawable/ic_toolbar_mic_off" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list> diff --git a/InCallUI/res/drawable/btn_compound_video_off.xml b/InCallUI/res/drawable/btn_compound_video_off.xml deleted file mode 100644 index b942cd0c3..000000000 --- a/InCallUI/res/drawable/btn_compound_video_off.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> - -<!-- Layers used to render the in-call "Mute" compound button. --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- The standard "compound button" background. --> - <item android:id="@+id/compoundBackgroundItem" - android:drawable="@drawable/btn_compound_background" /> - - <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. --> - <item> - <bitmap android:src="@drawable/ic_toolbar_video_off" - android:gravity="center" - android:tint="@color/selectable_icon_tint" - android:autoMirrored="true" /> - </item> - -</layer-list> diff --git a/InCallUI/res/drawable/btn_compound_video_switch.xml b/InCallUI/res/drawable/btn_compound_video_switch.xml deleted file mode 100644 index f8111866e..000000000 --- a/InCallUI/res/drawable/btn_compound_video_switch.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> - -<!-- Layers used to render the in-call "Mute" compound button. --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- The standard "compound button" background. --> - <item android:id="@+id/compoundBackgroundItem" - android:drawable="@drawable/btn_compound_background" /> - - <!-- Use an explicit <bitmap> to avoid scaling the icon up to the full size of the button. --> - <item> - <bitmap android:src="@drawable/ic_toolbar_video_switch" - android:gravity="center" - android:tint="@color/selectable_icon_tint" - android:autoMirrored="true" /> - </item> - -</layer-list> diff --git a/InCallUI/res/drawable/btn_merge.xml b/InCallUI/res/drawable/btn_merge.xml deleted file mode 100644 index 2b4818a47..000000000 --- a/InCallUI/res/drawable/btn_merge.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item android:id="@+id/backgroundItem" - android:drawable="@drawable/btn_background" /> - - <item> - <bitmap android:src="@drawable/ic_toolbar_merge" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_overflow.xml b/InCallUI/res/drawable/btn_overflow.xml deleted file mode 100644 index 2eb26cc14..000000000 --- a/InCallUI/res/drawable/btn_overflow.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item android:id="@+id/backgroundItem" - android:drawable="@drawable/btn_background" /> - - <item> - <bitmap android:src="@drawable/ic_overflow_menu" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_selected.xml b/InCallUI/res/drawable/btn_selected.xml deleted file mode 100644 index 1446e4163..000000000 --- a/InCallUI/res/drawable/btn_selected.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > - <item> - <shape android:shape="oval"> - <solid android:color="@color/button_selected_color" /> - </shape> - </item> -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_selected_focused.xml b/InCallUI/res/drawable/btn_selected_focused.xml deleted file mode 100644 index 2eda9bf8b..000000000 --- a/InCallUI/res/drawable/btn_selected_focused.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > - <item android:drawable="@drawable/btn_selected" /> - - <item> - <shape android:shape="oval" > - <stroke - android:width="4dp" - android:color="@color/focus_color" /> - </shape> - </item> -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_swap.xml b/InCallUI/res/drawable/btn_swap.xml deleted file mode 100644 index 5d6c8ecaf..000000000 --- a/InCallUI/res/drawable/btn_swap.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item android:id="@+id/backgroundItem" - android:drawable="@drawable/btn_background" /> - - <item> - <bitmap android:src="@drawable/ic_toolbar_swap" - android:gravity="center" - android:tint="@color/selectable_icon_tint" /> - </item> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_unselected.xml b/InCallUI/res/drawable/btn_unselected.xml deleted file mode 100644 index aed995cec..000000000 --- a/InCallUI/res/drawable/btn_unselected.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > - <item> - <shape android:shape="oval"> - <solid android:color="@color/incall_background_color" /> - </shape> - </item> -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/btn_unselected_focused.xml b/InCallUI/res/drawable/btn_unselected_focused.xml deleted file mode 100644 index 66075d427..000000000 --- a/InCallUI/res/drawable/btn_unselected_focused.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > - <item android:drawable="@drawable/btn_unselected" /> - <item> - <shape android:shape="oval" > - <stroke - android:width="4dp" - android:color="@color/focus_color" /> - </shape> - </item> -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/conference_ripple.xml b/InCallUI/res/drawable/conference_ripple.xml deleted file mode 100644 index 4e4a21304..000000000 --- a/InCallUI/res/drawable/conference_ripple.xml +++ /dev/null @@ -1,25 +0,0 @@ -<!-- - ~ Copyright (C) 2014 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="@color/ripple_light"> - <!-- Constrain the ripple to a rectangular area --> - <item> - <shape android:shape="rectangle"> - <solid android:color="@color/background_dialer_white" /> - </shape> - </item> -</ripple>
\ No newline at end of file diff --git a/InCallUI/res/drawable/end_call_background.xml b/InCallUI/res/drawable/end_call_background.xml deleted file mode 100644 index c43deac4f..000000000 --- a/InCallUI/res/drawable/end_call_background.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Background drawable used to render the "end call" button. --> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/end_call_touch_feedback_tint"> - <item android:id="@android:id/mask"> - <shape android:shape="oval"> - <solid android:color="@android:color/white" /> - </shape> - </item> -</ripple> diff --git a/InCallUI/res/drawable/ic_incall_audio_handle.xml b/InCallUI/res/drawable/ic_incall_audio_handle.xml deleted file mode 100644 index 2e71a5b70..000000000 --- a/InCallUI/res/drawable/ic_incall_audio_handle.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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. ---> - -<!-- Touch handle for the GlowPadView widget on the incoming call screen --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- Audio call icon on tinted floating action bar background. --> - <item - android:state_enabled="true" - android:state_active="false" - android:state_focused="false"> - <layer-list> - <item> - <bitmap - android:src="@drawable/fab_blue" - android:tint="@color/glowpad_incoming_widget_background_tint" /> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_call" - android:tint="@color/glowpad_incoming_widget_tint" /> - </item> - </layer-list> - </item> - -</selector> diff --git a/InCallUI/res/drawable/ic_incall_video_handle.xml b/InCallUI/res/drawable/ic_incall_video_handle.xml deleted file mode 100644 index a24e305c4..000000000 --- a/InCallUI/res/drawable/ic_incall_video_handle.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> - -<!-- Touch handle for the GlowPadView widget on the incoming call screen --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - - <!-- Video call icon on tinted floating action bar background. --> - <item - android:state_enabled="true" - android:state_active="false" - android:state_focused="false"> - <layer-list> - <item> - <bitmap - android:src="@drawable/fab_blue" - android:tint="@color/glowpad_incoming_widget_background_tint" /> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/ic_videocam" - android:tint="@color/glowpad_incoming_widget_tint" /> - </item> - </layer-list> - </item> - -</selector> diff --git a/InCallUI/res/drawable/ic_lockscreen_answer.xml b/InCallUI/res/drawable/ic_lockscreen_answer.xml deleted file mode 100644 index 3184111fb..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_answer.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<!-- Used with incoming call wigdet. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_answer_normal_layer"/> - <item - android:state_enabled="true" android:state_active="true" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_answer_activated_layer" /> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="true" - android:drawable="@drawable/ic_lockscreen_answer_activated_layer" /> -</selector> diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml deleted file mode 100644 index f22b87e34..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_answer_activated_layer.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@drawable/fab_green"/> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_call" - android:tint="@color/glowpad_widget_active_color" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml deleted file mode 100644 index 31b884f99..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_answer_normal_layer.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <!-- A fake circle to fix the size of this layer asset. --> - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <solid android:color="#00000000"/> - <size - android:width="@dimen/incoming_call_widget_circle_size" - android:height="@dimen/incoming_call_widget_circle_size" /> - </shape> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_call" - android:tint="@color/glowpad_call_widget_normal_tint" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_video.xml b/InCallUI/res/drawable/ic_lockscreen_answer_video.xml deleted file mode 100644 index 05577979a..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_answer_video.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<!-- Used with incoming call wigdet. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_answer_video_normal_layer"/> - <item - android:state_enabled="true" android:state_active="true" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_answer_video_activated_layer" /> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="true" - android:drawable="@drawable/ic_lockscreen_answer_video_activated_layer" /> -</selector> diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_video_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_video_activated_layer.xml deleted file mode 100644 index 7895e1b6d..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_answer_video_activated_layer.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@drawable/fab_blue" /> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/ic_videocam" - android:tint="@color/glowpad_widget_active_color" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_answer_video_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_answer_video_normal_layer.xml deleted file mode 100644 index 793a36e10..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_answer_video_normal_layer.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <!-- A fake circle to fix the size of this layer asset. --> - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <solid android:color="#00000000"/> - <size - android:width="@dimen/incoming_call_widget_circle_size" - android:height="@dimen/incoming_call_widget_circle_size" /> - </shape> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/ic_videocam" - android:tint="@color/glowpad_call_widget_normal_tint" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_decline.xml b/InCallUI/res/drawable/ic_lockscreen_decline.xml deleted file mode 100644 index 6643816d9..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_decline.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<!-- Used with incoming call wigdet. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_decline_normal_layer" /> - <item - android:state_enabled="true" android:state_active="true" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_decline_activated_layer" /> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="true" - android:drawable="@drawable/ic_lockscreen_decline_activated_layer" /> -</selector> diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml deleted file mode 100644 index 096c32b4a..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_decline_activated_layer.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@drawable/fab_red" /> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_end_call" - android:tint="@color/glowpad_widget_active_color" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml deleted file mode 100644 index 4da5f8d66..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_decline_normal_layer.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <!-- A fake circle to fix the size of this layer asset. --> - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <solid android:color="#00000000"/> - <size - android:width="@dimen/incoming_call_widget_circle_size" - android:height="@dimen/incoming_call_widget_circle_size" /> - </shape> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_end_call" - android:tint="@color/glowpad_end_call_widget_normal_tint" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_video.xml b/InCallUI/res/drawable/ic_lockscreen_decline_video.xml deleted file mode 100644 index cedd49757..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_decline_video.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<!-- Used with incoming call wigdet. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_decline_video_normal_layer"/> - <item - android:state_enabled="true" android:state_active="true" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_decline_video_activated_layer" /> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="true" - android:drawable="@drawable/ic_lockscreen_decline_video_activated_layer" /> -</selector> diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_video_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_video_activated_layer.xml deleted file mode 100644 index 0790aed19..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_decline_video_activated_layer.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@drawable/fab_red" /> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/ic_toolbar_video_off" - android:tint="@color/glowpad_widget_active_color" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_decline_video_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_decline_video_normal_layer.xml deleted file mode 100644 index e3b89b947..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_decline_video_normal_layer.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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 - --> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <!-- A fake circle to fix the size of this layer asset. --> - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <solid android:color="#00000000"/> - <size - android:width="@dimen/incoming_call_widget_circle_size" - android:height="@dimen/incoming_call_widget_circle_size" /> - </shape> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/ic_toolbar_video_off" - android:tint="@color/glowpad_end_call_widget_normal_tint" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_outerring.xml b/InCallUI/res/drawable/ic_lockscreen_outerring.xml deleted file mode 100644 index 489515fbc..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_outerring.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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" - android:shape="oval"> - <size android:height="@dimen/glowpadview_outerring_diameter" - android:width="@dimen/glowpadview_outerring_diameter" /> - <stroke android:color="@color/glowpad_outer_ring_color" android:width="1dp" /> -</shape> diff --git a/InCallUI/res/drawable/ic_lockscreen_text.xml b/InCallUI/res/drawable/ic_lockscreen_text.xml deleted file mode 100644 index f9caac818..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_text.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<!-- Used with incoming call wigdet. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_text_normal_layer" /> - <item - android:state_enabled="true" android:state_active="true" android:state_focused="false" - android:drawable="@drawable/ic_lockscreen_text_activated_layer" /> - <item - android:state_enabled="true" android:state_active="false" android:state_focused="true" - android:drawable="@drawable/ic_lockscreen_text_activated_layer" /> -</selector> diff --git a/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml b/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml deleted file mode 100644 index a74e36b31..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_text_activated_layer.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <stroke android:color="@color/glowpad_text_widget_ring_color" android:width="1dp"/> - <size - android:width="@dimen/incoming_call_widget_circle_size" - android:height="@dimen/incoming_call_widget_circle_size" /> - </shape> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_message" - android:tint="@color/glowpad_widget_active_color" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml b/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml deleted file mode 100644 index be32d0baa..000000000 --- a/InCallUI/res/drawable/ic_lockscreen_text_normal_layer.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 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. ---> -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <!-- A fake circle to fix the size of this layer asset. --> - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <solid android:color="#00000000"/> - <size - android:width="@dimen/incoming_call_widget_circle_size" - android:height="@dimen/incoming_call_widget_circle_size" /> - </shape> - </item> - <item> - <bitmap - android:gravity="center" - android:src="@drawable/fab_ic_message" - android:tint="@color/glowpad_text_widget_normal_tint" - android:autoMirrored="true" /> - </item> -</layer-list> diff --git a/InCallUI/res/drawable/img_conference_automirrored.xml b/InCallUI/res/drawable/img_conference_automirrored.xml deleted file mode 100644 index fa1fd4920..000000000 --- a/InCallUI/res/drawable/img_conference_automirrored.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/img_conference" - android:autoMirrored="true" />
\ No newline at end of file diff --git a/InCallUI/res/drawable/img_no_image_automirrored.xml b/InCallUI/res/drawable/img_no_image_automirrored.xml deleted file mode 100644 index f0cf0db31..000000000 --- a/InCallUI/res/drawable/img_no_image_automirrored.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/img_no_image" - android:autoMirrored="true" />
\ No newline at end of file diff --git a/InCallUI/res/drawable/incoming_sms_background.xml b/InCallUI/res/drawable/incoming_sms_background.xml deleted file mode 100644 index 81ff21c61..000000000 --- a/InCallUI/res/drawable/incoming_sms_background.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2015 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" - android:shape="rectangle"> - <corners - android:topLeftRadius="@dimen/person_contact_context_message_background_main_radius" - android:topRightRadius="@dimen/person_contact_context_message_background_main_radius" - android:bottomRightRadius="@dimen/person_contact_context_message_background_main_radius" - android:bottomLeftRadius="@dimen/person_contact_context_message_background_accent_radius"/> - <solid android:color="@color/person_contact_context_message_background_color" /> -</shape> diff --git a/InCallUI/res/drawable/outgoing_sms_background.xml b/InCallUI/res/drawable/outgoing_sms_background.xml deleted file mode 100644 index e4f868fea..000000000 --- a/InCallUI/res/drawable/outgoing_sms_background.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2015 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" - android:shape="rectangle"> - <corners - android:topLeftRadius="@dimen/person_contact_context_message_background_main_radius" - android:topRightRadius="@dimen/person_contact_context_message_background_main_radius" - android:bottomLeftRadius="@dimen/person_contact_context_message_background_main_radius" - android:bottomRightRadius="@dimen/person_contact_context_message_background_accent_radius"/> - <solid android:color="@color/person_contact_context_message_background_color" /> -</shape> diff --git a/InCallUI/res/drawable/spam_notification_icon.xml b/InCallUI/res/drawable/spam_notification_icon.xml deleted file mode 100644 index c8bafe085..000000000 --- a/InCallUI/res/drawable/spam_notification_icon.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2016 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item> - <shape android:shape="oval"> - <solid android:color="@color/blocked_contact_background" /> - <size android:width="@dimen/notification_large_icon_width" - android:height="@dimen/notification_large_icon_height" /> - </shape> - </item> - - <item android:drawable="@drawable/ic_report_white_36dp" android:gravity="center" /> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/drawable/subject_bubble.xml b/InCallUI/res/drawable/subject_bubble.xml deleted file mode 100644 index adab67833..000000000 --- a/InCallUI/res/drawable/subject_bubble.xml +++ /dev/null @@ -1,22 +0,0 @@ -<!-- - ~ Copyright (C) 2015 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"> - <solid android:color="#ffffff" /> - <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> - <corners android:topLeftRadius="6dp" android:topRightRadius="6dp" - android:bottomLeftRadius="0dp" android:bottomRightRadius="6dp"/> -</shape>
\ No newline at end of file diff --git a/InCallUI/res/drawable/unknown_notification_icon.xml b/InCallUI/res/drawable/unknown_notification_icon.xml deleted file mode 100644 index 85c50752c..000000000 --- a/InCallUI/res/drawable/unknown_notification_icon.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2016 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 - --> - -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - - <item> - <shape android:shape="oval"> - <solid android:color="@color/unknown_number_color" /> - <size android:width="@dimen/notification_large_icon_width" - android:height="@dimen/notification_large_icon_height" /> - </shape> - </item> - - <item android:drawable="@drawable/ic_question_mark" android:gravity="center" /> - -</layer-list>
\ No newline at end of file diff --git a/InCallUI/res/layout-h400dp/call_card_fragment.xml b/InCallUI/res/layout-h400dp/call_card_fragment.xml deleted file mode 100644 index 2ef6e52da..000000000 --- a/InCallUI/res/layout-h400dp/call_card_fragment.xml +++ /dev/null @@ -1,172 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2016 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"> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical"> - - <!-- Primary "call card" block, for the foreground call. --> - <LinearLayout - android:id="@+id/primary_call_info_container" - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:orientation="vertical" - android:elevation="@dimen/primary_call_elevation" - android:background="@color/incall_call_banner_background_color" - android:paddingTop="@dimen/call_banner_primary_call_container_top_padding" - android:clipChildren="false" - android:clipToPadding="false" - android:gravity="bottom"> - - <include layout="@layout/primary_call_info" - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:minHeight="@dimen/call_banner_height" - android:animateLayoutChanges="true" - android:gravity="center" /> - - <fragment android:name="com.android.incallui.CallButtonFragment" - android:id="@+id/callButtonFragment" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - - </LinearLayout> - - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="2"> - - <FrameLayout - android:layout_height="match_parent" - android:layout_width="match_parent" - android:id="@+id/call_card_content"> - - <!-- Contact photo for primary call info --> - <ImageView android:id="@+id/photoLarge" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="centerCrop" - android:importantForAccessibility="no" - android:background="@color/incall_photo_background_color" - android:src="@drawable/img_no_image_automirrored" /> - - <!-- Call context --> - <LinearLayout - android:id="@+id/contact_context" - android:layout_height="match_parent" - android:layout_width="match_parent" - android:orientation="vertical" - android:background="@color/incall_background_color" - android:visibility="gone"> - <TextView android:id="@+id/contactContextTitle" - android:textSize="@dimen/contact_context_title_text_size" - android:textColor="@color/contact_context_title_text_color" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - android:layout_marginBottom="@dimen/contact_context_title_margin_bottom"/> - <ListView android:id="@+id/contactContextInfo" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:divider="@null" - android:dividerHeight="@dimen/contact_context_list_item_padding"/> - </LinearLayout> - </FrameLayout> - - <fragment android:name="com.android.incallui.VideoCallFragment" - android:id="@+id/videoCallFragment" - android:layout_alignParentTop="true" - android:layout_gravity="top|center_horizontal" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. --> - <FrameLayout - android:id="@+id/progressSpinner" - android:background="#63000000" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:layout_centerHorizontal="true" - android:layout_centerVertical="true" - android:visibility="gone"> - - <ProgressBar - android:id="@+id/progress_bar" - style="@android:style/Widget.Material.ProgressBar" - android:layout_gravity="center" - android:layout_width="48dp" - android:layout_height="48dp" - android:indeterminate="true" /> - - </FrameLayout> - - - <include layout="@layout/manage_conference_call_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - - <!-- Placeholder for various fragments that are added dynamically underneath the caller info. --> - <FrameLayout - android:id="@+id/answer_and_dialpad_container" - android:layout_gravity="bottom|center_horizontal" - android:layout_alignParentBottom="true" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:elevation="@dimen/dialpad_elevation" /> - - <FrameLayout - android:id="@+id/floating_end_call_action_button_container" - android:layout_width="@dimen/end_call_floating_action_button_diameter" - android:layout_height="@dimen/end_call_floating_action_button_diameter" - android:background="@drawable/fab_red" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:layout_marginBottom="@dimen/end_call_button_margin_bottom"> - - <ImageButton android:id="@+id/floating_end_call_action_button" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/end_call_background" - android:src="@drawable/fab_ic_end_call" - android:scaleType="center" - android:contentDescription="@string/onscreenEndCallText" /> - - </FrameLayout> - - <TextView android:id="@+id/connectionServiceMessage" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textAppearance="?android:attr/textAppearanceMedium" - android:visibility="gone" - android:padding="@dimen/call_banner_side_padding" - android:background="@android:color/white" /> - - </RelativeLayout> - - </LinearLayout> - <!-- Secondary "Call info" block, for the background ("on hold") call. --> - <include layout="@layout/secondary_call_info" /> -</RelativeLayout>
\ No newline at end of file diff --git a/InCallUI/res/layout-h600dp/manage_conference_call_button.xml b/InCallUI/res/layout-h600dp/manage_conference_call_button.xml deleted file mode 100644 index 9a83313ac..000000000 --- a/InCallUI/res/layout-h600dp/manage_conference_call_button.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2016 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 - --> - -<!-- This button is used only on GSM and IMS devices, during a conference call. --> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/manage_conference_call_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/incall_banner_secondary_background_color" - android:focusable="true" - android:contentDescription="@string/onscreenManageConferenceText"> - - <Space android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/secondary_call_info_divider_highlight_color" /> - - <!-- This LinearLayout nested immediately in a FrameLayout is necessary to apply both a - background color and ripple to the button. --> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingStart="@dimen/secondary_call_info_horizontal_padding" - android:paddingEnd="@dimen/secondary_call_info_horizontal_padding" - android:paddingTop="@dimen/secondary_call_info_vertical_padding" - android:paddingBottom="@dimen/secondary_call_info_vertical_padding" - android:background="?android:attr/selectableItemBackground"> - - <ImageView android:id="@+id/manageConferenceButtonImage" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:src="@drawable/ic_group_white_24dp" - android:tint="@color/incall_banner_secondary_text_color" - android:paddingEnd="16dp" - android:importantForAccessibility="no" /> - - <TextView android:id="@+id/manageConferenceButtonLabel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_vertical" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:text="@string/onscreenManageConferenceText" - android:importantForAccessibility="no" /> - - </LinearLayout> - -</FrameLayout> diff --git a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml b/InCallUI/res/layout-w500dp-land/call_card_fragment.xml deleted file mode 100644 index c71cf07a6..000000000 --- a/InCallUI/res/layout-w500dp-land/call_card_fragment.xml +++ /dev/null @@ -1,158 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> - -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="horizontal"> - - <LinearLayout - android:id="@+id/primary_call_info_container" - android:layout_centerVertical="true" - android:layout_width="0dp" - android:layout_height="match_parent" - android:layout_weight="1" - android:orientation="vertical" - android:elevation="@dimen/primary_call_elevation" - android:background="@drawable/rounded_call_card_background" - android:paddingTop="@dimen/call_banner_primary_call_container_top_padding" - android:clipChildren="false" - android:clipToPadding="false" - android:alpha="0.9" - android:layout_margin="10dp"> - - <include layout="@layout/primary_call_info" /> - - <fragment android:name="com.android.incallui.CallButtonFragment" - android:id="@+id/callButtonFragment" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom|center_horizontal" - android:layout_marginBottom="@dimen/call_buttons_bottom_margin" /> - - <!-- Secondary "Call info" block, for the background ("on hold") call. --> - <include layout="@layout/secondary_call_info" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="bottom" /> - - </LinearLayout> - - <FrameLayout - android:layout_height="match_parent" - android:layout_width="0dp" - android:layout_weight="1"> - - <FrameLayout - android:layout_height="match_parent" - android:layout_width="match_parent" - android:id="@+id/call_card_content"> - - <ImageView android:id="@+id/photoLarge" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="centerCrop" - android:contentDescription="@string/contactPhoto" - android:background="@color/incall_photo_background_color" - android:src="@drawable/img_no_image_automirrored" /> - - <!-- Call context --> - <LinearLayout - android:id="@+id/contact_context" - android:layout_height="match_parent" - android:layout_width="match_parent" - android:orientation="vertical" - android:background="@color/incall_background_color" - android:visibility="gone"> - <TextView android:id="@+id/contactContextTitle" - android:textSize="@dimen/contact_context_title_text_size" - android:textColor="@color/contact_context_title_text_color" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - android:layout_marginBottom="@dimen/contact_context_title_margin_bottom" /> - <ListView android:id="@+id/contactContextInfo" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:divider="@null" - android:dividerHeight="@dimen/contact_context_list_item_padding" /> - </LinearLayout> - - </FrameLayout> - - <include layout="@layout/manage_conference_call_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_alignTop="@id/photoLarge" /> - - <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. --> - <FrameLayout - android:id="@+id/progressSpinner" - android:background="#63000000" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_centerHorizontal="true" - android:layout_centerVertical="true" - android:visibility="gone" > - - <ProgressBar - android:id="@+id/progress_bar" - style="@android:style/Widget.Material.ProgressBar" - android:layout_gravity="center" - android:layout_width="48dp" - android:layout_height="48dp" - android:indeterminate="true" /> - - </FrameLayout> - - <fragment android:name="com.android.incallui.VideoCallFragment" - android:layout_alignParentStart="true" - android:layout_gravity="start|center_vertical" - android:id="@+id/videoCallFragment" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <!-- Placeholder for the dialpad which is replaced with the dialpad fragment when shown. --> - <FrameLayout - android:id="@+id/answer_and_dialpad_container" - android:layout_gravity="bottom" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <FrameLayout - android:id="@+id/floating_end_call_action_button_container" - android:layout_width="@dimen/end_call_floating_action_button_diameter" - android:layout_height="@dimen/end_call_floating_action_button_diameter" - android:background="@drawable/fab_red" - android:layout_gravity="bottom|center_horizontal" - android:layout_marginBottom="@dimen/end_call_button_margin_bottom"> - - <ImageButton android:id="@+id/floating_end_call_action_button" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/end_call_background" - android:src="@drawable/fab_ic_end_call" - android:scaleType="center" - android:contentDescription="@string/onscreenEndCallText" /> - - </FrameLayout> - - </FrameLayout> - -</LinearLayout> diff --git a/InCallUI/res/layout-w600dp-land/manage_conference_call_button.xml b/InCallUI/res/layout-w600dp-land/manage_conference_call_button.xml deleted file mode 100644 index 9a83313ac..000000000 --- a/InCallUI/res/layout-w600dp-land/manage_conference_call_button.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2016 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 - --> - -<!-- This button is used only on GSM and IMS devices, during a conference call. --> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/manage_conference_call_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/incall_banner_secondary_background_color" - android:focusable="true" - android:contentDescription="@string/onscreenManageConferenceText"> - - <Space android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/secondary_call_info_divider_highlight_color" /> - - <!-- This LinearLayout nested immediately in a FrameLayout is necessary to apply both a - background color and ripple to the button. --> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingStart="@dimen/secondary_call_info_horizontal_padding" - android:paddingEnd="@dimen/secondary_call_info_horizontal_padding" - android:paddingTop="@dimen/secondary_call_info_vertical_padding" - android:paddingBottom="@dimen/secondary_call_info_vertical_padding" - android:background="?android:attr/selectableItemBackground"> - - <ImageView android:id="@+id/manageConferenceButtonImage" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:src="@drawable/ic_group_white_24dp" - android:tint="@color/incall_banner_secondary_text_color" - android:paddingEnd="16dp" - android:importantForAccessibility="no" /> - - <TextView android:id="@+id/manageConferenceButtonLabel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_vertical" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:text="@string/onscreenManageConferenceText" - android:importantForAccessibility="no" /> - - </LinearLayout> - -</FrameLayout> diff --git a/InCallUI/res/layout/accessible_answer_fragment.xml b/InCallUI/res/layout/accessible_answer_fragment.xml deleted file mode 100644 index 90fe57788..000000000 --- a/InCallUI/res/layout/accessible_answer_fragment.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?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="16dp"> - <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="16dp" - 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_above="@+id/accessible_answer_fragment_decline" - android:layout_alignWithParentIfMissing="false" - android:layout_alignParentTop="false" - android:layout_alignParentLeft="false" - android:layout_alignParentBottom="false" - 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>
\ No newline at end of file diff --git a/InCallUI/res/layout/answer_fragment.xml b/InCallUI/res/layout/answer_fragment.xml deleted file mode 100644 index ec6ef30ac..000000000 --- a/InCallUI/res/layout/answer_fragment.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?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 - --> - -<com.android.incallui.GlowPadWrapper - 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="match_parent" - android:layout_height="match_parent" - android:focusable="true" - android:layout_centerHorizontal="true" - android:gravity="center" - android:background="@color/glowpad_background_color" - android:layout_marginBottom="@dimen/glowpadview_margin_bottom" - - dc:targetDrawables="@array/incoming_call_widget_audio_with_sms_targets" - dc:targetDescriptions="@array/incoming_call_widget_audio_with_sms_target_descriptions" - dc:directionDescriptions="@array/incoming_call_widget_audio_with_sms_direction_descriptions" - dc:handleDrawable="@drawable/ic_incall_audio_handle" - dc:outerRingDrawable="@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="@drawable/ic_lockscreen_glowdot" - dc:allowScaling="true" /> diff --git a/InCallUI/res/layout/business_contact_context_list_header.xml b/InCallUI/res/layout/business_contact_context_list_header.xml deleted file mode 100644 index 90521188e..000000000 --- a/InCallUI/res/layout/business_contact_context_list_header.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2015 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. ---> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:paddingEnd="@dimen/business_contact_context_end_padding"> - <ImageView android:id="@+id/icon" - android:layout_width="@dimen/contact_context_title_image_size" - android:layout_height="@dimen/contact_context_title_image_size" - android:layout_marginLeft="@dimen/contact_context_title_image_side_padding" - android:layout_marginRight="@dimen/contact_context_title_image_side_padding" - android:layout_gravity="center" - android:scaleType="center" - android:src="@drawable/ic_business_white_24dp" - android:tint="@color/business_contact_context_text_color" - android:alpha="0.8" - android:importantForAccessibility="no"/> - <TextView android:id="@+id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:text="@string/business_contact_context_title" - android:textSize="@dimen/business_contact_context_detail_font_size" - android:textColor="@color/business_contact_context_text_color" - android:fontFamily="sans-serif-medium"/> - </LinearLayout>
\ No newline at end of file diff --git a/InCallUI/res/layout/business_context_info_list_item.xml b/InCallUI/res/layout/business_context_info_list_item.xml deleted file mode 100644 index 616d219d9..000000000 --- a/InCallUI/res/layout/business_context_info_list_item.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2015 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. ---> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:paddingEnd="@dimen/business_contact_context_end_padding"> - <ImageView android:id="@+id/icon" - android:layout_width="@dimen/business_contact_context_image_size" - android:layout_height="@dimen/business_contact_context_image_size" - android:layout_marginLeft="@dimen/business_contact_context_image_padding" - android:layout_marginRight="@dimen/business_contact_context_image_padding" - android:layout_gravity="center" - android:scaleType="centerCrop" - android:tint="@color/business_contact_context_text_color" - android:alpha="0.8"/> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:orientation="vertical"> - <TextView android:id="@+id/heading" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textSize="@dimen/business_contact_context_heading_font_size" - android:textColor="@color/business_contact_context_text_color" - android:fontFamily="sans-serif-medium"/> - <TextView android:id="@+id/detail" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textSize="@dimen/business_contact_context_detail_font_size" - android:textColor="@color/business_contact_context_text_color" - android:fontFamily="sans-serif-medium"/> - </LinearLayout> - </LinearLayout>
\ No newline at end of file diff --git a/InCallUI/res/layout/call_button_fragment.xml b/InCallUI/res/layout/call_button_fragment.xml deleted file mode 100644 index 802e3de62..000000000 --- a/InCallUI/res/layout/call_button_fragment.xml +++ /dev/null @@ -1,171 +0,0 @@ -<?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 - --> - -<!-- In-call onscreen touch UI elements, used on some platforms. - - This layout is a fullscreen overlay, drawn on top of the - non-touch-sensitive parts of the in-call UI (i.e. the call card). - - The top-level View here is a InCallTouchUi (FrameLayout) with 2 children: - (1) inCallControls: the widgets visible while a regular call (or calls) is in progress - (2) incomingCallWidget: the UI displayed while an incoming call is ringing - In usual cases, one of these is visible at any given moment. - One exception is when incomingCallWidget is fading-out. At that moment, we show - inCallControls beneath incomingCallWidget for smoother transition. - --> - -<!-- Main cluster of onscreen buttons on the lower part of the screen. --> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/bottomButtons" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_margin="0dp" - android:padding="0dp" - android:background="@color/button_background_color" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:animateLayoutChanges="true" > - - <LinearLayout - android:orientation="horizontal" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="bottom|center_horizontal" - android:baselineAligned="false"> - - <!-- This row only ever shows either 4 or 5 buttons. This may depend on whether the device - supports "Hold" (i.e. 4 buttons on CDMA devices, 5 buttons on GSM devices.) or whether - it is in a video call. - - There are a couple of *pairs* of buttons that share a single "slot", namely Hold/Swap - and Add/Merge. For these, the code in InCallTouchUi is responsible for making sure - that at any point exactly one of the pair is VISIBLE and the other is GONE. - - If there are more than 5 buttons eligible to be shown, the presenter is responsible for - collapsing those options into an overflow menu, which appears as one of the buttons - in the row instead. --> - - <!-- FAR LEFT SLOT ===================================================================== --> - - <!-- "Audio mode". this is a multi-mode button that can behave either like a simple - "compound button" with two states *or* like an action button that brings up a popup - menu; see btn_compound_audio.xml and CallButtonFragment.updateAudioButtons(). --> - <ToggleButton android:id="@+id/audioButton" - style="@style/InCallCompoundButton" - android:background="@drawable/btn_compound_audio" - android:contentDescription="@string/audio_mode_speaker" /> - - <!-- MIDDLE LEFT SLOT ================================================================== --> - - <!-- "Mute" --> - <ToggleButton android:id="@+id/muteButton" - style="@style/InCallCompoundButton" - android:background="@drawable/btn_compound_mute" - android:contentDescription="@string/onscreenMuteText_unselected" /> - - <!-- CENTER SLOT ======================================================================= --> - - <!-- "Dialpad" --> - <ToggleButton android:id="@+id/dialpadButton" - style="@style/InCallCompoundButton" - android:background="@drawable/btn_compound_dialpad" - android:contentDescription="@string/onscreenShowDialpadText_unselected" /> - - <!-- MIDDLE RIGHT SLOT ================================================================= --> - - <!-- This slot is either "Hold" or "Swap", depending on the state of the call. One or the - other of these must always be set to GONE. --> - - <!-- "Hold" --> - <ToggleButton android:id="@+id/holdButton" - style="@style/InCallCompoundButton" - android:background="@drawable/btn_compound_hold" - android:contentDescription="@string/onscreenHoldText_unselected" /> - - <!-- "Swap" (or "Manage calls" in some CDMA states) --> - <ImageButton android:id="@+id/swapButton" - style="@style/InCallButton" - android:background="@drawable/btn_swap" - android:contentDescription="@string/onscreenSwapCallsText" - android:visibility="gone" /> - - <!-- "Change to video call" --> - <ImageButton android:id="@+id/changeToVideoButton" - style="@style/InCallButton" - android:background="@drawable/btn_change_to_video" - android:contentDescription="@string/onscreenVideoCallText" - android:visibility="gone" /> - - <!-- "Switch camera" for video calls. --> - <ToggleButton android:id="@+id/switchCameraButton" - style="@style/InCallCompoundButton" - android:background="@drawable/btn_compound_video_switch" - android:contentDescription="@string/onscreenSwitchCameraText" - android:visibility="gone" /> - - <!-- FAR RIGHT SLOT ==================================================================== --> - - <!-- This slot is either "Add" or "Merge", depending on the state of the call. One or the - other of these must always be set to GONE. --> - - <!-- "Turn off camera" for video calls. --> - <ToggleButton android:id="@+id/pauseVideoButton" - style="@style/InCallCompoundButton" - android:background="@drawable/btn_compound_video_off" - android:contentDescription="@string/onscreenTurnOffCameraText" - android:visibility="gone" /> - - <!-- "Change to audio call" for video calls. --> - <ImageButton android:id="@+id/changeToVoiceButton" - style="@style/InCallButton" - android:background="@drawable/btn_change_to_voice" - android:contentDescription="@string/onscreenChangeToVoiceText" - android:visibility="gone" /> - - <!-- "Add Call" --> - <ImageButton android:id="@+id/addButton" - style="@style/InCallButton" - android:background="@drawable/btn_add" - android:contentDescription="@string/onscreenAddCallText" - android:visibility="gone" /> - - <!-- "Merge calls". This button is used only on GSM devices, where we know that "Add" and - "Merge" are never available at the same time. The "Merge" button for CDMA devices is - "cdmaMergeButton" above. --> - <ImageButton android:id="@+id/mergeButton" - style="@style/InCallButton" - android:background="@drawable/btn_merge" - android:contentDescription="@string/onscreenMergeCallsText" - android:visibility="gone" /> - - <!-- "Overflow" --> - <ImageButton android:id="@+id/overflowButton" - style="@style/InCallButton" - android:background="@drawable/btn_overflow" - android:contentDescription="@string/onscreenOverflowText" - android:visibility="gone" /> - - <!-- "Manage conference button (Video Call) " --> - <ImageButton android:id="@+id/manageVideoCallConferenceButton" - style="@style/InCallButton" - android:background="@drawable/ic_group_white_24dp" - android:contentDescription="@string/onscreenManageConferenceText" - android:visibility="gone" /> - - </LinearLayout> - -</LinearLayout> diff --git a/InCallUI/res/layout/call_card_fragment.xml b/InCallUI/res/layout/call_card_fragment.xml deleted file mode 100644 index fabde378a..000000000 --- a/InCallUI/res/layout/call_card_fragment.xml +++ /dev/null @@ -1,158 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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"> - - <LinearLayout - android:id="@+id/primary_call_info_container" - android:layout_centerVertical="true" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:elevation="@dimen/primary_call_elevation" - android:background="@color/incall_call_banner_background_color" - android:clipChildren="false" - android:clipToPadding="false" - android:alpha="0.9"> - - <include layout="@layout/primary_call_info" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/call_banner_vertical_margin" - android:layout_marginBottom="@dimen/call_banner_vertical_margin"/> - - <fragment android:name="com.android.incallui.CallButtonFragment" - android:id="@+id/callButtonFragment" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" /> - - </LinearLayout> - - <!-- Placeholder for the dialpad which is replaced with the dialpad fragment when shown. --> - <FrameLayout - android:id="@+id/answer_and_dialpad_container" - android:layout_width="match_parent" - android:elevation="@dimen/dialpad_elevation" - android:layout_height="match_parent" /> - - <!-- Secondary "Call info" block, for the background ("on hold") call. --> - <include layout="@layout/secondary_call_info" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:elevation="4dp" - android:layout_alignParentBottom="true" /> - - <include layout="@layout/manage_conference_call_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:elevation="5dp" - android:layout_alignParentBottom="true"/> - - <FrameLayout - android:id="@+id/floating_end_call_action_button_container" - android:layout_width="@dimen/end_call_floating_action_button_diameter" - android:layout_height="@dimen/end_call_floating_action_button_diameter" - android:background="@drawable/fab_red" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true"> - - <ImageButton android:id="@+id/floating_end_call_action_button" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/end_call_background" - android:src="@drawable/fab_ic_end_call" - android:scaleType="center" - android:contentDescription="@string/onscreenEndCallText" /> - - </FrameLayout> - - <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. --> - <FrameLayout - android:id="@+id/progressSpinner" - android:background="#63000000" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_centerHorizontal="true" - android:layout_centerVertical="true" - android:visibility="gone" > - - <ProgressBar - android:id="@+id/progress_bar" - style="@android:style/Widget.Material.ProgressBar" - android:layout_gravity="center" - android:layout_width="48dp" - android:layout_height="48dp" - android:indeterminate="true" /> - - </FrameLayout> - - <fragment android:name="com.android.incallui.VideoCallFragment" - android:layout_alignParentStart="true" - android:layout_gravity="start|center_vertical" - android:id="@+id/videoCallFragment" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <FrameLayout - android:layout_height="match_parent" - android:layout_width="0dp" - android:layout_weight="1" - android:visibility="gone"> - - <FrameLayout - android:layout_height="match_parent" - android:layout_width="match_parent" - android:id="@+id/call_card_content"> - - <ImageView android:id="@+id/photoLarge" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="centerCrop" - android:contentDescription="@string/contactPhoto" - android:background="@color/incall_photo_background_color" - android:src="@drawable/img_no_image_automirrored" /> - - <!-- Call context --> - <LinearLayout - android:id="@+id/contact_context" - android:layout_height="match_parent" - android:layout_width="match_parent" - android:orientation="vertical" - android:background="@color/incall_background_color" - android:visibility="gone"> - <TextView android:id="@+id/contactContextTitle" - android:textSize="@dimen/contact_context_title_text_size" - android:textColor="@color/glowpad_background_color" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - android:layout_marginBottom="@dimen/contact_context_title_margin_bottom" /> - <ListView android:id="@+id/contactContextInfo" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:divider="@null" - android:dividerHeight="@dimen/contact_context_list_item_padding" /> - </LinearLayout> - </FrameLayout> - </FrameLayout> - -</RelativeLayout> diff --git a/InCallUI/res/layout/caller_in_conference.xml b/InCallUI/res/layout/caller_in_conference.xml deleted file mode 100644 index ac78096f6..000000000 --- a/InCallUI/res/layout/caller_in_conference.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 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. ---> - -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="64dp" - android:orientation="horizontal" - android:gravity="center_vertical" - android:paddingStart="16dp" - android:paddingEnd="8dp"> - - <!-- Caller information --> - <LinearLayout - android:layout_width="0dp" - android:layout_weight="1" - android:layout_height="match_parent" - android:orientation="horizontal" - android:gravity="center_vertical"> - - <ImageView android:id="@+id/callerPhoto" - android:layout_width="@dimen/contact_browser_list_item_photo_size" - android:layout_height="@dimen/contact_browser_list_item_photo_size" /> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_vertical" - android:orientation="vertical" - android:layout_marginStart="16dp" - android:paddingBottom="2dp"> - - <!-- Name or number of this caller --> - <TextView android:id="@+id/conferenceCallerName" - android:textAppearance="?android:attr/textAppearanceLarge" - android:textSize="16sp" - android:textColor="@color/conference_call_manager_caller_name_text_color" - android:singleLine="true" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_marginEnd="2dp" /> - - <!-- Number of this caller if name is supplied above --> - <LinearLayout - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:orientation="horizontal" - android:gravity="bottom"> - - <!-- Number --> - <TextView - android:id="@+id/conferenceCallerNumber" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="14sp" - android:ellipsize="marquee" - android:textColor="@color/conference_call_manager_secondary_text_color" - android:singleLine="true" - android:layout_marginEnd="8dp" /> - - <!-- Number type --> - <TextView - android:id="@+id/conferenceCallerNumberType" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="12sp" - android:textColor="@color/conference_call_manager_secondary_text_color" - android:ellipsize="marquee" - android:singleLine="true" - android:textAllCaps="true" - android:gravity="start" /> - - </LinearLayout> <!-- End of caller number --> - - </LinearLayout> <!-- End of caller information --> - - </LinearLayout> - - <!-- "Separate" (i.e. "go private") button for this caller --> - <ImageView android:id="@+id/conferenceCallerSeparate" - android:src="@drawable/ic_call_split_white_24dp" - android:layout_width="@dimen/conference_call_manager_button_dimension" - android:layout_height="@dimen/conference_call_manager_button_dimension" - android:scaleType="center" - android:contentDescription="@string/goPrivate" - android:tint="@color/conference_call_manager_icon_color" - android:background="@drawable/conference_ripple" - android:clickable="true" /> - - <!-- "Disconnect" button which terminates the connection with this caller. --> - <ImageButton - android:id="@+id/conferenceCallerDisconnect" - android:layout_width="@dimen/conference_call_manager_button_dimension" - android:layout_height="@dimen/conference_call_manager_button_dimension" - android:layout_marginStart="8dp" - android:src="@drawable/ic_call_end_white_24dp" - android:scaleType="center" - android:contentDescription="@string/onscreenEndCallText" - android:tint="@color/conference_call_manager_icon_color" - android:background="@drawable/conference_ripple" - android:clickable="true" /> - -</LinearLayout> <!-- End of single list element --> diff --git a/InCallUI/res/layout/conference_manager_fragment.xml b/InCallUI/res/layout/conference_manager_fragment.xml deleted file mode 100644 index 7350bee14..000000000 --- a/InCallUI/res/layout/conference_manager_fragment.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2009 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. ---> - -<!-- The "Manage conference" UI. This panel is displayed (instead of - the inCallPanel) when the user clicks the "Manage conference" - button while on a conference call. --> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/manageConferencePanel" - android:background="@color/conference_call_manager_background_color" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingTop="@dimen/conference_call_manager_padding_top" > - <!-- List of conference participants. --> - <ListView - android:id="@+id/participantList" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:listSelector="@null" - android:background="@color/background_dialer_white" - android:divider="@null" - android:focusableInTouchMode="true" - android:focusable="true"/> -</FrameLayout> diff --git a/InCallUI/res/layout/incall_dialpad_fragment.xml b/InCallUI/res/layout/incall_dialpad_fragment.xml deleted file mode 100644 index b567dbbf2..000000000 --- a/InCallUI/res/layout/incall_dialpad_fragment.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2006 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. ---> - -<view class="com.android.incallui.DialpadFragment$DialpadSlidingLinearLayout" - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/dtmf_twelve_key_dialer_view" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical"> - <include layout="@layout/dialpad_view"/> -</view> diff --git a/InCallUI/res/layout/incall_screen.xml b/InCallUI/res/layout/incall_screen.xml deleted file mode 100644 index 3922ea073..000000000 --- a/InCallUI/res/layout/incall_screen.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2007 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. ---> - -<!-- In-call Phone UI; see InCallActivity.java. --> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@android:color/black" - android:id="@+id/main" > -</FrameLayout> diff --git a/InCallUI/res/layout/manage_conference_call_button.xml b/InCallUI/res/layout/manage_conference_call_button.xml deleted file mode 100644 index 01ca1bdc3..000000000 --- a/InCallUI/res/layout/manage_conference_call_button.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?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. ---> - -<!-- This button is used only on GSM and IMS devices, during a conference call. --> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/manage_conference_call_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:background="@color/incall_banner_secondary_background_color" - android:visibility="gone"> - - <Space android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/secondary_call_info_divider_highlight_color" /> - - <!-- This LinearLayout nested immediately in a FrameLayout is necessary to apply both a - background color and ripple to the button. --> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="horizontal" - android:paddingStart="@dimen/secondary_call_info_horizontal_padding" - android:paddingEnd="@dimen/secondary_call_info_horizontal_padding" - android:paddingTop="@dimen/secondary_call_info_vertical_padding" - android:paddingBottom="@dimen/secondary_call_info_vertical_padding" - android:background="?android:attr/selectableItemBackground"> - - <!-- Call status of the background call, usually the string "On hold". --> - <TextView android:id="@+id/conferenceLabel" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:layout_gravity="center_vertical" - android:paddingEnd="18dp" - android:text="@string/onscreenConferenceText" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:singleLine="true" /> - - <ImageView android:id="@+id/manageConferenceImage" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:src="@drawable/ic_group_white_24dp" - android:tint="@color/incall_banner_secondary_text_color" - android:paddingEnd="16dp"/> - - <TextView android:id="@+id/manageConferenceLabel" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:textAlignment="viewStart" - android:text="@string/onscreenManageText" - android:singleLine="true"/> - - </LinearLayout> - -</FrameLayout>
\ No newline at end of file diff --git a/InCallUI/res/layout/outgoing_call_animation.xml b/InCallUI/res/layout/outgoing_call_animation.xml deleted file mode 100644 index 69ba3d3c6..000000000 --- a/InCallUI/res/layout/outgoing_call_animation.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> -<View xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/outgoing_call_animation_circle" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@color/incall_background_color" />
\ No newline at end of file diff --git a/InCallUI/res/layout/person_context_info_list_item.xml b/InCallUI/res/layout/person_context_info_list_item.xml deleted file mode 100644 index 4f973d564..000000000 --- a/InCallUI/res/layout/person_context_info_list_item.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2015 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:paddingRight="@dimen/person_contact_context_horizontal_padding" - android:paddingLeft="@dimen/person_contact_context_horizontal_padding"> - <TextView android:id="@+id/message" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingLeft="@dimen/person_contact_context_message_horizontal_padding" - android:paddingRight="@dimen/person_contact_context_message_horizontal_padding" - android:paddingTop="@dimen/person_contact_context_message_vertical_padding" - android:paddingBottom="@dimen/person_contact_context_message_vertical_padding" - android:textSize="@dimen/person_contact_context_message_text_size" - android:textColor="@color/person_contact_context_message_text_color" - android:fontFamily="sans-serif-medium" - android:background="@drawable/incoming_sms_background"/> - <TextView android:id="@+id/detail" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="@dimen/person_contact_context_detail_padding_top" - android:textSize="@dimen/person_contact_context_detail_text_size" - android:textColor="@color/person_contact_context_detail_text_color" - android:fontFamily="sans-serif-medium" - android:layout_below="@id/message"/> -</RelativeLayout>
\ No newline at end of file diff --git a/InCallUI/res/layout/primary_call_info.xml b/InCallUI/res/layout/primary_call_info.xml deleted file mode 100644 index cae915224..000000000 --- a/InCallUI/res/layout/primary_call_info.xml +++ /dev/null @@ -1,231 +0,0 @@ -<?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 - --> - -<!-- "Call Banner" for primary call, the foregound or ringing call. The "call banner" is a block - of info about a single call, including the contact name, phone number, call time counter, and - other status info. This info is shown as a "banner" overlaid across the top of contact photo. - --> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/primary_call_banner" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:paddingStart="@dimen/call_banner_side_padding" - android:paddingEnd="@dimen/call_banner_side_padding" - android:clipChildren="false" - android:clipToPadding="false" - android:gravity="center"> - - <LinearLayout android:id="@+id/callSubjectLayout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:clipChildren="false" - android:clipToPadding="false"> - - <TextView android:id="@+id/callSubject" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="@color/incall_call_banner_background_color" - android:textSize="@dimen/call_label_text_size" - android:background="@drawable/subject_bubble" - android:maxLines="2" - android:ellipsize="end" - android:singleLine="false" - android:visibility="gone" /> - </LinearLayout> - - <LinearLayout android:id="@+id/callStateButton" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:clipChildren="false" - android:clipToPadding="false"> - - <ImageView android:id="@+id/workProfileIcon" - android:src="@drawable/ic_work_profile" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:layout_marginEnd="8dp" - android:baselineAlignBottom="true" - android:tint="@color/incall_accent_color" - android:scaleType="center" - android:visibility="gone" /> - - <!-- Subscription provider or WiFi calling icon displayed to the left of the label --> - <ImageView android:id="@+id/callStateIcon" - android:layout_width="24dp" - android:layout_height="match_parent" - android:layout_marginEnd="10dp" - android:tint="@color/incall_accent_color" - android:alpha="0.0" - android:scaleType="fitCenter" - android:visibility="gone" /> - - <ImageView android:id="@+id/videoCallIcon" - android:src="@drawable/ic_toolbar_video" - android:layout_width="16dp" - android:layout_height="match_parent" - android:layout_marginEnd="16dp" - android:baselineAlignBottom="true" - android:tint="@color/incall_accent_color" - android:scaleType="center" - android:visibility="gone" /> - - <com.android.phone.common.widget.ResizingTextTextView - xmlns:ex="http://schemas.android.com/apk/res-auto" - android:id="@+id/callStateLabel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceLarge" - android:textColor="@color/incall_accent_color" - android:textSize="@dimen/call_status_text_size" - android:alpha="0.7" - android:singleLine="true" - android:gravity="start" - android:ellipsize="end" - ex:resizing_text_min_size="@dimen/call_status_text_min_size" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal"> - - <!-- Name (or the phone number, if we don't have a name to display). --> - <com.android.phone.common.widget.ResizingTextTextView - xmlns:ex="http://schemas.android.com/apk/res-auto" - android:id="@+id/name" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:layout_marginTop="-5dp" - android:fontFamily="sans-serif-light" - android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceLarge" - android:textSize="@dimen/call_name_text_size" - android:singleLine="true" - ex:resizing_text_min_size="@dimen/call_name_text_min_size" /> - - <!-- Contact photo for primary call info --> - <ImageView android:id="@+id/photoSmall" - android:layout_width="@dimen/contact_context_small_photo_size" - android:layout_height="@dimen/contact_context_small_photo_size" - android:layout_centerVertical="true" - android:layout_alignParentEnd="true" - android:scaleType="centerCrop" - android:importantForAccessibility="no" - android:src="@drawable/img_no_image_automirrored" /> - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:clipChildren="false" - android:clipToPadding="false"> - - <ImageView android:id="@+id/hdAudioIcon" - android:src="@drawable/ic_hd_24dp" - android:layout_width="24dp" - android:layout_height="match_parent" - android:layout_marginEnd="8dp" - android:tint="@color/incall_call_banner_subtext_color" - android:scaleType="fitCenter" - android:visibility="gone" /> - - <ImageView android:id="@+id/forwardIcon" - android:src="@drawable/ic_forward_white_24dp" - android:layout_width="24dp" - android:layout_height="match_parent" - android:layout_marginEnd="8dp" - android:tint="@color/incall_call_banner_subtext_color" - android:scaleType="fitCenter" - android:visibility="gone" /> - - <ImageView android:id="@+id/spamIcon" - android:src="@drawable/ic_report_24dp" - android:layout_width="24dp" - android:layout_height="match_parent" - android:layout_marginEnd="8dp" - android:scaleType="fitCenter" - android:visibility="gone" /> - - <!-- Label (like "Mobile" or "Work", if present) and phone number, side by side --> - <LinearLayout android:id="@+id/labelAndNumber" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="1" - android:orientation="horizontal"> - - <TextView android:id="@+id/label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="@color/incall_call_banner_subtext_color" - android:textSize="@dimen/call_label_text_size" - android:singleLine="true" - android:textDirection="ltr" - android:visibility="gone" /> - - <TextView android:id="@+id/phoneNumber" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="1" - android:layout_marginStart="6dp" - android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="@color/incall_call_banner_subtext_color" - android:textSize="@dimen/call_label_text_size" - android:singleLine="false" - android:visibility="gone" /> - - </LinearLayout> - - <!-- Elapsed time indication for a call in progress. --> - <TextView android:id="@+id/elapsedTime" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:textAlignment="viewEnd" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="@color/incall_call_banner_subtext_color" - android:textSize="@dimen/call_label_text_size" - android:singleLine="true" - android:visibility="gone" /> - - </LinearLayout> - - <!-- Call type indication: a special label and/or branding - for certain kinds of calls (like "SIP call" for a SIP call.) --> - <TextView android:id="@+id/callTypeLabel" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="@color/incall_call_banner_text_color" - android:maxLines="1" - android:ellipsize="end" - android:visibility="gone" /> - -</LinearLayout> <!-- End of call_banner --> diff --git a/InCallUI/res/layout/secondary_call_info.xml b/InCallUI/res/layout/secondary_call_info.xml deleted file mode 100644 index e866795a6..000000000 --- a/InCallUI/res/layout/secondary_call_info.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?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. ---> - -<!-- XML resource file for secondary call info, which will be used by CallCard. --> - -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/secondary_call_info" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:background="@color/incall_banner_secondary_background_color" - android:visibility="gone"> - - <Space android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/secondary_call_info_divider_highlight_color" /> - - <!-- This LinearLayout nested immediately in a FrameLayout is necessary to apply both a - background color and ripple to the button. --> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="horizontal" - android:paddingStart="@dimen/secondary_call_info_horizontal_padding" - android:paddingEnd="@dimen/secondary_call_info_horizontal_padding" - android:paddingTop="@dimen/secondary_call_info_vertical_padding" - android:paddingBottom="@dimen/secondary_call_info_vertical_padding" - android:background="?android:attr/selectableItemBackground"> - - <ImageView android:id="@+id/secondaryCallVideoCallIcon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:src="@drawable/ic_toolbar_video" - android:tint="@color/incall_banner_secondary_text_color" - android:paddingEnd="16dp"/> - - <ImageView android:id="@+id/secondaryCallConferenceCallIcon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:src="@drawable/ic_group_white_24dp" - android:tint="@color/incall_banner_secondary_text_color" - android:paddingEnd="16dp"/> - - <LinearLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:orientation="vertical"> - - <!-- Name (or the phone number, if we don't have a name to display). --> - <TextView android:id="@+id/secondaryCallName" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:textAlignment="viewStart" - android:ellipsize="marquee" - android:singleLine="true"/> - - <!-- Provider, e.g. AT&T, that a call is associated with --> - <LinearLayout android:id="@+id/secondary_call_provider_info" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="gone" > - - <TextView android:id="@+id/secondaryCallProviderLabel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:textAlignment="viewStart" - android:singleLine="true"/> - - </LinearLayout> - - </LinearLayout> - - <!-- Call status of the background call, usually the string "On hold". --> - <TextView android:id="@+id/secondaryCallStatus" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingEnd="18dp" - android:text="@string/onHold" - android:textColor="@color/incall_banner_secondary_text_color" - android:textSize="@dimen/secondary_call_info_text_size" - android:singleLine="true" /> - - </LinearLayout> - -</FrameLayout> diff --git a/InCallUI/res/layout/video_call_fragment.xml b/InCallUI/res/layout/video_call_fragment.xml deleted file mode 100644 index d5e11ef4a..000000000 --- a/InCallUI/res/layout/video_call_fragment.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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" - android:layout_width="match_parent" - android:layout_height="match_parent" > - - <ViewStub - android:id="@+id/videoCallViewsStub" - android:inflatedId="@+id/videoCallViews" - android:layout="@layout/video_call_views" - android:layout_width="match_parent" - android:layout_height="match_parent" /> -</FrameLayout>
\ No newline at end of file diff --git a/InCallUI/res/layout/video_call_views.xml b/InCallUI/res/layout/video_call_views.xml deleted file mode 100644 index d514f6df1..000000000 --- a/InCallUI/res/layout/video_call_views.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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" - android:layout_width="match_parent" - android:layout_height="match_parent" > - - <TextureView - android:id="@+id/incomingVideo" - android:layout_gravity="center" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - <!-- The width and height are replaced at runtime based on the selected camera. --> - <FrameLayout - android:id="@+id/previewVideoContainer" - android:layout_width="70dp" - android:layout_height="0dp" - android:layout_gravity="bottom|right" - android:layout_margin="@dimen/video_preview_margin" > - - <!-- The video preview surface, where the user's outgoing video is shown. --> - <TextureView - android:id="@+id/previewVideo" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <!-- The user's profile photo, shown when the user's camera is shut off. --> - <ImageView - android:id="@+id/previewProfilePhoto" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="centerInside" - android:adjustViewBounds="false" - android:contentDescription="@string/profile_photo_description" - android:background="@android:color/black" - android:visibility="gone" /> - - <!-- The "camera off" icon, shown when the user's camera is shut off. --> - <ImageView - android:id="@+id/previewCameraOff" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom|right" - android:layout_marginEnd="10dp" - android:layout_marginBottom="10dp" - android:scaleType="centerCrop" - android:contentDescription="@string/camera_off_description" - android:src="@drawable/ic_toolbar_video_off" - android:visibility="gone" /> - </FrameLayout> -</FrameLayout> diff --git a/InCallUI/res/menu/incall_audio_mode_menu.xml b/InCallUI/res/menu/incall_audio_mode_menu.xml deleted file mode 100644 index 070c1813a..000000000 --- a/InCallUI/res/menu/incall_audio_mode_menu.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 Google Inc. - - 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. ---> - -<!-- "Audio mode" popup menu for the in-call UI. --> -<menu xmlns:android="http://schemas.android.com/apk/res/android"> - <!-- TODO: Need final icon assets. Also, PopupMenu currently ignores the - android:icon attribute anyway(!) --> - <item android:id="@+id/audio_mode_speaker" - android:icon="@drawable/ic_toolbar_speaker_on" - android:title="@string/audio_mode_speaker" /> - - <!-- We display *either* "earpiece" or "wired headset", never both, - depending on whether a wired headset is physically plugged in - (see InCallTouchUi.showAudioModePopup().) --> - <item android:id="@+id/audio_mode_earpiece" - android:icon="@drawable/ic_toolbar_audio_phone" - android:title="@string/audio_mode_earpiece" /> - - <item android:id="@+id/audio_mode_wired_headset" - android:icon="@drawable/ic_toolbar_audio_headphones" - android:title="@string/audio_mode_wired_headset" /> - - <item android:id="@+id/audio_mode_bluetooth" - android:icon="@drawable/ic_toolbar_audio_bluetooth" - android:title="@string/audio_mode_bluetooth" /> -</menu> diff --git a/InCallUI/res/values-af/strings.xml b/InCallUI/res/values-af/strings.xml deleted file mode 100644 index 181ffce66..000000000 --- a/InCallUI/res/values-af/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Foon"</string> - <string name="onHold" msgid="527593602772521700">"Hou aan"</string> - <string name="unknown" msgid="3646075119047488748">"Onbekend"</string> - <string name="private_num" msgid="6081418498487514686">"Privaat nommer"</string> - <string name="payphone" msgid="5743050584468748607">"Telefoonhokkie"</string> - <string name="confCall" msgid="3181961445236675173">"Konferensie-oproep"</string> - <string name="call_lost" msgid="8208184291640961172">"Oproep is ontkoppel"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Luidspreker"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Selfoonoorfoon"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Bedraade kopfoon"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Stuur die volgende luitone?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Stuur luitone\n"</string> - <string name="send_button" msgid="4054398309483035794">"Stuur"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ja"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nee"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Vervang die plekhouerkarakter met"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferensie-oproep <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Stemboodskapnommer"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Bel"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Bel tans weer"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferensie-oproep"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Inkomende oproep"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Inkomende werkoproep"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Oproep beëindig"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Hou aan"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Lui af"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"In oproep"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"My nommer is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Koppel tans video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video-oproep"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Versoek tans video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Kan nie video-oproep koppel nie"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videoversoek is verwerp"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Jou terugbelnommer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Jou noodterugbelnommer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Bel"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Gemiste oproep"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Gemiste oproepe"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> gemiste oproepe"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Gemiste oproep vanaf <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Voortdurende oproep"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Voortdurende werkoproep"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Voortdurende Wi-Fi-oproep"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Voortdurende Wi-Fi-werkoproep"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Hou aan"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Inkomende oproep"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Inkomende werkoproep"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Inkomende Wi-Fi-oproep"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Inkomende Wi-Fi-werkoproep"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Inkomende video-oproep"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Inkomende verdagte strooipos-oproep"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Inkomende videoversoek"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nuwe stemboodskap"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nuwe stemboodskap (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Bel <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Stemboodskapnommer is onbekend"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Geen diens nie"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Gekose netwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) is nie beskikbaar nie"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Antwoord"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Lui af"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Stem"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aanvaar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Maak toe"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Bel terug"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Boodskap"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Voortgesette oproep op \'n ander toestel"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Sit oproep deur"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Skakel vliegtuigmodus eers af om \'n oproep te maak."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nie geregistreer op netwerk nie."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Sellulêre netwerk is nie beskikbaar nie."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Voer \'n geldige nommer in om \'n oproep te maak."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Kan nie bel nie."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Begin tans MMI-volgorde …"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Diens word nie gesteun nie."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Kan nie oproepe wissel nie."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Kan nie oproep skei nie."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Kan nie deurskakel nie."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Kan nie konferensie-oproep maak nie."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Kan nie oproep weier nie."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Kan nie oproep(e) vrystel nie."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-oproep"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Noodoproep"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Skakel tans radio aan …"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Geen sein nie. Probeer tans weer …"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Kan nie bel nie. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is nie \'n noodnommer nie."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Kan nie bel nie. Bel \'n noodnommer."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Gebruik sleutelbord om te bel"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Hou oproep"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Hervat oproep"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Beëindig oproep"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Wys belblad"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Versteek belblad"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Demp"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Ontdemp"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Voeg oproep by"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Smelt oproepe saam"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Ruil"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Bestuur oproepe"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Bestuur konferensie-oproep"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferensie-oproep"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Bestuur"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Oudio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video-oproep"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Verander na stemoproep"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Wissel kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Skakel kamera aan"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Skakel kamera af"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Nog opsies"</string> - <string name="player_started" msgid="3478865572468310331">"Speler het begin"</string> - <string name="player_stopped" msgid="1278611664986561535">"Speler het gestop"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera is nie gereed nie"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera is gereed"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Onbekende oproepsessiegebeurtenis"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Diens"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Opstelling"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nie gestel nie>"</string> - <string name="other_settings" msgid="6699076019841942826">"Ander oproepinstellings"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Bel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Inkomend via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontakfoto"</string> - <string name="goPrivate" msgid="3554069451018659483">"gaan privaat"</string> - <string name="selectContact" msgid="92191462970821951">"kies kontak"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Skryf jou eie …"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Kanselleer"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Stuur"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Antwoord"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Stuur SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Weier"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Antwoord as video-oproep"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Antwoord as oudio-oproep"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Aanvaar videoversoek"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Weier videoversoek"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Aanvaar videoversendversoek"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Weier videoversendversoek"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Aanvaar video-ontvangversoek"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Weier video-ontvangversoek"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Gly op vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Gly links vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Gly regs vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Gly af vir <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibreer"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibreer"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Klank"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Verstekklank (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Foonluitoon"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibreer wanneer dit lui"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Luitoon en vibreer"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Bestuur konferensie-oproep"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Noodnommer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profielfoto"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera is af"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota is gestuur"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Onlangse boodskappe"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Besigheidinligting"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> myl ver"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km ver"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Maak môre om <xliff:g id="OPEN_TIME">%s</xliff:g> oop"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Maak vandag om <xliff:g id="OPEN_TIME">%s</xliff:g> oop"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Maak om <xliff:g id="CLOSE_TIME">%s</xliff:g> toe"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Het vandag om <xliff:g id="CLOSE_TIME">%s</xliff:g> toegemaak"</string> - <string name="open_now" msgid="4615706338669555999">"Nou oop"</string> - <string name="closed_now" msgid="2635314668145282080">"Nou gesluit"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Verdagte strooiposbeller"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Oproep het geëindig %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Dit is die eerste keer wat hierdie nommer jou bel."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Ons vermoed dat hierdie oproep strooipos was."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokkeer/gee strooipos aan"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Voeg kontak by"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nie strooipos nie"</string> -</resources> diff --git a/InCallUI/res/values-am/strings.xml b/InCallUI/res/values-am/strings.xml deleted file mode 100644 index 99516cfec..000000000 --- a/InCallUI/res/values-am/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ስልክ"</string> - <string name="onHold" msgid="527593602772521700">"ያዝና ቆይ"</string> - <string name="unknown" msgid="3646075119047488748">"ያልታወቀ"</string> - <string name="private_num" msgid="6081418498487514686">"የግል ቁጥር"</string> - <string name="payphone" msgid="5743050584468748607">"የሕዝብ ስልክ"</string> - <string name="confCall" msgid="3181961445236675173">"የስብሰባ ጥሪ"</string> - <string name="call_lost" msgid="8208184291640961172">"ጥሪው ተቋርጧል"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ድምፅ ማጉያ"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"የስልክ ጆሮ ማዳመጫ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"ባለ ገመድ የጆሮ ማዳመጫ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ብሉቱዝ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"የሚከተሉትን የጥሪ ድምፆች ላክ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"የጥሪ ድምፆች በመላክ ላይ \n"</string> - <string name="send_button" msgid="4054398309483035794">"ላክ"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"አዎ"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"አይ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"የልቅ ምልክት ተካ በ"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"የስብሰባ ጥሪ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"የድምፅ መልእክት ቁጥር"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"በመደወል ላይ"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ዳግም በመደወል ላይ"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"የስብሰባ ጥሪ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ገቢ ጥሪ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ገቢ የሥራ ጥሪ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ጥሪ አብቅቷል"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ያዝና ቆይ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"በመዝጋት ላይ"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"ጥሪ ላይ"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"ቁጥሬ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ነው"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ቪድዮ በማገናኘት ላይ"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"የቪዲዮ ጥሪ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ቪድዮ በመጠየቅ ላይ"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"የቪዲዮ ጥሪን ማገናኘት አይቻልም"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"የቪዲዮ ጥያቄ ውድቅ ተደርጓል"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"የእርስዎ የመልሶ መደወያ ቁጥር\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"የእርስዎ የድንገተኛ አደጋ መልሶ መደወያ ቁጥር\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"በመደወል ላይ"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"ያመለጠ ጥሪ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"ያመለጡ ጥሪዎች"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ያመለጡ ጥሪዎች"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"ያልተመለሰ ጥሪ ከ<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"በሂደት ላይ ያለ ጥሪ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"በሂደት ላይ ያለ የሥራ ጥሪ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"በሂደት ላይ ያለ የWi-Fi ጥሪ"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"በሂደት ላይ ያለ የWi-Fi የሥራ ጥሪ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ያዝና ቆይ"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ገቢ ጥሪ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ገቢ የሥራ ጥሪ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ገቢ የWi-Fi ጥሪ"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ገቢ የWi-Fi የሥራ ጥሪ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ገቢ የቪዲዮ ጥሪ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"መጪ የተጠረጠረ የአይፈለጌ መልዕክት ጥሪ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ገቢ የቪዲዮ ጥያቄ"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"አዲስ የድምፅ መልእክት"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"አዲስ የድምፅ መልእክት (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"ደውል <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"የማይታወቅ የድምፅ መልእክት ቁጥር"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"ምንም አገልግሎት የለም"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"የተመረጠ አውታረመረብ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) አይገኝም"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"መልስ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"ዝጋ"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ቪዲዮ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ድምፅ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ተቀበል"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"አስወግድ"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"መልሰህ ደውል"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"መልእክት"</string> - <string name="notification_external_call" msgid="5611236780302924816">"በሌላ መሳሪያ ጥሪ በመካሄድ ላይ ነው"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ጥሪ አስተላልፍ"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ለመደወል፣ መጀመሪያ የአውሮፕላኑን ሁኔታ ያጥፉ።"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"በአውታረ መረቡ ላይ አልተመዘገበም።"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም።"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"አንድ ጥሪ ለማድረግ የሚሠራ ቁጥር ያስገቡ።"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"መደወል አይቻልም።"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"የMMI ቅደመ ተከተል በማስጀመር ላይ…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"አገልግሎት አይደገፍም።"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ጥሪዎችን መቀያየር አይቻልም።"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ጥሪን መለየት አይቻልም።"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ማስተላለፍ አይቻልም።"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"የጉባዔ ጥሪ ማድረግ አይቻልም።"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ጥሪውን መዝጋት አይቻልም።"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ጥሪ(ዎች)ን መልቀቅ አይቻልም።"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"የSIP ጥሪ"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"የአስቸኳይ ጊዜ ጥሪ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ሬዲዮ በማብራት ላይ…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"ምንም አገልግሎት የለም። ዳግም በመሞከር ላይ…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"መደወል አይቻልም። <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> የአስቸኳይ አደጋ ቁጥር አይደለም።"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"መደወል አይቻልም። ወደ የአስቸኳይ አደጋ ቁጥር ይደውሉ።"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ለመደወል የሰሌዳ ቁልፍ ተጠቀም"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"ጥሪ አቆይ"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ጥሪ ቀጥል"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ጥሪ ጨርስ"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"የመደወያ ሰሌዳ አሳይ"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"የመደወያ ሰሌዳ ደብቅ"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ድምፅ-ከል አድርግ"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ድምፅ አታጥፋ"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ጥሪ ያክሉ"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ጥሪዎችን አዋህድ"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"በውዝ"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ጥሪዎችን አደራጅ"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"የስብሰባ ስልክ ጥሪ አደራጅ"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"የስብሰባ ጥሪ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"ያስተዳድሩ"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ኦዲዮ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"የቪዲዮ ጥሪ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ወደ ድምፅ ጥሪ ይለውጡ"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ካሜራ ቀይር"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ካሜራ ያብሩ"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ካሜራ ያጥፉ"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"ተጨማሪ አማራጮች"</string> - <string name="player_started" msgid="3478865572468310331">"አጫዋች ጀምሯል"</string> - <string name="player_stopped" msgid="1278611664986561535">"አጫዋች ቆሟል"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ካሜራ ዝግጁ አይደለም"</string> - <string name="camera_ready" msgid="2614541247814590887">"ካሜራ ዝግጁ ነው"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"ያልታወቀ የጥሪ ክፍለጊዜ ክስተት"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"አገልግሎት"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"አዋቅር"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<አልተዘጋጀም>"</string> - <string name="other_settings" msgid="6699076019841942826">"ሌሎች የጥሪ ቅንብሮች"</string> - <string name="calling_via_template" msgid="3539373093109976255">"በ<xliff:g id="PROVIDER_NAME">%s</xliff:g> በኩል በመደወል ላይ"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"በ<xliff:g id="PROVIDER_NAME">%s</xliff:g> በኩል የመጣ"</string> - <string name="contactPhoto" msgid="6028825355597675193">"የዕውቂያ ፎቶ"</string> - <string name="goPrivate" msgid="3554069451018659483">"ወደ ግላዊነት ሂድ"</string> - <string name="selectContact" msgid="92191462970821951">"ዕውቂያ ይምረጡ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"የእራስዎን ይጻፉ..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"ተወው"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ላክ"</string> - <string name="description_target_answer" msgid="1111945818996518320">"መልስ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"ኤስኤምኤስ ላክ"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ውድቅ አድርግ"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"እንደ ቪድዮ ጥሪ ይመልሱ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"እንደ ድምፅ ጥሪ ይመልሱ"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"የቪዲዮ ጥያቄ ተቀበል"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"የቪዲዮ ጥያቄ ውድቅ አድርግ"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"የቪዲዮ አስተላልፍ ጥያቄን ተቀበል"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"የቪዲዮ አስተላልፍ ጥያቄን ውድቅ አድርግ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"የቪዲዮ ተቀበል ጥያቄን ተቀበል"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"የቪዲዮ ተቀበል ጥያቄን ውድቅ አድርግ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ላይ ያንሸራትቱ።"</string> - <string name="description_direction_left" msgid="6811598791620851239">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ግራ ያንሸራትቱ።"</string> - <string name="description_direction_right" msgid="5461971399586296023">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ቀኝ ያንሸራትቱ።"</string> - <string name="description_direction_down" msgid="3331715227997561639">"ለ<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ወደ ታች ያንሸራትቱ።"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ንዘር"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ንዘር"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ድምፅ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ነባሪ ድምፅ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"የስልክ ጥሪ ቅላጼ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"በሚደወልበት ጊዜ ንዘር"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"የጥሪ ቅላጼ እና ንዘረት"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"የስብሰባ ስልክ ጥሪ አደራጅ"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"የአደጋ ጊዜ ቁጥር"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"የመገለጫ ፎቶ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ካሜራ ጠፍቷል"</string> - <string name="child_number" msgid="4469090994612105532">"በ<xliff:g id="CHILD_NUMBER">%s</xliff:g> በኩል"</string> - <string name="note_sent" msgid="7623014827902758398">"ማስታወሻ ተልኳል"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"የቅርብ ጊዜ መልእክቶች"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"የንግድ መረጃ"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> ማይል ርቀት ላይ"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> ኪሜ ርቀት ላይ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>፣ <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>፣ <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"ነገ <xliff:g id="OPEN_TIME">%s</xliff:g> ላይ ይከፈታል"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ዛሬ <xliff:g id="OPEN_TIME">%s</xliff:g> ላይ ይከፈታል"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> ላይ ይዘጋል"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ዛሬ <xliff:g id="CLOSE_TIME">%s</xliff:g> ላይ ተዘግቷል"</string> - <string name="open_now" msgid="4615706338669555999">"አሁን ክፍት ነው"</string> - <string name="closed_now" msgid="2635314668145282080">"አሁን ዝግ ነው"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"የተጠረጠረ አይፈለጌ ጠሪ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ጥሪው አብቅቷል %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ይህ ቁጥር ለእርስዎ ሲደውል ይህ የመጀመሪያው ነው።"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ይህ ቁጥር አይፈለጌ ላኪ ነው ብለን እንገምታለን።"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"አይፈለጌ አግድ/ሪፖርት አድርግ"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"እውቂያ ያክሉ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"አይፈለጌ አይደለም"</string> -</resources> diff --git a/InCallUI/res/values-ar/strings.xml b/InCallUI/res/values-ar/strings.xml deleted file mode 100644 index e89f026b6..000000000 --- a/InCallUI/res/values-ar/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"الهاتف"</string> - <string name="onHold" msgid="527593602772521700">"معلقة"</string> - <string name="unknown" msgid="3646075119047488748">"غير معروف"</string> - <string name="private_num" msgid="6081418498487514686">"رقم خاص"</string> - <string name="payphone" msgid="5743050584468748607">"هاتف بالعملة"</string> - <string name="confCall" msgid="3181961445236675173">"مكالمة جماعية"</string> - <string name="call_lost" msgid="8208184291640961172">"تم قطع المكالمة"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"السماعة"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"سماعة الأذن للهاتف"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"سماعة رأس سلكية"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"بلوتوث"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"هل تريد إرسال النغمات التالية؟\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"إرسال النغمات\n"</string> - <string name="send_button" msgid="4054398309483035794">"إرسال"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"نعم"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"لا"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"استبدال حرف البدل بـ"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"مكالمة جماعية <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"رقم البريد الصوتي"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"جارٍ الطلب"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"جارٍ إعادة الطلب"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"مكالمة جماعية"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"مكالمة واردة"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"مكالمة عمل واردة"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"تم إنهاء الاتصال"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"معلقة"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"جارٍ وقف المكالمة"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"بصدد مكالمة"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"رقمي <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"جارٍ الاتصال بالفيديو"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"مكالمة فيديو"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"جارٍ طلب الفيديو"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"يتعذر الاتصال بمكالمة فيديو"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"تم رفض طلب الفيديو"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"رقم معاودة الاتصال\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"رقم معاودة اتصال الطوارئ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"جارٍ الطلب"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"مكالمة فائتة"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"المكالمات الفائتة"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> من المكالمات الفائتة"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"مكالمة فائتة من <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"مكالمة حالية"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"مكالمة عمل جارية"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"مكالمة جارية عبر Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"مكالمة عمل جارية عبر Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"معلقة"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"مكالمة واردة"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"مكالمة عمل واردة"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"مكالمة واردة عبر Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"مكالمة عمل واردة عبر اتصال Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"مكالمة فيديو واردة"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"مكالمة واردة يشتبه في كونها غير مرغوب فيها"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"طلب فيديو وارد"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"بريد صوتي جديد"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"بريد صوتي جديد (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"طلب <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"رقم البريد الصوتي غير معروف"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"لا تتوفر خدمة"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"الشبكة المحددة (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) غير متاحة"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"رد"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"قطع الاتصال"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"فيديو"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"صوت"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"قبول"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"تجاهل"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"معاودة الاتصال"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"رسالة"</string> - <string name="notification_external_call" msgid="5611236780302924816">"مكالمة جارية على جهاز آخر"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"تحويل الاتصال"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"لإجراء مكالمة، أوقف تشغيل وضع الطائرة أولاً."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"غير مسجل على الشبكة."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"شبكة الجوّال غير متاحة."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"لإجراء مكالمة، أدخل رقمًا صالحًا."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"يتعذر الاتصال."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"جارٍ بدء تسلسل MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"الخدمة ليست متوفرة."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"يتعذر تبديل المكالمات."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"يتعذر فصل المكالمة."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"يتعذر النقل."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"يتعذر إجراء مكالمة جماعية."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"يتعذر رفض المكالمة."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"يتعذر تحرير المكالمات."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"مكالمة SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"مكالمة طوارئ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"جارٍ تشغيل اللاسلكي..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"لا تتوفر خدمة. جارٍ إعادة المحاولة…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"يتعذر الاتصال. لا يعد <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> رقم طوارئ."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"يتعذر الاتصال. يمكنك طلب رقم طوارئ"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"استخدام لوحة المفاتيح للطلب"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"تعليق المكالمة"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"استئناف المكالمة"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"إنهاء المكالمة"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"عرض لوحة الاتصال"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"إخفاء لوحة الاتصال"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"تجاهل"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"إلغاء التجاهل"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"إضافة مكالمة"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"دمج المكالمات"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"تبديل"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"إدارة المكالمات"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"إدارة مكالمة جماعية"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"مكالمة جماعية"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"إدارة"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"صوت"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"مكالمة فيديو"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"التغيير إلى مكالمة صوتية"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"تبديل الكاميرا"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"تشغيل الكاميرا"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"إيقاف الكاميرا"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"خيارات أخرى"</string> - <string name="player_started" msgid="3478865572468310331">"تم بدء المشغّل"</string> - <string name="player_stopped" msgid="1278611664986561535">"تم إيقاف المشغّل"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"الكاميرا غير جاهزة"</string> - <string name="camera_ready" msgid="2614541247814590887">"الكاميرا جاهزة"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"حدث جلسة اتصال غير معروف"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"الخدمة"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"الإعداد"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<لم يتم التعيين>"</string> - <string name="other_settings" msgid="6699076019841942826">"إعدادات الاتصال الأخرى"</string> - <string name="calling_via_template" msgid="3539373093109976255">"الاتصال عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"واردة عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"صورة جهة الاتصال"</string> - <string name="goPrivate" msgid="3554069451018659483">"انتقال إلى مكالمة خاصة"</string> - <string name="selectContact" msgid="92191462970821951">"تحديد جهة اتصال"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"اكتب ردك…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"إلغاء"</string> - <string name="custom_message_send" msgid="3798076337006735995">"إرسال"</string> - <string name="description_target_answer" msgid="1111945818996518320">"الرد"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"إرسال رسالة قصيرة SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"الرفض"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"الرد بمكالمة فيديو"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"الرد بمكالمة صوتية"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"قبول طلب الفيديو"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"رفض طلب الفيديو"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"قبول طلب بث الفيديو"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"رفض طلب بث الفيديو"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"قبول طلب استلام مكالمة الفيديو"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"رفض طلب استلام مكالمة الفيديو"</string> - <string name="description_direction_up" msgid="1735018141439291766">"تمرير لأعلى لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"تمرير لليسار لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"تمرير لليمين لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"تمرير لأسفل لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"اهتزاز"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"اهتزاز"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"الصوت"</string> - <string name="default_notification_description" msgid="4950807644546509965">"الصوت الافتراضي (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"نغمة رنين الهاتف"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"اهتزاز عند الرنين"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"نغمة الرنين والاهتزاز"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"إدارة مكالمة جماعية"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"رقم الطوارئ"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"صورة الملف الشخصي"</string> - <string name="camera_off_description" msgid="4220023868645225790">"تم إيقاف الكاميرا"</string> - <string name="child_number" msgid="4469090994612105532">"عبر <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"تم إرسال الملاحظة"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"الرسائل الأخيرة"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"معلومات النشاط التجاري"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"على بُعد <xliff:g id="DISTANCE">%.1f</xliff:g> ميل"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"على بُعد <xliff:g id="DISTANCE">%.1f</xliff:g> كم"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>، <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>، <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"مفتوح غدًا في <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"مفتوح اليوم في <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"مغلق في <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"مغلق اليوم في <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"مفتوح الآن"</string> - <string name="closed_now" msgid="2635314668145282080">"مغلق الآن"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"اشتباه في متصل غير مرغوب فيه"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"المكالمة انتهت %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"هذه هي المرة الأولى التي تتلقى فيها اتصالاً من هذا الرقم."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"لدينا شك أن هذه المكالمة واردة من متصل غير مرغوب فيه."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"حظر/إبلاغ عن رقم غير مرغوب فيه"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"إضافة جهة اتصال"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"ليس رقمًا غير مرغوب فيه"</string> -</resources> diff --git a/InCallUI/res/values-az/strings.xml b/InCallUI/res/values-az/strings.xml deleted file mode 100644 index 4bb9652b9..000000000 --- a/InCallUI/res/values-az/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Gözləmə mövqeyində"</string> - <string name="unknown" msgid="3646075119047488748">"Naməlum"</string> - <string name="private_num" msgid="6081418498487514686">"Şəxsi nömrə"</string> - <string name="payphone" msgid="5743050584468748607">"Taksofon"</string> - <string name="confCall" msgid="3181961445236675173">"Konfrans zəngi"</string> - <string name="call_lost" msgid="8208184291640961172">"Zəng bitdi"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Dinamik"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Dəstək qulaqlığı"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Simli qulaqlıq"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Aşağıdakı tonlar göndərilsin?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Tonlar göndərilir\n"</string> - <string name="send_button" msgid="4054398309483035794">"Göndər"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Bəli"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Xeyr"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Joker simvolları əvəz edin"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konfrans zəngi <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Səsli poçt nömrəsi"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Nömrə yığılır"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Yenidən yığır"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konfrans zəngi"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Gələn zəng"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Daxil olan iş çağrısı"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Zəng sona çatdı"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Gözləmə mövqeyində"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Dəstək asılır"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Çağrıda"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mənim nömrəm <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Video qoşulur"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video zəng"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Video sorğusu göndərilir"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Video zəngə qoşulmaq mümkün deyil"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video sorğusu rədd edildi"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Cavab zəngi nömrəniz\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Təcili cavab zəngi nömrəniz\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Nömrə yığılır"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Buraxılmış zəng"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Buraxılmış zənglər"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> buraxılmış zənglər"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> tərəfindən zəng buraxılıb"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Davam edən çağrı"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Davam edən iş çağrısı"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Davam edən Wi-Fi zəngi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Davam edən Wi-Fi iş çağrısı"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Gözləmə mövqeyində"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Gələn zəng"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Daxil olan iş çağrısı"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Gələn Wi-Fi zəngi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Daxil olan Wi-Fi iş çağrısı"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Gələn video zəng"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Şübhəli spam zəngi"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Gələn video çağrı"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Yeni səsli poçt"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Yeni səsli poçt (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Yığın <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Səsli poçt nömrəsi naməlumdur"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Xidmət yoxdur"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Seçilmiş (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) şəbəkə əlçatmazdır"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Cavab"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Dəstəyi qoyun"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videolar"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Səs"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Qəbul edin"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Rədd edin"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Geriyə zəng"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mesaj"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Digər cihazda davam etməkdə olan zəng"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Zəngi Transfer edin"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Zəng etmək üçün ilk olaraq Uçuş Rejimini söndürün."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Şəbəkədə qeydə alınmayıb."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobil şəbəkə əlçatan deyil"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Zəngi yerləşdirmək üçün düzgün nömrə daxil edin."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Zəng etmək mümkün deyil."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI başlanma ardıcıllığı…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Xidmət dəstəklənmir."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Zəngləri keçirmək mümkün deyil."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Zəngi ayırmaq mümkün deyil."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Ötürmək mümkün deyil."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konfrans keçirmək mümkün deyil."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Zəngi rədd etmək mümkün deyil."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Zəngləri buraxmaq mümkün deyil."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP çağrısıs"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Təcili zəng"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Radio yandırılır ..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Xidmət yoxdur. Yenidən cəhd edilir…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Zəng etmək mümkün deyil. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> fövqəladə nömrə deyil."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Zəng etmək mümkün deyil. Fövqəladə nömrəni yı"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Nömrə yığmaq üçün klaviaturadan istifadə ediin"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Zəngi gözlədin"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Zəngə davam edin"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Zəngi bitirin"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Yığım düymələrini göstərin"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Yığım düymələrini gizlədin"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Susdurun"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Susdurmayın"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Zəng əlavə edin"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Zəngləri birləşdirin"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Dəyişdirin"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Zəngləri idarə edin"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Konfrans çağrısını idarə edin"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konfrans zəngi"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"İdarə edin"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video zəng"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Səsli çağrıya dəyişin"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kameraya keçin"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kameranı yandırın"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kameranı söndürün"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Daha çox seçim"</string> - <string name="player_started" msgid="3478865572468310331">"Pleyer Başladıldı"</string> - <string name="player_stopped" msgid="1278611664986561535">"Pleyer Dayandırıldı"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera hazır deyil"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera hazırdır"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Naməlum zəng sessiyası"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Xidmət"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Quraşdırma"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Təyin edilməyib>"</string> - <string name="other_settings" msgid="6699076019841942826">"Digər zəng parametrləri"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> vasitəsi ilə zəng edilir"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> vasitəsilə gələn"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontakt fotosu"</string> - <string name="goPrivate" msgid="3554069451018659483">"şəxsi rejimə keçin"</string> - <string name="selectContact" msgid="92191462970821951">"kontakt seçin"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Özünüzünkünü yazın"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Ləğv edin"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Göndər"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Cavab"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS göndərin"</string> - <string name="description_target_decline" msgid="7108154434759234035">"İmtina edin"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Video çağrı olaraq cavab verin"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Audio çağrı olaraq cavab verin"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Video sorğusunu qəbul edin"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Video sorğusunu ləğv edin"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Video ötürmə sorğusunu qəbul edin"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Video ötürmə sorğusunu ləğv edin"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Video qəbuletmə sorğusunu qəbul edin"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Video qəbuletmə sorğusunu ləğv edin"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün yuxarı sürüşdürün."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün sola sürüşdürün."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün sağa sürüşdürün."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün aşağı sürüşdürün."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrasiya"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrasiya"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Səs"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Defolt səs (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefon zəng səsi"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Zəng çalanda vibrasiya olsun"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Zəng səsi & Vibrasiya"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Konfrans çağrısını idarə edin"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Təcili nömrə"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profil fotosu"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera deaktivdir"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> vasitəsilə"</string> - <string name="note_sent" msgid="7623014827902758398">"Qeyd göndərildi"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Son mesajlar"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Biznes məlumatı"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mil uzaqlıqda"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km uzaqlıqda"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Sabah saat <xliff:g id="OPEN_TIME">%s</xliff:g> açılır"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Bu gün saat <xliff:g id="OPEN_TIME">%s</xliff:g> açılır"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Saat <xliff:g id="CLOSE_TIME">%s</xliff:g> bağlanır"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Bu gün saat <xliff:g id="CLOSE_TIME">%s</xliff:g> bağlanıb"</string> - <string name="open_now" msgid="4615706338669555999">"İndi açın"</string> - <string name="closed_now" msgid="2635314668145282080">"İndi bağlandı"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Şübhəli spam çağrıcısı"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Zəng bitdi %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Bu nömrə ilk dəfədir Sizə zəng edir."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Bu zəngin spam olduğundan şübhələnirik."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Spamı blok edin/bildirin"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Kontakt əlavə edin"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Spam deyil"</string> -</resources> diff --git a/InCallUI/res/values-b+sr+Latn/strings.xml b/InCallUI/res/values-b+sr+Latn/strings.xml deleted file mode 100644 index 9770f90a9..000000000 --- a/InCallUI/res/values-b+sr+Latn/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Na čekanju"</string> - <string name="unknown" msgid="3646075119047488748">"Nepoznat"</string> - <string name="private_num" msgid="6081418498487514686">"Privatan broj"</string> - <string name="payphone" msgid="5743050584468748607">"Telefonska govornica"</string> - <string name="confCall" msgid="3181961445236675173">"Konferencijski poziv"</string> - <string name="call_lost" msgid="8208184291640961172">"Poziv je prekinut"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Zvučnik"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Slušalica telefona"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Žičane naglavne slušalice"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Želite li da pošaljete sledeće tonove?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Tonovi se šalju\n"</string> - <string name="send_button" msgid="4054398309483035794">"Pošalji"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Da"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ne"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Zamenite džoker znak sa"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferencijski poziv <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Broj govorne pošte"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Poziva se"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ponovo se bira"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferencijski poziv"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Dolazni poziv"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Dolazni poziv za Work"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Poziv je završen"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Na čekanju"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Veza se prekida"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Poziv je u toku"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Moj broj je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Povezuje se video poziv"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video poziv"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Zahteva se video poziv"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Povezivanje video poziva nije uspelo"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Zahtev za video poziv je odbijen"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Broj za povratni poziv\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Broj za hitan povratni poziv\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Poziva se"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Propušten poziv"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Propušteni pozivi"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Broj propuštenih poziva: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Propušten poziv od: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Tekući poziv"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Tekući poziv za Work"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Tekući Wi-Fi poziv"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Tekući poziv za Work preko Wi-Fi-ja"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Na čekanju"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Dolazni poziv"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Dolazni poziv za Work"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Dolazni Wi-Fi poziv"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Dolazni poziv za Work preko Wi-Fi-ja"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Dolazni video poziv"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Sumnja na nepoželjan dolazni poziv"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Zahtev za dolazni video poziv"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nova poruka govorne pošte"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nova poruka govorne pošte (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Pozovi <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nepoznat broj govorne pošte"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Mobilna mreža nije dostupna"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Izabrana mreža (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nije dostupna"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Odgovori"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Prekini vezu"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Glasovni"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Prihvatam"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Odbaci"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Uzvrati poziv"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Pošalji SMS"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Poziv je u toku na drugom uređaju"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Prebaci poziv"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Da biste uputili poziv, prvo isključite režim rada u avionu."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nije registrovano na mreži."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilna mreža nije dostupna."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Da biste uputili poziv, unesite važeći broj."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Poziv nije uspeo."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Pokreće se MMI sekvenca..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Usluga nije podržana."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Zamena poziva nije uspela."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Razdvajanje poziva nije uspelo."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Prebacivanje nije uspelo."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferencijski poziv nije uspeo."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Odbijanje poziva nije uspelo."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Uspostavljanje poziva nije uspelo."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP poziv"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Hitni poziv"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Uključuje se radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Mobilna mreža nije dostupna. Pokušavamo ponovo…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Poziv nije uspeo. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj za hitne slučajeve."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Poziv nije uspeo. Pozovite broj za hitne slučajeve."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Koristite tastaturu za pozivanje"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Stavi poziv na čekanje"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Nastavi poziv"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Završi poziv"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Prikaži numeričku tastaturu"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Sakrij numeričku tastaturu"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Isključi zvuk"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Uključi zvuk"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Dodaj poziv"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Objedini pozive"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Zameni"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Upravljaj pozivima"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Upravljaj konferencijskim pozivom"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferencijski poziv"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Upravljaj"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video poziv"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Promeni u glasovni poziv"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Promeni kameru"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Uključi kameru"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Isključi kameru"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Još opcija"</string> - <string name="player_started" msgid="3478865572468310331">"Plejer je pokrenut"</string> - <string name="player_stopped" msgid="1278611664986561535">"Plejer je zaustavljen"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera nije spremna"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera je spremna"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Nepoznat događaj sesije poziva"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Usluga"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Podešavanje"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nije podešeno>"</string> - <string name="other_settings" msgid="6699076019841942826">"Druga podešavanja poziva"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Poziva se preko dobavljača <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Dolazni poziv preko <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"slika kontakta"</string> - <string name="goPrivate" msgid="3554069451018659483">"idi na privatno"</string> - <string name="selectContact" msgid="92191462970821951">"izaberite kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napišite sami…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Otkaži"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Pošalji"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Odgovori"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Pošalji SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Odbij"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Odgovori video pozivom"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Odgovori audio-pozivom"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Prihvati zahtev za video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Odbij zahtev za video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Prihvati zahtev za odlazni video poziv"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Odbij zahtev za odlazni video poziv"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Prihvati zahtev za dolazni video poziv"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Odbij zahtev za dolazni video poziv"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Prevucite nagore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Prevucite ulevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Prevucite udesno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Prevucite nadole za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibracija"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibracija"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Zvuk"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Podrazumevani zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Melodija zvona telefona"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibriraj kada zvoni"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Melodija zvona i vibracija"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Upravljaj konferencijskim pozivom"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Broj za hitne slučajeve"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Slika profila"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera je isključena"</string> - <string name="child_number" msgid="4469090994612105532">"na <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Beleška je poslata"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nedavne poruke"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informacije o preduzeću"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Udaljenost je <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Udaljenost je <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Otvara se sutra u <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Otvara se danas u <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zatvara se u <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Zatvorilo se danas u <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Trenutno otvoreno"</string> - <string name="closed_now" msgid="2635314668145282080">"Trenutno zatvoreno"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Nepoželjan pozivalac"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Poziv se završio u %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Ovo je bio prvi poziv sa ovog broja."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sumnjamo da je ovaj poziv nepoželjan."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokiraj/prijavi"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Dodaj kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nije nepoželjan"</string> -</resources> diff --git a/InCallUI/res/values-be/strings.xml b/InCallUI/res/values-be/strings.xml deleted file mode 100644 index 70145fb7c..000000000 --- a/InCallUI/res/values-be/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Тэлефон"</string> - <string name="onHold" msgid="527593602772521700">"На ўтрыманні"</string> - <string name="unknown" msgid="3646075119047488748">"Невядомы"</string> - <string name="private_num" msgid="6081418498487514686">"Прыватны нумар"</string> - <string name="payphone" msgid="5743050584468748607">"Таксафон"</string> - <string name="confCall" msgid="3181961445236675173">"Канферэнц-выклік"</string> - <string name="call_lost" msgid="8208184291640961172">"Выклік абарваўся"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Дынамік"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Дынамік тэлефона"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Правадная гарнітура"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Адправіць гэтыя тоны?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Адпраўка тонаў\n"</string> - <string name="send_button" msgid="4054398309483035794">"Адправiць"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Так"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Не"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Замяніце знак падстаноўкі на"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Канферэнц-выклік у <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Нумар галасавой пошты"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Набор нумара"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Паўторны набор"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Канферэнц-выклік"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Уваходны выклік"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Уваходны выклік па працы"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Выклік скончаны"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"На ўтрыманні"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Завяршэнне выкліку"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"У выкліку"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Мой нумар - <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Падлучэнне відэа"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Відэавыклік"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Запыт на відэа"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Немагчыма падлучыць відэавыклік"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Запыт на відэа адхілены"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Ваш нумар зваротнага выкліку\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Ваш нумар экстраннага зваротнага выкліку\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Набор нумара"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Прапушчаны выклік"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Прапушчаныя выклікі"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Прапушчаных выклікаў: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Прапушчаны выклiк ад <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Бягучы выклік"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Бягучы выклік па працы"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Бягучы выклік праз Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Бягучы выклік па працы праз Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"На ўтрыманні"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Уваходны выклік"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Уваходны выклік па працы"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Уваходны выклік праз Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Уваходны выклік па працы праз Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Уваходны відэавыклік"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Уваходны выклiк ад абанента, якога падазраваюць у спаме"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Уваходны запыт на відэавыклік"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Новая галасавая пошта"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Новыя паведамленнi галасавой пошты (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Набраць <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Невядомы нумар галасавой пошты"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Не абслугоўваецца"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Выбраная сетка (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) недаступная"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Адказ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Сконч. разм."</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Відэа"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Галасавы"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Прыняць"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Адхіліць"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Звар. выклік"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Паведамленне"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Бягучы выклік на іншай прыладзе"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Перадаць выклік"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Каб зрабіць выклік, спачатку выключыце рэжым палёту."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Не зарэгістраваны ў сетцы."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Мабільная сетка недаступная."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Каб зрабіць выклік, увядзіце сапраўдны нумар."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Выклік немагчымы."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Пачатак паслядоўнасці MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Служба не падтрымліваецца."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Немагчыма пераключыць выклікі."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Немагчыма аддзяліць выклік."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Немагчыма перадаць выклік."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Немагчыма зрабіць канферэнц-выклік."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Немагчыма адхіліць выклік."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Немагчыма скончыць выклік(і)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-выклік"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Экстранны выклік"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Уключэнне радыё…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Не абслугоўваецца. Паўтор спробы…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Выклік немагчымы. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не з\'яўляецца нумарам экстраннай службы."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Выклік немагчымы. Набярыце нумар экстраннай службы."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Набраць нумар з клавіятуры"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Паставіць выклік на ўтрыманне"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Узнавіць выклік"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Завяршыць выклік"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Паказаць панэль набору"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Схаваць панэль набору"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Адключыць мікрафон"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Уключыць мікрафон"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Дадаць выклік"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Аб\'яднаць выклікі"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Пераключыць"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Кіраваць выклікамі"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Кіраванне канферэнц-выклікам"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Канферэнц-выклік"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Кіраванне"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аўдыя"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Відэавыклік"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Змяніць на галасавы выклік"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Пераключыць камеру"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Уключыць камеру"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Адключыць камеру"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Дадатковыя параметры"</string> - <string name="player_started" msgid="3478865572468310331">"Прайгравальнік запушчаны"</string> - <string name="player_stopped" msgid="1278611664986561535">"Прайгравальнік спынены"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камера не гатовая"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камера гатовая"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Невядомая падзея сеансу выкліку"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Сэрвіс"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Наладка"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Не зададзены>"</string> - <string name="other_settings" msgid="6699076019841942826">"Іншыя налады выклікаў"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Выклікі праз правайдара <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Уваходны выклік праз <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"фаіаграфія кантакту"</string> - <string name="goPrivate" msgid="3554069451018659483">"перайсці да прыватнай гаворкі"</string> - <string name="selectContact" msgid="92191462970821951">"выбраць кантакт"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Напiшыце сваё…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Скасаваць"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Адправiць"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Адказ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Адправiць SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Адхіліць"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Адказаць відэавыклікам"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Адказаць аўдыявыклікам"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Прыняць запыт на відэа"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Адхіліць запыт на відэа"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Прыняць запыт на перадачу відэа"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Адхіліць запыт на перадачу відэа"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Прыняць запыт на атрыманне відэа"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Адхіліць запыт на атрыманне відэа"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Правядзіце пальцам уверх, каб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Правядзіце пальцам улева, каб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Правядзіце пальцам управа, каб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Правядзіце пальцам уніз, каб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Вібрацыя"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Вібрацыя"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Гук"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Стандартны гук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Рынгтон тэлефона"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Вібрацыя падчас званка"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Рынгтон і вiбрацыя"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Кіраванне канферэнц-выклікам"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Нумар экстраннай службы"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Фота профілю"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камера адключана"</string> - <string name="child_number" msgid="4469090994612105532">"праз <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Нататка адпраўлена"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Апошнія паведамленні"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Бізнес-інфармацыя"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Адлеглаць у мілях: <xliff:g id="DISTANCE">%.1f</xliff:g>"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Адлегласць <xliff:g id="DISTANCE">%.1f</xliff:g> км"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Адкрываецца заўтра ў <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Адкрываецца сёння ў <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Закрываецца ў <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Закрыта сёння ў <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Адкрыць зараз"</string> - <string name="closed_now" msgid="2635314668145282080">"Зараз закрыта"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Падазраваецца ў спаме"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Выклік завершаны %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Вы атрымліваеце выклік з гэтага нумара ўпершыню."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Існуе падазрэнне, што гэты выклік – спамерскі."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Забл./павед.пра спам"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Дадаць кантакт"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Не спам"</string> -</resources> diff --git a/InCallUI/res/values-bg/strings.xml b/InCallUI/res/values-bg/strings.xml deleted file mode 100644 index adf504777..000000000 --- a/InCallUI/res/values-bg/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Телефон"</string> - <string name="onHold" msgid="527593602772521700">"Задържано"</string> - <string name="unknown" msgid="3646075119047488748">"Неизвестно лице"</string> - <string name="private_num" msgid="6081418498487514686">"Частен номер"</string> - <string name="payphone" msgid="5743050584468748607">"Обществен телефон"</string> - <string name="confCall" msgid="3181961445236675173">"Конферентно обаждане"</string> - <string name="call_lost" msgid="8208184291640961172">"Обаждането бе прекъснато"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Високоговорител"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Телефонна слушалка"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Слушалки с кабел"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Да се изпратят ли следните мелодии? \n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Мелодиите се изпращат\n"</string> - <string name="send_button" msgid="4054398309483035794">"Изпращане"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Да"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Не"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Замяна на заместващия символ със:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Конферентно обаждане – <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Номер за гласова поща"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Набира се"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Набира се отново"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конферентно обаждане"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Входящо обаждане"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Входящо служебно обаждане"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Обаждането завърши"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Задържано"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Разговорът се приключва"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Извършва се обаждане"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Номерът ми е <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Установява се видеовръзка"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Видеообаждане"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Заявява се видеовръзка"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Видеообаждането не може да се осъществи"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Заявката за видеовръзка е отхвърлена"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Номерът ви за обратно обаждане\n– <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Номерът ви за спешно обратно обаждане\n– <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Набиране"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Пропуснато обаждане"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Пропуснати обаждания"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> пропуснати обаждания"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Пропуснато обаждане от <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Текущо обаждане"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Текущо служебно обаждане"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Текущо обаждане през Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Текущо служебно обаждане през Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Задържано"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Входящо обаждане"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Входящо служебно обаждане"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Входящо обаждане през Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Входящо служебно обаждане през Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Входящо видеообаждане"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Входящо обаждане – възможен спам"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Заявка за входящо видеообаждане"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Нова гласова поща"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Нова гласова поща (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Набиране на <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Неизвестен номер за гласова поща"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Няма покритие"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Избраната мрежа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) не е налице"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Приемане"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Затваряне"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Видеообажд."</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Гл. обаждане"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Приемане"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Отхвърляне"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Обр. обажд."</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Съобщение"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Текущо обаждане на друго устройство"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Прехвърляне на обаждането"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"За да осъществите обаждане, първо изключете самолетния режим."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Няма регистрация в мрежата."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Няма достъп до клетъчната мрежа."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"За да извършите обаждане, въведете валиден номер."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Не може да се извърши обаждане."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Стартира се последователността MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Услугата не се поддържа."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Обажданията не могат да се превключат."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Обаждането не може да се отдели."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Не може да се прехвърли."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Не може да се извърши конферентно обаждане."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Обаждането не може да се отхвърли."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Обаждането или съответно обажданията не могат да се освободят."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Обаждане чрез SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Спешно обаждане"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Радиомодулът се включва…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Няма услуга. Извършва се нов опит…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Не може да се извърши обаждане. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не е номер за спешни случаи."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Не може да се извърши обаждане. Наберете номер за спешни случаи."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Използвайте клавиатурата за набиране"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Задържане на обаждането"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Възобновяване на обаждането"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Край на обаждането"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Показване на клавиатурата за набиране"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Скриване на клавиатурата за набиране"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Заглушаване"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Пускане"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Добавяне на обаждане"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Обединяване на обаждания"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Размяна"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Управление на обажданията"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Управление на конф. обаждане"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конферентно обаждане"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Управление"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Видеообажд."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Преминаване към гласово обаждане"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Превключване на камерата"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Включване на камерата"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Изключване на камерата"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Още опции"</string> - <string name="player_started" msgid="3478865572468310331">"Плейърът е стартиран"</string> - <string name="player_stopped" msgid="1278611664986561535">"Плейърът е спрян"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камерата не е в готовност"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камерата е в готовност"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Неизвестно събитие в сесията на обаждане"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Услуга"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Настройване"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Не е зададено>"</string> - <string name="other_settings" msgid="6699076019841942826">"Други настройки за обаждане"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Обаждане чрез <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Входящо обаждане чрез <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"снимка на контакта"</string> - <string name="goPrivate" msgid="3554069451018659483">"превключване към частно обаждане"</string> - <string name="selectContact" msgid="92191462970821951">"избиране на контакта"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Напишете свой собствен..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Отказ"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Изпращане"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Приемане"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Изпращане на SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Отхвърляне"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Приемане като видеообаждане"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Приемане като аудиообаждане"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Приемане на заявката за видеовръзка"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Отхвърляне на заявката за видеовръзка"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Приемане на заявката за предаване на видео"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Отхвърляне на заявката за предаване на видео"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Приемане на заявката за получаване на видеообаждане"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Отхвърляне на заявката за получаване на видео"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Плъзнете нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Плъзнете наляво за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Плъзнете надясно за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Плъзнете надолу за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Вибриране"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Вибриране"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Звук"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Стандартен звук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Мелодия на телефона"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Вибриране при звънене"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Мелодия и вибриране"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Управление на конферентното обаждане"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Спешен номер"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Снимка на потребителския профил"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камерата е изключена"</string> - <string name="child_number" msgid="4469090994612105532">"чрез <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Бележката е изпратена"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Скорошни съобщения"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Бизнес информация"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"На <xliff:g id="DISTANCE">%.1f</xliff:g> мили"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"На <xliff:g id="DISTANCE">%.1f</xliff:g> км"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>; <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Отваря утре в <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Отваря днес в <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Затваря в <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Затворено днес в <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"В момента работи"</string> - <string name="closed_now" msgid="2635314668145282080">"В момента не работи"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Възможен спам"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Обаждането завърши %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"За първи път ви се обаждат от този номер."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Подозирахме, че това обаждане може да е от разпространител на спам."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Блокиране/спам"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Добавяне на контакт"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Не е спам"</string> -</resources> diff --git a/InCallUI/res/values-bn/strings.xml b/InCallUI/res/values-bn/strings.xml deleted file mode 100644 index 2f561ce6e..000000000 --- a/InCallUI/res/values-bn/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ফোন"</string> - <string name="onHold" msgid="527593602772521700">"হোল্ডে রয়েছে"</string> - <string name="unknown" msgid="3646075119047488748">"অজানা"</string> - <string name="private_num" msgid="6081418498487514686">"ব্যক্তিগত নম্বর"</string> - <string name="payphone" msgid="5743050584468748607">"অর্থের বিনিময়ে কল করার ফোন"</string> - <string name="confCall" msgid="3181961445236675173">"কনফারেন্স কল"</string> - <string name="call_lost" msgid="8208184291640961172">"কল সমাপ্ত হয়েছে"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"স্পিকার"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"হ্যান্ডসেট ইয়ারপিস"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"তারযুক্ত হেডসেট"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ব্লুটুথ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"নিম্নলিখিত টোনগুলি পাঠাবেন?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"টোনগুলি পাঠানো হচ্ছে\n"</string> - <string name="send_button" msgid="4054398309483035794">"পাঠান"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"হ্যাঁ"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"না"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ওয়াইল্ড অক্ষরগুলিকে এর মাধ্যমে প্রতিস্থাপিত করুন"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"কনফারেন্স কল <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"ভয়েসমেল নম্বর"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ডায়াল করা হচ্ছে"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"আবার ডায়াল করা হচ্ছে"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"কনফারেন্স কল"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"আগত কল"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"আগত কাজের কল"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"কল সমাপ্ত হয়েছে"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"হোল্ডে রয়েছে"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"কল নামিয়ে রাখা হচ্ছে"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"কলের সময়ে"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"আমার নম্বর হল <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ভিডিও সংযুক্ত করছে"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ভিডিও কল"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ভিডিওর অনুরোধ করছে"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ভিডিও কলে সংযোগ করা যাচ্ছে না"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ভিডিওর অনুরোধ প্রত্যাখ্যান করা হয়েছে"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"আপনার কলব্যাক নম্বর\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"আপনার জরুরী কলব্যাক নম্বর\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ডায়াল করা হচ্ছে"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"মিসড কল"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"মিসড কলগুলি"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>টি মিসড কল"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> এর থেকে মিসড কল"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"চলমান কল"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"চলমান কাজের কল"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"চলমান ওয়াই-ফাই কল"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"চলমান ওয়াই-ফাই কাজের কল"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"হোল্ডে রয়েছে"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"আগত কল"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"আগত কাজের কল"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"আগত ওয়াই-ফাই কল"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"আগত ওয়াই-ফাই কাজের কল"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"আগত ভিডিও কল"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"আগত সন্দেহভাজন স্প্যাম কল"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"আগত ভিডিও অনুরোধ"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"নতুন ভয়েসমেল"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"নতুন ভয়েসমেল (<xliff:g id="COUNT">%d</xliff:g>টি)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ডায়াল করুন"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ভয়েসমেল নম্বর অজানা"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"কোনো পরিষেবা নেই"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"নির্বাচিত নেটওয়ার্ক (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) অনুপলব্ধ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"উত্তর"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"কল নামিয়ে রাখুন"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ভিডিও"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ভয়েস"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"স্বীকার করুন"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"খারিজ করুন"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"ঘুরিয়ে কল করুন"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"বার্তা"</string> - <string name="notification_external_call" msgid="5611236780302924816">"অন্য ডিভাইসে চালু থাকা কল"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"কল স্থানান্তর করুন"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"একটি কল করতে, প্রথমে বিমানমোড বন্ধ করুন৷"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"নেটওয়ার্কে নিবন্ধিত নয়৷"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"সেলুলার নেটওয়ার্ক উপলব্ধ নয়।"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"কোনো কল স্থাপন করতে, একটি বৈধ নম্বর লিখুন৷"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"কল করা যাবে না৷"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI ক্রম চালু হচ্ছে…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"পরিষেবা সমর্থিত নয়৷"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"কলগুলি স্যুইচ করা যাবে না৷"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"কল আলাদা করা যাবে না৷"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"হস্তান্তর করা যাবে না৷"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"কনফারেন্স করা যাবে না৷"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"কল প্রত্যাখ্যান কলা যাবে না৷"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"কল(গুলি) কাটা যাবে না৷"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP কল"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"জরুরি কল"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"রেডিও চালু করা হচ্ছে…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"কোন পরিষেবা নেই৷ আবার চেষ্টা করা হচ্ছে..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"কল করা যাবে না৷ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> কোনো জরুরী নম্বর নয়৷"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"কল করা যাবে না৷ কোনো জরুরী নম্বর ডায়াল করুন৷"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ডায়াল করতে কীবোর্ড ব্যবহার করুন"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"কল হোল্ডে রাখুন"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"কল আবার শুরু করুন"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"কল শেষ করুন"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ডায়ালপ্যাড দেখান"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ডায়ালপ্যাড লুকান"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"নিঃশব্দ করুন"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"সশব্দ করুন"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"কল যোগ করুন"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"কলগুলি মার্জ করুন"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"সোয়াপ করুন"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"কলগুলি পরিচালনা করুন"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"কনফারেন্স কল পরিচালনা করুন"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"কনফারেন্স কল"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"পরিচালনা করুন"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"অডিও"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ভিডিও কল"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ভয়েস কলে পরিবর্তন করুন"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ক্যামেরা স্যুইচ করুন"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ক্যামেরা চালু করুন"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ক্যামেরা বন্ধ করুন"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"আরো বিকল্প"</string> - <string name="player_started" msgid="3478865572468310331">"প্লেয়ার শুরু হয়েছে"</string> - <string name="player_stopped" msgid="1278611664986561535">"প্লেয়ার বন্ধ হয়ে গেছে"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ক্যামেরা রেডি নয়"</string> - <string name="camera_ready" msgid="2614541247814590887">"ক্যামেরা রেডি"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"অজানা কল অধিবেশনের ইভেন্ট"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"পরিষেবা"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"সেটআপ"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<সেট করা নেই>"</string> - <string name="other_settings" msgid="6699076019841942826">"অন্যান্য কল সেটিংস"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> এর মাধ্যমে কল করা হচ্ছে"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> এর মাধ্যমে ইনকামিং কল"</string> - <string name="contactPhoto" msgid="6028825355597675193">"পরিচিতির ফটো"</string> - <string name="goPrivate" msgid="3554069451018659483">"ব্যক্তিগতভাবে কাজ করুন"</string> - <string name="selectContact" msgid="92191462970821951">"পরিচিতি নির্বাচন করুন"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"আপনার নিজের পছন্দ মতো লিখুন…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"বাতিল করুন"</string> - <string name="custom_message_send" msgid="3798076337006735995">"পাঠান"</string> - <string name="description_target_answer" msgid="1111945818996518320">"উত্তর"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS পাঠান"</string> - <string name="description_target_decline" msgid="7108154434759234035">"অস্বীকার করুন"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ভিডিও কল হিসেবে উত্তর দিন"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"অডিও কল হিসেবে উত্তর দিন"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ভিডিওর অনুরোধ গ্রহণ করুন"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ভিডিওর অনুরোধ প্রত্যাখ্যান করুন"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ভিডিও প্রেরণ করার অনুরোধ স্বীকার করুন"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ভিডিও প্রেরণ করার অনুরোধ প্রত্যাখ্যান করুন"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ভিডিও গ্রহণ করার অনুরোধ স্বীকার করুন"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ভিডিও গ্রহণ করার অনুরোধ প্রত্যাখ্যান করুন"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য উপরের দিকে স্লাইড করুন৷"</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য বাঁ দিকে স্লাইড করুন৷"</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য ডান দিকে স্লাইড করুন৷"</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য নীচের দিকে স্লাইড করুন৷"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"কম্পন"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"কম্পন"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"শব্দ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ডিফল্ট শব্দ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ফোন রিংটোন"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"রিং হওয়ার সময় কম্পন হবে"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"রিংটোন ও কম্পন"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"কনফারেন্স কল পরিচালনা করুন"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"জরুরি নম্বর"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"প্রোফাইল ফটো"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ক্যামেরা বন্ধ"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> এর মাধ্যমে"</string> - <string name="note_sent" msgid="7623014827902758398">"নোট পাঠানো হয়েছে"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"সাম্প্রতিক বার্তাগুলি"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ব্যবসার তথ্য"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> মাইল দূরে"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> কিলোমিটার দূরে"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"আগামীকাল <xliff:g id="OPEN_TIME">%s</xliff:g>\'টায় খুলবে"</string> - <string name="opens_today_at" msgid="6281212768937222891">"আজ <xliff:g id="OPEN_TIME">%s</xliff:g>\'টায় খুলবে"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>\'টায় বন্ধ হয়"</string> - <string name="closed_today_at" msgid="4060072663433467233">"আজ <xliff:g id="CLOSE_TIME">%s</xliff:g>\'টায় বন্ধ হয়েছে"</string> - <string name="open_now" msgid="4615706338669555999">"এখন খোলা রয়েছে"</string> - <string name="closed_now" msgid="2635314668145282080">"এখন বন্ধ রয়েছে"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"সন্দেহভাজন স্প্যাম কলার"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"কল সমাপ্ত হয়েছে %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"এই প্রথমবার এই নম্বর থেকে আপনাকে কল করা হয়েছে৷"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"এটি কোনো স্প্যামারের কল হতে পারে বলে আমাদের মনে হচ্ছে৷"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"অবরুদ্ধ করুন/স্প্যাম হিসাবে অভিযোগ করুন"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"পরিচিতি যোগ করুন"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"স্প্যাম নয়"</string> -</resources> diff --git a/InCallUI/res/values-bs/strings.xml b/InCallUI/res/values-bs/strings.xml deleted file mode 100644 index 9db727c98..000000000 --- a/InCallUI/res/values-bs/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Na čekanju"</string> - <string name="unknown" msgid="3646075119047488748">"Nepoznato"</string> - <string name="private_num" msgid="6081418498487514686">"Privatni broj"</string> - <string name="payphone" msgid="5743050584468748607">"Telefonska govornica"</string> - <string name="confCall" msgid="3181961445236675173">"Konferencijski poziv"</string> - <string name="call_lost" msgid="8208184291640961172">"Poziv je prekinut"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Zvučnik"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Slušalice telefona"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Žičane slušalice"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Poslati sljedeće tonove?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Slanje tonova\n"</string> - <string name="send_button" msgid="4054398309483035794">"Pošalji"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Da"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ne"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Zamijeni zamjenski znak sa"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferencijski poziv <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Broj govorne pošte"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Poziva se"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ponovno pozivanje"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferencijski poziv"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Dolazni poziv"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Dolazni poslovni poziv"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Poziv je završen"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Na čekanju"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Prekid veze"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Poziv u toku"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Moj broj je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Uspostavljanje videopoziva"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videopoziv"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Zahtijevanje videopoziva"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Nije moguće uspostaviti videopoziv"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Zahtjev za videopoziv je odbijen"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Vaš broj za povratni poziv\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Vaš broj za hitni povratni poziv\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Poziva se"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Propušteni poziv"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Propušteni pozivi"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Propušteni pozivi: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Propušteni poziv od kontakta <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Poziv u toku"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Poslovni poziv u toku"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi poziv u toku"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Wi-Fi poslovni poziv u toku"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Na čekanju"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Dolazni poziv"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Dolazni poslovni poziv"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Dolazni Wi-Fi poziv"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Dolazni Wi-Fi poslovni poziv"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Dolazni videopoziv"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Mogući neželjeni dolazni poziv"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Zahtjev za dolazni videopoziv"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nova govorna pošta"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nova govorna pošta (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Pozovi <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nepoznat broj govorne pošte"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nema mreže"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Odabrana mreža (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) je nedostupna"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Odgovori"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Prekini vezu"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videopoziv"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Glasovni poziv"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Prihvati"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Odbaci"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Povr. poziv"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Poruka"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Poziv u toku na drugom uređaju"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Prenesi poziv"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Da uputite poziv, isključite Način rada u avionu."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nije registrirano na mreži."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilna mreža nije dostupna."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Da uputite poziv, upišite važeći broj."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Nije moguće pozvati."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Pokretanje MMI sekvence u toku…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Usluga nije podržana."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Nije moguće prebacivanje poziva."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Nije moguće odvojiti poziv."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Prijenos nije moguć."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferencijski poziv nije uspio."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Nije moguće odbiti poziv."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Nije moguće uputiti poziv(e)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP poziv"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Hitni poziv"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Uključivanje radija u toku…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nema mreže. Ponovni pokušaj u toku…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Nije moguće pozvati. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj za htine slučajeve."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Nije moguće pozvati. Pozovite broj za hitne slučajeve."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Koristi tastaturu za biranje"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Stavi poziv na čekanje"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Nastavi poziv"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Prekini poziv"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Prikaži telefonsku tipkovnicu"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Sakrij telefonsku tipkovnicu"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Isključi zvuk"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Uključi zvuk"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Dodaj poziv"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Spoji pozive"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Zamijeni"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Upravljaj pozivima"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Upravljaj konf. pozivom"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferencijski poziv"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Upravljaj"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Zvuk"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videopoziv"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Promijeni na glasovni poziv"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Promijeni kameru"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Uključi kameru"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Isključi kameru"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Više opcija"</string> - <string name="player_started" msgid="3478865572468310331">"Plejer je pokrenut"</string> - <string name="player_stopped" msgid="1278611664986561535">"Plejer je zaustavljen"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera nije spremna"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera je spremna"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Nepoznati događaj sesije poziva"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Usluga"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Postavljanje"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nije postavljeno>"</string> - <string name="other_settings" msgid="6699076019841942826">"Ostale postavke poziva"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Pozivanje putem <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Dolazni poziv putem <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotografija kontakta"</string> - <string name="goPrivate" msgid="3554069451018659483">"idi na privatno"</string> - <string name="selectContact" msgid="92191462970821951">"odaberi kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napišite svoj..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Otkaži"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Pošalji"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Odgovori"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Pošalji SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Odbij"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Odgovori videopozivom"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Prihvati kao audiopoziv"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Prihvati zahtjev za videopoziv"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Odbij zahtjev za videopoziv"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Prihvati zahtjev za slanje videopoziva"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Odbij zahtjev za slanje videopoziva"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Prihvati zahtjev za primanje videopoziva"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Odbij zahtjev za primanje videopoziva"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Kliznite nagore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Kliznite lijevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Kliznite nadesno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Kliznite nadolje za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibracija"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibracija"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Zvuk"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Zadani zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Melodija zvona telefona"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibriraj kada zvoni"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Melodija zvona i vibracija"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Upravljaj konferencijskim pozivom"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Broj za hitne slučajeve"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Fotografija profila"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera je isključena"</string> - <string name="child_number" msgid="4469090994612105532">"putem <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Bilješka je poslana"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nedavne poruke"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informacije o preduzeću"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Udaljenost u miljama: <xliff:g id="DISTANCE">%.1f</xliff:g>"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Udaljenost u km: <xliff:g id="DISTANCE">%.1f</xliff:g>"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Otvara se sutra u <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Otvara se danas u <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zatvara se u <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Zatvoreno danas u <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Otvori sad"</string> - <string name="closed_now" msgid="2635314668145282080">"Zatvoreno sada"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Neželjeni pozivalac"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Poziv je završen %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Ovo je prvi poziv koji ste primili s ovog broja."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sumnjamo da je ovaj poziv neželjen sadržaj."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokiraj/prijavi"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Dodaj kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nije neželjeno"</string> -</resources> diff --git a/InCallUI/res/values-ca/strings.xml b/InCallUI/res/values-ca/strings.xml deleted file mode 100644 index 103f15b63..000000000 --- a/InCallUI/res/values-ca/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telèfon"</string> - <string name="onHold" msgid="527593602772521700">"En espera"</string> - <string name="unknown" msgid="3646075119047488748">"Desconegut"</string> - <string name="private_num" msgid="6081418498487514686">"Número privat"</string> - <string name="payphone" msgid="5743050584468748607">"Telèfon públic"</string> - <string name="confCall" msgid="3181961445236675173">"Conferència"</string> - <string name="call_lost" msgid="8208184291640961172">"La trucada s\'ha interromput"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altaveu"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auricular"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Auricular amb cable"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Vols enviar els tons següents?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"S\'estan enviant els tons\n"</string> - <string name="send_button" msgid="4054398309483035794">"Envia"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sí"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"No"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Substitueix el caràcter comodí per"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conferència, <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número del missatge de veu"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"S\'està marcant"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"S\'està tornant a marcar"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conferència"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Trucada entrant"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Trucada de feina entrant"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Ha finalitzat la trucada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"En espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"S\'està penjant"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"En una trucada"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"El meu número és <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"S\'està connectant el vídeo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videotrucada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"S\'està sol·licitant el vídeo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"No es pot connectar la videotrucada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"S\'ha rebutjat la sol·licitud de vídeo"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Número de devolució de trucada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Número de devolució de trucada d\'emergència\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"S\'està marcant"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Trucada perduda"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Trucades perdudes"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> trucades perdudes"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Trucada perduda de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Trucada en curs"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Trucada de feina en curs"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Trucada per Wi-Fi en curs"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Trucada de feina per Wi-Fi en curs"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"En espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Trucada entrant"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Trucada de feina entrant"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Trucada per Wi-Fi entrant"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Trucada de feina per Wi-Fi entrant"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videotrucada entrant"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Presumpta trucada brossa entrant"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Sol·licitud de vídeo entrant"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Missatge de veu nou"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Missatges de veu nous (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Marca <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número del missatge de veu desconegut"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sense servei"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"La xarxa seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no està disponible"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Respon"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Penja"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vídeo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Veu"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accepta"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ignora"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Torna trucada"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Missatge"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Trucada en curs en un altre dispositiu"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transfereix la trucada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Per fer una trucada, primer desactiva el mode d\'avió."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"No s\'ha registrat a la xarxa."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"La xarxa mòbil no està disponible."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Introdueix un número vàlid per fer una trucada."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"No es pot trucar."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"S\'està iniciant la seqüència MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"El servei no és compatible."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"No es pot canviar de trucada."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"No es pot separar la trucada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"No es poden transferir trucades."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"No es pot establir la conferència."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"No es pot rebutjar la trucada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"No es poden alliberar trucades."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Trucada de SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Trucada d\'emergència"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"S\'està activant el senyal mòbil…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"No hi ha servei. S\'està tornant a provar…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"No es pot trucar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no és un número d\'emergència."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"No es pot trucar. Marca un número d\'emergència."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Utilitza el teclat per marcar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Posa la trucada en espera"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Reprèn la trucada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Finalitza la trucada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostra el teclat"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Amaga el teclat"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Silencia"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Activa el so"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Afegeix una trucada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Combina les trucades"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Canvia"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gestiona les trucades"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gestiona la conferència"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"conferència"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gestiona"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Àudio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videotrucada"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Canvia a trucada de veu"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Canvia la càmera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activa la càmera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desactiva la càmera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Més opcions"</string> - <string name="player_started" msgid="3478865572468310331">"S\'ha iniciat el reproductor"</string> - <string name="player_stopped" msgid="1278611664986561535">"S\'ha aturat el reproductor"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"La càmera no està preparada"</string> - <string name="camera_ready" msgid="2614541247814590887">"La càmera està preparada"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Esdeveniment de sessió de trucada desconeguda"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Servei"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configura"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<No definit>"</string> - <string name="other_settings" msgid="6699076019841942826">"Altres opcions de configuració de les trucades"</string> - <string name="calling_via_template" msgid="3539373093109976255">"S\'està trucant amb <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Trucada entrant mitjançant <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto de contacte"</string> - <string name="goPrivate" msgid="3554069451018659483">"conferència privada"</string> - <string name="selectContact" msgid="92191462970821951">"selecciona el contacte"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escriu la teva…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancel·la"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Envia"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Respon"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Envia SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Rebutja"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Respon amb una videotrucada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Respon amb una trucada d\'àudio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accepta la sol·licitud de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Rebutja la sol·licitud de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accepta la sol·licitud per transmetre vídeo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Rebutja la sol·licitud per transmetre vídeo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accepta la sol·licitud per rebre vídeo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Rebutja la sol·licitud per rebre vídeo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Fes lliscar el dit cap amunt per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Fes lliscar el dit cap a l\'esquerra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Fes lliscar el dit cap a la dreta per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Fes lliscar el dit cap avall per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibració"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibració"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"So"</string> - <string name="default_notification_description" msgid="4950807644546509965">"So predeterminat (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"So de trucada"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar en sonar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"So de trucada i vibració"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gestiona la conferència"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número d\'emergència"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto de perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"La càmera està desactivada"</string> - <string name="child_number" msgid="4469090994612105532">"mitjançant <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"S\'ha enviat la nota"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Missatges recents"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informació de l\'empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"A <xliff:g id="DISTANCE">%.1f</xliff:g> mi de distància"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"A <xliff:g id="DISTANCE">%.1f</xliff:g> km de distància"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Obre demà a les <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Obre avui a les <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Tanca a les <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Avui ha tancat a les <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Obert ara"</string> - <string name="closed_now" msgid="2635314668145282080">"Ara és tancat"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Possible trucada brossa"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"La trucada amb el número %1$s ha finalitzat"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"És la primera vegada que aquest número t\'ha trucat."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sospitem que aquesta trucada prové d\'un emissor de contingut brossa."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloqueja/marca brossa"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Afegeix un contacte"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"No és brossa"</string> -</resources> diff --git a/InCallUI/res/values-cs/strings.xml b/InCallUI/res/values-cs/strings.xml deleted file mode 100644 index f3e4a5ed3..000000000 --- a/InCallUI/res/values-cs/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Přidržený hovor"</string> - <string name="unknown" msgid="3646075119047488748">"Neznámý volající"</string> - <string name="private_num" msgid="6081418498487514686">"Soukromé číslo"</string> - <string name="payphone" msgid="5743050584468748607">"Telefonní automat"</string> - <string name="confCall" msgid="3181961445236675173">"Konferenční hovor"</string> - <string name="call_lost" msgid="8208184291640961172">"Volání zrušeno"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Reproduktor"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Sluchátko telefonu"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Kabelová náhlavní soupr."</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Odeslat následující tóny?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Odesílání tónů\n"</string> - <string name="send_button" msgid="4054398309483035794">"Odeslat"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ano"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ne"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Nahradit zástupné znaky jinými znaky"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferenční hovor <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Číslo hlasové schránky"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Vytáčení"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Opakované vytáčení"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferenční hovor"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Příchozí hovor"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Příchozí pracovní hovor"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Hovor ukončen"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Přidržený hovor"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Ukončování hovoru"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Probíhá hovor"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Moje číslo je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Navazování spojení pro video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videohovor"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Požadování videa"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videohovor nelze zahájit"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Žádost o video byla zamítnuta"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Vaše číslo pro zpětné volání\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Vaše číslo pro tísňové zpětné volání\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Vytáčení"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Zmeškaný hovor"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Zmeškané hovory"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Zmeškané hovory: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Zmeškaný hovor od volajícího <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Probíhající hovor"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Probíhající pracovní hovor"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Probíhající hovor přes Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Probíhající pracovní hovor přes Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Přidržený hovor"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Příchozí hovor"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Příchozí pracovní hovor"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Příchozí hovor přes Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Příchozí pracovní hovor přes Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Příchozí videohovor"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"U příchozího hovoru máme podezření, že se jedná o spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Příchozí žádost o videohovor"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nová hlasová zpráva"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nové hlasové zprávy (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Volat hlasovou schránku <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Číslo hlasové schránky není známé"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Žádný signál"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Vybraná síť (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) není k dispozici"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Přijmout"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Zavěsit"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videohovor"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Hlas. hovor"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Přijmout"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Odmítnout"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Zavolat zpět"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Posl. zprávu"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Probíhá hovor na jiném zařízení"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Převést hovor sem"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Chcete-li telefonovat, nejprve vypněte režim Letadlo."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Přihlášení k síti nebylo úspěšné."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilní síť je nedostupná."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Chcete-li uskutečnit hovor, zadejte platné telefonní číslo."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Hovor nelze uskutečnit."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Spouštění sekvence MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Služba není podporována."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Hovory nelze přepnout."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Hovor nelze rozdělit."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Hovor nelze předat."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferenční hovor nelze uskutečnit."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Hovor nelze odmítnout."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Hovor nelze ukončit."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Volání SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Tísňové volání"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Zapínání bezdrátového modulu..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Žádný signál. Probíhá další pokus…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Hovor nelze uskutečnit. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> není číslo tísňového volání."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Hovor nelze uskutečnit. Vytočte číslo tísňového volání."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Vytočte číslo pomocí klávesnice"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Podržet hovor"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Obnovit hovor"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Ukončit hovor"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Zobrazit číselník"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Skrýt číselník"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Vypnout zvuk"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Zapnout zvuk"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Přidat hovor"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Spojit hovory"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Zaměnit"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Spravovat hovory"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Spravovat konferenční hovor"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferenční hovor"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Spravovat"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Zvuk"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videohovor"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Změnit na hlasové volání"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Přepnout kameru"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Zapnout kameru"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Vypnout kameru"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Další možnosti"</string> - <string name="player_started" msgid="3478865572468310331">"Přehrávač spuštěn"</string> - <string name="player_stopped" msgid="1278611664986561535">"Přehrávač zastaven"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Fotoaparát není připraven"</string> - <string name="camera_ready" msgid="2614541247814590887">"Fotoaparát je připraven"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Neznámá událost relace volání"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Služba"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Nastavení"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nenastaveno>"</string> - <string name="other_settings" msgid="6699076019841942826">"Další nastavení hovorů"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Volání prostřednictvím poskytovatele <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Příchozí hovor přes poskytovatele <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotografie kontaktu"</string> - <string name="goPrivate" msgid="3554069451018659483">"přepnout na soukromé"</string> - <string name="selectContact" msgid="92191462970821951">"vybrat kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napsat vlastní odpověď..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Zrušit"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Odeslat"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Přijmout"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Odeslat SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Odmítnout"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Přijmout jako videohovor"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Přijmout jako hlasový hovor"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Přijmout žádost o videhovor"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Odmítnout žádost o videohovor"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Přijmout žádost o odesílání videa"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Odmítnout žádost o odesílání videa"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Přijmout žádost o příjem videa"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Odmítnout žádost o příjem videa"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – přejeďte prstem nahoru"</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – přejeďte prstem doleva"</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – přejeďte prstem doprava"</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> – přejeďte prstem dolů"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrace"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrace"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Zvuk"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Výchozí zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Vyzváněcí tón telefonu"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrace při vyzvánění"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Vyzvánění a vibrace"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Správa konferenčního hovoru"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Číslo tísňové linky"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilová fotka"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Fotoaparát je vypnutý"</string> - <string name="child_number" msgid="4469090994612105532">"pomocí čísla <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Poznámka byla odeslána"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nejnovější zprávy"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informace o firmě"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Vzdálenost: <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Vzdálenost: <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Zítra otevírá v <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Dnes otevírá v <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zavírá v <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Dnes zavřeno od <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Otevřeno"</string> - <string name="closed_now" msgid="2635314668145282080">"Nyní zavřeno"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Podezření na spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Hovor skončil v %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Toto číslo vám volalo poprvé."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Máme podezření, že tento hovor byl spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blok./nahlásit spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Přidat kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nešlo o spam"</string> -</resources> diff --git a/InCallUI/res/values-da/strings.xml b/InCallUI/res/values-da/strings.xml deleted file mode 100644 index 82d773c1c..000000000 --- a/InCallUI/res/values-da/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Afventer"</string> - <string name="unknown" msgid="3646075119047488748">"Ukendt"</string> - <string name="private_num" msgid="6081418498487514686">"Privat nummer"</string> - <string name="payphone" msgid="5743050584468748607">"Mønttelefon"</string> - <string name="confCall" msgid="3181961445236675173">"Telefonmøde"</string> - <string name="call_lost" msgid="8208184291640961172">"Opkaldet blev afbrudt."</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Højttaler"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Ørestykke til håndsæt"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Headset med ledning"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Vil du sende følgende toner?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sender toner\n"</string> - <string name="send_button" msgid="4054398309483035794">"Send"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ja"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nej"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Erstat jokertegnet med"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Telefonmøde <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Telefonsvarernummer"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Ringer op"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ringer op igen"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Telefonmøde"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Indgående opkald"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Indgående arbejdsopkald"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Opkaldet er afsluttet"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Afventer"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Lægger på"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Opkald i gang"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mit nummer er <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Opretter videoforbindelse"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videoopkald"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Anmoder om video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Kan ikke forbinde videoopkald"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videoanmodningen blev afvist"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Dit tilbagekaldsnummer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Dit tilbagekaldsnummer til nødopkald\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Ringer op"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Ubesvaret opkald"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Ubesvarede opkald"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ubesvarede opkald"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Ubesvaret opkald fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Igangværende opkald"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Igangværende opkald i forbindelse med arbejde"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Igangværende opkald via Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Igangværende Wi-Fi-opkald i forbindelse med arbejde"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Afventer"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Indgående opkald"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Indgående arbejdsopkald"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Indgående Wi-Fi-opkald"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Indgående Wi-Fi-opkald i forbindelse med arbejde"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Indgående videoopkald"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Indgående formodet spamopkald"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Indgående videoanmodning"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Ny telefonsvarerbesked"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nye telefonsvarerbeskeder (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Ring til <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Telefonsvarernummeret er ukendt"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ingen dækning"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Det valgte netværk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) er ikke tilgængeligt"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Besvar"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Læg på"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Tale"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Acceptér"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Afvis"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ring tilbage"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Besked"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Igangværende opkald på en anden enhed"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Overfør opkald"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Slå Flytilstand fra først for at foretage et opkald."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ikke registreret på netværket."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilnetværket er ikke tilgængeligt."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Indtast et gyldigt nummer for at foretage et opkald."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Der kan ikke ringes op."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Starter MMI-sekvens…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Tjenesten er ikke understøttet."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Der kan ikke skiftes opkald."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Opkaldet kan ikke adskilles."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Der kan ikke viderestilles."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Der kan ikke oprettes telefonmøde."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Opkaldet kan ikke afvises."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Et eller flere opkald kan ikke frigives."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-opkald"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Nødopkald"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Tænder for radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ingen tjeneste. Prøver igen…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Der kan ikke ringes op. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ikke et alarmnummer."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Der kan ikke ringes op. Ring til et alarmnummer."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Brug tastaturet til at ringe op"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Sæt opkald i venteposition"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Genoptag opkald"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Afslut opkald"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Vis numerisk tastatur"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Skjul numerisk tastatur"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Slå lyden fra"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Slå lyden til"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Tilføj opkald"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Slå opkald sammen"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Skift"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Administrer opkald"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Administrer telefonmøde"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Telefonmøde"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Administrer"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Lyd"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoopkald"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Skift til taleopkald"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Skift kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Slå kameraet til"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Slå kameraet fra"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Flere valgmuligheder"</string> - <string name="player_started" msgid="3478865572468310331">"Afspilleren er startet"</string> - <string name="player_stopped" msgid="1278611664986561535">"Afspilleren er stoppet"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kameraet er ikke klar"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kameraet er klar"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Ukendt opkaldsbegivenhed"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Tjeneste"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Konfiguration"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ikke angivet>"</string> - <string name="other_settings" msgid="6699076019841942826">"Andre indstillinger for opkald"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Opkald via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Indgående opkald via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"billede af kontaktperson"</string> - <string name="goPrivate" msgid="3554069451018659483">"gør privat"</string> - <string name="selectContact" msgid="92191462970821951">"vælg kontaktperson"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Skriv dit eget svar…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Annuller"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Send"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Besvar"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Send sms"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Afvis"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Besvar som videoopkald"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Besvar som taleopkald"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Acceptér anmodning om video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Afvis videoanmodning"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Acceptér anmodning om udgående video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Afvis anmodning om udgående video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Acceptér anmodning om indgående video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Afvis anmodning om indgående video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Skub op for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Skub til venstre for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Skub til højre for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Skub ned for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibration"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibration"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Lyd"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Standardlyd (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ringetone ved opkald"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrer ved opringning"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringetone og vibration"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Administrer telefonmøde"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Alarmnummer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilbillede"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kameraet er slukket"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Noten er sendt"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Seneste beskeder"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Virksomhedsoplysninger"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mil væk"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km væk"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>-<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Åbner i morgen kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Åbner i dag kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Lukker kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Lukkede i dag kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Åbent nu"</string> - <string name="closed_now" msgid="2635314668145282080">"Lukket for i dag"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Formodet spammer"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Opkaldet blev afsluttet %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Dette er første gang, at dette nummer har ringet til dig."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Vi har mistanke om, at dette er et spamopkald."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloker/rap. spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Tilføj kontaktperson"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ikke spam"</string> -</resources> diff --git a/InCallUI/res/values-de/strings.xml b/InCallUI/res/values-de/strings.xml deleted file mode 100644 index b3ecffc4c..000000000 --- a/InCallUI/res/values-de/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Gehaltener Anruf"</string> - <string name="unknown" msgid="3646075119047488748">"Unbekannt"</string> - <string name="private_num" msgid="6081418498487514686">"Private Nummer"</string> - <string name="payphone" msgid="5743050584468748607">"Münztelefon"</string> - <string name="confCall" msgid="3181961445236675173">"Telefonkonferenz"</string> - <string name="call_lost" msgid="8208184291640961172">"Verbindung unterbrochen"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Lautsprecher"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Mobilgerät-Kopfhörer"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Kabelgebundenes Headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Folgende Töne senden?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Töne werden gesendet\n"</string> - <string name="send_button" msgid="4054398309483035794">"Senden"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ja"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nein"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Platzhalter ersetzen durch"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Telefonkonferenz <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Mailboxnummer"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Rufaufbau"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Wahlwiederholung"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Telefonkonferenz"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Eingehender Anruf"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Eingeh. geschäftl. Anruf"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Anruf beendet"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Gehaltener Anruf"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Auflegen"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Im Gespräch"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Meine Nummer lautet <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Videoverbindung wird hergestellt"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videoanruf"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Videoanfrage wird gesendet"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videoanruf kann nicht verbunden werden"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videoanfrage abgelehnt"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Deine Rückrufnummer lautet:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Deine Notrufnummer lautet:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Rufaufbau"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Verpasster Anruf"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Entgangene Anrufe"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> entgangene Anrufe"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Verpasster Anruf von <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Aktiver Anruf"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Aktiver geschäftlicher Anruf"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Aktiver WLAN-Anruf"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Aktiver geschäftlicher WLAN-Anruf"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Gehaltener Anruf"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Eingehender Anruf"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Eingehender geschäftlicher Anruf"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Eingehender WLAN-Anruf"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Eingehender geschäftlicher WLAN-Anruf"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Eingehender Videoanruf"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Verdacht auf eingehenden Spam-Anruf"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Eingehende Videoanfrage"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Neue Mailbox-Nachricht"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Neue Mailbox-Nachricht (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> wählen"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Mailboxnummer unbekannt"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Kein Service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Ausgewähltes Netzwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nicht verfügbar"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Annehmen"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Beenden"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videoanruf"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Sprachanruf"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Akzeptieren"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ablehnen"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Zurückrufen"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Nachricht"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Aktiver Anruf auf anderem Gerät"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Anruf übertragen"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Deaktiviere zunächst den Flugmodus, um einen Anruf zu tätigen."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nicht in Netzwerk registriert."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilfunknetz nicht verfügbar."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Gib eine gültige Nummer ein, um einen Anruf zu tätigen."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Anruf nicht möglich."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI-Sequenz wird gestartet…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Dienst wird nicht unterstützt."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Anruf kann nicht gewechselt werden."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Anruf kann nicht getrennt werden."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Anruf kann nicht übergeben werden."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferenzschaltung nicht möglich."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Anruf kann nicht abgelehnt werden."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Anrufe können nicht freigegeben werden."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-Anruf"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Notruf"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Mobilfunkverbindung wird aktiviert…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Kein Service. Neuer Versuch…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Anruf nicht möglich. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ist keine Notrufnummer."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Anruf nicht möglich. Wähle eine Notrufnummer."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Zum Wählen Tastatur verwenden"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Anruf halten"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Anruf fortsetzen"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Anruf beenden"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Wähltasten einblenden"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Wähltasten ausblenden"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Stummschalten"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Stummschaltung aufheben"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Anruf hinzufügen"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Anrufe verbinden"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Wechseln"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Anrufe verwalten"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Telefonkonferenz verwalten"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Telefonkonferenz"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Verwalten"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoanruf"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Zu Sprachanruf wechseln"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kamera wechseln"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamera einschalten"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamera ausschalten"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Weitere Optionen"</string> - <string name="player_started" msgid="3478865572468310331">"Videoübertragung gestartet"</string> - <string name="player_stopped" msgid="1278611664986561535">"Videoübertragung gestoppt"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera nicht bereit"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera bereit"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Unbekanntes Ereignis während eines Anrufs"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Dienst"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Einrichtung"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nicht festgelegt>"</string> - <string name="other_settings" msgid="6699076019841942826">"Sonstige Anrufeinstellungen"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Anruf über <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Eingehender Anruf über <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"Kontaktbild"</string> - <string name="goPrivate" msgid="3554069451018659483">"privat sprechen"</string> - <string name="selectContact" msgid="92191462970821951">"Kontakt auswählen"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Eigene Antwort schreiben…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Abbrechen"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Senden"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Annehmen"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS senden"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Ablehnen"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Als Videoanruf annehmen"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Als normalen Anruf annehmen"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Videoanfrage akzeptieren"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Videoanfrage ablehnen"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Anfrage für ausgehenden Videoanruf akzeptieren"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Anfrage für ausgehenden Videoanruf ablehnen"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Anfrage für eingehenden Videoanruf akzeptieren"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Anfrage für eingehenden Videoanruf ablehnen"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach oben schieben."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach links schieben."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach rechts schieben."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach unten schieben."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrieren"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrieren"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ton"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Standardklingelton (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Klingelton"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Beim Klingeln vibrieren"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Klingelton & Vibration"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Telefonkonferenz verwalten"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Notrufnummer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilbild"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera aus"</string> - <string name="child_number" msgid="4469090994612105532">"über <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Notiz gesendet"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Zuletzt eingegangene Nachrichten"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Geschäftsinformationen"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> Meilen entfernt"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> Kilometer entfernt"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> bis <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Öffnet morgen um <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Öffnet heute um <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Schließt um <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Hat heute um <xliff:g id="CLOSE_TIME">%s</xliff:g> geschlossen"</string> - <string name="open_now" msgid="4615706338669555999">"Jetzt geöffnet"</string> - <string name="closed_now" msgid="2635314668145282080">"Jetzt geschlossen"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Verdacht auf Spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Anruf beendet %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Du wurdest das erste Mal von dieser Nummer angerufen."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Dieser Anruf schien ein Spam-Anruf zu sein."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blockieren/Spam melden"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Kontakt hinzufügen"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Kein Spam"</string> -</resources> diff --git a/InCallUI/res/values-el/strings.xml b/InCallUI/res/values-el/strings.xml deleted file mode 100644 index 993813290..000000000 --- a/InCallUI/res/values-el/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Τηλέφωνο"</string> - <string name="onHold" msgid="527593602772521700">"Σε αναμονή"</string> - <string name="unknown" msgid="3646075119047488748">"Άγνωστος"</string> - <string name="private_num" msgid="6081418498487514686">"Απόκρυψη αριθμού"</string> - <string name="payphone" msgid="5743050584468748607">"Τηλέφωνο με χρέωση"</string> - <string name="confCall" msgid="3181961445236675173">"Κλήση συνδιάσκεψης"</string> - <string name="call_lost" msgid="8208184291640961172">"Η κλήση απορρίφθηκε"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Ηχείο"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Ακουστικό"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Ενσύρματο ακουστικό"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Αποστολή των παρακάτω ήχων;\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Ήχοι αποστολής\n"</string> - <string name="send_button" msgid="4054398309483035794">"Αποστολή"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ναι"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Όχι"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Αντικατάσταση του χαρακτήρα μπαλαντέρ με"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Κλήση συνδιάσκεψης <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Αριθμός αυτόματου τηλεφωνητή"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Κλήση"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Επανάκληση"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Κλήση συνδιάσκεψης"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Εισερχόμενη κλήση"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Εισερχόμ. κλήση εργασίας"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Η κλήση τερματίστηκε"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Σε αναμονή"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Κλείσιμο γραμμής"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Σε κλήση"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Ο αριθμός μου είναι <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Σύνδεση βίντεο"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Βιντεοκλήση"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Αίτημα βίντεο"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Δεν είναι δυνατή η σύνδεση βιντεοκλήσης"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Το αίτημα βίντεο απορρίφθηκε"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Αριθμός επανάκλησης\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Αριθμός επανάκλησης έκτακτης ανάγκης\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Κλήση"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Αναπάντητη κλήση"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Αναπάντητες κλήσεις"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> αναπάντητες κλήσεις"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Αναπάντητη κλήση από <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Κλήση σε εξέλιξη"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Κλήση εργασίας σε εξέλιξη"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Κλήση Wi-Fi σε εξέλιξη"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Κλήση εργασίας μέσω Wi-Fi σε εξέλιξη"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Σε αναμονή"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Εισερχόμενη κλήση"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Εισερχόμενη κλήση εργασίας"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Εισερχόμενη κλήση μέσω Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Εισερχόμενη κλήση εργασίας μέσω Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Εισερχόμενη βιντεοκλήση"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Πιθανώς ανεπιθύμητη εισερχόμενη κλήση"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Αίτημα εισερχόμενου βίντεο"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Νέο μήνυμα στον αυτόματο τηλεφωνητή"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Νέο μήνυμα στον αυτόματο τηλεφωνητή (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Καλέστε στο <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Άγνωστος αριθμός αυτόματου τηλεφωνητή"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Δίκτυο μη διαθέσιμο"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Το επιλεγμένο δίκτυο (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) δεν είναι διαθέσιμο"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Απάντηση"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Τερμ. κλήσης"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Βίντεο"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Φωνή"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Αποδοχή"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Παράβλεψη"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Επανάκληση"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Μήνυμα"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Κλήση σε εξέλιξη σε άλλη συσκευή"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Μεταφορά κλήσης"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Για να πραγματοποιήσετε μια κλήση, απενεργοποιήστε πρώτα τη λειτουργία πτήσης."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Δεν έχετε εγγραφεί στο δίκτυο."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Για να πραγματοποιήσετε κλήση, εισαγάγετε έναν έγκυρο αριθμό."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Δεν είναι δυνατή η κλήση."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Έναρξη ακολουθίας MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Η υπηρεσία δεν υποστηρίζεται."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Δεν είναι δυνατή η εναλλαγή κλήσεων."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Δεν είναι δυνατός ο διαχωρισμός της κλήσης."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Δεν είναι δυνατή η μεταφορά."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Δεν είναι δυνατή η συνδιάσκεψη."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Δεν είναι δυνατή η απόρριψη της κλήσης."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Δεν είναι δυνατή η πραγματοποίηση κλήσεων."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Κλήση SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Κλήση έκτακτης ανάγκης"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Ενεργοποίηση πομπού…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Δεν υπάρχει υπηρεσία. Νέα προσπάθεια…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Δεν είναι δυνατή η κλήση. Το <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> δεν είναι αριθμός έκτακτης ανάγκης."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Δεν είναι δυνατή η κλήση. Πληκτρολογήστε έναν αριθμό έκτακτης ανάγκης."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Χρησιμοποιήστε το πληκτρολόγιο για να πραγματοποιήσετε μια κλήση"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Αναμονή κλήσης"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Συνέχιση κλήσης"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Τερματισμός κλήσης"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Εμφάνιση πληκτρολογίου κλήσης"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Απόκρυψη πληκτρολογίου κλήσης"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Σίγαση"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Κατάργηση σίγασης"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Προσθήκη κλήσης"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Συγχώνευση κλήσεων"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Ανταλλαγή"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Διαχείριση κλήσεων"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Διαχείριση κλήσης συνδιάσκεψης"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Κλήση διάσκεψης"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Διαχείριση"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Ήχος"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Βιντεοκλ."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Αλλαγή σε φωνητική κλήση"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Αλλαγή κάμερας"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ενεργοποίηση κάμερας"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Απενεργοποίηση κάμερας"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Περισσότερες επιλογές"</string> - <string name="player_started" msgid="3478865572468310331">"Το πρόγραμμα αναπαραγωγής βίντεο ξεκίνησε"</string> - <string name="player_stopped" msgid="1278611664986561535">"Το πρόγραμμα αναπαραγωγής βίντεο διακόπηκε"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Η κάμερα δεν είναι έτοιμη"</string> - <string name="camera_ready" msgid="2614541247814590887">"Η κάμερα είναι έτοιμη"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Άγνωστο συμβάν περιόδου σύνδεσης κλήσης"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Υπηρεσία"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Ρύθμιση"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Δεν έχει οριστεί>"</string> - <string name="other_settings" msgid="6699076019841942826">"Άλλες ρυθμίσεις κλήσης"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Κλήση μέσω <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Εισερχόμενη κλήση μέσω <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"φωτογραφία επαφής"</string> - <string name="goPrivate" msgid="3554069451018659483">"ιδιωτική χρήση"</string> - <string name="selectContact" msgid="92191462970821951">"επιλογή επαφής"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Συντάξτε τη δική σας…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Ακύρωση"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Αποστολή"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Απάντηση"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Αποστολή SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Απόρριψη"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Απάντηση ως βιντεοκλήση"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Απάντηση ως κλήση ήχου"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Αποδοχή αιτήματος βίντεο"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Απόρριψη αιτήματος βίντεο"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Αποδοχή αιτήματος μετάδοσης βίντεο"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Απόρριψη αιτήματος μετάδοσης βίντεο"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Αποδοχή αιτήματος λήψης βίντεο"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Απόρριψη αιτήματος λήψης βίντεο"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Κύλιση προς τα επάνω για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Κύλιση προς τα αριστερά για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Κύλιση προς τα δεξιά για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Κύλιση προς τα κάτω για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Δόνηση"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Δόνηση"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ήχος"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Προεπιλεγμένος ήχος (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ήχος κλήσης τηλεφώνου"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Δόνηση κατά το κουδούνισμα"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ήχος κλήσης και δόνηση"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Διαχείριση κλήσης συνδιάσκεψης"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Αριθμός έκτακτης ανάγκης"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Φωτογραφία προφίλ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Απενεργοποίηση κάμερας"</string> - <string name="child_number" msgid="4469090994612105532">"μέσω <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Η σημείωση εστάλη"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Πρόσφατα μηνύματα"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Πληροφορίες επιχείρησης"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> μίλια μακριά"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> χιλιόμετρα μακριά"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Ανοίγει αύριο στις <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Ανοίγει σήμερα στις <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Κλείνει στις <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Έκλεισε σήμερα στις <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Ανοιχτό τώρα"</string> - <string name="closed_now" msgid="2635314668145282080">"Κλειστό τώρα"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Πιθανώς ανεπιθύμητος"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Η κλήση τερματίστηκε %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Αυτή είναι η πρώτη φορά που σας καλεί αυτός ο αριθμός."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Έχουμε υποψίες ότι αυτή κλήση είναι ανεπιθύμητη."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Αποκλ./αναφ. ανεπιθ."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Προσθήκη επαφής"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Μη ανεπιθύμητος"</string> -</resources> diff --git a/InCallUI/res/values-en-rAU/strings.xml b/InCallUI/res/values-en-rAU/strings.xml deleted file mode 100644 index 013aa9685..000000000 --- a/InCallUI/res/values-en-rAU/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Phone"</string> - <string name="onHold" msgid="527593602772521700">"On hold"</string> - <string name="unknown" msgid="3646075119047488748">"unknown"</string> - <string name="private_num" msgid="6081418498487514686">"Private number"</string> - <string name="payphone" msgid="5743050584468748607">"Payphone"</string> - <string name="confCall" msgid="3181961445236675173">"Conference call"</string> - <string name="call_lost" msgid="8208184291640961172">"Call cut off"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Speaker"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Handset earpiece"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Wired headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Send the following tones?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sending tones\n"</string> - <string name="send_button" msgid="4054398309483035794">"Send"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"yes"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"no"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Replace wild character with"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conference call <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Voicemail number"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Dialling"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Redialling"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conference call"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Incoming call"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Incoming work call"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Call ended"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"On hold"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Hanging up"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"In call"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"My number is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Connecting video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video call"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Requesting video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Can\'t connect video call"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video request rejected"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Your callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Your emergency callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Dialling"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Missed call"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Missed calls"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missed calls"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"On-going call"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Ongoing work call"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Ongoing Wi-Fi call"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Ongoing Wi-Fi work call"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"On hold"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Incoming call"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Incoming work call"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Incoming Wi-Fi call"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Incoming Wi-Fi work call"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Incoming video call"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Incoming suspected spam call"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Incoming video request"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"New voicemail"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"New voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Dial <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Voicemail number unknown"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"No service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Answer"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Hang up"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"In-stream video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voice"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accept"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Dismiss"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Call back"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Ongoing call on another device"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transfer call"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"To place a call, first turn off Aeroplane mode."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Not registered on network."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobile network not available."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"To place a call, enter a valid number."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Can\'t call."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Starting MMI sequence…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service not supported."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Can\'t switch calls."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Can\'t separate call."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Can\'t transfer."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Can\'t conference."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Can\'t reject call."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Can\'t release call(s)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP call"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Emergency call"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Turning on radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"No network. Trying again…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Can\'t call. Dial an emergency number."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Use keyboard to dial"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Hold Call"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Resume Call"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"End Call"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Show dial pad"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Hide dial pad"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Mute"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Unmute"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Add call"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Merge calls"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Swap"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Manage calls"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Manage conference call"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conference call"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Manage"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Change to voice call"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Switch camera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Turn on camera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Turn off camera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"More options"</string> - <string name="player_started" msgid="3478865572468310331">"Player Started"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player Stopped"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Camera not ready"</string> - <string name="camera_ready" msgid="2614541247814590887">"Camera ready"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Unknown call session event"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Service"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Set up"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Not set>"</string> - <string name="other_settings" msgid="6699076019841942826">"Other call settings"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"contact photo"</string> - <string name="goPrivate" msgid="3554069451018659483">"go private"</string> - <string name="selectContact" msgid="92191462970821951">"select contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Write your own..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"cancel"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Send"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Answer"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Send SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Decline"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Answer as video call"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Answer as audio call"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accept video request"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Decline video request"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accept video transmit request"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Decline video transmit request"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accept video receive request"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Decline video receive request"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Slide down for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrate"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrate"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sound"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Default sound (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Phone ringtone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrate when ringing"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringtone & Vibrate"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Manage conference call"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Emergency number"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profile photo"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Camera off"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Note sent"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Recent messages"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Business info"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mi away"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km away"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Opens tomorrow at <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Opens today at <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Closes at <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Closed today at <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Open now"</string> - <string name="closed_now" msgid="2635314668145282080">"Closed now"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Suspected spam caller"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Call ended %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"This is the first time that this number has called you."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"We suspected that this call was from a spammer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Block/report spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Add contact"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Not spam"</string> -</resources> diff --git a/InCallUI/res/values-en-rGB/strings.xml b/InCallUI/res/values-en-rGB/strings.xml deleted file mode 100644 index 013aa9685..000000000 --- a/InCallUI/res/values-en-rGB/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Phone"</string> - <string name="onHold" msgid="527593602772521700">"On hold"</string> - <string name="unknown" msgid="3646075119047488748">"unknown"</string> - <string name="private_num" msgid="6081418498487514686">"Private number"</string> - <string name="payphone" msgid="5743050584468748607">"Payphone"</string> - <string name="confCall" msgid="3181961445236675173">"Conference call"</string> - <string name="call_lost" msgid="8208184291640961172">"Call cut off"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Speaker"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Handset earpiece"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Wired headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Send the following tones?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sending tones\n"</string> - <string name="send_button" msgid="4054398309483035794">"Send"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"yes"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"no"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Replace wild character with"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conference call <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Voicemail number"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Dialling"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Redialling"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conference call"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Incoming call"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Incoming work call"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Call ended"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"On hold"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Hanging up"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"In call"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"My number is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Connecting video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video call"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Requesting video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Can\'t connect video call"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video request rejected"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Your callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Your emergency callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Dialling"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Missed call"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Missed calls"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missed calls"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"On-going call"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Ongoing work call"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Ongoing Wi-Fi call"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Ongoing Wi-Fi work call"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"On hold"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Incoming call"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Incoming work call"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Incoming Wi-Fi call"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Incoming Wi-Fi work call"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Incoming video call"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Incoming suspected spam call"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Incoming video request"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"New voicemail"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"New voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Dial <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Voicemail number unknown"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"No service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Answer"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Hang up"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"In-stream video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voice"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accept"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Dismiss"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Call back"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Ongoing call on another device"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transfer call"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"To place a call, first turn off Aeroplane mode."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Not registered on network."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobile network not available."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"To place a call, enter a valid number."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Can\'t call."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Starting MMI sequence…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service not supported."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Can\'t switch calls."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Can\'t separate call."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Can\'t transfer."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Can\'t conference."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Can\'t reject call."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Can\'t release call(s)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP call"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Emergency call"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Turning on radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"No network. Trying again…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Can\'t call. Dial an emergency number."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Use keyboard to dial"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Hold Call"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Resume Call"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"End Call"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Show dial pad"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Hide dial pad"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Mute"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Unmute"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Add call"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Merge calls"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Swap"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Manage calls"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Manage conference call"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conference call"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Manage"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Change to voice call"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Switch camera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Turn on camera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Turn off camera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"More options"</string> - <string name="player_started" msgid="3478865572468310331">"Player Started"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player Stopped"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Camera not ready"</string> - <string name="camera_ready" msgid="2614541247814590887">"Camera ready"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Unknown call session event"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Service"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Set up"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Not set>"</string> - <string name="other_settings" msgid="6699076019841942826">"Other call settings"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"contact photo"</string> - <string name="goPrivate" msgid="3554069451018659483">"go private"</string> - <string name="selectContact" msgid="92191462970821951">"select contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Write your own..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"cancel"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Send"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Answer"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Send SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Decline"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Answer as video call"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Answer as audio call"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accept video request"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Decline video request"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accept video transmit request"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Decline video transmit request"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accept video receive request"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Decline video receive request"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Slide down for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrate"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrate"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sound"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Default sound (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Phone ringtone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrate when ringing"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringtone & Vibrate"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Manage conference call"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Emergency number"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profile photo"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Camera off"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Note sent"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Recent messages"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Business info"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mi away"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km away"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Opens tomorrow at <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Opens today at <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Closes at <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Closed today at <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Open now"</string> - <string name="closed_now" msgid="2635314668145282080">"Closed now"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Suspected spam caller"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Call ended %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"This is the first time that this number has called you."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"We suspected that this call was from a spammer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Block/report spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Add contact"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Not spam"</string> -</resources> diff --git a/InCallUI/res/values-en-rIN/strings.xml b/InCallUI/res/values-en-rIN/strings.xml deleted file mode 100644 index 013aa9685..000000000 --- a/InCallUI/res/values-en-rIN/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Phone"</string> - <string name="onHold" msgid="527593602772521700">"On hold"</string> - <string name="unknown" msgid="3646075119047488748">"unknown"</string> - <string name="private_num" msgid="6081418498487514686">"Private number"</string> - <string name="payphone" msgid="5743050584468748607">"Payphone"</string> - <string name="confCall" msgid="3181961445236675173">"Conference call"</string> - <string name="call_lost" msgid="8208184291640961172">"Call cut off"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Speaker"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Handset earpiece"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Wired headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Send the following tones?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sending tones\n"</string> - <string name="send_button" msgid="4054398309483035794">"Send"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"yes"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"no"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Replace wild character with"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conference call <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Voicemail number"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Dialling"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Redialling"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conference call"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Incoming call"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Incoming work call"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Call ended"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"On hold"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Hanging up"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"In call"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"My number is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Connecting video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video call"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Requesting video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Can\'t connect video call"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video request rejected"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Your callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Your emergency callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Dialling"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Missed call"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Missed calls"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missed calls"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"On-going call"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Ongoing work call"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Ongoing Wi-Fi call"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Ongoing Wi-Fi work call"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"On hold"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Incoming call"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Incoming work call"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Incoming Wi-Fi call"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Incoming Wi-Fi work call"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Incoming video call"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Incoming suspected spam call"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Incoming video request"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"New voicemail"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"New voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Dial <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Voicemail number unknown"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"No service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Answer"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Hang up"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"In-stream video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voice"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accept"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Dismiss"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Call back"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Ongoing call on another device"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transfer call"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"To place a call, first turn off Aeroplane mode."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Not registered on network."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobile network not available."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"To place a call, enter a valid number."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Can\'t call."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Starting MMI sequence…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service not supported."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Can\'t switch calls."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Can\'t separate call."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Can\'t transfer."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Can\'t conference."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Can\'t reject call."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Can\'t release call(s)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP call"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Emergency call"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Turning on radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"No network. Trying again…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Can\'t call. Dial an emergency number."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Use keyboard to dial"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Hold Call"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Resume Call"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"End Call"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Show dial pad"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Hide dial pad"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Mute"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Unmute"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Add call"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Merge calls"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Swap"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Manage calls"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Manage conference call"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conference call"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Manage"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Change to voice call"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Switch camera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Turn on camera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Turn off camera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"More options"</string> - <string name="player_started" msgid="3478865572468310331">"Player Started"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player Stopped"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Camera not ready"</string> - <string name="camera_ready" msgid="2614541247814590887">"Camera ready"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Unknown call session event"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Service"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Set up"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Not set>"</string> - <string name="other_settings" msgid="6699076019841942826">"Other call settings"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"contact photo"</string> - <string name="goPrivate" msgid="3554069451018659483">"go private"</string> - <string name="selectContact" msgid="92191462970821951">"select contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Write your own..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"cancel"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Send"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Answer"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Send SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Decline"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Answer as video call"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Answer as audio call"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accept video request"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Decline video request"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accept video transmit request"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Decline video transmit request"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accept video receive request"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Decline video receive request"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Slide down for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrate"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrate"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sound"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Default sound (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Phone ringtone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrate when ringing"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringtone & Vibrate"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Manage conference call"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Emergency number"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profile photo"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Camera off"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Note sent"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Recent messages"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Business info"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mi away"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km away"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Opens tomorrow at <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Opens today at <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Closes at <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Closed today at <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Open now"</string> - <string name="closed_now" msgid="2635314668145282080">"Closed now"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Suspected spam caller"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Call ended %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"This is the first time that this number has called you."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"We suspected that this call was from a spammer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Block/report spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Add contact"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Not spam"</string> -</resources> diff --git a/InCallUI/res/values-es-rUS/strings.xml b/InCallUI/res/values-es-rUS/strings.xml deleted file mode 100644 index 915c90779..000000000 --- a/InCallUI/res/values-es-rUS/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Teléfono"</string> - <string name="onHold" msgid="527593602772521700">"En espera"</string> - <string name="unknown" msgid="3646075119047488748">"Desconocido"</string> - <string name="private_num" msgid="6081418498487514686">"Número privado"</string> - <string name="payphone" msgid="5743050584468748607">"Teléfono pago"</string> - <string name="confCall" msgid="3181961445236675173">"Llamada en conferencia"</string> - <string name="call_lost" msgid="8208184291640961172">"Se interrumpió la llamada"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altavoz"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auricular del dispositivo"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Auriculares con cable"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"¿Deseas enviar los siguientes tonos?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Enviando tonos\n"</string> - <string name="send_button" msgid="4054398309483035794">"Enviar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sí"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"No"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Reemplazar el carácter comodín con"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Llamada en conferencia: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número de buzón de voz"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Marcando"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Volviendo a marcar"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Llamada en conferencia"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Llamada entrante"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Llamada entrante: trabajo"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Llamada finalizada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"En espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Colgando"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"En llamada"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mi número es <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Conectando video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videollamada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Solicitando video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"No se puede conectar la videollamada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Se rechazó la solicitud de videollamada"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Número de devolución de llamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Número de devolución de llamada de emergencia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Marcando"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Llamada perdida"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Llamadas perdidas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> llamadas perdidas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Llamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Llamada en curso"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Llamada en curso: trabajo"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Llamada Wi-Fi en curso"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Llamada Wi-Fi en curso: trabajo"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"En espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Llamada entrante"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Llamada entrante: trabajo"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Llamada Wi-Fi entrante"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Llamada Wi-Fi entrante: trabajo"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videollamada entrante"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Posible llamada entrante de spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Solicitud de videollamada entrante"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nuevo mensaje de buzón de voz"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Buzón de voz nuevo (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Marcar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número de buzón de voz desconocido"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sin servicio"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"La red seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no está disponible"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Responder"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Colgar"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voz"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aceptar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Descartar"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Llamar"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensaje"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Llamada en curso en otro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferir llamada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Para realizar una llamada, primero debes desactivar el modo de avión."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"No está registrado en la red."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"La red móvil no está disponible."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Para realizar una llamada, ingresa un número válido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"No se puede realizar la llamada."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Iniciando la secuencia de MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"El servicio no es compatible."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"No se pueden cambiar las llamadas."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"No se puede desviar la llamada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"No se puede transferir."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"No se puede realizar la conferencia."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"No se puede rechazar la llamada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"No se pueden liberar las llamadas."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Llamada SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Llamada de emergencia"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Encendiendo radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"No hay servicio. Vuelve a intentarlo…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"No se puede realizar la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"No se puede realizar la llamada. Marca un número de emergencia."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Usar teclado para marcar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Retener llamada"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Reanudar llamada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Finalizar llamada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostrar teclado"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ocultar teclado"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Silenciar"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Dejar de silenciar"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Agregar llamada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Combinar llamadas"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Cambiar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Administrar llamadas"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Administrar conferencia"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Llamada en conferencia"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Administrar"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Cambiar a llamada de voz"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambiar cámara"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activar la cámara"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desactivar la cámara"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Más opciones"</string> - <string name="player_started" msgid="3478865572468310331">"Se inició el reproductor"</string> - <string name="player_stopped" msgid="1278611664986561535">"Se detuvo el reproductor"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"La cámara no está lista"</string> - <string name="camera_ready" msgid="2614541247814590887">"Cámara lista"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento de sesión de llamada desconocido"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Servicio"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuración"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Sin configurar>"</string> - <string name="other_settings" msgid="6699076019841942826">"Otras opciones de llamada"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Llamada por medio de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Entrantes por medio de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto de contacto"</string> - <string name="goPrivate" msgid="3554069451018659483">"pasar a modo privado"</string> - <string name="selectContact" msgid="92191462970821951">"seleccionar contacto"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escribe tu propia respuesta…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancelar"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Enviar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Responder"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Enviar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Rechazar"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Responder como videollamada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Responder como llamada de audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Aceptar solicitud de videollamada"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Rechazar solicitud de videollamada"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Aceptar solicitud de transmisión de videollamada"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Rechazar solicitud de transmisión de videollamada"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Aceptar solicitud de recepción de videollamada"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Rechazar solicitud de recepción de videollamada"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Desliza el dedo hacia la derecha para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Desliza el dedo hacia abajo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sonido"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Sonido predeterminado (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Tono del teléfono"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar al sonar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Tono y vibración"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Administrar llamada en conferencia"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número de emergencia"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto de perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Cámara desactivada"</string> - <string name="child_number" msgid="4469090994612105532">"del <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Se envió la nota"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mensajes recientes"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Información de la empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"A <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"A <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"De <xliff:g id="OPEN_TIME">%1$s</xliff:g> a <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g> y <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Abre mañana a la hora <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Abre hoy a la hora <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Cierra a la hora <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Cerró hoy a la hora <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Abierto ahora"</string> - <string name="closed_now" msgid="2635314668145282080">"Cerrado ahora"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Posible spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Llamada finalizada %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Es la primera vez que te llaman desde este número."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sospechamos que esta llamada era spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloquear/denunciar"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Agregar contacto"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"No es spam"</string> -</resources> diff --git a/InCallUI/res/values-es/strings.xml b/InCallUI/res/values-es/strings.xml deleted file mode 100644 index ab570d593..000000000 --- a/InCallUI/res/values-es/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Teléfono"</string> - <string name="onHold" msgid="527593602772521700">"En espera"</string> - <string name="unknown" msgid="3646075119047488748">"Desconocida"</string> - <string name="private_num" msgid="6081418498487514686">"Número privado"</string> - <string name="payphone" msgid="5743050584468748607">"Teléfono público"</string> - <string name="confCall" msgid="3181961445236675173">"Conferencia"</string> - <string name="call_lost" msgid="8208184291640961172">"Llamada perdida"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altavoz"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auricular"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Auriculares con cable"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"¿Quieres enviar los siguientes tonos?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Enviando tonos\n"</string> - <string name="send_button" msgid="4054398309483035794">"Enviar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sí"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"No"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Sustituir el carácter comodín por"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conferencia <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número del mensaje de voz"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Llamando"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Llamando otra vez"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conferencia"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Llamada entrante"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Llamada trabajo entrante"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Llamada finalizada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"En espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Colgando"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Llamada entrante"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mi número es el <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Conectando videollamada"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videollamada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Solicitando videollamada"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"No se puede establecer la videollamada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Solicitud de videollamada rechazada"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Tu número de devolución de llamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Tu número de devolución de llamada de emergencia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Llamando"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Llamada perdida"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Llamadas perdidas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> llamadas perdidas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Llamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Llamada en curso"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Llamada de trabajo en curso"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Llamada Wi-Fi en curso"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Llamada Wi-Fi de trabajo en curso"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"En espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Llamada entrante"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Llamada de trabajo entrante"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Llamada Wi-Fi entrante"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Llamada Wi-Fi de trabajo entrante"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videollamada entrante"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Llamada entrante sospechosa de spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Solicitud de videollamada entrante"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nuevo mensaje de voz"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nuevo mensaje de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Marcar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número del mensaje de voz desconocido"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sin servicio"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"La red seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no está disponible"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Responder"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Colgar"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videollamada"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voz"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aceptar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Rechazar"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Llamar"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensaje"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Llamada activa en otro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferir llamada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Para realizar una llamada, primero debes desactivar el modo avión."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"No estás registrado en la red."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"La red móvil no está disponible."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Para realizar una llamada, introduce un número válido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"No se puede establecer la llamada."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Iniciando secuencia MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Servicio no admitido."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"No se pueden intercambiar llamadas."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"No se pueden separar llamadas."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"No se puede transferir."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"No se puede establecer la conferencia."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"No se puede rechazar la llamada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"No se pueden hacer llamadas."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Llamada SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Llamada de emergencia"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Activando señal móvil…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Sin servicio. Reintentado…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"No se puede establecer la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"No se puede establecer la llamada. Marca un número de emergencia."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Usa el teclado para marcar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Retener llamada"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Seguir con la llamada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Finalizar llamada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostrar teclado"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ocultar teclado"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Silenciar"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Activar sonido"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Añadir llamada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Llamada a tres"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Cambiar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Administrar llamadas"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Administrar conferencia"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Teleconferencia"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gestionar"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videollamada"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Cambiar a llamada de voz"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambiar cámara"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activar cámara"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desactivar cámara"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Más opciones"</string> - <string name="player_started" msgid="3478865572468310331">"Reproductor iniciado"</string> - <string name="player_stopped" msgid="1278611664986561535">"Reproductor detenido"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Cámara no preparada"</string> - <string name="camera_ready" msgid="2614541247814590887">"Cámara preparada"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento de sesión de llamada desconocido"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Servicio"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuración"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<No definido>"</string> - <string name="other_settings" msgid="6699076019841942826">"Otra configuración de llamada"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Llamada a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Recibidas a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto de contacto"</string> - <string name="goPrivate" msgid="3554069451018659483">"llamada privada"</string> - <string name="selectContact" msgid="92191462970821951">"seleccionar contacto"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escribe tu propia respuesta..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancelar"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Enviar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Responder"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Enviar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Rechazar"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Responder como videollamada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Responder como llamada de audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Aceptar solicitud de videollamada"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Rechazar solicitud de videollamada"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Aceptar solicitud de transmisión de videollamada"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Rechazar solicitud de transmisión de videollamada"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Aceptar solicitud de recepción de videollamada"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Rechazar solicitud de recepción de videollamada"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Desliza el dedo hacia la derecha para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Desliza el dedo hacia abajo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sonido"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Sonido predeterminado (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Tono de llamada del teléfono"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar al sonar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Tono de llamada y vibración"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Administrar videollamada"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número de emergencia"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto de perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Cámara apagada"</string> - <string name="child_number" msgid="4469090994612105532">"a través de <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota enviada"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mensajes recientes"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Información de la empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"A <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"A <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Abre mañana a las <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Abre hoy a las <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Cierra a las <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Cerrado hoy a las <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Abierto ahora"</string> - <string name="closed_now" msgid="2635314668145282080">"Cerrado ahora"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Sospechoso de spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Llamada de %1$s terminada"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Es la primera vez que recibes una llamada de este número."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sospechábamos que esta llamada era de spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloquear / Marcar como spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Añadir contacto"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"No es spam"</string> -</resources> diff --git a/InCallUI/res/values-et/strings.xml b/InCallUI/res/values-et/strings.xml deleted file mode 100644 index 5d2a0d8b0..000000000 --- a/InCallUI/res/values-et/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Ootel"</string> - <string name="unknown" msgid="3646075119047488748">"Tundmatu"</string> - <string name="private_num" msgid="6081418498487514686">"Eranumber"</string> - <string name="payphone" msgid="5743050584468748607">"Telefoniautomaat"</string> - <string name="confCall" msgid="3181961445236675173">"Konverentskõne"</string> - <string name="call_lost" msgid="8208184291640961172">"Kõne katkes"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Kõlar"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Käsitelefoni kuular"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Juhtmega peakomplekt"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Kas saata järgmised toonid?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Toonide saatmine\n"</string> - <string name="send_button" msgid="4054398309483035794">"Saada"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Jah"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ei"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Asenda metamärk üksusega"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konverentskõne <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Kõneposti number"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Valimine"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Uuesti valimine"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konverentskõne"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Sissetulev kõne"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Sissetulev töökõne"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Kõne lõpetati"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Ootel"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Lõpetamine"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Kõne on pooleli"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Minu number on <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Video ühendamine"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videokõne"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Video taotlemine"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videokõnet ei õnnestu ühendada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videokõne taotlus lükati tagasi"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Teie tagasihelistamise number\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Teie hädaabikõne tagasihelistamise number\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Valimine"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Vastamata kõne"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Vastamata kõned"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> vastamata kõnet"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Vastamata kõne helistajalt <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Käimasolev kõne"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Käimasolev töökõne"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Käimasolev WiFi-kõne"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Käimasolev töökõne WiFi kaudu"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Ootel"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Sissetulev kõne"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Sissetulev töökõne"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Sissetulev WiFi-kõne"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Sissetulev töökõne WiFi kaudu"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Sissetulev videokõne"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Arvatav sissetulev rämpskõne"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Sissetulev videokõne taotlus"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Uus kõnepostisõnum"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Uus kõnepostisõnum (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Valige <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Kõnepostinumber on tundmatu"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Levi puudub"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Valitud võrk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) pole saadaval"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Vasta"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Lõpeta kõne"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videokõne"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Häälkõne"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Nõustu"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Loobu"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Helista tagasi"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Saada sõnum"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Pooleliolev kõne teise seadmes"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Kõne ülekandmine"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Helistamiseks lülitage esmalt lennukirežiim välja."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ei ole võrgus registreeritud."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobiilsidevõrk pole saadaval."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Helistamiseks sisestage kehtiv number."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Ei saa helistada."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI-jada alustamine …"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Teenust ei toetata."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Kõnesid ei saa vahetada."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Kõnet ei saa eraldada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Ei saa üle kanda."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konverentskõnet ei saa pidada."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Kõnet ei saa tagasi lükata."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Kõnesid ei saa vabastada."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-kõne"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Hädaabikõne"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Raadioside sisselülitamine …"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Levi puudub. Uuesti proovimine …"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Ei saa helistada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ei ole hädaabinumber."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Ei saa helistada. Valige hädaabinumber."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Kasutage valimiseks klaviatuuri"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Kõne ootele"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Jätka kõnet"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Lõpeta kõne"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Kuva valimisklahvistik"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Peida valimisklahvistik"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Vaigista"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Tühista vaigistus"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Lisa kõne"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Ühenda kõned"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Vaheta"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Halda kõnesid"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Halda konverentskõnet"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konverentskõne"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Halda"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Heli"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videokõne"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Mine üle häälkõnele"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Vaheta kaamerat"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Lülita kaamera sisse"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Lülita kaamera välja"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Rohkem valikuid"</string> - <string name="player_started" msgid="3478865572468310331">"Pleier käivitati"</string> - <string name="player_stopped" msgid="1278611664986561535">"Pleier peatati"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kaamera pole valmis"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kaamera on valmis"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Tundmatu kõneseansisündmus"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Teenus"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Seadistamine"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Määramata>"</string> - <string name="other_settings" msgid="6699076019841942826">"Muud kõneseaded"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Kõne edastab <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Sissetulev kõne teenusepakkuja <xliff:g id="PROVIDER_NAME">%s</xliff:g> kaudu"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontakti foto"</string> - <string name="goPrivate" msgid="3554069451018659483">"aktiveeri privaatne kõne"</string> - <string name="selectContact" msgid="92191462970821951">"vali kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Kirjutage ise …"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Tühista"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Saada"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Vastamine"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Saada SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Tagasilükkamine"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Vastamine videokõnena"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Vastamine helikõnena"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Video taotluse aktsepteerimine"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Video taotluse tagasilükkamine"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Video edastamise taotluse aktsepteerimine"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Video edastamise taotluse tagasilükkamine"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Video vastuvõtmise taotluse aktsepteerimine"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Video vastuvõtmise taotluse tagasilükkamine"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Lohistage üles: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Lohistage vasakule: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Lohistage paremale: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Lohistage alla: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibreerimine"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibreerimine"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Heli"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Vaikeheli (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefonihelin"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibreerimine helina ajal"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Helin ja vibratsioon"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Konverentskõne haldamine"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Hädaabinumber"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profiilifoto"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kaamera on välja lülitatud"</string> - <string name="child_number" msgid="4469090994612105532">"numbri <xliff:g id="CHILD_NUMBER">%s</xliff:g> kaudu"</string> - <string name="note_sent" msgid="7623014827902758398">"Märkus on saadetud"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Hiljutised sõnumid"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Ettevõtte teave"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> miili kaugusel"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km kaugusel"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> kuni <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Avatakse homme kell <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Avatakse täna kell <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Suletakse kell <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Suleti täna kell <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Praegu avatud"</string> - <string name="closed_now" msgid="2635314668145282080">"Praegu suletud"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Arvatav rämpskõne"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Kõne lõppes: %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Teile helistati sellelt numbrilt esimest korda."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Kahtlustasime, et see võis olla rämpskõne."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokeeri / teavita rämpskõnest"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Lisa kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Pole rämpskõne"</string> -</resources> diff --git a/InCallUI/res/values-eu/strings.xml b/InCallUI/res/values-eu/strings.xml deleted file mode 100644 index c300c47cd..000000000 --- a/InCallUI/res/values-eu/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefonoa"</string> - <string name="onHold" msgid="527593602772521700">"Zain"</string> - <string name="unknown" msgid="3646075119047488748">"Ezezaguna"</string> - <string name="private_num" msgid="6081418498487514686">"Zenbaki pribatua"</string> - <string name="payphone" msgid="5743050584468748607">"Telefono publikoa"</string> - <string name="confCall" msgid="3181961445236675173">"Konferentzia-deia"</string> - <string name="call_lost" msgid="8208184291640961172">"Eten egin da deia"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Bozgorailua"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Aurikularrak"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Kabledun entzungailua"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth konexioa"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Tonu hauek bidali nahi dituzu?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Tonuak bidaltzen\n"</string> - <string name="send_button" msgid="4054398309483035794">"Bidali"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Bai"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ez"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Ordeztu komodina honekin:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferentzia-deiaren ordua: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Erantzungailuaren zenbakia"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Deitzen"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Berriro markatzen"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferentzia-deia"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Dei bat jaso duzu"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Laneko dei bat jaso duzu"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Amaitu da deia"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Zain"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Deia amaitzen"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Deia abian"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Nire zenbakia <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> da"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Bideoa konektatzen"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Bideo-deia"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Bideo-deia eskatzen"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Ezin da konektatu bideo-deia"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Baztertu egin da bideo-deia egiteko eskaera"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Dei-erantzunetarako zenbakia:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Larrialdi-dei bidez erantzuteko zenbakia:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Deitzen"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Dei bat galdu duzu"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Dei batzuk galdu dituzu"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> dei galdu dituzu"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Deitzaile honen dei bat galdu duzu: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Deia abian da"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Laneko dei bat abian da"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi bidezko deia abian da"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Wi-Fi bidezko laneko dei bat abian da"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Zain"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Dei bat jaso duzu"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Laneko dei bat jaso duzu"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Wi-Fi bidezko dei bat jaso duzu"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Wi-Fi bidezko laneko dei bat jaso duzu"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Bideo-dei bat jaso duzu"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Ustezko spam-deia jaso duzu"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Bideo-dei bat egiteko eskaera bat jaso duzu"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Ahots-mezu berria"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Ahots-mezu berriak (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Markatu <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Erantzungailuaren zenbakia ezezaguna da"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ez dago zerbitzurik"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Hautatutako sarea (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ez dago erabilgarri"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Erantzun"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Amaitu deia"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Bideo-deia"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Ahots-deia"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Onartu"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Baztertu"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Itzuli deia"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Bidali SMSa"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Dei bat abian da beste gailu batean"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferitu deia"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Deitzeko, desaktibatu hegaldi modua."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ez dago sarean erregistratuta."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Sare mugikorra ez dago erabilgarri."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Deitzeko, idatzi balio duen zenbaki bat."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Ezin da deitu."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI sekuentzia hasten…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Ez da onartzen zerbitzua."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Ezin aldatu beste dei batera."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Ezin da bereizi deia."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Ezin da transferitu."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Ezin da egin konferentzia-deia."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Ezin da baztertu deia."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Ezin dira amaitu deiak."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP deia"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Larrialdi-deia"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Irratia pizten…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ez dago zerbitzurik. Berriro saiatzen…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Ezin da deitu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ez da larrialdietarako zenbakia."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Ezin da deitu. Markatu larrialdietarako zenbakia."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Erabili teklatua markatzeko"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Utzi deia zain"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Berrekin deiari"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Amaitu deia"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Erakutsi markagailua"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ezkutatu markagailua"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Desaktibatu audioa"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Aktibatu audioa"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Gehitu deia"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Bateratu deiak"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Aldatu"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Kudeatu deiak"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Kudeatu konferentzia-deia"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferentzia-deia"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Kudeatu"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audioa"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Bideo-deia"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Aldatu ahots-deira"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Aldatu kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Aktibatu kamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desaktibatu kamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Aukera gehiago"</string> - <string name="player_started" msgid="3478865572468310331">"Abian da erreproduzigailua"</string> - <string name="player_stopped" msgid="1278611664986561535">"Gelditu da erreproduzigailua"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Ez dago prest kamera"</string> - <string name="camera_ready" msgid="2614541247814590887">"Prest dago kamera"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Dei-saioko gertaera ezezaguna"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Zerbitzua"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Konfigurazioa"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ezarri gabe>"</string> - <string name="other_settings" msgid="6699076019841942826">"Deien beste ezarpen batzuk"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> bidez deitzen"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> bidez jasotzen"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontaktuaren argazkia"</string> - <string name="goPrivate" msgid="3554069451018659483">"bihurtu pribatu"</string> - <string name="selectContact" msgid="92191462970821951">"hautatu kontaktua"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Idatzi zeure erantzuna…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Utzi"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Bidali"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Erantzun"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Bidali SMS mezua"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Baztertu"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Erantzun bideo-dei moduan"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Erantzun audio-dei moduan"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Onartu bideo-deia egiteko eskaera"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Baztertu bideo-deia egiteko eskaera"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Onartu bideoa transmititzeko eskaera"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Baztertu bideoa transmititzeko eskaera"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Onartu bideo-deia jasotzeko eskaera"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Baztertu bideo-deia jasotzeko eskaera"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Lerratu gora hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Lerratu ezkerrera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Lerratu eskuinera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Lerratu behera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Dardara"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Dardara"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Soinua"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Soinu lehenetsia (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefonoaren tonua"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Egin dar-dar tonuak jotzean"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Tonua eta dardara"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Kudeatu konferentzia-deia"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Larrialdietarako zenbakia"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profileko argazkia"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Desaktibatuta dago kamera"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> zenbakitik"</string> - <string name="note_sent" msgid="7623014827902758398">"Bidali da oharra"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Azken mezuak"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Enpresaren informazioa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Hemendik <xliff:g id="DISTANCE">%.1f</xliff:g> miliara"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Hemendik <xliff:g id="DISTANCE">%.1f</xliff:g> km-ra"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"<xliff:g id="OPEN_TIME">%s</xliff:g> da biharko irekitze-ordua"</string> - <string name="opens_today_at" msgid="6281212768937222891">"<xliff:g id="OPEN_TIME">%s</xliff:g> da gaurko irekitze-ordua"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> da ixte-ordua"</string> - <string name="closed_today_at" msgid="4060072663433467233">"<xliff:g id="CLOSE_TIME">%s</xliff:g> da gaurko itxiera-ordua"</string> - <string name="open_now" msgid="4615706338669555999">"Irekita dago"</string> - <string name="closed_now" msgid="2635314668145282080">"Itxita dago"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Ustezko spam-deitzailea"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Deiaren amaiera: %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Zenbaki honek deitu dizun lehen aldia izan da."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Spam-igorle baten deia izan dela susmatu dugu."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Salatu spama dela"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Gehitu kontaktua"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ez da spama"</string> -</resources> diff --git a/InCallUI/res/values-fa/strings.xml b/InCallUI/res/values-fa/strings.xml deleted file mode 100644 index f96b8956a..000000000 --- a/InCallUI/res/values-fa/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"تلفن"</string> - <string name="onHold" msgid="527593602772521700">"در انتظار"</string> - <string name="unknown" msgid="3646075119047488748">"نامشخص"</string> - <string name="private_num" msgid="6081418498487514686">"شماره خصوصی"</string> - <string name="payphone" msgid="5743050584468748607">"تلفن عمومی"</string> - <string name="confCall" msgid="3181961445236675173">"تماس کنفرانسی"</string> - <string name="call_lost" msgid="8208184291640961172">"تماس قطع شد"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"بلندگو"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"گوشی"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"هدست سیمی"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"بلوتوث"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"شمارههای بعدی ارسال شود؟\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"تونهای ارسالی\n"</string> - <string name="send_button" msgid="4054398309483035794">"ارسال"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"بله"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"نه"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"جایگزینی نویسه عمومی با"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"تماس کنفرانسی <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"شماره پست صوتی"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"شمارهگیری"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"درحال شمارهگیری مجدد"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"تماس کنفرانسی"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"تماس ورودی"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"تماس کاری ورودی"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"تماس پایان یافت"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"در انتظار"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"قطع تماس"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"درحال تماس"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"شماره من <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> است"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"درحال برقراری تماس ویدئویی"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"تماس ویدئویی"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"درحال درخواست تماس ویدئویی"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"برقراری تماس ویدئویی ممکن نیست"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"درخواست تماس ویدئویی رد شد"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"شماره پاسخ تماس شما\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"شماره پاسخ تماس اضطراری شما\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"شمارهگیری"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"تماس بیپاسخ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"تماس بیپاسخ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> تماس بیپاسخ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"تماس بیپاسخ از <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"تماس درحال انجام"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"تماس کاری درحال انجام"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"تماس درحال انجام ازطریق Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"تماس کاری Wi-Fi درحال انجام"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"در انتظار"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"تماس ورودی"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"تماس کاری ورودی"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"تماس Wi-Fi ورودی"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"تماس کاری Wi-Fi ورودی"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"تماس ویدئویی ورودی"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"تماس هرزنامه احتمالی ورودی"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"درخواست تماس ویدئویی ورودی"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"پست صوتی جدید"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"پست صوتی جدید (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"شمارهگیری <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"شماره پست صوتی ناشناس"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"بدون سرویس"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"شبکه انتخابی (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) قابل دسترس نیست"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"پاسخ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"پایان تماس"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ویدئو"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"صدا"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"پذیرفتن"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"نپذیرفتن"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"پاسخ تماس"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"پیام"</string> - <string name="notification_external_call" msgid="5611236780302924816">"تماس در حال انجام در دستگاهی دیگر"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"انتقال تماس"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"برای برقراری تماس، ابتدا حالت هواپیما را خاموش کنید."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"در شبکه ثبت نشده است."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"شبکه تلفن همراه در دسترس نیست."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"برای برقراری تماس، شماره معتبری وارد کنید."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"تماس ممکن نیست."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"شروع ترتیب MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"سرویس پشتیبانی نمیشود."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"جابهجایی بین تماسها ممکن نیست."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"جدا کردن تماس ممکن نیست."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"انتقال ممکن نیست."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"تماس کنفرانسی ممکن نیست."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"رد کردن تماس ممکن نیست."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"آزاد کردن تماس(ها) ممکن نیست."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"تماس SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"تماس اضطراری"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"درحال روشن کردن رادیو…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"سرویسی در دسترس نیست. درحال تلاش مجدد…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"تماس ممکن نیست. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> شماره اضطراری نیست."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"تماس ممکن نیست. فقط شماره اضطراری."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"استفاده از صفحهکلید برای شمارهگیری"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"در انتظار گذاشتن تماس"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ازسرگیری تماس"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"پایان تماس"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"نمایش صفحه شمارهگیری"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"پنهان کردن صفحه شمارهگیری"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"بیصدا کردن"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"لغو نادیده گرفتن"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"افزودن تماس"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ادغام تماسها"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"تعویض"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"مدیریت تماسها"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"مدیریت تماس کنفرانسی"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"تماس کنفرانسی"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"مدیریت"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"صوتی"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"تماس ویدئویی"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"تغییر به تماس صوتی"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"تعویض دوربین"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"روشن کردن دوربین"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"خاموش کردن دوربین"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"گزینههای بیشتر"</string> - <string name="player_started" msgid="3478865572468310331">"پخشکننده راهاندازی شد"</string> - <string name="player_stopped" msgid="1278611664986561535">"پخشکننده متوقف شد"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"دوربین آماده نیست"</string> - <string name="camera_ready" msgid="2614541247814590887">"دوربین آماده است"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"رویداد جلسه تماس ناشناس"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"سرویس"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"راهاندازی"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<تنظیم نشده>"</string> - <string name="other_settings" msgid="6699076019841942826">"سایر تنظیمات تماس"</string> - <string name="calling_via_template" msgid="3539373093109976255">"تماس با <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"تماسهای ورودی ازطریق <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"عکس مخاطب"</string> - <string name="goPrivate" msgid="3554069451018659483">"رفتن به حالت خصوصی"</string> - <string name="selectContact" msgid="92191462970821951">"انتخاب مخاطب"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"پیام خودتان را بنویسید..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"لغو"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ارسال"</string> - <string name="description_target_answer" msgid="1111945818996518320">"پاسخ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"ارسال پیامک"</string> - <string name="description_target_decline" msgid="7108154434759234035">"رد کردن"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"پاسخ بهصورت تماس ویدئویی"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"پاسخ بهصورت تماس صوتی"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"پذیرفتن درخواست تماس ویدئویی"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"نپذیرفتن درخواست تماس ویدئویی"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"پذیرفتن درخواست مخابره ویدئویی"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"نپذیرفتن درخواست مخابره ویدئویی"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"پذیرفتن درخواست دریافت ویدئویی"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"نپذیرفتن درخواست دریافت ویدئویی"</string> - <string name="description_direction_up" msgid="1735018141439291766">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به بالا بلغزانید."</string> - <string name="description_direction_left" msgid="6811598791620851239">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به چپ بلغزانید."</string> - <string name="description_direction_right" msgid="5461971399586296023">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به راست بلغزانید."</string> - <string name="description_direction_down" msgid="3331715227997561639">"برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> به پایین بلغزانید."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"لرزش"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"لرزش"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"صدا"</string> - <string name="default_notification_description" msgid="4950807644546509965">"صدای پیشفرض (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"آهنگ زنگ تلفن"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"لرزش هنگام زنگ زدن"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"آهنگ زنگ و لرزش"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"مدیریت تماس کنفرانسی"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"شماره اضطراری"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"عکس نمایه"</string> - <string name="camera_off_description" msgid="4220023868645225790">"دوربین خاموش"</string> - <string name="child_number" msgid="4469090994612105532">"ازطریق <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"یادداشت ارسال شد"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"پیامهای جدید"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"اطلاعات کسب و کار"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> مایل فاصله"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> کیلومتر فاصله"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>، <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> تا <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>، <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"فردا ساعت <xliff:g id="OPEN_TIME">%s</xliff:g> باز میشود"</string> - <string name="opens_today_at" msgid="6281212768937222891">"امروز ساعت <xliff:g id="OPEN_TIME">%s</xliff:g> باز میشود"</string> - <string name="closes_today_at" msgid="4822369201263491509">"ساعت <xliff:g id="CLOSE_TIME">%s</xliff:g> بسته میشود"</string> - <string name="closed_today_at" msgid="4060072663433467233">"امروز ساعت <xliff:g id="CLOSE_TIME">%s</xliff:g> بسته شد"</string> - <string name="open_now" msgid="4615706338669555999">"اکنون باز است"</string> - <string name="closed_now" msgid="2635314668145282080">"اکنون بسته است"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"تماسگیرنده هرزنامه احتمالی"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"تماس به پایان رسید %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"این اولین بار است که این شماره با شما تماس گرفته است."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ما به این تماس شک کردیم و احساس کردیم که ممکن است کلاهبردار باشد."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"مسدود کردن/گزارش دادن هرزنامه"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"افزودن مخاطب"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"هرزنامه نیست"</string> -</resources> diff --git a/InCallUI/res/values-fi/strings.xml b/InCallUI/res/values-fi/strings.xml deleted file mode 100644 index 7553e7c25..000000000 --- a/InCallUI/res/values-fi/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Puhelin"</string> - <string name="onHold" msgid="527593602772521700">"Pidossa"</string> - <string name="unknown" msgid="3646075119047488748">"Tuntematon"</string> - <string name="private_num" msgid="6081418498487514686">"Yksityinen numero"</string> - <string name="payphone" msgid="5743050584468748607">"Maksupuhelin"</string> - <string name="confCall" msgid="3181961445236675173">"Puhelinneuvottelu"</string> - <string name="call_lost" msgid="8208184291640961172">"Puhelu katkaistiin."</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Kaiutin"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Puhelimen kaiutin"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Kuulokemikrofoni"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Lähetetäänkö seuraavat äänet?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Lähetetään ääniä\n"</string> - <string name="send_button" msgid="4054398309483035794">"Lähetä"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Kyllä"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ei"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Muuta jokerimerkiksi"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Puhelinneuvottelu <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Puhelinvastaajan numero"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Soitetaan"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Soitetaan uudelleen"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Puhelinneuvottelu"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Saapuva puhelu"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Saapuva työpuhelu"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Puhelu päättyi"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Pidossa"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Katkaistaan"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Puhelu käynnissä"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Numeroni on <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Avataan videoyhteys"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videopuhelu"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Videota pyydetään"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videopuhelua ei voi soittaa"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videopyyntö hylättiin"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Takaisinsoittonumero:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Hätäpuhelujen takaisinsoittonumero:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Soitetaan"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Vastaamaton puhelu"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Vastaamattomia puheluita"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> vastaamatonta puhelua"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Vastaamaton puhelu: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Käynnissä oleva puhelu"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Käynnissä oleva työpuhelu"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Käynnissä oleva Wi-Fi-puhelu"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Käynnissä oleva Wi-Fi-työpuhelu"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Pidossa"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Saapuva puhelu"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Saapuva työpuhelu"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Saapuva Wi-Fi-puhelu"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Saapuva Wi-Fi-työpuhelu"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Saapuva videopuhelu"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Tämä puhelu saattaa olla häirikköpuhelu."</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Saapuva videopyyntö"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Uusi vastaajaviesti"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Uusia vastaajaviestejä (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Soita: <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Puhelinvastaajan numero on tuntematon."</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ei yhteyttä"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Valittu verkko (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ei ole käytettävissä."</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Vastaa"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Katkaise"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videopuhelu"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Äänipuhelu"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Hyväksy"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Hylkää"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Soita"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Viesti"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Puhelu on kesken toisella laitteella."</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Siirrä puhelu"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Poista lentokonetila käytöstä ennen puhelun soittamista."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ei rekisteröity verkkoon"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Matkapuhelinverkko ei ole käytettävissä."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Soita antamalla kelvollinen numero."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Puhelua ei voi soittaa."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Aloitetaan MMI-koodisekvenssiä…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Yhteyttä ei tueta."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Puhelua ei voi vaihtaa."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Puhelua ei voi erottaa."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Puhelua ei voi siirtää."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Puheluja ei voi yhdistää."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Puhelua ei voi hylätä."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Puheluja ei voi katkaista."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-puhelu"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Hätäpuhelu"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Käynnistetään radiota…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ei yhteyttä. Yritetään uudelleen…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Puhelua ei voi soittaa. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ei ole hätänumero."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Puhelua ei voi soittaa. Valitse hätänumero."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Valitse numero näppäimistöllä."</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Aseta puhelu pitoon"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Jatka puhelua"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Lopeta puhelu"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Avaa näppäimistö"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Piilota näppäimistö"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Mykistä"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Poista mykistys"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Lisää puhelu"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Yhdistä puhelut"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Vaihda"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Hallinnoi puheluja"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Hallinnoi puhelinneuvottelua"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Puhelinneuvottelu"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Hallinnoi"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Ääni"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Muuta äänipuheluksi"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Vaihda kameraa"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Käynnistä kamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Sammuta kamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Lisäasetukset"</string> - <string name="player_started" msgid="3478865572468310331">"Soitin käynnistettiin."</string> - <string name="player_stopped" msgid="1278611664986561535">"Soitin pysäytettiin."</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera ei ole valmis."</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera on valmis."</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Tuntematon puheluistunnon tapahtuma"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Palveluntarjoaja"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Määritys"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ei määritetty>"</string> - <string name="other_settings" msgid="6699076019841942826">"Muut puheluasetukset"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Käytetään operaattoria <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Saapuva puhelu (<xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string> - <string name="contactPhoto" msgid="6028825355597675193">"Yhteystiedon kuva"</string> - <string name="goPrivate" msgid="3554069451018659483">"Muuta yksityiseksi."</string> - <string name="selectContact" msgid="92191462970821951">"Valitse yhteystieto."</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Kirjoita oma…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Peruuta"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Lähetä"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Vastaa."</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Lähetä tekstiviesti."</string> - <string name="description_target_decline" msgid="7108154434759234035">"Hylkää."</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Vastaa ja aloita videopuhelu."</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Vastaa ja aloita äänipuhelu."</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Hyväksy videopyyntö."</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Hylkää videopyyntö."</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Hyväksy videon lähetyspyyntö."</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Hylkää videon lähetyspyyntö."</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Hyväksy videon vastaanottopyyntö."</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Hylkää videon vastaanottopyyntö."</string> - <string name="description_direction_up" msgid="1735018141439291766">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla ylös."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla vasemmalle."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla oikealle."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Valitse <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> liu\'uttamalla alas."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Värinä"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Värinä"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ääni"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Oletusääni (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Puhelimen soittoääni"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Käytä värinää, kun puhelin soi"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Soittoääni ja värinä"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Hallinnoi puhelinneuvottelua"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Hätänumero"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profiilikuva"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera on pois käytöstä."</string> - <string name="child_number" msgid="4469090994612105532">"nron <xliff:g id="CHILD_NUMBER">%s</xliff:g> kautta"</string> - <string name="note_sent" msgid="7623014827902758398">"Muistiinpano lähetettiin."</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Viimeisimmät viestit"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Yrityksen tiedot"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Etäisyys: <xliff:g id="DISTANCE">%.1f</xliff:g> mailia"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Etäisyys: <xliff:g id="DISTANCE">%.1f</xliff:g> kilometriä"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Avataan huomenna kello <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Avataan tänään kello <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Suljetaan tänään kello <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Suljettiin tänään kello <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Avoinna nyt"</string> - <string name="closed_now" msgid="2635314668145282080">"Suljettu nyt"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Häirikkösoittaja"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Puhelu loppui %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Tämä oli ensimmäinen kerta, kun tästä numerosta soitettiin sinulle."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Epäilemme, että tämä puhelu tuli häirikkösoittajalta."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Estä / ilmoita"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Lisää yhteystieto"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ei häirikkösoittaja"</string> -</resources> diff --git a/InCallUI/res/values-fr-rCA/strings.xml b/InCallUI/res/values-fr-rCA/strings.xml deleted file mode 100644 index 2980646e8..000000000 --- a/InCallUI/res/values-fr-rCA/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Téléphone"</string> - <string name="onHold" msgid="527593602772521700">"En attente"</string> - <string name="unknown" msgid="3646075119047488748">"Inconnue"</string> - <string name="private_num" msgid="6081418498487514686">"Numéro privé"</string> - <string name="payphone" msgid="5743050584468748607">"Cabine téléphonique"</string> - <string name="confCall" msgid="3181961445236675173">"Conférence téléphonique"</string> - <string name="call_lost" msgid="8208184291640961172">"L\'appel a été interrompu"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Haut-parleur"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Écouteur du combiné"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Écouteurs à fil"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Envoyer les tonalités suivantes?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Envoi des tonalités\n"</string> - <string name="send_button" msgid="4054398309483035794">"Envoyer"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Oui"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Non"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Remplacer le caractère générique par"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conférence téléphonique <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Numéro de messagerie vocale"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Composition..."</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Recomposition en cours..."</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conférence téléphonique"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Appel entrant"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Appel entrant - travail"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Appel terminé"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"En attente"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Fin de l\'appel"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"En cours d\'appel"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mon numéro est le <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Connexion de la vidéo en cours…"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Appel vidéo"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Demande de vidéo en cours"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Impossible de connecter l\'appel vidéo"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Demande vidéo refusée"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Votre numéro de rappel :\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Votre numéro de rappel d\'urgence :\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Composition en cours..."</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Appel manqué"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Appels manqués"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> appels manqués"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Appel manqué de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Appel en cours"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Appel en cours - travail"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Appel Wi-Fi en cours"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Appel Wi-Fi en cours - travail"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"En attente"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Appel entrant"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Appel entrant - travail"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Appel Wi-Fi entrant"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Appel Wi-Fi entrant - travail"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Appel vidéo entrant"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"L\'appel entrant est suspect"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Demande de vidéo reçue"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nouveau message vocal"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nouveaux messages vocaux (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Composer le <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Numéro de messagerie vocale inconnu"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Aucun service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Réseau sélectionné (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non disponible"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Répondre"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Raccrocher"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vidéo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voix"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accepter"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Fermer"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Rappeler"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Message"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Appel en cours sur un autre appareil"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transférer l\'appel"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Pour faire un appel, d\'abord désactiver le mode Avion."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Non enregistré sur le réseau."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Réseau cellulaire non disponible."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Pour faire un appel, entrez un numéro valide."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Impossible d\'appeler."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Lancement de la séquence IHM en cours…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service non pris en charge."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Impossible de faire des appels."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Impossible de séparer les appels."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Impossible de transférer."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Impossible de créer la conférence."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Impossible de refuser l\'appel."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Impossible de libérer l\'appel ou les appels."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Appel SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Appel d\'urgence"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Activation du signal radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Aucun service. Nouvel essai en cours..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Appel impossible. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> n\'est pas un numéro d\'urgence."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Appel impossible. Composez un numéro d\'urgence."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Utilisez le clavier pour composer un numéro"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Mettre l\'appel en attente"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Reprendre l\'appel"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Mettre fin à l\'appel"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Afficher le clavier numérique"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Masquer le clavier numérique"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Désactiver le son"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Réactiver le son"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Ajouter un appel"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Fusionner les appels"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Permuter"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gérer les appels"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gérer la conférence"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conférence téléphonique"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gérer"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Appel vidéo"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Passer à un appel vocal"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Changer d\'appareil photo"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activer la caméra"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Désactiver la caméra"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Plus d\'options"</string> - <string name="player_started" msgid="3478865572468310331">"Le lecteur a démarré"</string> - <string name="player_stopped" msgid="1278611664986561535">"Le lecteur a arrêté"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"L\'appareil photo n\'est pas prêt"</string> - <string name="camera_ready" msgid="2614541247814590887">"L\'appareil photo est prêt"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Événement inconnu de séance d\'appel"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Service"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuration"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Non défini>"</string> - <string name="other_settings" msgid="6699076019841942826">"Autres paramètres d\'appel"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Appel par <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Appel entrant par <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"photo du contact"</string> - <string name="goPrivate" msgid="3554069451018659483">"mode privé"</string> - <string name="selectContact" msgid="92191462970821951">"sélectionner un contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Réponse personnalisée..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Annuler"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Envoyer"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Répondre"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Envoyer un texto"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Refuser"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Répondre comme appel vidéo"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Répondre comme appel audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accepter la demande vidéo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Refuser la demande vidéo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accepter la demande de transmission vidéo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Refuser la demande de transmission vidéo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accepter la demande de réception vidéo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Refuser la demande de réception vidéo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Faites glisser votre doigt vers le haut pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Faites glisser votre doigt vers la gauche pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Faites glisser votre doigt vers la droite pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Faire glisser le doigt vers le bas : <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibration"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibration"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Son"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Son par défaut (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Sonnerie du téléphone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrer lorsque téléphone sonne"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Sonnerie et vibreur"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gérer la conférence"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Numéro d\'urgence"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Photo de profil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Appareil photo désactivé"</string> - <string name="child_number" msgid="4469090994612105532">"au moyen du <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Note envoyée"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Messages récents"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Renseignements sur l\'entreprise"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"À <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"À <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"De <xliff:g id="OPEN_TIME">%1$s</xliff:g> à <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Ouvre demain à <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Ouvre aujourd\'hui à <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Ferme à <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"A fermé aujourd\'hui à <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Ouvert"</string> - <string name="closed_now" msgid="2635314668145282080">"Fermé"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Appel suspect"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Appel terminé %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"C\'est la première fois que ce numéro vous appelle."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Cet appel nous semblait suspect."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Sign. appel suspect"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Ajouter un contact"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"N\'est pas suspect"</string> -</resources> diff --git a/InCallUI/res/values-fr/strings.xml b/InCallUI/res/values-fr/strings.xml deleted file mode 100644 index 521fedb64..000000000 --- a/InCallUI/res/values-fr/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Téléphone"</string> - <string name="onHold" msgid="527593602772521700">"En attente"</string> - <string name="unknown" msgid="3646075119047488748">"Inconnu"</string> - <string name="private_num" msgid="6081418498487514686">"Numéro privé"</string> - <string name="payphone" msgid="5743050584468748607">"Cabine téléphonique"</string> - <string name="confCall" msgid="3181961445236675173">"Conférence téléphonique"</string> - <string name="call_lost" msgid="8208184291640961172">"Appel interrompu"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Haut-parleur"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Écouteur du combiné"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Casque filaire"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Envoyer les tonalités suivantes ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Envoi des tonalités…\n"</string> - <string name="send_button" msgid="4054398309483035794">"Envoyer"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Oui"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Non"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Remplacer le caractère générique par"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conférence téléphonique à <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"N° de la messagerie vocale"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Appel…"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Rappel…"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conférence téléphonique"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Appel entrant"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Appel profession. entrant"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Appel terminé"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"En attente"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Fin de l\'appel…"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Appel en cours"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mon numéro est le <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Connexion de la vidéo…"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Appel vidéo"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Demande de vidéo…"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Impossible d\'établir la connexion de l\'appel vidéo."</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Demande d\'appel vidéo refusée"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Votre numéro de rappel\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Votre numéro de rappel d\'urgence\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Appel…"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Appel manqué"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Appels manqués"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> appels manqués"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Appel manqué de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Appel en cours"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Appel professionnel en cours"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Appel Wi-Fi en cours"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Appel Wi-Fi professionnel en cours"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"En attente"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Appel entrant"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Appel professionnel entrant"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Appel Wi-Fi entrant"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Appel Wi-Fi professionnel entrant"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Appel vidéo entrant"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Appel entrant indésirable suspecté"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Demande de vidéo reçue"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nouveau message vocal"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nouveaux messages vocaux (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Composer le <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Numéro de messagerie vocale inconnu"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Aucun service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Réseau sélectionné (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non disponible"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Répondre"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Raccrocher"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vidéo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Appel vocal"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accepter"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Fermer"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Rappeler"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Envoyer SMS"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Appel en cours sur un autre appareil"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transférer l\'appel"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Veuillez désactiver le mode Avion avant de passer un appel."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Non enregistré sur le réseau."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Réseau mobile indisponible."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Pour émettre un appel, veuillez saisir un numéro valide."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Impossible d\'émettre l\'appel."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Lancement de la séquence IHM…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service non compatible."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Impossible de changer d\'appel."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Impossible d\'isoler l\'appel."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Transfert impossible."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Impossible de lancer une conférence téléphonique."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Impossible de refuser l\'appel."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Impossible de lancer les appels."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Appel SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Appel d\'urgence"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Activation du signal radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Aucun service disponible. Nouvelle tentative…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Impossible d\'émettre l\'appel. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> n\'est pas un numéro d\'urgence."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Impossible d\'émettre l\'appel. Veuillez composer un numéro d\'urgence."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Utilisez le clavier pour composer un numéro."</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Mettre l\'appel en attente"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Reprendre l\'appel"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Mettre fin à l\'appel"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Afficher le clavier"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Masquer le clavier"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Couper le son"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Réactiver le son"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Ajouter un appel"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Fusionner les appels"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Permuter"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gérer les appels"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gérer conférence téléphonique"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conférence téléphonique"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gérer"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Appel vidéo"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Passer à un appel vocal"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Changer de caméra"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activer la caméra"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Désactiver la caméra"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Plus d\'options"</string> - <string name="player_started" msgid="3478865572468310331">"Le lecteur a démarré."</string> - <string name="player_stopped" msgid="1278611664986561535">"Le lecteur s\'est arrêté."</string> - <string name="camera_not_ready" msgid="6614469280264241251">"La caméra n\'est pas prête"</string> - <string name="camera_ready" msgid="2614541247814590887">"La caméra est prête"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Événement de session d\'appel inconnu"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Service"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuration"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Non défini>"</string> - <string name="other_settings" msgid="6699076019841942826">"Autres paramètres d\'appel"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Appel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Appel entrant via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"photo du contact"</string> - <string name="goPrivate" msgid="3554069451018659483">"mode privé"</string> - <string name="selectContact" msgid="92191462970821951">"sélectionner un contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Réponse personnalisée…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Annuler"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Envoyer"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Répondre"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Envoyer un SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Refuser"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Répondre via un appel vidéo"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Répondre via un appel audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accepter la demande d\'appel vidéo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Refuser la demande d\'appel vidéo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accepter la demande de transmission d\'appel vidéo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Refuser la demande de transmission d\'appel vidéo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accepter la demande de réception d\'appel vidéo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Refuser la demande de réception d\'appel vidéo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Faites glisser vers le haut pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_left" msgid="6811598791620851239">"Faites glisser vers la gauche pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Faites glisser vers la droite pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Faites glisser vers le bas pour <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibreur"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibreur"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sonnerie"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Sonnerie par défaut (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Sonnerie du téléphone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibreur lorsque le tél. sonne"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Sonnerie et vibreur"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gérer la conférence téléphonique"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Numéro d\'urgence"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Photo du profil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Caméra désactivée"</string> - <string name="child_number" msgid="4469090994612105532">"via le <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"La note a bien été envoyée."</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Messages récents"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informations sur l\'établissement"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"À <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"À <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Ouvre demain à <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Ouvre aujourd\'hui à <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Ferme à <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Fermé aujourd\'hui à <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Ouvert"</string> - <string name="closed_now" msgid="2635314668145282080">"Fermé"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Appel indésirable suspecté"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Appel terminé %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"C\'est la première fois que vous recevez un appel de ce numéro."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Nous suspectons cet appel de provenir d\'un spammeur."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloquer/Signaler spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Ajouter un contact"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Numéro fiable"</string> -</resources> diff --git a/InCallUI/res/values-gl/strings.xml b/InCallUI/res/values-gl/strings.xml deleted file mode 100644 index 8968946e6..000000000 --- a/InCallUI/res/values-gl/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Teléfono"</string> - <string name="onHold" msgid="527593602772521700">"En espera"</string> - <string name="unknown" msgid="3646075119047488748">"Descoñecido"</string> - <string name="private_num" msgid="6081418498487514686">"Número privado"</string> - <string name="payphone" msgid="5743050584468748607">"Teléfono público"</string> - <string name="confCall" msgid="3181961445236675173">"Conferencia telefónica"</string> - <string name="call_lost" msgid="8208184291640961172">"Chamada interrompida"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altofalante"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auricular do teléfono"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Auriculares con cable"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Queres enviar os seguintes tons?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Enviando tons\n"</string> - <string name="send_button" msgid="4054398309483035794">"Enviar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Si"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Non"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Substituír carácter comodín por"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conferencia telefónica ás <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número de correo de voz"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Marcando"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Marcando de novo"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conferencia telefónica"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Chamada entrante"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Chamada traballo entrante"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Chamada finalizada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"En espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Desconectando"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Chamada entrante"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"O meu número é o <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Conectando vídeo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videochamada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Solicitando vídeo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Non se pode conectar a videochamada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Rexeitouse a solicitude de vídeo"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"O teu número de devolución de chamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"O teu número de devolución de chamada de emerxencia\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Marcando"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Chamada perdida"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Chamadas perdidas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas perdidas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Chamada en curso"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Chamada de traballo saínte"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Chamada por wifi saínte"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Chamada por wifi de traballo saínte"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"En espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Chamada entrante"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Chamada de traballo entrante"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Chamada por wifi entrante"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Chamada wifi de traballo entrante"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videochamada entrante"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Chamada entrante sospeitosa de spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Solicitude de vídeo entrante"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Correo de voz novo"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Correo de voz novo (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Marcar o <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número de correo de voz descoñecido"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sen servizo"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"A rede seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non está dispoñible"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Responder"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Colgar"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vídeo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voz"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aceptar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ignorar"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Dev. chamada"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensaxe"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Chamada en curso noutro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Para realizar unha chamada, primeiro desactiva o modo avión."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Sen rexistro na rede."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede móbil non dispoñible."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Para realizar unha chamada, introduce un número válido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Non se pode realizar a chamada."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Iniciando secuencia MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Servizo non compatible."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Non se poden cambiar as chamadas."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Non se pode separar a chamada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Non se pode transferir."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Non se pode realizar a conferencia."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Non se pode rexeitar a chamada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Non se poden desconectar as chamadas."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Chamada SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Chamada de emerxencia"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Activando radio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Sen servizo. Tentándoo de novo…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Non se pode realizar a chamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non é un número de emerxencia."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Non se pode realizar a chamada. Marca un número de emerxencia."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Utiliza o teclado para marcar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Poñer a chamada en espera"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Retomar chamada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Finalizar chamada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostrar teclado de marcación"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ocultar teclado de marcación"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Silenciar"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Activar o son"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Engadir chamada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Combinar chamadas"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Cambiar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Xestionar chamadas"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Xestionar confer. telefónica"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conferencia telefónica"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Xestionar"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videocham."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Cambiar para chamada de voz"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambiar cámara"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Acender cámara"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Apagar cámara"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Máis opcións"</string> - <string name="player_started" msgid="3478865572468310331">"Iniciouse o reprodutor"</string> - <string name="player_stopped" msgid="1278611664986561535">"Detívose o reprodutor"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"A cámara non está preparada"</string> - <string name="camera_ready" msgid="2614541247814590887">"A cámara está preparada"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento de sesión de chamada descoñecido"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Servizo"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuración"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Sen configurar>"</string> - <string name="other_settings" msgid="6699076019841942826">"Outras configuracións de chamada"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Chamando a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Chamadas entrantes a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto do contacto"</string> - <string name="goPrivate" msgid="3554069451018659483">"activar o modo privado"</string> - <string name="selectContact" msgid="92191462970821951">"seleccionar contacto"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escribe a túa propia..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancelar"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Enviar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Responder"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Enviar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Rexeitar"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Responde como videochamada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Responde como chamada de audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Acepta a solicitude de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Rexeita a solicitude de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Acepta a solicitude de transmisión de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Rexeita a solicitude de transmisión de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Acepta a solicitude de recepción de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Rexeita a solicitude de recepción de vídeo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Pasa o dedo cara a arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Pasa o dedo cara a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Pasa o dedo cara a dereita para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Pasa o dedo cara a abaixo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Son"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Son predeterminado (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ton de chamada do teléfono"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar ao soar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ton de chamada e vibración"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Xestionar conferencia telefónica"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número de emerxencia"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto do perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"A cámara está desactivada"</string> - <string name="child_number" msgid="4469090994612105532">"a través do <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Enviouse a nota"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mensaxes recentes"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Información da empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"A <xliff:g id="DISTANCE">%.1f</xliff:g> mi de distancia"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"A <xliff:g id="DISTANCE">%.1f</xliff:g> km de distancia"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Abre mañá ás <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Abre hoxe ás <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Pecha ás <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Pechou hoxe ás <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Aberto agora"</string> - <string name="closed_now" msgid="2635314668145282080">"Pechado agora"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Chamada sospeitosa"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Finalizouse a chamada %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"É a primeira vez que te chama este número."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sospeitamos que esta chamada era un xerador de spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloquear/marcar spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Engadir contacto"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Non é spam"</string> -</resources> diff --git a/InCallUI/res/values-gu/strings.xml b/InCallUI/res/values-gu/strings.xml deleted file mode 100644 index 017ccb691..000000000 --- a/InCallUI/res/values-gu/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ફોન"</string> - <string name="onHold" msgid="527593602772521700">"હોલ્ડ પર"</string> - <string name="unknown" msgid="3646075119047488748">"અજાણ્યો"</string> - <string name="private_num" msgid="6081418498487514686">"ખાનગી નંબર"</string> - <string name="payphone" msgid="5743050584468748607">"પેફોન"</string> - <string name="confCall" msgid="3181961445236675173">"કોન્ફરન્સ કૉલ"</string> - <string name="call_lost" msgid="8208184291640961172">"કૉલ કપાઇ ગયો"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"સ્પીકર"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"હેન્ડસેટ ઇયરપીસ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"વાયર્ડ હેડસેટ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"નીચે આપેલ ટોન્સ મોકલીએ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ટોન્સ મોકલી રહ્યાં છે\n"</string> - <string name="send_button" msgid="4054398309483035794">"મોકલો"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"હા"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"નહીં"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"વાઇલ્ડ અક્ષરને આની સાથે બદલો"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"કોન્ફરન્સ કૉલ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"વૉઇસમેઇલ નંબર"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ડાયલ કરી રહ્યાં છે"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ફરી ડાયલ કરી રહ્યાં છે"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"કોન્ફરન્સ કૉલ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ઇનકમિંગ કૉલ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ઇનકમિંગ કાર્ય કૉલ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"કૉલ સમાપ્ત થયો"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"હોલ્ડ પર"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"સમાપ્ત કરી રહ્યાં છે"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"કૉલમાં"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"મારો નંબર <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> છે"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"વિડિઓ કનેક્ટ કરી રહ્યાં છે"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"વિડિઓ કૉલ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"વિડિઓની વિનંતી કરી રહ્યાં છે"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"વિડિઓ કૉલ કનેક્ટ કરી શકાતો નથી"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"વિડિઓ વિનંતી નકારી"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"તમારો કૉલબેક નંબર\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"તમારો કટોકટીનો કૉલબેક નંબર\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ડાયલ કરી રહ્યાં છે"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"છૂટેલો કૉલ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"છૂટેલા કૉલ્સ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> છૂટેલા કૉલ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> નો કૉલ ચૂકી ગયાં"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"ચાલી રહેલ કૉલ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"ચાલી રહેલ કાર્ય કૉલ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"ચાલી રહેલ Wi-Fi કૉલ"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"ચાલી રહેલ Wi-Fi કાર્ય કૉલ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"હોલ્ડ પર"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ઇનકમિંગ કૉલ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ઇનકમિંગ કાર્ય કૉલ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ઇનકમિંગ Wi-Fi કૉલ"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ઇનકમિંગ Wi-Fi કાર્ય કૉલ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ઇનકમિંગ વિડિઓ કૉલ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"ઇનકમિંગ શંકાસ્પદ સ્પામ કૉલ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ઇનકમિંગ વિડિઓ વિનંતી"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"નવો વૉઇસમેઇલ"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"નવો વૉઇસમેઇલ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ડાયલ કરો"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"વૉઇસમેઇલ નંબર અજાણ"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"કોઈ સેવા નથી"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"પસંદ કરેલ નેટવર્ક (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) અનુપલબ્ધ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"જવાબ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"સમાપ્ત કરો"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"વિડિઓ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"વૉઇસ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"સ્વીકારો"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"છોડી દો"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"કૉલ બૅક કરો"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"સંદેશ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"અન્ય ઉપકરણ પર ચાલી રહેલ કૉલ"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"કૉલ સ્થાનાંતરિત કરો"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"કૉલ કરવા માટે, પહેલા એરપ્લેન મોડને બંધ કરો."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"નેટવર્ક પર નોંધણી કરાયેલ નથી."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"સેલ્યુલર નેટવર્ક ઉપલબ્ધ નથી."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"કૉલ કરવા માટે, માન્ય નંબર દાખલ કરો."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"કૉલ કરી શકાતો નથી."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI અનુક્રમ પ્રારંભ કરી રહ્યાં છે…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"સેવા સમર્થિત નથી."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"કૉલ્સ સ્વિચ કરી શકાતાં નથી."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"અલગ કૉલ કરી શકાતો નથી."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ટ્રાંસ્ફર કરી શકાતો નથી."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"કોન્ફરન્સ કરી શકાતી નથી."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"કૉલ નકારી શકાતો નથી."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"કૉલ(કૉલ્સ) રિલીઝ કરી શકતાં નથી."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP કૉલ"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"કટોકટીનો કૉલ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"રેડિઓ ચાલુ કરી રહ્યાં છે…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"કોઈ સેવા નથી. ફરી પ્રયાસ કરી રહ્યાં છે…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"કૉલ કરી શકાતો નથી. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> એ કટોકટીનો નંબર નથી."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"કૉલ કરી શકાતો નથી. કટોકટીનો નંબર ડાયલ કરો."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ડાયલ કરવા માટે કીબોર્ડનો ઉપયોગ કરો"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"કૉલ હોલ્ડ કરો"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"કૉલ ફરી શરૂ કરો"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"કૉલ સમાપ્ત કરો"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ડાયલપેડ બતાવો"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ડાયલપેડ છુપાવો"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"મ્યૂટ કરો"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"અનમ્યૂટ કરો"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"કૉલ ઉમેરો"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"કૉલ્સ મર્જ કરો"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"સ્વેપ કરો"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"કૉલ્સ સંચાલિત કરો"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"કોન્ફરન્સ કૉલ સંચાલિત કરો"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"કોન્ફરન્સ કૉલ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"સંચાલિત કરો"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ઑડિઓ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"વિડિઓ કૉલ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"વૉઇસ કૉલ પર બદલો"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"કૅમેરા પર સ્વિચ કરો"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"કૅમેરો ચાલુ કરો"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"કૅમેરો બંધ કરો"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"વધુ વિકલ્પો"</string> - <string name="player_started" msgid="3478865572468310331">"પ્લેયર પ્રારંભ કર્યું"</string> - <string name="player_stopped" msgid="1278611664986561535">"પ્લેયર બંધ કર્યું"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"કૅમેરો તૈયાર નથી"</string> - <string name="camera_ready" msgid="2614541247814590887">"કૅમેરો તૈયાર"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"અજાણી કૉલ સત્ર ઇવેન્ટ"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"સેવા"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"સેટઅપ"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<સેટ કરેલ નથી>"</string> - <string name="other_settings" msgid="6699076019841942826">"અન્ય કૉલ સેટિંગ્સ"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> મારફતે કૉલ કરે છે"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> મારફતે ઇનકમિંગ"</string> - <string name="contactPhoto" msgid="6028825355597675193">"સંપર્ક ફોટો"</string> - <string name="goPrivate" msgid="3554069451018659483">"ખાનગી થાઓ"</string> - <string name="selectContact" msgid="92191462970821951">"સંપર્ક પસંદ કરો"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"તમારો પોતાનો લખો…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"રદ કરો"</string> - <string name="custom_message_send" msgid="3798076337006735995">"મોકલો"</string> - <string name="description_target_answer" msgid="1111945818996518320">"જવાબ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS મોકલો"</string> - <string name="description_target_decline" msgid="7108154434759234035">"નકારો"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"વિડિઓ કૉલ તરીકે જવાબ આપો"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ઑડિઓ કૉલ તરીકે જવાબ આપો"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"વિડિઓ વિનંતી સ્વીકારો"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"વિડિઓ વિનંતી નકારો"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"વિડિઓ ટ્રાંસ્મિટ વિનંતી સ્વીકારો"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"વિડિઓ ટ્રાંસ્મિટ વિનંતી નકારો"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"વિડિઓ પ્રાપ્તિ વિનંતી સ્વીકારો"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"વિડિઓ પ્રાપ્તિ વિનંતી નકારો"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે ઉપર સ્લાઇડ કરો."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે ડાબે સ્લાઇડ કરો."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે જમણે સ્લાઇડ કરો."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> માટે નીચે સ્લાઇડ કરો."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"વાઇબ્રેટ"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"વાઇબ્રેટ"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ધ્વનિ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ડિફોલ્ટ ધ્વનિ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ફોન રિંગટોન"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"જ્યારે રિંગ કરે ત્યારે વાઇબ્રેટ કરો"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"રિંગટોન અને વાઇબ્રેટ"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"કોન્ફરન્સ કૉલ સંચાલિત કરો"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"કટોકટીનો નંબર"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"પ્રોફાઇલ ફોટો"</string> - <string name="camera_off_description" msgid="4220023868645225790">"કૅમેરો બંધ"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> મારફતે"</string> - <string name="note_sent" msgid="7623014827902758398">"નોંધ મોકલી"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"તાજેતરનાં સંદેશા"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"વ્યવસાયની માહિતી"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> માઇલ દૂર"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> કિમી દૂર"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"આવતીકાલે <xliff:g id="OPEN_TIME">%s</xliff:g> વાગ્યે ખુલશે"</string> - <string name="opens_today_at" msgid="6281212768937222891">"આજે <xliff:g id="OPEN_TIME">%s</xliff:g> વાગ્યે ખુલશે"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> વાગ્યે બંધ થશે"</string> - <string name="closed_today_at" msgid="4060072663433467233">"આજે <xliff:g id="CLOSE_TIME">%s</xliff:g> વાગ્યે બંધ થયેલું"</string> - <string name="open_now" msgid="4615706338669555999">"હમણાં ખુલ્લું"</string> - <string name="closed_now" msgid="2635314668145282080">"હમણાં બંધ છે"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"શંકાસ્પદ સ્પામ કૉલર"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"%1$s નો કૉલ સમાપ્ત થયો"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"આ નંબરથી તમને પહેલી વાર કૉલ કરવામાં આવ્યો છે."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"આ કૉલ કોઈ સ્પામર હોવાની અમને શંકા છે."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"સ્પામની જાણ/અવરોધિત કરો"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"સંપર્ક ઉમેરો"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"સ્પામ નથી"</string> -</resources> diff --git a/InCallUI/res/values-h400dp/dimens.xml b/InCallUI/res/values-h400dp/dimens.xml deleted file mode 100644 index dda755a3e..000000000 --- a/InCallUI/res/values-h400dp/dimens.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2016 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> - <!-- Whether or not this layout displays a large photo. --> - <bool name="has_large_photo">true</bool> - - <dimen name="call_banner_height">90dp</dimen> - - <dimen name="end_call_button_margin_bottom">15dp</dimen> - - <dimen name="floating_action_button_vertical_offset">-24dp</dimen> - - <dimen name="dialpad_elevation">2dp</dimen> - - <dimen name="video_preview_margin">20dp</dimen> -</resources> diff --git a/InCallUI/res/values-hi/strings.xml b/InCallUI/res/values-hi/strings.xml deleted file mode 100644 index dee8f464d..000000000 --- a/InCallUI/res/values-hi/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"फ़ोन"</string> - <string name="onHold" msgid="527593602772521700">"होल्ड पर"</string> - <string name="unknown" msgid="3646075119047488748">"अज्ञात"</string> - <string name="private_num" msgid="6081418498487514686">"निजी नंबर"</string> - <string name="payphone" msgid="5743050584468748607">"पे-फ़ोन"</string> - <string name="confCall" msgid="3181961445236675173">"कॉन्फ़्रेंस कॉल"</string> - <string name="call_lost" msgid="8208184291640961172">"कॉल कट गया"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"स्पीकर"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"हैंडसेट इयरपीस"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"वायर वाला हैडसेट"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ब्लूटूथ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"निम्न टोन भेजें?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"भेजने वाली टोन\n"</string> - <string name="send_button" msgid="4054398309483035794">"भेजें"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"हां"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"नहीं"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"वाइल्ड वर्ण को इससे बदलें:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"कॉन्फ़्रेंस कॉल <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"वॉइसमेल नबंर"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"डायल किया जा रहा है"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"पुन: डायल हो रहा है"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"कॉन्फ़्रेंस कॉल"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"इनकमिंग कॉल"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"कार्यस्थल का इनकमिंग कॉल"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"कॉल समाप्त"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"होल्ड पर"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"कॉल समाप्त हो रहा है"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"कॉल में"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"मेरा नंबर <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> है"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"वीडियो कनेक्ट हो रहा है"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"वीडियो कॉल"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"वीडियो का अनुरोध किया जा रहा है"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"वीडियो कॉल कनेक्ट नहीं किया जा सकता"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"वीडियो अनुरोध अस्वीकार किया गया"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"आपका कॉलबैक नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"आपका आपातकालीन कॉलबैक नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"डायल किया जा रहा है"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"छूटा कॉल"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"छूटे कॉल"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> छूटे कॉल"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> के छूटे कॉल"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"चल रहा कॉल"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"कार्यस्थल का जारी कॉल"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"चल रहा वाई-फ़ाई कॉल"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"कार्यस्थल का जारी वाई-फ़ाई कॉल"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"होल्ड पर"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"इनकमिंग कॉल"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"कार्यस्थल का इनकमिंग कॉल"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"इनकमिंग वाई-फ़ाई कॉल"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"कार्यस्थल का वाई-फ़ाई इनकमिंग कॉल"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"इनकमिंग वीडियो कॉल"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"संदिग्ध आवक स्पैम कॉल"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"इनकमिंग वीडियो अनुरोध"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"नया वॉइसमेल"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"नया वॉइसमेल (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> डायल करें"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"वॉइसमेल नंबर अज्ञात"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"कोई सेवा नहीं"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"चयनित नेटवर्क (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) अनुपलब्ध"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"उत्तर दें"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"समाप्त करें"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"वीडियो"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ध्वनि"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"स्वीकार करें"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ख़ारिज करें"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"कॉल बैक करें"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"संदेश"</string> - <string name="notification_external_call" msgid="5611236780302924816">"दूसरे डिवाइस पर चल रहा कॉल"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"कॉल स्थानान्तरित करें"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"कॉल करने के लिए, पहले हवाई जहाज़ मोड बंद करें."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"नेटवर्क पर पंजीकृत नहीं."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"सेल्युलर नेटवर्क उपलब्ध नहीं."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"कॉल करने के लिए, मान्य नंबर डालें."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"कॉल नहीं किया जा सकता."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI अनुक्रम प्रारंभ हो रहा है…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"सेवा समर्थित नहीं है."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"कॉल स्विच नहीं किए जा सकते."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"कॉल अलग नहीं किया जा सकता."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"स्थानान्तरित नहीं किया जा सकता."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"कॉन्फ़्रेंस नहीं की जा सकती."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"कॉल अस्वीकार नहीं किया जा सकता."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"कॉल रिलीज़ नहीं किया जा सकता (किए जा सकते)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP कॉल"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"आपातकालीन कॉल"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"रेडियो चालू कर रहा है..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"कोई सेवा नहीं. पुन: प्रयास किया जा रहा है…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"कॉल नहीं किया जा सकता. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> एक आपातकालीन नंबर नहीं है."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"कॉल नहीं किया जा सकता. आपातकालीन नबर डायल करें."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"डायल करने के लिए कीबोर्ड का उपयोग करें"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"कॉल होल्ड करें"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"कॉल फिर से शुरू करें"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"कॉल समाप्त करें"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"डायलपैड दिखाएं"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"डायलपैड छिपाएं"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"म्यूट करें"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"अनम्यूट करें"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"कॉल जोड़ें"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"कॉल मर्ज करें"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"स्वैप करें"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"कॉल प्रबंधित करें"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"कॉन्फ़्रेंस कॉल प्रबंधित करें"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"कॉन्फ़्रेंस कॉल"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"प्रबंधित करें"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ऑडियो"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"वीडियो कॉल"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"वॉइस कॉल में बदलें"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"कैमरा स्विच करें"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"कैमरा चालू करें"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"कैमरा बंद करें"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"अधिक विकल्प"</string> - <string name="player_started" msgid="3478865572468310331">"प्लेयर प्रारंभ हो गया"</string> - <string name="player_stopped" msgid="1278611664986561535">"प्लेयर रुक गया"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"कैमरा तैयार नहीं है"</string> - <string name="camera_ready" msgid="2614541247814590887">"कैमरा तैयार है"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"अज्ञात कॉल सत्र इवेंट"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"सेवा"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"सेटअप"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<सेट नहीं है>"</string> - <string name="other_settings" msgid="6699076019841942826">"अन्य कॉल सेटिंग"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> के माध्यम से कॉल किया जा रहा है"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> की ओर से इनकमिंग"</string> - <string name="contactPhoto" msgid="6028825355597675193">"संपर्क का फ़ोटो"</string> - <string name="goPrivate" msgid="3554069451018659483">"निजी हो जाएं"</string> - <string name="selectContact" msgid="92191462970821951">"संपर्क को चुनें"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"अपना स्वयं का लिखें..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"अभी नहीं"</string> - <string name="custom_message_send" msgid="3798076337006735995">"भेजें"</string> - <string name="description_target_answer" msgid="1111945818996518320">"उत्तर दें"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS भेजें"</string> - <string name="description_target_decline" msgid="7108154434759234035">"अस्वीकार करें"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"वीडियो कॉल के रूप में उत्तर दें"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ऑडियो कॉल के रूप में उत्तर दें"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"वीडियो अनुरोध स्वीकार करें"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"वीडियो अनुरोध अस्वीकार करें"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"वीडियो प्रसारण अनुरोध स्वीकार करें"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"वीडियो प्रसारण अनुरोध अस्वीकार करें"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"वीडियो प्राप्ति अनुरोध स्वीकार करें"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"वीडियो प्राप्ति अनुरोध अस्वीकार करें"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> करने के लिए ऊपर स्लाइड करें."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> करने के लिए बाएं स्लाइड करें."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> करने के लिए दाएं स्लाइड करें."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> करने के लिए नीचे स्लाइड करें."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"कंपन"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"कंपन"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ध्वनि"</string> - <string name="default_notification_description" msgid="4950807644546509965">"डिफ़ॉल्ट ध्वनि (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"फ़ोन रिंगटोन"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"रिंग आने पर कंपन करें"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"रिंगटोन और कंपन"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"कॉन्फ़्रेंस कॉल प्रबंधित करें"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"आपातकालीन नंबर"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"प्रोफ़ाइल फ़ोटो"</string> - <string name="camera_off_description" msgid="4220023868645225790">"कैमरा बंद है"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> के द्वारा"</string> - <string name="note_sent" msgid="7623014827902758398">"नोट भेज दिया गया है"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"हाल ही के संदेश"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"व्यवसाय जानकारी"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> मील दूर"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> किमी दूर"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"कल <xliff:g id="OPEN_TIME">%s</xliff:g> बजे खुलेगा"</string> - <string name="opens_today_at" msgid="6281212768937222891">"आज <xliff:g id="OPEN_TIME">%s</xliff:g> बजे खुलता है"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> बजे बंद होता है"</string> - <string name="closed_today_at" msgid="4060072663433467233">"आज <xliff:g id="CLOSE_TIME">%s</xliff:g> बजे बंद हो गया"</string> - <string name="open_now" msgid="4615706338669555999">"अभी खुला है"</string> - <string name="closed_now" msgid="2635314668145282080">"अभी बंद है"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"संदिग्ध स्पैम कॉलर"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"%1$s का कॉल समाप्त हो गया"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"इस नंबर से आपको पहली बार कॉल किया गया है."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"हमें आशंका है कि कॉल स्पैमकर्ता का हो सकता है."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"अवरुद्ध करें/स्पैम रिपोर्ट करें"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"संपर्क जोड़ें"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"स्पैम नहीं है"</string> -</resources> diff --git a/InCallUI/res/values-hr/strings.xml b/InCallUI/res/values-hr/strings.xml deleted file mode 100644 index 9c11644c4..000000000 --- a/InCallUI/res/values-hr/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Na čekanju"</string> - <string name="unknown" msgid="3646075119047488748">"Nepoznato"</string> - <string name="private_num" msgid="6081418498487514686">"Privatni broj"</string> - <string name="payphone" msgid="5743050584468748607">"Javna telefonska govornica"</string> - <string name="confCall" msgid="3181961445236675173">"Konferencijski poziv"</string> - <string name="call_lost" msgid="8208184291640961172">"Poziv je prekinut"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Zvučnik"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Slušalice"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Žičane slušalice"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Poslati sljedeće tonove?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Slanje tonova\n"</string> - <string name="send_button" msgid="4054398309483035794">"Pošalji"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Da"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ne"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Zamijeni zamjenski znak znakom"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferencijski poziv <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Broj govorne pošte"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Biranje broja"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ponovno biranje"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferencijski poziv"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Dolazni poziv"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Dolazni poslovni poziv"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Poziv je završio"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Na čekanju"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Prekidanje veze"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Poziv u tijeku"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Moj je broj <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Uspostavljanje videopoziva"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videopoziv"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Zahtijevanje videopoziva"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videopoziv nije uspostavljen"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Zahtjev za videopoziv odbijen"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Vaš broj za povratni poziv\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Vaš broj za povratni poziv za hitne službe\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Biranje broja"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Propušteni poziv"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Propušteni pozivi"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Propušteni pozivi (<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>)"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Propušten poziv kontakta <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Poziv u tijeku"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Poslovni poziv u tijeku"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi poziv u tijeku"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Poslovni Wi-Fi poziv u tijeku"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Na čekanju"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Dolazni poziv"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Dolazni poslovni poziv"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Dolazni Wi-Fi poziv"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Dolazni poslovni Wi-Fi poziv"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Dolazni videopoziv"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Mogući neželjeni dolazni poziv"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Dolazni zahtjev za videopoziv"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nova govorna pošta"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nova govorna pošta (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Biraj <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nepoznat broj govorne pošte"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nema usluge"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Odabrana mreža (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nije dostupna"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Odgovori"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Prekini vezu"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videopoziv"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Glasovni poziv"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Prihvati"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Odbaci"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Uzvrati"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Poruka"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Poziv u tijeku na drugom uređaju"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Prijenos poziva"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Da biste uspostavili poziv, isključite način rada u zrakoplovu."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nije registrirano na mreži."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilna mreža nije dostupna."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Unesite važeći broj da biste uspostavili poziv."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Pozivanje nije moguće."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Pokretanje MMI sekvence…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Usluga nije podržana."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Prebacivanje poziva nije moguće."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Odvajanje poziva nije moguće."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Prijenos nije moguć."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferencijski poziv nije moguć."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Odbijanje poziva nije moguće."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Prekidanje poziva nije moguće."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP poziv"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Hitni poziv"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Uključivanje radija…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nema usluge. Pokušavamo ponovo…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Pozivanje nije moguće. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj hitne službe."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Pozivanje nije moguće. Nazovite broj hitne službe."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Upotrijebite tipkovnicu"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Stavi poziv na čekanje"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Nastavi poziv"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Završi poziv"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Prikaži površinu za biranje brojeva"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Sakrij površinu za biranje brojeva"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Zanemari"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Prestani zanemarivati"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Dodaj poziv"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Spoji pozive"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Zamijeni"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Upravljaj pozivima"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Upravljaj konf. pozivom"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferencijski poziv"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Upravljanje"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videopoziv"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Prijeđi na glasovni poziv"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Promijeni kameru"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Uključivanje kamere"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Isključivanje kamere"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Više opcija"</string> - <string name="player_started" msgid="3478865572468310331">"Player je pokrenut"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player je prekinut"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Fotoaparat nije spreman"</string> - <string name="camera_ready" msgid="2614541247814590887">"Fotoaparat je spreman"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Nepoznati događaj sesije poziva"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Usluga"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Postavljanje"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nije postavljeno>"</string> - <string name="other_settings" msgid="6699076019841942826">"Ostale postavke poziva"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Pozivanje putem operatera <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Dolazni pozivi putem usluge <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotografija kontakta"</string> - <string name="goPrivate" msgid="3554069451018659483">"uputi na privatno"</string> - <string name="selectContact" msgid="92191462970821951">"odabir kontakta"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napišite odgovor..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Odustani"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Pošalji"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Odgovori"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Pošalji SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Odbij"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Prihvati kao videopoziv"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Prihvati kao audiopoziv"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Prihvati zahtjev za videopoziv"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Odbij zahtjev za videopoziv"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Prihvati zahtjev za slanje videopoziva"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Odbij zahtjev za slanje videopoziva"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Prihvati zahtjev za primanje videopoziva"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Odbij zahtjev za primanje videopoziva"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Kliznite prema gore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Kliznite lijevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Kliznite desno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Kliznite prema dolje za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibriranje"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibriranje"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Zvuk"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Zadani zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Melodija zvona telefona"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibracija tijekom zvonjenja"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Melodija zvona i vibracija"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Upravljaj konferencijskim pozivom"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Broj hitne službe"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Fotografija profila"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Fotoaparat je isključen"</string> - <string name="child_number" msgid="4469090994612105532">"putem broja <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Bilješka je poslana"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nedavne poruke"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informacije o tvrtki"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mi udaljenosti"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km udaljenosti"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Otvara se sutra u <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Otvara se danas u <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zatvara se u <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Zatvoreno danas u <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Trenutačno otvoreno"</string> - <string name="closed_now" msgid="2635314668145282080">"Trenutačno zatvoreno"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Neželjeni pozivatelj"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Poziv je završio %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Prvi ste put primili poziv s tog broja."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sumnjamo da vas zove pošiljatelj neželjenih sadržaja."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokiranje/prijava neželjenog broja"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Dodavanje kontakta"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nije neželjeni broj"</string> -</resources> diff --git a/InCallUI/res/values-hu/strings.xml b/InCallUI/res/values-hu/strings.xml deleted file mode 100644 index 816942601..000000000 --- a/InCallUI/res/values-hu/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Tartásban"</string> - <string name="unknown" msgid="3646075119047488748">"Ismeretlen"</string> - <string name="private_num" msgid="6081418498487514686">"Magántelefonszám"</string> - <string name="payphone" msgid="5743050584468748607">"Nyilvános telefon"</string> - <string name="confCall" msgid="3181961445236675173">"Konferenciahívás"</string> - <string name="call_lost" msgid="8208184291640961172">"A hívás megszakadt"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Hangszóró"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Kézibeszélő fülhallgatója"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Vezetékes fülhallgató"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Elküldi a következő hangjelzéseket?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Hangjelzések küldése\n"</string> - <string name="send_button" msgid="4054398309483035794">"Küldés"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Igen"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nem"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Helyettesítő karakter lecserélése a következőre:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferenciahívás – <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Hangposta száma"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Tárcsázás"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Újratárcsázás"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferenciahívás"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Bejövő hívás"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Bejövő munkahelyi hívás"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"A hívás befejeződött"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Tartásban"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Megszakítás"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Hívásban"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"A számom: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Videókapcsolat létrehozása"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videóhívás"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Videóhívást kér"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"A videóhívás létesítése sikertelen"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videókérelem elutasítva"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Visszahívható telefonszáma:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Vészhelyzet esetén visszahívható telefonszáma:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Tárcsázás"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Nem fogadott hívás"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Nem fogadott hívások"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> nem fogadott hívás"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Nem fogadott hívás: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Hívás folyamatban"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Folyamatban lévő munkahelyi hívás"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Folyamatban lévő Wi-Fi-hívás"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Folyamatban lévő munkahelyi hívás Wi-Fi-hálózaton keresztül"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Tartásban"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Bejövő hívás"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Bejövő munkahelyi hívás"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Bejövő Wi-Fi-hívás"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Bejövő munkahelyi hívás Wi-Fi-hálózaton keresztül"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Bejövő videóhívás"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Bejövő gyanús spamhívás"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Bejövő videókérés"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Új hangpostaüzenet"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Új hangpostaüzenet (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> tárcsázása"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"A hangposta száma ismeretlen"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nincs szolgáltatás"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"A kiválasztott hálózat (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nem áll rendelkezésre"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Fogadás"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Hívás bontása"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Videó"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Hang"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Elfogadás"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Elvetés"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Visszahívás"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Üzenet"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Folyamatban lévő hívás egy másik eszközön"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Hívásátirányítás"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Hívásindításhoz kapcsolja ki a Repülős üzemmódot."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nincs regisztrálva a hálózaton."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"A mobilhálózat nem áll rendelkezésre."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Hívásindításhoz adjon meg egy érvényes számot."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"A hívás sikertelen."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI-sorozat indítása…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"A szolgáltatás nem támogatott."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"A hívások közötti váltás sikertelen."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"A híváselkülönítés sikertelen."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Az átirányítás sikertelen."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"A konferenciahívás sikertelen."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"A híváselutasítás sikertelen."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"A tartásban lévő hívás(ok) folytatása sikertelen."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-hívás"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Segélyhívás"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Rádió bekapcsolása…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nincs szolgáltatás. Újrapróbálkozás folyamatban…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"A hívás sikertelen. A(z) <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> szám nem segélyhívószám."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"A hívás sikertelen. Tárcsázzon segélyhívószámot."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"A tárcsázáshoz használja a billentyűzetet"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Hívás tartása"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Hívás folytatása"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Hívás befejezése"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Tárcsázó megjelenítése"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Tárcsázó elrejtése"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Némítás"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Némítás feloldása"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Hívás hozzáadása"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Hívások egyesítése"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Csere"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Hívások kezelése"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Konferenciahívás kezelése"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferenciahívás"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Kezelés"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Hang"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videóhívás"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Váltás hanghívásra"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Váltás a kamerák között"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamera bekapcsolása"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamera kikapcsolása"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"További lehetőségek"</string> - <string name="player_started" msgid="3478865572468310331">"A lejátszó elindult"</string> - <string name="player_stopped" msgid="1278611664986561535">"A lejátszó leállt"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"A kamera nem áll készen"</string> - <string name="camera_ready" msgid="2614541247814590887">"A kamera készen áll"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Ismeretlen hívási esemény"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Szolgáltatás"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Beállítás"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nincs megadva>"</string> - <string name="other_settings" msgid="6699076019841942826">"Egyéb hívásbeállítások"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Hívás a(z) <xliff:g id="PROVIDER_NAME">%s</xliff:g> szolgáltatón keresztül"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Bejövő hívás a következőn keresztül: <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotó a névjegyhez"</string> - <string name="goPrivate" msgid="3554069451018659483">"magánbeszélgetés"</string> - <string name="selectContact" msgid="92191462970821951">"névjegy kiválasztása"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Saját válasz írása…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Mégse"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Küldés"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Fogadás"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS küldése"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Elutasítás"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Fogadás videóhívásként"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Fogadás hanghívásként"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Videó kérésének elfogadása"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Videó kérésének elutasítása"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Videóküldési kérés elfogadása"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Videóküldési kérés elutasítása"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Videófogadási kérés elfogadása"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Videófogadási kérés elutasítása"</string> - <string name="description_direction_up" msgid="1735018141439291766">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa felfelé."</string> - <string name="description_direction_left" msgid="6811598791620851239">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa balra."</string> - <string name="description_direction_right" msgid="5461971399586296023">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa jobbra."</string> - <string name="description_direction_down" msgid="3331715227997561639">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa lefelé."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Rezgés"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Rezgés"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Hang"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Alapértelmezett hang (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefon csengőhangja"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Csörgéskor rezegjen"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Csengőhang és rezgés"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Konferenciahívás kezelése"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Segélyhívó szám"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilfotó"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera ki"</string> - <string name="child_number" msgid="4469090994612105532">"a következő számon keresztül: <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Üzenet elküldve"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Legutóbbi üzenetek"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Cég adatai"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mérföldre"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> kilométerre"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="LOCALITY">%2$s</xliff:g>, <xliff:g id="STREET_ADDRESS">%1$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Holnap ekkor nyit: <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Ma ekkor nyit: <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Ekkor zár: <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Ma ekkor zárt: <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Jelenleg nyitva van"</string> - <string name="closed_now" msgid="2635314668145282080">"Jelenleg zárva van"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Gyanús spamhívó"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Hívás befejezve: %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Ez az első alkalom, hogy erről a számról hívása érkezett."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Azt gyanítjuk, hogy ez egy spamhívás."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Letiltás/spam bejel."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Névjegy hozzáadása"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nem spam"</string> -</resources> diff --git a/InCallUI/res/values-hy/strings.xml b/InCallUI/res/values-hy/strings.xml deleted file mode 100644 index 899262432..000000000 --- a/InCallUI/res/values-hy/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Հեռախոս"</string> - <string name="onHold" msgid="527593602772521700">"Սպասում"</string> - <string name="unknown" msgid="3646075119047488748">"Անհայտ"</string> - <string name="private_num" msgid="6081418498487514686">"Գաղտնի համար"</string> - <string name="payphone" msgid="5743050584468748607">"Հանրային հեռախոս"</string> - <string name="confCall" msgid="3181961445236675173">"Կոնֆերանս զանգ"</string> - <string name="call_lost" msgid="8208184291640961172">"Զանգն ընդհատվեց"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Բարձրախոս"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Հեռախոսի ականջակալ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Լարային ականջակալ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Ուղարկե՞լ հետևյալ ձայներանգները:\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Ձայներանգների ուղարկում\n"</string> - <string name="send_button" msgid="4054398309483035794">"Ուղարկել"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Այո"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ոչ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Փոխարինել կոպիտ գրանշանը"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Կոնֆերանս զանգ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Ձայնային փոստի համարը"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Համարը հավաքվում է"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Վերահամարարկում"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Կոնֆերանս զանգ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Մուտքային զանգ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Մուտքային աշխատանքային զանգ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Զանգն ավարտվեց"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Սպասում"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Անջատում"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Զանգը միացված է"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Իմ համարը՝ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Տեսակապը միանում է"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Տեսազանգ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Տեսակապի հայցում"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Հնարավոր չէ միացնել տեսազանգը"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Տեսազանգի հարցումը մերժվել է"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Հետադարձ զանգի համարը՝\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Արտակարգ իրավիճակների հետադարձ զանգի համարը՝\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Համարը հավաքվում է"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Բաց թողնված զանգ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Բաց թողնված զանգեր"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> բաց թողնված զանգ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Բաց թողնված զանգ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-ից"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Ընթացիկ զանգ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Ընթացիկ աշխատանքային զանգ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Ընթացիկ Wi-Fi զանգ"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Ընթացիկ աշխատանքային Wi-Fi զանգ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Սպասում"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Մուտքային զանգ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Մուտքային աշխատանքային զանգ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Մուտքային Wi-Fi զանգ"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Մուտքային աշխատանքային Wi-Fi զանգ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Մուտքային տեսազանգ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Մուտքային զանգը հավանաբար լցոն է"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Մուտքային տեսազանգի հայցում"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Նոր ձայնային հաղորդագրություն"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Նոր ձայնային հաղորդագրություն (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Զանգել <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> համարին"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Ձայնային փոստի համարն անհայտ է"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ծառայություն չկա"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Ընտրված ցանցը (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) անհասանելի է"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Պատասխանել"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Անջատել"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Տեսազանգ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Ձայնային"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Ընդունել"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Մերժել"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Հետ զանգել"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Հաղորդագրություն"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Ընթացիկ զանգ այլ սարքում"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Փոխանցել զանգը"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Զանգ կատարելու համար նախ անջատեք Ինքնաթիռի ռեժիմը:"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ցանցում գրանցված չէ:"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Բջջային ցանցն անհասանելի է:"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Զանգ կատարելու համար մուտքագրեք ճիշտ համար:"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Հնարավոր չէ զանգել:"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Մեկնարկում է MMI հաջորդականությունը…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Ծառայությունը չի աջակցվում:"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Հնարավոր չէ փոխարկել զանգերը:"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Հնարավոր չէ առանձնացնել զանգը:"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Հնարավոր չէ փոխանցել:"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Հնարավոր չէ կոնֆերանս զանգ կատարել:"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Հնարավոր չէ մերժել զանգը:"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Հնարավոր չէ անջատել զանգ(եր)ը:"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP զանգ"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Շտապ կանչ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Ռադիոն միացվում է…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ծառայությունը մատչելի չէ: Փորձը կրկնվում է…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Հնարավոր չէ զանգել: <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> համարը արտակարգ իրավիճակի համար չէ:"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Հնարավոր չէ զանգել: Հավաքեք արտակարգ իրավիճակի որևէ համար:"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Օգտագործել ստեղնաշարը համար հավաքելու համար"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Հետաձգել զանգը"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Վերսկսել զանգը"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Ավարտել զանգը"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Ցուցադրել թվաշարը"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Թաքցնել թվաշարը"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Անջատել ձայնը"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Չանտեսել"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Ավելացնել զանգ"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Միացնել զանգերը"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Փոխանակել"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Կառավարել զանգերը"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Կառավարել կոնֆերանս զանգը"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Կոնֆերանս զանգ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Կառավարել"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Ձայնային"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Տեսազանգ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Փոխարկել ձայնային կանչի"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Փոխարկել խցիկը"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Միացնել տեսախցիկը"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Անջատել տեսախցիկը"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Այլ ընտրանքներ"</string> - <string name="player_started" msgid="3478865572468310331">"Նվագարկիչը մեկնարկել է"</string> - <string name="player_stopped" msgid="1278611664986561535">"Նվագարկիչը դադարեցվել է"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Տեսախցիկը պատրաստ չէ"</string> - <string name="camera_ready" msgid="2614541247814590887">"Տեսախցիկը պատրաստ է"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Զանգի աշխատաշրջանի անհայտ իրադարձություն"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Ծառայություն"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Կարգավորում"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Կարգավորված չէ>"</string> - <string name="other_settings" msgid="6699076019841942826">"Զանգերի այլ կարգավորումներ"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Զանգում է <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ի միջոցով"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Մուտքային զանգ <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ի միջոցով"</string> - <string name="contactPhoto" msgid="6028825355597675193">"կոնտակտի լուսանկարը"</string> - <string name="goPrivate" msgid="3554069451018659483">"անցնել անձնականի"</string> - <string name="selectContact" msgid="92191462970821951">"ընտրել կոնտակտ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Գրեք ձեր սեփականը…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Չեղարկել"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Ուղարկել"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Պատասխանել"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Ուղարկել SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Մերժել"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Պատասխանել տեսազանգով"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Պատասխանել ձայնային զանգով"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Ընդունել տեսազանգի հարցումը"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Մերժել տեսազանգի հարցումը"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Ընդունել տեսափոխանցման հարցումը"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Մերժել տեսափոխանցման հարցումը"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Ընդունել տեսազանգ ստանալու հարցումը"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Մերժել տեսազանգ ստանալու հարցումը"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Սահեցրեք վերև` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> գործառույթի համար:"</string> - <string name="description_direction_left" msgid="6811598791620851239">"Սահեցրեք ձախ` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> գործառույթի համար:"</string> - <string name="description_direction_right" msgid="5461971399586296023">"Սահեցրեք աջ` <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> գործառույթի համար:"</string> - <string name="description_direction_down" msgid="3331715227997561639">"Սահեցրեք ցած՝ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> գործառույթի համար:"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Թրթռոց"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Թրթռոց"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ձայն"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Կանխադրված ձայնը (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Հեռախոսի զանգերանգ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Թրթռալ զանգի ժամանակ"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ձայներանգ և թրթռոց"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Կառավարել կոնֆերանս զանգը"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Արտակարգ իրավիճակի համար"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Պրոֆիլի լուսանկար"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Տեսախցիկն անջատված"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g>-ի միջոցով"</string> - <string name="note_sent" msgid="7623014827902758398">"Գրառումն ուղարկվեց"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Վերջին հաղորդագրությունները"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Բիզնես տեղեկատվություն"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> մղոն հեռու"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> կմ հեռու"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Բացվում է վաղը ժամը <xliff:g id="OPEN_TIME">%s</xliff:g>-ին"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Բացվում է այսօր ժամը <xliff:g id="OPEN_TIME">%s</xliff:g>-ին"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Փակվում է ժամը <xliff:g id="CLOSE_TIME">%s</xliff:g>-ին"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Փակվել է այսօր ժամը <xliff:g id="CLOSE_TIME">%s</xliff:g>-ին"</string> - <string name="open_now" msgid="4615706338669555999">"Հիմա բաց է"</string> - <string name="closed_now" msgid="2635314668145282080">"Հիմա փակ է"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Հավանաբար լցոն է"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Զանգն ավարտվեց %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Այս համարից առաջին անգամ եք զանգ ստանում:"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Կասկածներ կային, որ այս զանգը լցոնողից է:"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Արգելափակել/Նշել լցոն"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Ավելացնել կոնտակտ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Լցոն չէ"</string> -</resources> diff --git a/InCallUI/res/values-in/strings.xml b/InCallUI/res/values-in/strings.xml deleted file mode 100644 index a2cd31dc7..000000000 --- a/InCallUI/res/values-in/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telepon"</string> - <string name="onHold" msgid="527593602772521700">"Ditahan"</string> - <string name="unknown" msgid="3646075119047488748">"Tidak dikenal"</string> - <string name="private_num" msgid="6081418498487514686">"Nomor pribadi"</string> - <string name="payphone" msgid="5743050584468748607">"Telepon Umum"</string> - <string name="confCall" msgid="3181961445236675173">"Telewicara"</string> - <string name="call_lost" msgid="8208184291640961172">"Panggilan terputus"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Pengeras suara"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Earpiece handset"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Headset berkabel"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Kirim nada berikut?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Mengirim nada\n"</string> - <string name="send_button" msgid="4054398309483035794">"Kirim"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ya"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Tidak"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Ganti karakter acak dengan"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Telewicara <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Nomor pesan suara"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Memanggil"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Memanggil ulang"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Telewicara"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Panggilan masuk"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Panggilan masuk di telepon kerja"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Panggilan diakhiri"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Ditahan"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Menutup panggilan"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Sedang dalam panggilan"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Nomor saya <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Menyambungkan video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video call"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Meminta video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Tidak dapat menyambungkan video call"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Permintaan video ditolak"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Nomor panggilan balik Anda\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Nomor panggilan balik darurat Anda\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Memanggil"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Panggilan tak terjawab"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Panggilan tak terjawab"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> panggilan tak terjawab"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Panggilan tak terjawab dari <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Panggilan yang berlangsung"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Panggilan telepon kerja yang sedang berlangsung"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Panggilan Wi-Fi keluar"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Panggilan Wi-Fi kerja yang sedang berlangsung"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Ditahan"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Panggilan masuk"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Panggilan masuk di telepon kerja"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Panggilan Wi-Fi masuk"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Panggilan Wi-Fi masuk di telepon kerja"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Video call masuk"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Panggilan masuk yang diduga spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Permintaan video masuk"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Pesan suara baru"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Pesan suara baru (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Telepon <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nomor pesan suara tidak dikenal"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Tidak ada layanan"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Jaringan yang dipilih (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) tidak tersedia"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Jawab"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Akhiri"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Suara"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Terima"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Tutup"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Telepon balik"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Pesan"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Panggilan yang berlangsung di perangkat lain"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transfer Panggilan"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Untuk melakukan panggilan, terlebih dahulu nonaktifkan mode Pesawat."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Tidak terdaftar pada jaringan."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Jaringan seluler tidak tersedia."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Untuk melakukan panggilan telepon, masukkan nomor yang valid."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Tidak dapat menelepon."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Memulai urutan MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Layanan tidak didukung."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Tidak dapat beralih panggilan."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Tidak dapat memisahkan panggilan."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Tidak dapat mentransfer."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Tidak dapat melakukan telewicara."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Tidak dapat menolak panggilan."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Tidak dapat melepas panggilan."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Panggilan SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Panggilan darurat"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Menghidupkan radio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Tidak ada layanan. Mencoba lagi…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Tidak dapat menelepon. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bukan nomor darurat."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Tidak dapat menelepon. Panggil nomor darurat."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Gunakan keyboard untuk memanggil"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Tahan Panggilan"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Mulai Kembali Panggilan"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Akhiri Panggilan"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Tampilkan tombol nomor"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Sembunyikan tombol nomor"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Bisukan"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Suarakan"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Tambahkan panggilan"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Gabungkan panggilan"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Tukar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Kelola panggilan"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Kelola telewicara"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferensi telepon"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Kelola"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video call"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Ubah ke panggilan suara"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Beralih kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Nyalakan kamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Matikan kamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Opsi lainnya"</string> - <string name="player_started" msgid="3478865572468310331">"Pemutar Dimulai"</string> - <string name="player_stopped" msgid="1278611664986561535">"Pemutar Dihentikan"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera tidak siap"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera siap"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Sesi panggilan tidak dikenal"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Layanan"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Siapkan"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Tidak disetel>"</string> - <string name="other_settings" msgid="6699076019841942826">"Setelan panggilan lainnya"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Memanggil via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Masuk melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto kontak"</string> - <string name="goPrivate" msgid="3554069451018659483">"aktifkan pribadi"</string> - <string name="selectContact" msgid="92191462970821951">"pilih kontak"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Tulis respons Anda sendiri…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Batal"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Kirim"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Jawab"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Kirim SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Tolak"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Jawab sebagai video call"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Jawab sebagai panggilan audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Terima permintaan video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Tolak permintaan video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Terima permintaan transmisi video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Tolak permintaan transmisi video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Terima permintaan menerima video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Tolak permintaan menerima video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Geser ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Geser ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Geser ke kanan untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Geser ke bawah untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Getar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Getar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Suara"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Suara default (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Nada dering ponsel"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Bergetar saat berdering"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Nada dering & Getar"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Kelola telewicara"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Nomor darurat"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto profil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera tidak aktif"</string> - <string name="child_number" msgid="4469090994612105532">"melalui <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Catatan telah dikirim"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Pesan terbaru"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Info bisnis"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mil"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Buka jam <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Hari ini buka jam <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Tutup pukul <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Hari ini tutup pukul <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Buka sekarang"</string> - <string name="closed_now" msgid="2635314668145282080">"Sekarang tutup"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Diduga telepon spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Panggilan diakhiri %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Nomor ini baru pertama kali menghubungi Anda."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Kami menduga panggilan ini dari pelaku spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokir/laporkan spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Tambahkan kontak"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Bukan spam"</string> -</resources> diff --git a/InCallUI/res/values-is/strings.xml b/InCallUI/res/values-is/strings.xml deleted file mode 100644 index 480fd6eaa..000000000 --- a/InCallUI/res/values-is/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Sími"</string> - <string name="onHold" msgid="527593602772521700">"Í bið"</string> - <string name="unknown" msgid="3646075119047488748">"Óþekkt"</string> - <string name="private_num" msgid="6081418498487514686">"Óþekkt númer"</string> - <string name="payphone" msgid="5743050584468748607">"Símasjálfsali"</string> - <string name="confCall" msgid="3181961445236675173">"Símafundur"</string> - <string name="call_lost" msgid="8208184291640961172">"Símtali slitið"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Hátalari"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Símahátalari"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Höfuðtól með snúru"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Senda eftirfarandi tóna?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sendir tóna\n"</string> - <string name="send_button" msgid="4054398309483035794">"Senda"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Já"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nei"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Skipta algildisstaf út fyrir"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Símafundur <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Talhólfsnúmer"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Hringir"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Hringir aftur"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Símafundur"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Móttekið símtal"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Vinnusímtal berst"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Lagt á"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Í bið"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Leggur"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Í símtali"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Númerið mitt er <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Tengir myndskeið"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Myndsímtal"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Biður um myndskeið"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Ekki tókst að tengja myndsímtal"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Myndsímtalsbeiðni hafnað"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Svarhringingarnúmer þitt\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Svarhringingarnúmer þitt í neyðartilvikum\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Hringir"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Ósvarað símtal"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Ósvöruð símtöl"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ósvöruð símtöl"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Ósvarað símtal frá <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Samtal í gangi"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Vinnusímtal í gangi"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi símtal stendur yfir"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Vinnusímtal í gangi um Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Í bið"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Móttekið símtal"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Vinnusímtal berst"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Wi-Fi símtal berst"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Vinnusímtal berst um Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Myndsímtal berst"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Símtal sem berst er hugsanlega úr ruslnúmeri"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Myndbeiðni berst"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Ný skilaboð í talhólfinu"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Ný skilaboð í talhólfinu (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Hringja í <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Talhólfsnúmer ekki þekkt"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ekkert símasamband"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Valið símkerfi (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) er ekki tiltækt"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Svara"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Leggja á"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Myndskeið"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Tal"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Samþykkja"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Hunsa"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Hringja til baka"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Skilaboð"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Símtal í gangi í öðru tæki"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Flytja símtal"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Til að hringja símtal þarftu fyrst að slökkva á flugstillingu."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ekki skráð á símkerfi."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Farsímakerfi ekki til staðar."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Sláðu inn gilt númer til að hringja símtal."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Ekki hægt að hringja."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Ræsir MMI-runu…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Þjónustan er ekki studd."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Ekki hægt að skipta milli símtala."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Ekki hægt að aðskilja símtal."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Ekki hægt að flytja."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Ekki hægt að halda símafund."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Ekki hægt að hafna símtali."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Ekki hægt að leggja á."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-símtal"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Neyðarsímtal"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Kveikir á loftneti…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ekkert samband. Reynir aftur…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Getur ekki hringt. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ekki neyðarsímanúmer."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Ekki hægt að hringja. Hringdu í neyðarnúmer"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Notaðu lyklaborðið til að hringja"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Setja símtal í bið"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Halda símtali áfram"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Leggja á"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Sýna símatakkaborð"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Fela símatakkaborð"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Slökkva á hljóði"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Kveikja á hljóði"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Bæta við símtali"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Sameina símtöl"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Skipta milli"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Stjórna símtölum"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Stjórna símafundi"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Símafundur"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Stjórna"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Hljóð"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Myndsímtal"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Breyta í símtal"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Skipta um myndavél"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kveikja á myndavél"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Slökkva á myndavél"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Fleiri valkostir"</string> - <string name="player_started" msgid="3478865572468310331">"Spilari ræstur"</string> - <string name="player_stopped" msgid="1278611664986561535">"Spilari stöðvaður"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Myndavél ekki tilbúin"</string> - <string name="camera_ready" msgid="2614541247814590887">"Myndavél tilbúin"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Óþekkt atvik símtalslotu"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Þjónusta"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Uppsetning"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ekki valið>"</string> - <string name="other_settings" msgid="6699076019841942826">"Aðrar símtalsstillingar"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Hringt í gegnum <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Berst í gegnum <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"mynd tengiliðar"</string> - <string name="goPrivate" msgid="3554069451018659483">"tala í einrúmi"</string> - <string name="selectContact" msgid="92191462970821951">"velja tengilið"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Skrifaðu eigið svar…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Hætta við"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Senda"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Svara"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Senda SMS-skilaboð"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Hafna"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Svara sem myndsímtali"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Svara sem símtali"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Samþykkja beiðni um myndsímtal"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Hafna beiðni um myndsímtal"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Samþykkja beiðni um sendingu myndsímtals"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Hafna beiðni um sendingu myndsímtals"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Samþykkja beiðni um móttöku myndsímtals"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Hafna beiðni um móttöku myndsímtals"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Strjúktu upp til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Strjúktu til vinstri til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Strjúktu til hægri til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Strjúktu niður til að <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Titra"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Titra"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Hljóð"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Sjálfgefið hljóð (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Hringitónn síma"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Titra við hringingu"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Hringitónn og titringur"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Stjórna símafundi"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Neyðarnúmer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Prófílmynd"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Slökkt á myndavél"</string> - <string name="child_number" msgid="4469090994612105532">"úr <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Glósa send"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nýleg skilaboð"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Fyrirtækjaupplýsingar"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"í <xliff:g id="DISTANCE">%.1f</xliff:g> míl. fjarlægð"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"í <xliff:g id="DISTANCE">%.1f</xliff:g> km fjarlægð"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Opið á morgun frá kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Opið í dag frá kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Lokað kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Var lokað í dag kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Opið núna"</string> - <string name="closed_now" msgid="2635314668145282080">"Lokað núna"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Grunur um svikasímtal"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Símtali lokið %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Þetta er í fyrsta sinn sem hringt er í þig úr þessu númeri."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Okkur grunaði að þetta símtal væri úr ruslnúmeri."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bannlisti/tilkynna"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Bæta tengilið við"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ekki ruslnúmer"</string> -</resources> diff --git a/InCallUI/res/values-it/strings.xml b/InCallUI/res/values-it/strings.xml deleted file mode 100644 index c9b49501b..000000000 --- a/InCallUI/res/values-it/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefono"</string> - <string name="onHold" msgid="527593602772521700">"In attesa"</string> - <string name="unknown" msgid="3646075119047488748">"Sconosciuto"</string> - <string name="private_num" msgid="6081418498487514686">"Numero privato"</string> - <string name="payphone" msgid="5743050584468748607">"Telefono pubblico"</string> - <string name="confCall" msgid="3181961445236675173">"Audioconferenza"</string> - <string name="call_lost" msgid="8208184291640961172">"Chiamata persa"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altoparlante"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auricolare telefono"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Auricolare con cavo"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Inviare i numeri successivi?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Invio toni\n"</string> - <string name="send_button" msgid="4054398309483035794">"Invia"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sì"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"No"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Sostituisci carattere jolly con"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Audioconferenza: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Numero segreteria"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Chiamata in corso"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ricomposizione"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Audioconferenza"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Chiamata in arrivo"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Chiamata lavoro in arrivo"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Chiamata terminata"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"In attesa"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"In fase di chiusura"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Chiamata in corso"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Il mio numero è: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Collegamento video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videochiamata"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Richiesta video in corso"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Impossibile effettuare una videochiamata"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Richiesta video rifiutata"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Numero da richiamare:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Numero da richiamare in caso di emergenza:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Composizione in corso"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Chiamata persa"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Chiamate perse"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chiamate perse"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Chiamata senza risposta da <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Chiamata in corso"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Chiamata di lavoro in corso"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Chiamata Wi-Fi in corso"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Chiamata di lavoro tramite Wi-Fi in corso"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"In attesa"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Chiamata in arrivo"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Chiamata di lavoro in arrivo"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Chiamata Wi-Fi in arrivo"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Chiamata di lavoro in arrivo tramite Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videochiamata in arrivo"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Chiamata di presunto spam in arrivo"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Richiesta video in arrivo"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nuovo messaggio vocale"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nuovo messaggio vocale (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Componi <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Numero segreteria sconosciuto"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nessun servizio"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Rete selezionata (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) non disponibile"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Rispondi"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Riaggancia"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voce"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accetta"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ignora"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Richiama"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Messaggio"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Chiamata in corso su un altro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Trasferisci chiamata"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Per fare una chiamata, disattiva la modalità aereo."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Non registrato sulla rete."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rete dati non disponibile."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Per fare una chiamata, inserisci un numero valido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Impossibile chiamare."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Avvio sequenza MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Servizio non supportato."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Impossibile cambiare chiamata."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Impossibile separare la chiamata."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Impossibile trasferire."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Impossibile fare una chiamata in conferenza."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Impossibile rifiutare la chiamata."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Impossibile riagganciare."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Chiamata SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Chiamata di emergenza"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Attivazione segnale cellulare..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nessun servizio. Nuovo tentativo…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Impossibile chiamare. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non è un numero di emergenza."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Impossibile chiamare. Componi un numero di emergenza."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Usa tastiera"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Metti in attesa la chiamata"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Riprendi chiamata"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Termina chiamata"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostra tastierino"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Nascondi tastierino"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Disattiva audio"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Riattiva audio"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Aggiungi chiamata"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Unisci chiamate"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Scambia"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gestisci chiamate"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gestisci audioconferenza"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Audioconferenza"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gestisci"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videochiam"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Passa a chiamata vocale"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Cambia fotocamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Attiva fotocamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Disattiva fotocamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Altre opzioni"</string> - <string name="player_started" msgid="3478865572468310331">"Player avviato"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player interrotto"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"La fotocamera non è pronta"</string> - <string name="camera_ready" msgid="2614541247814590887">"Fotocamera pronta"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento sessione chiamata sconosciuto"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Servizio"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configura"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Non impostato>"</string> - <string name="other_settings" msgid="6699076019841942826">"Altre impostazioni di chiamata"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Chiamate tramite <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"In arrivo tramite <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto contatto"</string> - <string name="goPrivate" msgid="3554069451018659483">"Privato"</string> - <string name="selectContact" msgid="92191462970821951">"seleziona contatto"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Scrivi risposta personale..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Annulla"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Invia"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Rispondi"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Invia SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Rifiuta"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Rispondi con videochiamata"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Rispondi con chiamata audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Accetta richiesta video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Rifiuta richiesta video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Accetta richiesta di trasmissione video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Rifiuta richiesta di trasmissione video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Accetta richiesta di ricevimento video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Rifiuta richiesta di ricevimento video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Scorri verso l\'alto per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Scorri verso sinistra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Scorri verso destra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Scorri verso il basso per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrazione"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrazione"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Suono"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Suono predefinito (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Suoneria telefono"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrazione quando squilla"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Suoneria e vibrazione"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gestisci audioconferenza"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Numero di emergenza"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto del profilo"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Fotocamera disattivata"</string> - <string name="child_number" msgid="4469090994612105532">"tramite <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota inviata"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Messaggi recenti"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informazioni sull\'attività"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Distante <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Distante <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Apre domani alle ore <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Apre oggi alle ore <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Chiude alle ore <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Ha chiuso oggi alle ore <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Aperto ora"</string> - <string name="closed_now" msgid="2635314668145282080">"Ora chiuso"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Presunto spammer"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Chiamata terminata %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"È la prima volta che questo numero ti chiama."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sospettavamo che questa chiamata provenisse da uno spammer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blocca/Segnala spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Aggiungi contatto"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Non spam"</string> -</resources> diff --git a/InCallUI/res/values-iw/strings.xml b/InCallUI/res/values-iw/strings.xml deleted file mode 100644 index c75c8da0d..000000000 --- a/InCallUI/res/values-iw/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"טלפון"</string> - <string name="onHold" msgid="527593602772521700">"בהמתנה"</string> - <string name="unknown" msgid="3646075119047488748">"לא ידוע"</string> - <string name="private_num" msgid="6081418498487514686">"מספר פרטי"</string> - <string name="payphone" msgid="5743050584468748607">"טלפון ציבורי"</string> - <string name="confCall" msgid="3181961445236675173">"שיחת ועידה"</string> - <string name="call_lost" msgid="8208184291640961172">"השיחה נותקה"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"רמקול"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"אוזנייה"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"אוזניות עם חיבור חוטי"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"האם לשלוח את הצלילים הבאים?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"שולח צלילים\n"</string> - <string name="send_button" msgid="4054398309483035794">"שלח"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"כן"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"לא"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"החלף את התו הכללי ב"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"שיחת ועידה <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"המספר של הדואר הקולי"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"מחייג"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"מחייג שוב"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"שיחת ועידה"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"שיחה נכנסת"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"שיחת עבודה נכנסת"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"השיחה הסתיימה"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"בהמתנה"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"מנתק"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"בשיחה"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"המספר שלי הוא <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"מחבר וידאו"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"שיחת וידאו"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"מבקש וידאו"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"לא ניתן לחבר שיחת וידאו"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"בקשת וידאו נדחתה"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"המספר שלך להתקשרות חזרה\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"המספר שלך להתקשרות חזרה במצב חירום\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"מחייג"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"שיחה שלא נענתה"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"שיחות שלא נענו"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> שיחות שלא נענו"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"שיחה שלא נענתה מאת <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"שיחה פעילה"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"שיחת עבודה פעילה"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"שיחת Wi-Fi פעילה"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"שיחת עבודה פעילה ברשת WiFi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"בהמתנה"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"שיחה נכנסת"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"שיחת עבודה נכנסת"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"שיחת Wi-Fi נכנסת"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"שיחת עבודה נכנסת ברשת WiFi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"שיחת וידאו נכנסת"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"השיחה הנכנסת חשודה כספאם"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"בקשת וידאו נכנסת"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"דואר קולי חדש"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"דואר קולי חדש (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"חייג <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"המספר של הדואר הקולי אינו ידוע"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"אין שירות"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"הרשת שנבחרה (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) לא זמינה"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"ענה"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"נתק"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"וידאו"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"קול"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"אשר"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"בטל"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"התקשר חזרה"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"שלח הודעה"</string> - <string name="notification_external_call" msgid="5611236780302924816">"באחד מהמכשירים האחרים מתבצעת שיחה"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"העבר את השיחה"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"כדי להתקשר, כבה תחילה את מצב טיסה."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"לא רשום ברשת."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"רשת סלולרית אינה זמינה."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"כדי להתקשר, הזן מספר טלפון חוקי."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"לא ניתן להתקשר."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"מתחיל רצף MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"שירות לא נתמך."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"לא ניתן לעבור בין שיחות."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"לא ניתן להפריד שיחה."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"לא ניתן להעביר."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"לא ניתן לבצע שיחת ועידה."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"לא ניתן לדחות שיחה."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"לא ניתן להתקשר."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"שיחת SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"שיחת חירום"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"מפעיל את הרדיו…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"אין שירות. מנסה שוב..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"לא ניתן להתקשר. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> אינו מספר חירום."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"לא ניתן להתקשר. חייג למספר חירום."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"השתמש במקלדת כדי לחייג"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"החזק שיחה"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"המשך בשיחה"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"סיים שיחה"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"הצגת לוח החיוג"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"הסתרת לוח החיוג"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"השתקה"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ביטול ההשתקה"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"הוסף שיחה"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"מזג שיחות"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"החלף"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"נהל שיחות"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"נהל שיחת ועידה"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"שיחת ועידה"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"ניהול"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"אודיו"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"שיחת וידאו"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"שנה לשיחה קולית"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"החלף מצלמה"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"הפעל את המצלמה"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"כבה את המצלמה"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"אפשרויות נוספות"</string> - <string name="player_started" msgid="3478865572468310331">"הנגן הופעל"</string> - <string name="player_stopped" msgid="1278611664986561535">"הנגן הפסיק"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"המצלמה לא מוכנה"</string> - <string name="camera_ready" msgid="2614541247814590887">"המצלמה מוכנה"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"אירוע הפעלת שיחה לא ידוע"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"שירות"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"הגדרות"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<לא הוגדר>"</string> - <string name="other_settings" msgid="6699076019841942826">"הגדרות אחרות של שיחה"</string> - <string name="calling_via_template" msgid="3539373093109976255">"שיחה באמצעות <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"שיחה נכנסת באמצעות <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"תמונה של איש קשר"</string> - <string name="goPrivate" msgid="3554069451018659483">"עבור לשיחה פרטית"</string> - <string name="selectContact" msgid="92191462970821951">"בחר איש קשר"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"כתוב תגובה משלך..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"בטל"</string> - <string name="custom_message_send" msgid="3798076337006735995">"שלח"</string> - <string name="description_target_answer" msgid="1111945818996518320">"ענה"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"שלח SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"דחה"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ענה כשיחת וידאו"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ענה כשיחת אודיו"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"קבל בקשת וידאו"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"דחה בקשת וידאו"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"אשר את הבקשה לשידור וידאו"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"דחה את הבקשה לשידור וידאו"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"אשר את הבקשה לקבלת וידאו"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"דחה את הבקשה לקבלת וידאו"</string> - <string name="description_direction_up" msgid="1735018141439291766">"הסט למעלה כדי <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"הסט שמאלה כדי <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"הסט ימינה כדי <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"הסט למטה כדי <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"רטט"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"רטט"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"צליל"</string> - <string name="default_notification_description" msgid="4950807644546509965">"צליל ברירת מחדל (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"רינגטון של טלפון"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"רטט בעת צלצול"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"רינגטון ורטט"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"נהל שיחת ועידה"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"מספר חירום"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"תמונת פרופיל"</string> - <string name="camera_off_description" msgid="4220023868645225790">"המצלמה כבויה"</string> - <string name="child_number" msgid="4469090994612105532">"באמצעות <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"ההערה נשלחה"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"הודעות אחרונות"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"פרטי עסק"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"במרחק <xliff:g id="DISTANCE">%.1f</xliff:g> מייל"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"במרחק <xliff:g id="DISTANCE">%.1f</xliff:g> ק\"מ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"ייפתח מחר ב-<xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"נפתח היום ב-<xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"נסגר ב-<xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"נסגר היום ב-<xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"פתוח עכשיו"</string> - <string name="closed_now" msgid="2635314668145282080">"סגור עכשיו"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"חשד לשיחת ספאם"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"השיחה הסתיימה %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"זוהי הפעם הראשונה שמתקשרים אליך מהמספר הזה."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"אנו חושדים שהמספר הזה הוא של שולח ספאם."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"חסימה/דיווח על ספאם"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"הוספת איש קשר"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"לא ספאם"</string> -</resources> diff --git a/InCallUI/res/values-ja/strings.xml b/InCallUI/res/values-ja/strings.xml deleted file mode 100644 index 551d896b5..000000000 --- a/InCallUI/res/values-ja/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"電話"</string> - <string name="onHold" msgid="527593602772521700">"保留中"</string> - <string name="unknown" msgid="3646075119047488748">"不明"</string> - <string name="private_num" msgid="6081418498487514686">"非通知"</string> - <string name="payphone" msgid="5743050584468748607">"公衆電話"</string> - <string name="confCall" msgid="3181961445236675173">"グループ通話"</string> - <string name="call_lost" msgid="8208184291640961172">"通話が遮断されました"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"スピーカー"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"モバイル端末のイヤホン"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"有線ヘッドセット"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"次の番号を送信しますか?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"番号を送信中\n"</string> - <string name="send_button" msgid="4054398309483035794">"送信"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"はい"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"いいえ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ワイルド文字を置換:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"グループ通話 <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"ボイスメールの番号"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"発信中"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"リダイヤル中"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"グループ通話"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"着信中"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"仕事の通話が着信中"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"通話終了"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"保留中"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"通話終了"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"通話中"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"この電話の番号: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ビデオハングアウトに接続中"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ビデオハングアウト"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ビデオハングアウトをリクエスト中"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ビデオハングアウトの接続エラー"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ビデオハングアウトのリクエスト不承認"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"コールバック先\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"緊急通報コールバック先\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"発信中"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"不在着信"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"不在着信"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"不在着信 <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 件"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> さんからの不在着信"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"通話中"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"仕事の通話中"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi 通話中"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"仕事の Wi-Fi 通話中"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"保留中"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"着信中"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"仕事の通話が着信中"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Wi-Fi 通話が着信中"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"仕事の Wi-Fi 通話が着信中"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ビデオハングアウトが着信中"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"迷惑電話の疑いがある通話を着信しています"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ビデオハングアウト リクエストが着信中"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"新着のボイスメール"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"新着のボイスメール(<xliff:g id="COUNT">%d</xliff:g> 件)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> に発信"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ボイスメールの番号が不明です"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"通信サービスはありません"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"選択したネットワーク(<xliff:g id="OPERATOR_NAME">%s</xliff:g>)が利用できません"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"電話に出る"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"通話終了"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ビデオ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"音声"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"受ける"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"拒否する"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"コールバック"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"メッセージ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"別の端末で通話中"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"通話を転送"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"機内モードを OFF にしてから発信してください。"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ご加入の通信サービスがありません。"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"モバイル ネットワークが利用できません。"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"発信するには、有効な番号を入力してください。"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"発信できません。"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI シーケンスを開始しています..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"サービスはサポートされていません。"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"通話を切り替えられません。"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"通話を分割できません。"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"転送できません。"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"グループ通話できません。"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"着信を拒否できません。"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"通話を解放できません。"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP 通話"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"緊急通報"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"無線通信を ON にしています..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"通信サービスはありません。もう一度お試しください…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"発信できません。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> は緊急通報番号ではありません。"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"発信できません。緊急通報番号におかけください。"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"キーボードで番号を入力してください"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"通話を保留"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"通話を再開"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"通話を終了"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ダイヤルパッドを表示"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ダイヤルパッドを非表示"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ミュート"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ミュートを解除"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"通話を追加"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"グループ通話"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"切り替え"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"通話を管理"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"グループ通話オプション"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"グループ通話"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"管理"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"音声"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ビデオ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"音声通話に変更"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"カメラを切り替え"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"カメラを ON にする"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"カメラを OFF にする"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"その他のオプション"</string> - <string name="player_started" msgid="3478865572468310331">"プレーヤーを開始しました"</string> - <string name="player_stopped" msgid="1278611664986561535">"プレーヤーを停止しました"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"カメラが準備できていません"</string> - <string name="camera_ready" msgid="2614541247814590887">"カメラが準備できました"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"不明な通話セッション イベントです"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"サービス"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"セットアップ"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<未設定>"</string> - <string name="other_settings" msgid="6699076019841942826">"その他の通話設定"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> で発信中"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> で着信中"</string> - <string name="contactPhoto" msgid="6028825355597675193">"連絡先の写真"</string> - <string name="goPrivate" msgid="3554069451018659483">"個別通話に切り替え"</string> - <string name="selectContact" msgid="92191462970821951">"連絡先を選択"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"カスタム返信を作成..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"キャンセル"</string> - <string name="custom_message_send" msgid="3798076337006735995">"送信"</string> - <string name="description_target_answer" msgid="1111945818996518320">"電話に出る"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS を送信する"</string> - <string name="description_target_decline" msgid="7108154434759234035">"拒否"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ビデオハングアウトで電話に出る"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"音声通話で電話に出る"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ビデオハングアウト リクエストを承認する"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ビデオハングアウト リクエストを拒否する"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ビデオハングアウト送信リクエストを承認する"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ビデオハングアウト送信リクエストを拒否する"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ビデオハングアウト受信リクエストを承認する"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ビデオハングアウト受信リクエストを拒否する"</string> - <string name="description_direction_up" msgid="1735018141439291766">"上にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string> - <string name="description_direction_left" msgid="6811598791620851239">"左にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string> - <string name="description_direction_right" msgid="5461971399586296023">"右にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string> - <string name="description_direction_down" msgid="3331715227997561639">"下にスライドして<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>を行います。"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"バイブレーション"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"バイブレーション"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"着信音"</string> - <string name="default_notification_description" msgid="4950807644546509965">"デフォルトの通知音(<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"着信音"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"着信時のバイブレーション"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"着信音とバイブレーション"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"グループ通話オプション"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"緊急通報番号"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"プロフィール写真"</string> - <string name="camera_off_description" msgid="4220023868645225790">"カメラ OFF"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> に着信"</string> - <string name="note_sent" msgid="7623014827902758398">"メモを送信しました"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"最近のメッセージ"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ビジネス情報"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> マイル内"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km 内"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>、<xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>~<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>、<xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"明日 <xliff:g id="OPEN_TIME">%s</xliff:g>に営業開始"</string> - <string name="opens_today_at" msgid="6281212768937222891">"本日 <xliff:g id="OPEN_TIME">%s</xliff:g>に営業開始"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>に営業終了"</string> - <string name="closed_today_at" msgid="4060072663433467233">"本日 <xliff:g id="CLOSE_TIME">%s</xliff:g>に営業終了"</string> - <string name="open_now" msgid="4615706338669555999">"現在営業中"</string> - <string name="closed_now" msgid="2635314668145282080">"営業終了"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"迷惑電話の疑いあり"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"通話が終了しました %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"この番号からの通話を受信したのはこれが初めてです。"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"この通話は迷惑電話の可能性があります。"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"ブロック / 報告"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"連絡先に追加"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"迷惑電話ではない"</string> -</resources> diff --git a/InCallUI/res/values-ka/strings.xml b/InCallUI/res/values-ka/strings.xml deleted file mode 100644 index b01006561..000000000 --- a/InCallUI/res/values-ka/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ტელეფონი"</string> - <string name="onHold" msgid="527593602772521700">"მოცდის რეჟიმში"</string> - <string name="unknown" msgid="3646075119047488748">"უცნობი"</string> - <string name="private_num" msgid="6081418498487514686">"დაფარული ნომერი"</string> - <string name="payphone" msgid="5743050584468748607">"ტელეფონ-ავტომატი"</string> - <string name="confCall" msgid="3181961445236675173">"საკონფერენციო ზარი"</string> - <string name="call_lost" msgid="8208184291640961172">"ზარი შეწყდა"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"დინამიკი"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ყურსაცვამის საყურისი"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"სადენიანი ყურსაცვამი"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"გსურთ შემდეგი ტონების გაგზავნა?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ტონების გაგზავნა\n"</string> - <string name="send_button" msgid="4054398309483035794">"გაგზავნა"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"დიახ"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"არა"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ჩანაცვლების სიმბოლო ჩანაცვლდეს შემდეგით:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"საკონფერენციო ზარი: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"ხმოვანი ფოსტის ნომერი"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"მიმდინარეობს აკრეფა"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"იკრიფება ხელახლა"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"საკონფერენციო ზარი"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"შემომავალი ზარი"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"შემომავალი ზარი (სამსახური)"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ზარი დასრულდა"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"მოცდის რეჟიმში"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"მიმდინარეობს გათიშვა"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"საუბრის რეჟიმში"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"ჩემი ნომერია <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"მიმდინარეობს ვიდეოს დაკავშირება"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ვიდეო ზარი"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"მიმდინარეობს ვიდეოს მოთხოვნა"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ვიდეო ზარის დაკავშირება ვერ მოხერხდა"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ვიდეოს მოთხოვნა უარყოფილია"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"თქვენი ნომერი გადმორეკვისთვის\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"თქვენი ნომერი გადაუდებელი გადმორეკვისთვის\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"მიმდინარეობს აკრეფა"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"გამოტოვებული ზარი"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"გამოტოვებული ზარები"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> გამოტოვებული ზარი"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"გამოტოვებული ზარი <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-ისგან"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"მიმდინარე ზარი"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"მიმდინარე ზარი (სამსახური)"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"მიმდინარე Wi-Fi ზარი"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"მიმდინარე Wi-Fi ზარი (სამსახური)"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"მოცდის რეჟიმში"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"შემომავალი ზარი"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"შემომავალი ზარი (სამსახური)"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"შემომავალი Wi-Fi ზარი"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"შემომავალი Wi-Fi ზარი (სამსახური)"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"შემომავალი ვიდეო ზარი"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"შემომავალი ზარი - სავარაუდოდ სპამი"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"შემომავალი ვიდეოს მოთხოვნა"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"ახალი ხმოვანი შეტყობინება"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"ახალი ხმოვანი შეტყობინება (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>-ზე დარეკვა"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ხმოვანი ფოსტის ნომერი უცნობია"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"სერვისი არ არის"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"არჩეული ქსელი (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) მიუწვდომელია"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"პასუხი"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"გათიშვა"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ვიდეო"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ხმოვანი"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"მიღება"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"დახურვა"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"გადარეკვა"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"შეტყობინება"</string> - <string name="notification_external_call" msgid="5611236780302924816">"სხვა მოწყობილობაზე მიმდინარე ზარი"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ზარის ტრანსფერი"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ზარის განსახორციელებლად, ჯერ გამორთეთ თვითმფრინავის რეჟიმი."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"არ არის რეგისტრირებული ქსელში."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"ფიჭური ქსელი მიუწვდომელია."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ზარის განსახორციელებლად, შეიყვანეთ სწორი ნომერი."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"დარეკვა ვერ ხერხდება."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI თანმიმდევრობის დაწყება…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"სერვისი არ არის მხარდაჭერილი."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ზარების გადართვა ვერ ხერხდება."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ზარის განცალკევება ვერ ხერხდება."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"გადამისამართება ვერ ხერხდება."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"საკონფერენციო ზარის განხორციელება ვერ ხერხდება."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ზარის უარყოფა ვერ ხერხდება."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ზარ(ებ)ის გათიშვა ვერ ხერხდება."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP ზარი"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"გადაუდებელი ზარი"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"მიმდინარეობს რადიოს ჩართვა…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"სერვისი არ არის. მიმდინარეობს ხელახლა ცდა…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"დარეკვა ვერ ხერხდება. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> არ არის გადაუდებელი დახმარების ნომერი."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"დარეკვა ვერ ხერხდება. აკრიფეთ გადაუდებელი დახმარების ნომერი."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ნომრის ასაკრეფად გამოიყენეთ კლავიატურა"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"მოცდის რეჟიმზე გადაყვანა"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ზარის განახლება"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ზარის დასრულება"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ციფერბლატის ჩვენება"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ციფერბლატის დამალვა"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"დადუმება"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"დადუმების გაუქმება"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ზარის დამატება"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ზარების გაერთიანება"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"ჩანაცვლება"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ზარების მართვა"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"საკონფერენციო ზარის მართვა"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"საკონფერენციო ზარი"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"მართვა"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"აუდიო"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ვიდეო ზარი"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ხმოვან ზარზე გადართვა"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"კამერის გადართვა"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"კამერის ჩართვა"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"კამერის გამორთვა"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"სხვა ვარიანტები"</string> - <string name="player_started" msgid="3478865572468310331">"დამკვრელი ჩაირთო"</string> - <string name="player_stopped" msgid="1278611664986561535">"დამკვრელი გამოირთო"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"კამერა არ არის მზად"</string> - <string name="camera_ready" msgid="2614541247814590887">"კამერა მზადაა"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"ზარის სესიის უცნობი მოვლენა"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"სერვისი"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"დაყენება"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<არ არის დაყენებული>"</string> - <string name="other_settings" msgid="6699076019841942826">"ზარის სხვა პარამეტრები"</string> - <string name="calling_via_template" msgid="3539373093109976255">"მიმდინარეობს დარეკვა <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ის მეშვეობით"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"შემომავალი ზარი <xliff:g id="PROVIDER_NAME">%s</xliff:g>-დან"</string> - <string name="contactPhoto" msgid="6028825355597675193">"კონტაქტის ფოტო"</string> - <string name="goPrivate" msgid="3554069451018659483">"პირადი რეჟიმი"</string> - <string name="selectContact" msgid="92191462970821951">"კონტაქტის არჩევა"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"საკუთარის შექმნა..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"გაუქმება"</string> - <string name="custom_message_send" msgid="3798076337006735995">"გაგზავნა"</string> - <string name="description_target_answer" msgid="1111945818996518320">"პასუხი"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS-ის გაგზავნა"</string> - <string name="description_target_decline" msgid="7108154434759234035">"უარყოფა"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"პასუხი ვიდეო ზარის სახით"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"პასუხი ხმოვანი ზარის სახით"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ვიდეოს მოთხოვნის მიღება"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ვიდეოს მოთხოვნის უარყოფა"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ვიდეოს გადაცემის მოთხოვნის მიღება"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ვიდეოს გადაცემის მოთხოვნის უარყოფა"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ვიდეოს მიღების მოთხოვნაზე დათანხმება"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ვიდეოს მიღების მოთხოვნის უარყოფა"</string> - <string name="description_direction_up" msgid="1735018141439291766">"გაასრიალეთ ზემოთ, რათა შესრულდეს <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"გაასრიალეთ მარცხნივ, რათა შესრულდეს <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"გაასრიალეთ მარჯვნივ, რათა შესრულდეს <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"გაასრიალეთ ქვემოთ, რათა შესრულდეს <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ვიბრაცია"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ვიბრაცია"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ხმა"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ნაგულისხმები ხმა (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ტელეფონის ზარი"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"ვიბრაცია დარეკვისას"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"ზარის მელოდია და ვიბრაცია"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"საკონფერენციო ზარის მართვა"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"გადაუდებელი დახმარების ნომერი"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"პროფილის ფოტო"</string> - <string name="camera_off_description" msgid="4220023868645225790">"კამერა გამორთულია"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g>-დან"</string> - <string name="note_sent" msgid="7623014827902758398">"შენიშვნა გაიგზავნა"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ბოლო შეტყობინებები"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ბიზნეს-ინფორმაცია"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> მილში"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> კმ-ში"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> — <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"იხსნება ხვალ <xliff:g id="OPEN_TIME">%s</xliff:g>-ზე"</string> - <string name="opens_today_at" msgid="6281212768937222891">"იხსნება დღეს <xliff:g id="OPEN_TIME">%s</xliff:g>-ზე"</string> - <string name="closes_today_at" msgid="4822369201263491509">"იკეტება <xliff:g id="CLOSE_TIME">%s</xliff:g>-ზე"</string> - <string name="closed_today_at" msgid="4060072663433467233">"დაიკეტა დღეს <xliff:g id="CLOSE_TIME">%s</xliff:g>-ზე"</string> - <string name="open_now" msgid="4615706338669555999">"ახლა ღიაა"</string> - <string name="closed_now" msgid="2635314668145282080">"ახლა დაკეტილია"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"სავარაუდ.სპამ.აბონ."</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ზარი დასრულდა %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ამ ნომრიდან პირველად დაგირეკეს."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ეჭვი გვაქვს, რომ ეს ზარი სპამია."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"დაბლოკ./სპამ.შეტყობ."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"კონტაქტის დამატება"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"არ არის სპამი"</string> -</resources> diff --git a/InCallUI/res/values-kk/strings.xml b/InCallUI/res/values-kk/strings.xml deleted file mode 100644 index 07ea6fb78..000000000 --- a/InCallUI/res/values-kk/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Телефон"</string> - <string name="onHold" msgid="527593602772521700">"Күтуде"</string> - <string name="unknown" msgid="3646075119047488748">"Белгісіз"</string> - <string name="private_num" msgid="6081418498487514686">"Жеке нөмір"</string> - <string name="payphone" msgid="5743050584468748607">"Автомат-телефон"</string> - <string name="confCall" msgid="3181961445236675173">"Конференциялық қоңырау"</string> - <string name="call_lost" msgid="8208184291640961172">"Қоңырау үзілді"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Динамик"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Телефон құлаққабы"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Сымды құлақаспап жинағы"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Келесі әуендер жіберілсін бе?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Жіберу әуендері\n"</string> - <string name="send_button" msgid="4054398309483035794">"Жіберу"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Иә"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Жоқ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Қойылмалы таңбаны келесі таңбамен алмастыру"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"<xliff:g id="CONF_CALL_TIME">%s</xliff:g> конференциялық қоңырауы"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Дауыстық пошта нөмірі"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Терілуде"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Қайта терілуде"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конференциялық қоңырау"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Кіріс қоңырау"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Кіріс жұмыс қоңырауы"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Қоңырау аяқталды"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Күтуде"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Қоңырау аяқталуда"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Қоңырауда"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mенің нөмірім — <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Бейне қосылуда"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Бейне қоңырау"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Бейне сұралуда"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Бейне қоңырауға қосылу мүмкін емес"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Бейне сұрауы қабылданбады"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Кері қоңырау шалу нөміріңіз\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Төтенше кері қоңырау шалу нөміріңіз\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Терілуде"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Өткізіп алған қоңырау"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Өткізіп алған қоңыраулар"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> өткізіп алған қоңырау"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> қоңырауы өткізіп алынған"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Ағымдағы қоңырау"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Ағымдағы жұмыс қоңырауы"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Ағымдағы Wi-Fi қоңырауы"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Ағымдағы Wi-Fi жұмыс қоңырауы"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Күтуде"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Кіріс қоңырау"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Кіріс жұмыс қоңырауы"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Кіріс Wi-Fi қоңырауы"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Кіріс Wi-Fi жұмыс қоңырауы"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Кіріс бейне қоңырау"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Кіріс қоңырауы спам болуы мүмкін"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Кіріс бейне сұрау"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Жаңа дауыстық хабар"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Жаңа дауыстық хабар (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> нөмірін теру"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Дауыстық пошта нөмірі белгісіз"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Қызмет жоқ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Таңдалған (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) желісі қол жетімді емес"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Жауап"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Қоңырауды аяқтау"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Бейне"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Дауыс"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Қабылдау"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Қабылдамау"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Кері қоңырау шалу"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Хабар"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Қоңырау басқа құрылғыдан шалынуда"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Қоңырауды басқа құрылғыға бағыттау"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Қоңырау шалу үшін алдымен ұшақ режимін өшіріңіз."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Желіде тіркелмеген."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Ұялы желі қол жетімді емес."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Қоңырау шалу үшін жарамды нөмірді енгізіңіз."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Қоңырау шалу мүмкін емес."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI қатарын бастау…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Қызметке қолдау көрсетілмейді."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Қоңырауларды ауыстыру мүмкін емес."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Қоңырауды бөлу мүмкін емес."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Тасымалдау мүмкін емес."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Конференция мүмкін емес."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Қоңырауды қабылдамау мүмкін емес."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Қоңырау(лар)ды босату мүмкін емес."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP қоңырауы"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Төтенше қоңырау"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Радио қосылуда…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Қызмет жоқ. Әрекет қайталануда…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Қоңырау шалу мүмкін емес. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> төтенше нөмір емес."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Қоңырау шалу мүмкін емес. Төтенше нөмірді теріңіз."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Теру үшін пернетақтаны пайдалану"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Қоңырауды ұстап тұру"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Қоңырауды жалғастыру"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Қоңырауды аяқтау"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Теру тақтасын көрсету"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Теру тақтасын жасыру"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Дыбысты өшіру"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Дыбысын қосу"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Қоңырау қосу"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Қоңырауларды біріктіру"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Алмастыру"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Қоңырауларды басқару"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Конференциялық қоңырауды басқару"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конференциялық қоңырау"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Басқару"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Aудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Бейне қоңырау"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Дауыстық қоңырауға өзгерту"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Камераны ауыстыру"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Камераны қосу"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Камераны өшіру"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Қосымша опциялар"</string> - <string name="player_started" msgid="3478865572468310331">"Ойнатқыш іске қосылды"</string> - <string name="player_stopped" msgid="1278611664986561535">"Ойнатқыш тоқтатылды"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камера дайын емес"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камера дайын"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Белгісіз қоңырау сеансы оқиғасы"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Қызмет"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Реттеу"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Орнатылмаған>"</string> - <string name="other_settings" msgid="6699076019841942826">"Басқа қоңырау параметрлері"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> арқылы қоңырау шалу"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> арқылы кіріс"</string> - <string name="contactPhoto" msgid="6028825355597675193">"контакт фотосуреті"</string> - <string name="goPrivate" msgid="3554069451018659483">"жеке қоңырауға ауысу"</string> - <string name="selectContact" msgid="92191462970821951">"контакт таңдау"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Өзіңіздікін жазыңыз..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Бас тарту"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Жіберу"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Жауап"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS жіберу"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Қабылдамау"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Бейне қоңырауға жауап беру"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Аудио қоңырауға жауап беру"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Бейне сұрауды қабылдау"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Бейне сұрауды қабылдамау"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Бейне тасымалдау сұрауын қабылдау"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Бейне тасымалдау сұрауын қабылдамау"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Бейне алу сұрауын қабылдау"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Бейне алу сұрауын қабылдамау"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үшін жоғары сырғытыңыз."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үшін сол жаққа сырғытыңыз."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үшін оң жаққа сырғытыңыз."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үшін төмен сырғытыңыз."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Діріл"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Діріл"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Дыбыс"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Әдепкі дыбыс (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Телефонның қоңырау әуені"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Шылдырлағанда дірілдеу"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Қоңырау әуені және діріл"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Конференциялық қоңырауды басқару"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Төтенше нөмір"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Профиль фотосуреті"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камераны өшіру"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> арқылы"</string> - <string name="note_sent" msgid="7623014827902758398">"Ескертпе жіберілді"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Жақындағы хабарлар"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Іскери ақпарат"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> миля қашықтықта"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> км қашықтықта"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Ертең <xliff:g id="OPEN_TIME">%s</xliff:g> уақытында ашылады"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Бүгін <xliff:g id="OPEN_TIME">%s</xliff:g> уақытында ашылады"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> уақытында жабылады"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Бүгін <xliff:g id="CLOSE_TIME">%s</xliff:g> уақытында жабық"</string> - <string name="open_now" msgid="4615706338669555999">"Қазір ашық"</string> - <string name="closed_now" msgid="2635314668145282080">"Қазір жабық"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Спам қоңырау шалушы болуы мүмкін"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Қоңырау аяқталды (%1$s)"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Бұл нөмірдің сізге алғашқы қоңырау шалуы."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Бұл қоңырау спамер деп күдіктенеміз."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Бөгеу/спамға жіберу"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Контакт қосу"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Спам емес"</string> -</resources> diff --git a/InCallUI/res/values-km/strings.xml b/InCallUI/res/values-km/strings.xml deleted file mode 100644 index 7a31d8933..000000000 --- a/InCallUI/res/values-km/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ទូរស័ព្ទ"</string> - <string name="onHold" msgid="527593602772521700">"រង់ចាំ"</string> - <string name="unknown" msgid="3646075119047488748">"មិនស្គាល់"</string> - <string name="private_num" msgid="6081418498487514686">"លេខឯកជន"</string> - <string name="payphone" msgid="5743050584468748607">"ទូរស័ព្ទសាធារណៈ"</string> - <string name="confCall" msgid="3181961445236675173">"ការហៅជាក្រុម"</string> - <string name="call_lost" msgid="8208184291640961172">"ការហៅទូរស័ព្ទបានដាក់ចុះ"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ឧបករណ៍បំពងសម្លេង"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"អូប៉ាល័រសំឡេងទូរស័ព្ទ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"កាសមានខ្សែ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ប៊្លូធូស"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"ផ្ញើសំឡេងដូចខាងក្រោមឬ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ផ្ញើសំឡេង \n"</string> - <string name="send_button" msgid="4054398309483035794">"ផ្ញើ"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"បាទ/ចាស"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"ទេ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ជំនួសតួអក្សរជំនួសដោយ"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"ការហៅជាក្រុម <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"លេខសារជាសំឡេង"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"កំពុងហៅ"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ការចុចហៅឡើងវិញ"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"ការហៅជាក្រុម"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ការហៅចូល"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"កំពុងហៅចូលពីកន្លែងការងារ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"បានបញ្ចប់ការហៅ"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"រង់ចាំ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"បញ្ចប់ការសន្ទនា"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"កំពុងហៅ"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"លេខរបស់ខ្ញុំគឺ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ភ្ជាប់វីដេអូ"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ហៅជាវីដេអូ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ស្នើវីដេអូ"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"មិនអាចភ្ជាប់ការហៅជាវីដេអូបានទេ"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"បានបដិសេធសំណើហៅជាវីដេអូ"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"លេខហៅទៅវិញរបស់អ្នក\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"លេខហៅទៅវិញពេលអាសន្នរបស់អ្នក\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"កំពុងហៅ"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"ខកខានទទួល"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"ខកខានទទួល"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"ខកខានទទួល <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ដង"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"ខកខានទទួលពី <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"កំពុងបន្តការហៅ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"ការហៅពីកន្លែងការងារកំពុងដំណើរការ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"ការហៅតាម Wi-Fi កំពុងបន្ត"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"ការហៅតាម Wi-Fi ពីកន្លែងការងារកំពុងដំណើរការ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"រង់ចាំ"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ការហៅចូល"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"កំពុងហៅចូលពីកន្លែងការងារ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"មានការហៅចូលតាម Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"កំពុងហៅចូលពីកន្លែងការងារតាម Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ការហៅចូលជាវីដេអូ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"ការហៅបន្លំចូលដែលសង្ស័យ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"សំណើការហៅជាវីដេអូចូល"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"សារជាសំឡេងថ្មី"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"សារជាសំឡេងថ្មី (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"ហៅ <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"លេខសារជាសំឡេងមិនស្គាល់"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"គ្មានសេវាទេ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"បណ្ដាញដែលបានជ្រើស ( <xliff:g id="OPERATOR_NAME">%s</xliff:g> ) មិនអាចប្រើបានទេ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"ឆ្លើយតប"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"បញ្ចប់ការសន្ទនា"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"វីដេអូ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"សំឡេង"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ព្រមទទួល"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"បដិសេធ"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"ហៅទៅវិញ"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"សារ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"ការហៅកំពុងដំណើរការលើឧបករណ៍ផ្សេង"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ផ្ទេរការហៅ"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ដើម្បីកំណត់ការហៅ សូមបិទរបៀបពេលជិះយន្តហោះជាមុនសិន"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"មិនបានចុះឈ្មោះនៅលើបណ្ដាញទេ"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"បណ្ដាញចល័តមិនអាចប្រើបានទេ"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ដើម្បីធ្វើការហៅ សូមបញ្ចូលលេខដែលត្រឹមត្រូវ"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"មិនអាចហៅបានទេ"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"កំពុងចាប់ផ្តើមលំដាប់ MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"សេវាកម្មមិនត្រូវបានគាំទ្រទេ"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"មិនអាចប្តូរការហៅបានទេ"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"មិនអាចបំបែកការហៅបានទេ"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"មិនអាចផ្ទេរបានទេ"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"មិនអាចធ្វើការហៅជាក្រុមបានទេ"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"មិនអាចបដិសេធការហៅបានទេ"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"មិនអាចធ្វើការហៅបានទេ"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"ការហៅ SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"ការហៅពេលអាសន្ន"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"កំពុងបើកវិទ្យុ…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"គ្មានសេវាទេ សូមព្យាយាមម្តង…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"មិនអាចហៅបានទេ។ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> មិនមែនជាលេខអាសន្នទេ"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"មិនអាចហៅបានទេ សូមចុចហៅលេខអាសន្ន"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ប្រើក្ដារចុច ដើម្បីចុចលេខ"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"រង់ចាំការហៅ"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"បន្តការហៅ"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"បញ្ចប់ការហៅ"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"បង្ហាញបន្ទះលេខ"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"លាក់បន្ទះលេខ"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"បិទ"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"បើកសំឡេង"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"បន្ថែមការហៅ"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"បញ្ចូលការហៅចូលគ្នា"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"ប្ដូរ"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"គ្រប់គ្រងការហៅ"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"គ្រប់គ្រងការហៅជាក្រុម"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"ការហៅជាសន្និសិទ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"គ្រប់គ្រង"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"សំឡេង"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ហៅជាវីដេអូ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ប្ដូរទៅការហៅជាសំឡេង"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ប្ដូរកាមេរ៉ា"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"បើកកាមេរ៉ា"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"បិទកាមេរ៉ា"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"ជម្រើសច្រើនទៀត"</string> - <string name="player_started" msgid="3478865572468310331">"អ្នកលេងបានចាប់ផ្តើម"</string> - <string name="player_stopped" msgid="1278611664986561535">"អ្នកលេងបានឈប់"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"កាមេរ៉ាមិនទាន់ត្រៀមរួចរាល់ទេ"</string> - <string name="camera_ready" msgid="2614541247814590887">"កាមេរ៉ាត្រៀមរួចរាល់ហើយ"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"ព្រឹត្តិការណ៍វេននៃការហៅមិនស្គាល់"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"សេវាកម្ម"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"ដំឡើង"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<មិនបានកំណត់>"</string> - <string name="other_settings" msgid="6699076019841942826">"កំណត់ការហៅផ្សេងទៀត"</string> - <string name="calling_via_template" msgid="3539373093109976255">"ហៅតាមរយៈ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"ចូលតាមរយៈ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"រូបថតទំនាក់ទំនង"</string> - <string name="goPrivate" msgid="3554069451018659483">"ចូលជាលក្ខណៈឯកជន"</string> - <string name="selectContact" msgid="92191462970821951">"ជ្រើសទំនាក់ទំនង"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"សរសេរដោយខ្លួនអ្នកផ្ទាល់..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"បោះបង់"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ផ្ញើ"</string> - <string name="description_target_answer" msgid="1111945818996518320">"ឆ្លើយតប"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"ផ្ញើសារ SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"បដិសេធ"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ឆ្លើយតបជាការហៅជាវីដេអូ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ឆ្លើយតបជាការហៅជាសំឡេង"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ទទួលយកសំណើវីដេអូ"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ទទួលយកសំណើវីដេអូ"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ទទួលយកសំណើបញ្ជូនជាវីដេអូ"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"បដិសេធសំណើបញ្ជូនជាវីដេអូ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ទទួលយកសំណើទទួលជាវីដេអូ"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"បដិសេធសំណើទទួលជាវីដេអូ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"រុញឡើងលើដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_left" msgid="6811598791620851239">"រុញទៅឆ្វេងដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_right" msgid="5461971399586296023">"រុញទៅស្ដាំដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_down" msgid="3331715227997561639">"រុញចុះក្រោមដើម្បី <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ញ័រ"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ញ័រ"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"សំឡេង"</string> - <string name="default_notification_description" msgid="4950807644546509965">"សំឡេងលំនាំដើម (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"សំឡេងរោទ៍ទូរស័ព្ទ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"ញ័រពេលរោទ៍"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"សំឡេងរោទ៍ និងញ័រ"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"គ្រប់គ្រងការហៅជាក្រុម"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"លេខអាសន្ន"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"រូបថតប្រវត្តិរូប"</string> - <string name="camera_off_description" msgid="4220023868645225790">"បិទកាមេរ៉ា"</string> - <string name="child_number" msgid="4469090994612105532">"តាមរយៈ <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"បានផ្ញើចំណាំ"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"សារថ្មីៗ"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ព័ត៌មានធុរកិច្ច"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"ចម្ងាយ <xliff:g id="DISTANCE">%.1f</xliff:g> ម៉ាយល៍"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"ចម្ងាយ <xliff:g id="DISTANCE">%.1f</xliff:g> គម"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"បើកថ្ងៃស្អែកនៅម៉ោង <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"បើកថ្ងៃនេះនៅម៉ោង <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"បិទនៅម៉ោង <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"បានបិទថ្ងៃនេះនៅម៉ោង <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"បើកឥឡូវនេះ"</string> - <string name="closed_now" msgid="2635314668145282080">"បិទឥឡូវនេះ"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"អ្នកហៅបន្លំដែលសង្ស័យ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ការហៅបានបញ្ចប់ %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"នេះគឺជាលើកដំបូងដែលលេខនេះបានហៅមកអ្នក។"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"យើងបានសង្ស័យថាការហៅនេះជាសារឥតបានការ។"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"រារាំង/រាយការណ៍សារឥតបានការ"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"បញ្ចូលទំនាក់ទំនង"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"មិនមែនសារឥតបានការ"</string> -</resources> diff --git a/InCallUI/res/values-kn/strings.xml b/InCallUI/res/values-kn/strings.xml deleted file mode 100644 index 441f6e189..000000000 --- a/InCallUI/res/values-kn/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ಫೋನ್"</string> - <string name="onHold" msgid="527593602772521700">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string> - <string name="unknown" msgid="3646075119047488748">"ಅಪರಿಚಿತ"</string> - <string name="private_num" msgid="6081418498487514686">"ಖಾಸಗಿ ಸಂಖ್ಯೆ"</string> - <string name="payphone" msgid="5743050584468748607">"ಪೇಫೋನ್"</string> - <string name="confCall" msgid="3181961445236675173">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string> - <string name="call_lost" msgid="8208184291640961172">"ಕರೆಯನ್ನು ಬಿಡಲಾಗಿದೆ"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ಸ್ಪೀಕರ್"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ಹ್ಯಾಂಡ್ಸೆಟ್ ಇಯರ್ಪೀಸ್"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"ವೈರ್ಡ್ ಹೆಡ್ಸೆಟ್"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ಬ್ಲೂಟೂತ್"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"ಕೆಳಗಿನ ಟೋನ್ಗಳನ್ನು ಕಳುಹಿಸುವುದೇ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ಟೋನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ\n"</string> - <string name="send_button" msgid="4054398309483035794">"ಕಳುಹಿಸು"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ಹೌದು"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"ಇಲ್ಲ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ಇದರೊಂದಿಗೆ ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಸ್ಥಳಾಂತರಿಸು"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆ"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ಡಯಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ಮರು ಡಯಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ಒಳಬರುವ ಕರೆ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ಒಳಬರುವ ಕೆಲಸದ ಕರೆ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ಕರೆ ಅಂತ್ಯಗೊಂಡಿದೆ"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"ಹ್ಯಾಂಗ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"ಕರೆಯಲ್ಲಿ"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"ನನ್ನ ಸಂಖ್ಯೆ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ವೀಡಿಯೊ ಸಂಪರ್ಕಪಡಿಸಲಾಗುತ್ತಿದೆ"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ವೀಡಿಯೊ ಕರೆ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ವೀಡಿಯೊ ವಿನಂತಿಸಲಾಗುತ್ತಿದೆ"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ವೀಡಿಯೊ ಕರೆಯನ್ನು ಸಂಪರ್ಕಪಡಿಸಲಾಗುವುದಿಲ್ಲ"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ವೀಡಿಯೊ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸಲಾಗಿದೆ"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"ನಿಮ್ಮ ಮರಳಿಕರೆ ಮಾಡುವ ಸಂಖ್ಯೆ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"ನಿಮ್ಮ ತುರ್ತು ಮರಳಿಕರೆ ಮಾಡುವ ಸಂಖ್ಯೆ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ಡಯಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"ಮಿಸ್ಡ್ ಕಾಲ್"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"ಮಿಸ್ಡ್ ಕಾಲ್ಗಳು"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ಮಿಸ್ಡ್ ಕಾಲ್ಗಳು"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ಅವರಿಂದ ಮಿಸ್ಡ್ ಕಾಲ್"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕೆಲಸದ ಕರೆ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕರೆ"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ಒಳಬರುವ ಕರೆ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ಒಳಬರುವ ಕೆಲಸದ ಕರೆ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ಒಳಬರುವ ವೈ-ಫೈ ಕರೆ"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ಒಳಬರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ಒಳಬರುವ ವೀಡಿಯೊ ಕರೆ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"ಒಳಬರುವ ಶಂಕಿತ ಸ್ಪ್ಯಾಮ್ ಕರೆ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ಒಳಬರುವ ವೀಡಿಯೊ ವಿನಂತಿ"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"ಹೊಸ ಧ್ವನಿಮೇಲ್"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"ಹೊಸ ಧ್ವನಿಮೇಲ್ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ಗೆ ಡಯಲ್ ಮಾಡು"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ಅಪರಿಚಿತ ಧ್ವನಿಮೇಲ್ ಸಂಖ್ಯೆ"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"ಸೇವೆ ಇಲ್ಲ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"ಆಯ್ಕೆಮಾಡಿದ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"ಉತ್ತರ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"ಹ್ಯಾಂಗ್ ಅಪ್"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ವೀಡಿಯೊ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ಧ್ವನಿ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ಸಮ್ಮತಿಸು"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ವಜಾಗೊಳಿಸಿ"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"ಮರಳಿ ಕರೆ"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"ಸಂದೇಶ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"ಮತ್ತೊಂದು ಸಾಧನದಲ್ಲಿ ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆ"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ಕರೆ ವರ್ಗಾಯಿಸಿ"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ಕರೆ ಮಾಡಲು, ಮೊದಲು ಏರ್ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಮಾಡಿ."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಇನ್ನೂ ನೋಂದಣಿಯಾಗಿಲ್ಲ."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ಕರೆಯನ್ನು ಮಾಡಲು, ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI ಅನುಕ್ರಮ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"ಸೇವೆ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ಕರೆಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ಕರೆಯನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ವರ್ಗಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"ಕಾನ್ಫರೆನ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ಕರೆ ತಿರಸ್ಕರಿಸಲಾಗುವುದಿಲ್ಲ."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ಕರೆ(ಗಳು) ಬಿಡುಗಡೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP ಕರೆ"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"ತುರ್ತು ಕರೆ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ರೇಡಿಯೋ ಆನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"ಯಾವುದೇ ಸೇವೆ ಇಲ್ಲ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ತುರ್ತು ಸಂಖ್ಯೆಯಲ್ಲ."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ತುರ್ತು ಸಂಖ್ಯೆಯನ್ನು ಡಯಲ್ ಮಾಡಿ."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ಡಯಲ್ ಮಾಡಲು ಕೀಬೋರ್ಡ್ ಬಳಸಿ"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"ಕರೆಯನ್ನು ಹೋಲ್ಡ್ ಮಾಡು"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ಕರೆಯನ್ನು ಮುಂದುವರಿಸಿ"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ಕರೆ ಅಂತ್ಯಗೊಳಿಸಿ"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ಡಯಲ್ಪ್ಯಾಡ್ ತೋರಿಸು"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ಡಯಲ್ಪ್ಯಾಡ್ ಮರೆಮಾಡು"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ಮ್ಯೂಟ್"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ಅನ್ಮ್ಯೂಟ್"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ಕರೆಯನ್ನು ಸೇರಿಸು"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ಕರೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸು"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"ಸ್ವ್ಯಾಪ್ ಮಾಡು"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ಕರೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆಯನ್ನು ನಿರ್ವಹಿಸಿ"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"ನಿರ್ವಹಿಸು"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ಆಡಿಯೊ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ವೀಡಿಯೊ ಕರೆ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ಧ್ವನಿ ಕರೆಗೆ ಬದಲಾಯಿಸಿ"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ಕ್ಯಾಮರಾ ಬದಲಿಸಿ"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ಕ್ಯಾಮರಾ ಆನ್ ಮಾಡಿ"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ಕ್ಯಾಮರಾ ಆಫ್ ಮಾಡಿ"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string> - <string name="player_started" msgid="3478865572468310331">"ಪ್ಲೇಯರ್ ಪ್ರಾರಂಭವಾಗಿದೆ"</string> - <string name="player_stopped" msgid="1278611664986561535">"ಪ್ಲೇಯರ್ ನಿಲ್ಲಿಸಲಾಗಿದೆ"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ಕ್ಯಾಮರಾ ಸಿದ್ಧವಾಗಿಲ್ಲ"</string> - <string name="camera_ready" msgid="2614541247814590887">"ಕ್ಯಾಮರಾ ಸಿದ್ಧವಾಗಿದೆ"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"ಅಪರಿಚಿತ ಕರೆಯ ಸೆಶನ್ ಈವೆಂಟ್"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"ಸೇವೆ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"ಸೆಟಪ್"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<ಹೊಂದಿಸಿಲ್ಲ>"</string> - <string name="other_settings" msgid="6699076019841942826">"ಇತರ ಕರೆ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ಮೂಲಕ ಕರೆ ಮಾಡಲಾಗುತ್ತಿದೆ"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ಮೂಲಕ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string> - <string name="contactPhoto" msgid="6028825355597675193">"ಸಂಪರ್ಕ ಫೋಟೋ"</string> - <string name="goPrivate" msgid="3554069451018659483">"ಖಾಸಗಿಯಾಗಿ ಹೋಗಿ"</string> - <string name="selectContact" msgid="92191462970821951">"ಸಂಪರ್ಕವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"ನಿಮ್ಮ ಸ್ವಂತದ್ದನ್ನು ಬರೆಯಿರಿ..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"ರದ್ದುಮಾಡಿ"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ಕಳುಹಿಸು"</string> - <string name="description_target_answer" msgid="1111945818996518320">"ಉತ್ತರ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS ಕಳುಹಿಸಿ"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ನಿರಾಕರಿಸು"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ವೀಡಿಯೊ ಕರೆ ರೂಪದಲ್ಲಿ ಉತ್ತರಿಸಿ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ಆಡಿಯೊ ಕರೆಯಂತೆ ಉತ್ತರಿಸಿ"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ವೀಡಿಯೊ ವಿನಂತಿ ಒಪ್ಪಿಕೊಳ್ಳು"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ವೀಡಿಯೊ ವಿನಂತಿ ತಿರಸ್ಕರಿಸು"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ವೀಡಿಯೊ ಪ್ರಸಾರ ವಿನಂತಿ ಸಮ್ಮತಿಸಿ"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ವೀಡಿಯೊ ಪ್ರಸಾರ ವಿನಂತಿ ತಿರಸ್ಕರಿಸಿ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ವೀಡಿಯೊ ಸ್ವೀಕರಿಸುವಿಕೆ ವಿನಂತಿ ಸಮ್ಮತಿಸಿ"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ವೀಡಿಯೊ ಸ್ವೀಕರಿಸುವಿಕೆ ವಿನಂತಿ ತಿರಸ್ಕರಿಸಿ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗೆ ಮೇಲಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗೆ ಎಡಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗೆ ಬಲಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗೆ ಕೆಳಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ವೈಬ್ರೇಟ್"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ವೈಬ್ರೇಟ್"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ಶಬ್ದ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ಡಿಫಾಲ್ಟ್ ಧ್ವನಿ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ಫೋನ್ ರಿಂಗ್ಟೋನ್"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"ರಿಂಗ್ ಆಗುವಾಗ ವೈಬ್ರೇಟ್ ಆಗು"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"ರಿಂಗ್ಟೋನ್ ಮತ್ತು ವೈಬ್ರೇಟ್"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆಯನ್ನು ನಿರ್ವಹಿಸಿ"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"ತುರ್ತು ಸಂಖ್ಯೆ"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"ಪ್ರೊಫೈಲ್ ಫೋಟೋ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ಕ್ಯಾಮರಾ ಆಫ್"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> ಮೂಲಕ"</string> - <string name="note_sent" msgid="7623014827902758398">"ಟಿಪ್ಪಣಿ ಕಳುಹಿಸಲಾಗಿದೆ"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ಇತ್ತೀಚಿನ ಸಂದೇಶಗಳು"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ವ್ಯಾಪಾರ ಮಾಹಿತಿ"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> ಮೈಲು ದೂರ"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> ಕಿಮೀ ದೂರ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"ನಾಳೆ <xliff:g id="OPEN_TIME">%s</xliff:g> ಗಂಟೆಗೆ ತೆರೆಯುತ್ತದೆ"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ಇಂದು <xliff:g id="OPEN_TIME">%s</xliff:g> ಗಂಟೆಗೆ ತೆರೆಯುತ್ತದೆ"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> ಗಂಟೆಗೆ ಮುಚ್ಚಲಾಗಿದೆ"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ಇಂದು <xliff:g id="CLOSE_TIME">%s</xliff:g> ಗಂಟೆಗೆ ಮುಚ್ಚಲಾಗಿದೆ"</string> - <string name="open_now" msgid="4615706338669555999">"ಇದೀಗ ತೆರೆಯಲಾಗಿದೆ"</string> - <string name="closed_now" msgid="2635314668145282080">"ಇದೀಗ ಮುಚ್ಚಲಾಗಿದೆ"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"ಶಂಕಿತ ಸ್ಪ್ಯಾಮ್ ಕರೆದಾರರು"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ಕರೆ ಮುಕ್ತಾಯಗೊಂಡಿದೆ %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ಇದೇ ಮೊದಲ ಬಾರಿಗೆ ಈ ಸಂಖ್ಯೆಯಿಂದ ನಿಮಗೆ ಕರೆ ಮಾಡಲಾಗಿದೆ."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ನಾವು ಈ ಕರೆಯನ್ನು ಸ್ಪ್ಯಾಮರ್ ಎಂದು ಶಂಕಿಸಿದ್ದೇವೆ."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"ಸ್ಪ್ಯಾಮ್ ನಿರ್ಬಂಧಿಸು/ವರದಿ ಮಾಡು"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"ಸಂಪರ್ಕ ಸೇರಿಸಿ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"ಸ್ಪ್ಯಾಮ್ ಅಲ್ಲ"</string> -</resources> diff --git a/InCallUI/res/values-ko/strings.xml b/InCallUI/res/values-ko/strings.xml deleted file mode 100644 index 973dc4637..000000000 --- a/InCallUI/res/values-ko/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"전화"</string> - <string name="onHold" msgid="527593602772521700">"대기 중"</string> - <string name="unknown" msgid="3646075119047488748">"알 수 없음"</string> - <string name="private_num" msgid="6081418498487514686">"비공개 번호"</string> - <string name="payphone" msgid="5743050584468748607">"공중전화"</string> - <string name="confCall" msgid="3181961445236675173">"다자간 통화"</string> - <string name="call_lost" msgid="8208184291640961172">"연락되지 않음"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"스피커"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"핸드셋 수화부"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"유선 헤드셋"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"블루투스"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"다음 톤을 보내시겠습니까?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"신호음 보내기\n"</string> - <string name="send_button" msgid="4054398309483035794">"전송"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"예"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"아니요"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"와일드 문자를 다음으로 바꿈:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"다자간 통화 <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"음성사서함 번호"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"전화 거는 중"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"재다이얼 중"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"다자간 통화"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"수신 전화"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"수신 업무 전화"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"통화 종료됨"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"대기 중"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"전화 끊는 중"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"통화 중"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"내 전화번호는 <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>입니다."</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"화상 통화 연결 중"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"화상 통화"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"화상 통화 요청 중"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"화상 통화를 연결할 수 없습니다."</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"화상 통화 요청이 거부되었습니다."</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"콜백 번호\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"긴급 콜백 번호\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"전화 거는 중"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"부재중 전화"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"부재중 전화"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"부재중 전화 <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>통"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>의 부재중 전화"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"발신 전화"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"발신 업무 전화"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"발신 Wi-Fi 전화"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"발신 Wi-Fi 업무 전화"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"대기 중"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"수신 전화"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"수신 업무 전화"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Wi-Fi 수신 전화"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"수신 Wi-Fi 업무 전화"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"수신 화상 통화"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"의심스러운 스팸 발신자로부터 온 전화"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"수신 화상 통화 요청"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"새로운 음성사서함"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"새 음성사서함(<xliff:g id="COUNT">%d</xliff:g>개)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>(으)로 전화 걸기"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"알 수 없는 음성사서함 번호"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"서비스 불가"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"선택한 네트워크(<xliff:g id="OPERATOR_NAME">%s</xliff:g>)를 사용할 수 없음"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"전화 받기"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"전화 끊기"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"화상"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"음성"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"수락"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"해제"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"전화 걸기"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"메시지"</string> - <string name="notification_external_call" msgid="5611236780302924816">"다른 기기에서 진행 중인 통화"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"통화 전환"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"전화를 걸려면 먼저 비행기 모드를 해제하세요."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"네트워크에서 등록되지 않았습니다."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"사용 가능한 이동통신망이 없습니다."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"전화를 걸려면 올바른 번호를 입력하세요."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"전화를 걸 수 없습니다."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI 시퀀스 시작 중..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"서비스가 지원되지 않습니다."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"통화를 전환할 수 없습니다."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"통화를 분리할 수 없습니다."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"통화를 전환할 수 없습니다."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"다자간 통화를 이용할 수 없습니다."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"통화를 거부할 수 없습니다."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"통화를 끊을 수 없습니다."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP 통화"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"긴급 전화"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"무선을 켜는 중..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"서비스를 사용할 수 없습니다. 다시 시도 중..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"전화를 걸 수 없습니다. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>은(는) 긴급 번호가 아닙니다."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"전화를 걸 수 없습니다. 긴급 번호를 사용하세요."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"키보드를 사용하여 전화 걸기"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"통화 대기"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"통화 재개"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"통화 종료"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"다이얼패드 표시"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"다이얼패드 숨기기"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"음소거"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"음소거 해제"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"통화 추가"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"통화 병합"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"전환"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"통화 관리"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"다자간 통화 관리"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"다자간 통화"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"관리"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"오디오"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"화상 통화"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"음성 통화로 변경"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"카메라 전환"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"카메라 켜기"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"카메라 끄기"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"옵션 더보기"</string> - <string name="player_started" msgid="3478865572468310331">"플레이어가 시작되었습니다."</string> - <string name="player_stopped" msgid="1278611664986561535">"플레이어가 중지되었습니다."</string> - <string name="camera_not_ready" msgid="6614469280264241251">"카메라가 준비되지 않았습니다."</string> - <string name="camera_ready" msgid="2614541247814590887">"카메라가 준비되었습니다."</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"알 수 없는 통화 세션 이벤트"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"서비스"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"설정"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<설정 안됨>"</string> - <string name="other_settings" msgid="6699076019841942826">"기타 통화 설정"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>을(를) 통해 걸려온 전화"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>을(를) 통해 걸려온 전화"</string> - <string name="contactPhoto" msgid="6028825355597675193">"연락처 사진"</string> - <string name="goPrivate" msgid="3554069451018659483">"비공개로 실행"</string> - <string name="selectContact" msgid="92191462970821951">"연락처 선택"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"나만의 응답 작성…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"취소"</string> - <string name="custom_message_send" msgid="3798076337006735995">"전송"</string> - <string name="description_target_answer" msgid="1111945818996518320">"전화 받기"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS 보내기"</string> - <string name="description_target_decline" msgid="7108154434759234035">"거부"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"화상 통화로 받기"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"음성 통화로 받기"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"화상 통화 요청 수락"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"화상 통화 요청 거부"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"화상 통화 전송 요청 허용"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"화상 통화 전송 요청 거부"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"화상 통화 수신 요청 허용"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"화상 통화 수신 요청 거부"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 위로 슬라이드합니다."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 왼쪽으로 슬라이드합니다."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 오른쪽으로 슬라이드합니다."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>하려면 아래로 슬라이드합니다."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"진동"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"진동"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"소리"</string> - <string name="default_notification_description" msgid="4950807644546509965">"기본 알림음(<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"전화 벨소리"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"전화 수신 시 진동"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"벨소리 및 진동"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"다자간 통화 관리"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"비상 전화번호"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"프로필 사진"</string> - <string name="camera_off_description" msgid="4220023868645225790">"카메라 꺼짐"</string> - <string name="child_number" msgid="4469090994612105532">"수신 번호: <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"메모가 전송되었습니다."</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"최근 메시지"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"비즈니스 정보"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g>mi 거리"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g>km 거리"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>~<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"내일 <xliff:g id="OPEN_TIME">%s</xliff:g>에 영업 시작"</string> - <string name="opens_today_at" msgid="6281212768937222891">"오늘 <xliff:g id="OPEN_TIME">%s</xliff:g>에 영업 시작"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>에 영업 종료"</string> - <string name="closed_today_at" msgid="4060072663433467233">"오늘 <xliff:g id="CLOSE_TIME">%s</xliff:g>에 영업 종료됨"</string> - <string name="open_now" msgid="4615706338669555999">"영업 중"</string> - <string name="closed_now" msgid="2635314668145282080">"영업 종료"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"의심스러운 스팸 발신자"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"%1$s번으로 끝나는 번호에서 걸려온 전화"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"이 번호에서 처음으로 걸려온 전화입니다."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"스팸 전화로 의심됩니다."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"스팸 차단/신고"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"연락처 추가"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"스팸 해제"</string> -</resources> diff --git a/InCallUI/res/values-ky/strings.xml b/InCallUI/res/values-ky/strings.xml deleted file mode 100644 index bebdcfde8..000000000 --- a/InCallUI/res/values-ky/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Телефон"</string> - <string name="onHold" msgid="527593602772521700">"Күтүлүүдө"</string> - <string name="unknown" msgid="3646075119047488748">"Белгисиз"</string> - <string name="private_num" msgid="6081418498487514686">"Купуя номер"</string> - <string name="payphone" msgid="5743050584468748607">"Таксофон"</string> - <string name="confCall" msgid="3181961445236675173">"Конференц-чалуу"</string> - <string name="call_lost" msgid="8208184291640961172">"Чалуу үзүлдү"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Катуу сүйлөткүч"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Гарнитура"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Зымдуу гарнитура"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Төмөнкү номер жөнөтүлсүнбү?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Обондор жөнөтүлүүдө\n"</string> - <string name="send_button" msgid="4054398309483035794">"Жөнөтүү"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ооба"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Жок"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Атайын белгини төмөнкүгө алмаштыруу"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Конференц-чалуу <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Үн почтасынын номери"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Терилүүдө"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Кайра терилүүдө"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конференц-чалуу"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Кирүүчү чалуу"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Жумуш боюнча чалуу"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Чалуу аяктады"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Күтүлүүдө"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Чалуу аяктоодо"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Чалууда"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Менин номерим <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Видео туташтырылууда"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Видео чалуу"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Видео суралууда"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Видео чалууга туташуу мүмкүн болбой жатат"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Видео сурам четке кагылды"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Кайра чалына турган номер\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Өзгөчө кырдаалда кайра чалына турган номер\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Терилүүдө"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Кабыл алынбаган чалуу"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Кабыл алынбаган чалуулар"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> кабыл алынбаган чалуу"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> дегенден кабыл алынбаган чалуу"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Учурдагы чалуу"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Учурдагы чалуу (жумуш боюнча)"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Учурдагы Wi-Fi чалуу"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Учурдагы Wi-Fi чалуу (жумуш боюнча)"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Күтүлүүдө"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Кирүүчү чалуу"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Жумуш боюнча чалуу"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Кирүүчү Wi-Fi чалуу"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Жумуш боюнча келип жаткан Wi-Fi чалуу"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Кирүүчү видео чалуу"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Келип жаткан чалуу спам окшойт"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Кирүүчү видео сурамы"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Жаңы үн почтасы"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Жаңы үн почтасы (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> номерин терүү"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Үн почтасынын номери белгисиз"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Байланыш жок"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Тандалган тармак (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) жеткиликсиз"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Жооп берүү"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Чалууну бүтүрүү"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Видео"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Үн"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Кабыл алуу"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Этибарга албоо"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Кайра чалуу"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Билдирүү"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Башка түзмөктө сүйлөшүп жатасыз"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Чалууну бул түзмөккө өткөрүү"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Учак режимин өчүрүп туруп чалыңыз."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Тармакта катталган эмес."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобилдик тармак жеткиликтүү эмес."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Чалуу үчүн, жарактуу номер киргизиңиз."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Чалынбай жатат."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI кезеги башталууда…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Кызмат колдоого алынбайт."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Чалуулар которуштурулбай жатат."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Чалуу бөлүнбөй жатат."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Өткөрүлбөй жатат."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Конференц-чалуу түзүлбөй жатат."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Чалуу четке кагылбай жатат."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Чалуу (-лар) ажыратылбай жатат."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP чалуу"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Өзгөчө кырдаалда чалуу"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Радио күйгүзүлүүдө…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Кызмат жок. Кайра аракет кылууда…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Чалынбай жатат. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> өзгөчө кырдаал номери эмес."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Чалынбай жатат. Өзгөчө кырдаал номерин териңиз."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Баскычтоп менен териңиз"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Чалууну кармап туруу"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Чалууну улантуу"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Чалууну бүтүрүү"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Номер тергичти көрсөтүү"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Номер тергичти жашыруу"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Үнсүз"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Үндү чыгаруу"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Чалуу кошуу"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Чалууларды бириктирүү"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Алмаштыруу"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Чалууларды башкаруу"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Конференц-чалууну башкаруу"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конференц чалуу"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Башкаруу"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Видео чалуу"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Үн чалууга өзгөртүү"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Камераны которуштуруу"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Камераны күйгүзүү"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Камераны өчүрүү"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Дагы параметрлер"</string> - <string name="player_started" msgid="3478865572468310331">"Ойноткуч башталды"</string> - <string name="player_stopped" msgid="1278611664986561535">"Ойноткуч токтотулду"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камера даяр эмес"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камера даяр"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Чалуу сеансынын окуясы белгисиз"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Кызмат"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Орнотуу"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Коюлган эмес>"</string> - <string name="other_settings" msgid="6699076019841942826">"Башка чалуу жөндөөлөрү"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> аркылуу чалуу"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> аркылуу келүүдө"</string> - <string name="contactPhoto" msgid="6028825355597675193">"байланыштын сүрөтү"</string> - <string name="goPrivate" msgid="3554069451018659483">"купуя режимине өтүү"</string> - <string name="selectContact" msgid="92191462970821951">"байланыш тандоо"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Сиздин жообуңуз…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Жокко чыгаруу"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Жөнөтүү"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Жооп берүү"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS жөнөтүү"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Четке кагуу"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Видео чалуу түрүндө жооп берүү"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Аудио чалуу түрүндө жооп берүү"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Видео сурамын кабыл алуу"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Видео сурамын четке кагуу"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Видео өткөрүү сурамын кабыл алуу"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Видео өткөрүү сурамын четке кагуу"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Видео алуу сурамын кабыл алуу"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Видео алуу сурамын четке кагуу"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үчүн жогору жылмыштырыңыз."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үчүн солго жылмыштырыңыз."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үчүн оңго жылмыштырыңыз."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> үчүн төмөн жылмыштырыңыз."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Дирилдөө"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Дирилдөө"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Үн"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Демейки үнү (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Телефондун рингтону"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Дирилдеп шыңгырасын"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Шыңгыр жана дирилдөө"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Конференц-чалууну башкаруу"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Өзгөчө кырдаал номери"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Профилдин сүрөтү"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камера өчүк"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> аркылуу"</string> - <string name="note_sent" msgid="7623014827902758398">"Билдирүү жөнөтүлдү"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Акыркы билдирүүлөр"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Компания тууралуу маалымат"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> миля алыста"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> км алыста"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Эртең саат <xliff:g id="OPEN_TIME">%s</xliff:g> ачылат"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Бүгүн саат <xliff:g id="OPEN_TIME">%s</xliff:g> ачылат"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Саат <xliff:g id="CLOSE_TIME">%s</xliff:g> жабылат"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Бүгүн саат <xliff:g id="CLOSE_TIME">%s</xliff:g> жабылды"</string> - <string name="open_now" msgid="4615706338669555999">"Азыр ачык"</string> - <string name="closed_now" msgid="2635314668145282080">"Эми жабылды"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Спам окшойт"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Чалуу %1$s бүттү"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Бул номер сизге биринчи жолу чалып жатат."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Бул чалуу спам окшойт."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Бөгөттөө/спам катары кабарлоо"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Байланыш кошуу"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Спам эмес"</string> -</resources> diff --git a/InCallUI/res/values-lo/strings.xml b/InCallUI/res/values-lo/strings.xml deleted file mode 100644 index 3e7e81520..000000000 --- a/InCallUI/res/values-lo/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ໂທລະສັບ"</string> - <string name="onHold" msgid="527593602772521700">"ຖືສາຍລໍຖ້າ"</string> - <string name="unknown" msgid="3646075119047488748">"ບໍ່ຮູ້ຈັກ"</string> - <string name="private_num" msgid="6081418498487514686">"ເບີສ່ວນຕົວ"</string> - <string name="payphone" msgid="5743050584468748607">"ຕູ້ໂທລະສັບສາທາລະນະ"</string> - <string name="confCall" msgid="3181961445236675173">"ການປະຊຸມທາງໂທລະສັບ"</string> - <string name="call_lost" msgid="8208184291640961172">"ສາຍຫຼຸດແລ້ວ"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ລຳໂພງ"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ຊຸດຫູຟັງ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"ຊຸດຫູຟັງແບບມີສາຍ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"ສົ່ງໂທນສຽງຕໍ່ໄປນີ້ບໍ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ກຳລັງສົ່ງໂທນສຽງ\n"</string> - <string name="send_button" msgid="4054398309483035794">"ສົ່ງ"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ແມ່ນ"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"ບໍ່"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ປ່ຽນແທນ \"ອັກຂະລະຕົວແທນ\" ດ້ວຍ"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"ການປະຊຸມທາງໂທລະສັບ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"ເບີຂໍ້ຄວາມສຽງ"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ກຳລັງໂທ"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ກຳລັງໂທຄືນ"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"ການປະຊຸມທາງໂທລະສັບ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ສາຍໂທເຂົ້າ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ສາຍໂທເຂົ້າຈາກບ່ອນເຮັດວຽກ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ວາງສາຍແລ້ວ"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ຖືສາຍລໍຖ້າ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"ກຳລັງວາງສາຍ"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"ຢູ່ໃນສາຍ"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"ເບີໂທຂອງຂ້ອຍແມ່ນ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ກຳລັງເຊື່ອມຕໍ່ວິດີໂອ"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ການໂທວິດີໂອ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ກຳລັງຮ້ອງຂໍການໂທວິດີໂອ"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ບໍ່ສາມາດເຊື່ອມຕໍ່ການໂທວິດີໂອໄດ້"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ປະຕິເສດການຮ້ອງຂໍການໂທວິດີໂອແລ້ວ"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"ເບີໂທກັບຂອງທ່ານ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"ເບີໂທກັບສຸກເສີນຂອງທ່ານ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ກຳລັງໂທ"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"ສາຍບໍ່ໄດ້ຮັບ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"ສາຍບໍ່ໄດ້ຮັບ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ສາຍບໍ່ໄດ້ຮັບ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"ສາຍບໍ່ໄດ້ຮັບຈາກ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"ສາຍກຳລັງໂທ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"ສາຍກຳລັງໂທຈາກບ່ອນເຮັດວຽກ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"ສາຍກຳລັງໂທຜ່ານ Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"ສາຍກຳລັງໂທຜ່ານ Wi-Fi ຈາກບ່ອນເຮັດວຽກ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ຖືສາຍລໍຖ້າ"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ສາຍໂທເຂົ້າ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ສາຍໂທເຂົ້າຈາກບ່ອນເຮັດວຽກ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ສາຍໂທເຂົ້າຜ່ານ Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ສາຍໂທເຂົ້າຜ່ານ Wi-Fi ຈາກບ່ອນເຮັດວຽກ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ສາຍໂທວິດີໂອເຂົ້າ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"ມີການໂທທີ່ຄາດວ່າເປັນສະແປມໂທເຂົ້າມາ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ຄຳຮ້ອງຂໍວິດີໂອທີ່ເຂົ້າມາ"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"ຂໍ້ຄວາມສຽງໃໝ່"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"ຂໍ້ຄວາມສຽງໃໝ່ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"ໂທຫາ <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ເບີຂໍ້ຄວາມສຽງບໍ່ຮູ້ຈັກ"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"ບໍ່ມີການບໍລິການ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"ເຄືອຂ່າຍທີ່ເລືອກ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ບໍ່ສາມາດໃຊ້ໄດ້"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"ຮັບສາຍ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"ວາງສາຍ"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ວິດີໂອ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ສຽງ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ຍອມຮັບ"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ປິດໄວ້"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"ໂທກັບ"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"ຂໍ້ຄວາມ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"ສາຍທີ່ກຳລັງໂທອອກໃນອຸປະກອນອື່ນ"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ໂອນສາຍ"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ເພື່ອເຮັດການໂທ, ໃຫ້ປິດໂໝດເຮືອບິນກ່ອນ"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ບໍ່ໄດ້ລົງທະບຽນໃນເຄືອຂ່າຍ."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"ບໍ່ມີເຄືອຂ່າຍມືຖືທີ່ໃຊ້ໄດ້."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ເພື່ອເຮັດການໂທ, ປ້ອນເບີໂທທີ່ໃຊ້ໄດ້."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"ບໍ່ສາມາດໂທໄດ້."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"ກຳລັງເລີ່ມຕົ້ນລຳດັບ MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"ບໍ່ຮອງຮັບການບໍລິການ."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ບໍ່ສາມາດສະຫຼັບສາຍໂທໄດ້."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ບໍ່ສາມາດແຍກສາຍໂທໄດ້."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ບໍ່ສາມາດໂອນສາຍໄດ້."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"ບໍ່ສາມາດປະຊຸມໄດ້."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ບໍ່ສາມາດປະຕິເສດສາຍໂທໄດ້."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ບໍ່ສາມາດປ່ອຍສາຍໂທໄດ້."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"ການໂທ SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"ການໂທສຸກເສີນ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ກຳລັງເປີດວິທະຍຸ"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"ບໍ່ມີການບໍລິການ. ກຳລັງລອງໃໝ່ອີກ…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"ບໍ່ສາມາດໂທໄດ້. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ບໍ່ແມ່ນເບີໂທສຸກເສີນ."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"ບໍ່ສາມາດໂທໄດ້. ກົດເບີໂທສຸກເສີນ."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ໃຊ້ແປ້ນພິມເພື່ອກົດໂທ"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"ຖືສາຍ"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ສືບຕໍ່ສາຍ"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ວາງສາຍ"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ສະແດງປຸ່ມກົດ"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ເຊື່ອງປຸ່ມກົດ"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ປິດສຽງ"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ເຊົາປິດສຽງ"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ເພີ່ມການໂທ"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ລວມສາຍ"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"ສະຫຼັບ"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ຈັດການການໂທ"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"ຈັດການການປະຊຸມທາງໂທລະສັບ"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"ການປະຊຸມທາງໂທລະສັບ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"ຈັດການ"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ສຽງ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ການໂທວິດີໂອ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ປ່ຽນເປັນການໂທດ້ວຍສຽງ"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ສັບປ່ຽນກ້ອງ"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ເປີດກ້ອງ"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ປິດກ້ອງ"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"ຕົວເລືອກເພີ່ມເຕີມ"</string> - <string name="player_started" msgid="3478865572468310331">"ເຄື່ອງຫຼິ້ນເລີ່ມຕົ້ນແລ້ວ"</string> - <string name="player_stopped" msgid="1278611664986561535">"ເຄື່ອງຫຼິ້ນຢຸດແລ້ວ"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ກ້ອງຖ່າຍຮູບບໍ່ພ້ອມ"</string> - <string name="camera_ready" msgid="2614541247814590887">"ກ້ອງຖ່າຍຮູບພ້ອມແລ້ວ"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"ເຫດການເຊສຊັນການໂທບໍ່ຮູ້ຈັກ"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"ການບໍລິການ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"ຕັ້ງຄ່າ"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<ບໍ່ໄດ້ຕັ້ງ>"</string> - <string name="other_settings" msgid="6699076019841942826">"ການຕັ້ງຄ່າການໂທອື່ນ"</string> - <string name="calling_via_template" msgid="3539373093109976255">"ກຳລັງໂທຜ່ານ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"ສາຍໂທເຂົ້າຈາກ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"ຮູບລາຍຊື່ຜູ້ຕິດຕໍ່"</string> - <string name="goPrivate" msgid="3554069451018659483">"ໃຊ້ແບບສ່ວນຕົວ"</string> - <string name="selectContact" msgid="92191462970821951">"ເລືອກລາຍຊື່ຜູ້ຕິດຕໍ່"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"ຂຽນ...ຂອງທ່ານເອງ"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"ຍົກເລີກ"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ສົ່ງ"</string> - <string name="description_target_answer" msgid="1111945818996518320">"ຮັບສາຍ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"ສົ່ງ SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ປະຕິເສດ"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ຮັບສາຍໂທວິດີໂອ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ຮັບສາຍໂທແບບສຽງ"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ຍອມຮັບການຂໍວິດີໂອ"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ປະຕິເສດການຂໍວິດີໂອ"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ຍອມຮັບການຂໍສົ່ງວິດີໂອ"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ປະຕິເສດການຂໍສົ່ງວິດີໂອ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ຍອມຮັບການຂໍຮັບວິດີໂອ"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ປະຕິເສດການຂໍຮັບວິດີໂອ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"ເລື່ອນຂຶ້ນເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"ເລື່ອນໄປຊ້າຍເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"ເລື່ອນໄປຂວາເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"ເລື່ອນລົງເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ສັ່ນເຕືອນ"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ສັ່ນເຕືອນ"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ສຽງ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ສຽງເລີ່ມຕົ້ນ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ຣິງໂທນໂທລະສັບ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"ສັ່ນເຕືອນເມື່ອດັງ"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"ຣິງໂທນ ແລະ ການສັ່ນເຕືອນ"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"ຈັດການການປະຊຸມທາງໂທລະສັບ"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"ເບີໂທສຸກເສີນ"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"ຮູບໂປຣໄຟລ໌"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ກ້ອງຖ່າຍຮູບປິດຢູ່"</string> - <string name="child_number" msgid="4469090994612105532">"ຜ່ານ <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"ສົ່ງບັນທຶກແລ້ວ"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ຂໍ້ຄວາມບໍ່ດົນມານີ້"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ຂໍ້ມູນທຸລະກິດ"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"ຫ່າງອອກໄປ <xliff:g id="DISTANCE">%.1f</xliff:g> ໄມລ໌"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"ຫ່າງອອກໄປ <xliff:g id="DISTANCE">%.1f</xliff:g> ກມ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"ເປີດມື້ອື່ນເວລາ <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ເປີດມື້ນີ້ເວລາ <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"ປິດເວລາ <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ປິດແລ້ວມື້ນີ້ເວລາ <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"ດຽວນີ້ເປີດ"</string> - <string name="closed_now" msgid="2635314668145282080">"ປິດແລ້ວດຽວນີ້"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"ຄາດວ່າເປັນການໂທສະແປມ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ການໂທສິ້ນສຸດແລ້ວ %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ນີ້ເປັນເທື່ອທຳອິດທີ່ເບີນີ້ໂທຫາທ່ານ."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ພວກເຮົາສົງໄສວ່າເບີໂທນີ້ເປັນສະແປມ."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"ບລັອກ/ລາຍງານສະແປມ"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"ເພີ່ມລາຍຊື່ຜູ້ຕິດຕໍ່"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"ບໍ່ແມ່ນສະແປມ"</string> -</resources> diff --git a/InCallUI/res/values-lt/strings.xml b/InCallUI/res/values-lt/strings.xml deleted file mode 100644 index 2d2a70146..000000000 --- a/InCallUI/res/values-lt/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefonas"</string> - <string name="onHold" msgid="527593602772521700">"Sulaikyta"</string> - <string name="unknown" msgid="3646075119047488748">"Nežinoma"</string> - <string name="private_num" msgid="6081418498487514686">"Privatus numeris"</string> - <string name="payphone" msgid="5743050584468748607">"Taksofonas"</string> - <string name="confCall" msgid="3181961445236675173">"Konferencinis skambutis"</string> - <string name="call_lost" msgid="8208184291640961172">"Skambutis atmestas"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Garsiakalbis"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Tel. su gars. prie ausies"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Laidinės ausinės"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Siųsti šiuo tonus?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Siunčiami tonai\n"</string> - <string name="send_button" msgid="4054398309483035794">"Siųsti"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Taip"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ne"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Pakaitos simbolį pakeisti"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferencinis skambutis <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Balso pašto numeris"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Renkamas numeris"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Numeris renkamas pakartotinai"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferencinis skambutis"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Gaunamasis skambutis"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Gaunamasis darbo skambutis"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Skambutis baigtas"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Sulaikyta"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Baigiamas pokalbis"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Dalyvauju skambutyje"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mano numeris: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Prisijungiama prie vaizdo skambučio"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Vaizdo skambutis"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Pateikiama vaizdo skambučio užklausa"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Nepavyko prijungti vaizdo įrašo skambučio"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Vaizdo įrašo užklausa atmesta"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Atskambinimo numeris\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Atskambinimo numeris, kuriuos skambina pagalbos tarnyba\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Renkamas numeris"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Praleistas skambutis"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Praleisti skambučiai"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Praleistų skambučių: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Praleistas skambutis nuo <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Vykstantis pokalbis"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Vykstantis darbo skambutis"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Vykstantis „Wi-Fi“ skambutis"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Vykstantis „Wi-Fi“ darbo skambutis"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Sulaikyta"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Gaunamasis skambutis"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Gaunamasis darbo skambutis"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Gaunamasis „Wi-Fi“ skambutis"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Gaunamasis „Wi-Fi“ darbo skambutis"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Gaunamas vaizdo skambutis"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Gaunamasis įtartinas šlamšto skambutis"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Gaunama vaizdo skambučio užklausa"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Naujas balso pašto pranešimas"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Naujas balso pašto pranešimas (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Rinkti <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nežinomas balso pašto numeris"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nėra paslaugos"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Pasirinktas tinklas (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) negalimas"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Atsiliepti"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Padėti ragelį"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vaizdo įrašas"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Balsas"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Priimti"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Atsisakyti"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Perskambinti"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Siųsti pranešimą"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Kitame įrenginyje vykstantis skambutis"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Perkelti skambutį"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Jei norite skambinti, išjunkite lėktuvo režimą."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Neregistruota tinkle."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Korinis tinklas nepasiekiamas"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Kad galėtumėte paskambinti, įveskite tinkamą numerį."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Nepavyko paskambinti."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Paleidžiama MMI seka..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Paslauga nepalaikoma."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Nepavyko perjungti skambučių."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Nepavyko atskirti skambučio."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Nepavyko peradresuoti."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Nepavyko sukurti konferencijos."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Nepavyko atmesti skambučio."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Nepavyko atjungti skamb."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP skambutis"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Skambutis pagalbos numeriu"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Įjungiamas radijas…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nėra ryšio. Bandoma dar kartą…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Nepavyko paskambinti. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nėra pagalbos numeris."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Nepavyko paskambinti. Surinkite pagalbos tarnybos numerį."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Naudokite klaviatūrą ir rinkite numerius"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Sulaikyti skambutį"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Tęsti skambutį"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Baigti skambutį"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Rodyti skambinimo skydelį"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Slėpti skambinimo skydelį"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Nutildyti"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Įjungti garsą"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Pridėti skambutį"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Sujungti skambučius"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Apkeisti"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Valdyti skambučius"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Tvarkyti konferencinį skambutį"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferencinis skambutis"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Tvarkyti"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Garsas"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Vaizdo skambutis"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Pakeisti į balso skambutį"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Perjungti fotoaparatą"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Įjungti fotoaparatą"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Išjungti fotoaparatą"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Daugiau parinkčių"</string> - <string name="player_started" msgid="3478865572468310331">"Leistuvė paleista"</string> - <string name="player_stopped" msgid="1278611664986561535">"Leistuvė sustabdyta"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Fotoaparatas neparuoštas"</string> - <string name="camera_ready" msgid="2614541247814590887">"Fotoaparatas paruoštas"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Nežinomas skambučio sesijos įvykis"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Paslaugos teikėjas"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Sąranka"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nenustatyta>"</string> - <string name="other_settings" msgid="6699076019841942826">"Kiti skambučio nustatymai"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Skambinama naudojantis „<xliff:g id="PROVIDER_NAME">%s</xliff:g>“ paslaugomis"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Gaunama per „<xliff:g id="PROVIDER_NAME">%s</xliff:g>“"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontakto nuotrauka"</string> - <string name="goPrivate" msgid="3554069451018659483">"naudoti privatų režimą"</string> - <string name="selectContact" msgid="92191462970821951">"pasirinkti kontaktą"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Sukurkite patys..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Atšaukti"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Siųsti"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Atsiliepti"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Siųsti SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Atmesti"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Atsiliepti kaip į vaizdo skambutį"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Atsiliepti kaip į garso skambutį"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Priimti vaizdo įrašo užkl"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Atmesti vaizdo įrašo užklausą"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Priimti vaizdo įrašo perdavimo užklausą"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Atmesti vaizdo įrašo perdavimo užklausą"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Priimti vaizdo įrašo gavimo užklausą"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Atmesti vaizdo įrašo gavimo užklausą"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Slyskite aukštyn link parinkties „<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>“."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Slyskite į kairę link parinkties „<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>“."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Slyskite į dešinę link parinkties „<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>“."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Slyskite žemyn link <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibruoti"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibruoti"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Garsas"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Numatytasis garsas (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefono skambėjimo tonas"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibruoti, kai skambina"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Skambėjimo tonas ir vibracija"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Tvarkyti konferencinį skambutį"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Pagalbos numeris"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilio nuotrauka"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Fotoaparatas išjungtas"</string> - <string name="child_number" msgid="4469090994612105532">"naudojant <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Užrašas išsiųstas"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Naujausi pranešimai"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Įmonės informacija"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Už <xliff:g id="DISTANCE">%.1f</xliff:g> myl."</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Už <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Rytoj atidaroma <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Šiandien atidaroma <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Uždaroma <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Šiandien uždaryta <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Dabar atidaryta"</string> - <string name="closed_now" msgid="2635314668145282080">"Dabar uždaryta"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Įt. skamb. dėl šl."</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Skambutis baigtas (%1$s)"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Tai pirmas kartas, kai jums buvo skambinama iš šio numerio."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Įtarėme, kad šis skambutis yra šlamštas."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bl. / pran. apie šl."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Pridėti kontaktą"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ne šlamštas"</string> -</resources> diff --git a/InCallUI/res/values-lv/strings.xml b/InCallUI/res/values-lv/strings.xml deleted file mode 100644 index 685ba8b0c..000000000 --- a/InCallUI/res/values-lv/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Tālrunis"</string> - <string name="onHold" msgid="527593602772521700">"Aizturēts"</string> - <string name="unknown" msgid="3646075119047488748">"Nezināms"</string> - <string name="private_num" msgid="6081418498487514686">"Privāts numurs"</string> - <string name="payphone" msgid="5743050584468748607">"Maksas tālrunis"</string> - <string name="confCall" msgid="3181961445236675173">"Konferences zvans"</string> - <string name="call_lost" msgid="8208184291640961172">"Zvans tika pārtraukts."</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Skaļrunis"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auss skaļrunis"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Austiņas ar vadu"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Vai sūtīt tālāk norādītos signālus?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sūtīšanas signāli\n"</string> - <string name="send_button" msgid="4054398309483035794">"Sūtīt"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Jā"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nē"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Aizstāt aizstājējzīmi ar:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferences zvans: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Balss pasta numurs"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Notiek numura sastādīšana"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Notiek atkārtota zvanīšana"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferences zvans"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Ienākošs zvans"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Ienākošs darba zvans"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Zvans ir pabeigts"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Aizturēts"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Notiek klausules nolikšana"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Notiek zvans"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mans tālruņa numurs: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Notiek video savienojuma izveide"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videozvans"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Notiek video pieprasīšana"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Nevar veikt videozvanu"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video pieprasījums noraidīts"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Jūsu atzvana numurs\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Jūsu ārkārtas atzvana numurs\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Notiek numura sastādīšana"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Neatbildēts zvans"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Neatbildēti zvani"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> neatbildēti zvani"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Neatbildēts zvans no: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Notiekošs zvans"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Notiekošs darba zvans"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Notiekošs Wi-Fi zvans"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Notiekošs darba Wi-Fi zvans"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Aizturēts"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Ienākošs zvans"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Ienākošs darba zvans"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Ienākošs Wi-Fi zvans"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Ienākošs darba Wi-Fi zvans"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Ienākošs videozvans"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Ienākošs, iespējams, nevēlams zvans"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Ienākošs video pieprasījums"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Jauns balss pasta ziņojums"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Jauns balss pasts (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Sastādiet šādu numuru: <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Balss pasta numurs nav zināms."</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nav pakalpojuma"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Atlasītais tīkls (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nav pieejams."</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Atbildēt"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Beigt zvanu"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Balss"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Pieņemt"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Noraidīt"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Atzvanīt"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Sūtīt īsziņu"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Notiekošs zvans citā ierīcē"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Pāradresēt zvanu"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Lai veiktu zvanu, vispirms izslēdziet lidojuma režīmu."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nav reģistrēts tīklā."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilais tīkls nav pieejams."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Lai veiktu zvanu, ievadiet derīgu numuru."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Nevar veikt zvanu."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Notiek MMI secības startēšana…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Pakalpojums netiek atbalstīts."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Nevar pārslēgt zvanus."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Nevar nošķirt zvanu."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Nevar pārsūtīt."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Nevar veikt konferences zvanu."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Nevar noraidīt zvanu."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Nevar pārtraukt zvanu(-us)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP zvans"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Ārkārtas izsaukums"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Notiek radio ieslēgšana…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nav pakalpojuma. Notiek atkārtots mēģinājums…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Nevar veikt zvanu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nav ārkārtas numurs."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Nevar veikt zvanu. Zvaniet ārkārtas numuram."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Izmantojiet tastatūru, lai sastādītu numuru"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Aizturēt zvanu"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Atsākt zvanu"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Beigt zvanu"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Rādīt numura sastādīšanas tastatūru"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Slēpt numura sastādīšanas tastatūru"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Izslēgt skaņu"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Ieslēgt skaņu"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Pievienot zvanu"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Apvienot zvanus"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Mainīt"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Pārvaldīt zvanus"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Pārvaldīt konferences zvanu"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferences zvans"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Pārvaldīt"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videozvans"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Mainīt uz balss zvanu"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Pārslēgt kameru"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ieslēgt kameru"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Izslēgt kameru"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Citas iespējas"</string> - <string name="player_started" msgid="3478865572468310331">"Atskaņošana sākta"</string> - <string name="player_stopped" msgid="1278611664986561535">"Atskaņošana apturēta"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera nav gatava"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera ir gatava"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Nezināms zvana sesijas notikums"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Pakalpojums"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Iestatīšana"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nav iestatīts>"</string> - <string name="other_settings" msgid="6699076019841942826">"Citi zvanu iestatījumi"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Zvans, ko nodrošina <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Ienākošie zvani, ko nodrošina <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontaktpersonas fotoattēls"</string> - <string name="goPrivate" msgid="3554069451018659483">"pārslēgt uz privāto režīmu"</string> - <string name="selectContact" msgid="92191462970821951">"atlasīt kontaktpersonu"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Rakstīt savu…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Atcelt"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Sūtīt"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Atbildēt"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Sūtīt īsziņu"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Noraidīt"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Atbildēt videozvanā"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Atbildēt audiozvanā"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Apstiprināt video pieprasījumu"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Noraidīt video pieprasījumu"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Apstiprināt video pārsūtīšanas pieprasījumu"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Noraidīt video pārsūtīšanas pieprasījumu"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Apstiprināt video saņemšanas pieprasījumu"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Noraidīt video saņemšanas pieprasījumu"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Velciet uz augšu, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Velciet pa kreisi, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Velciet pa labi, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Velciet uz leju, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrācija"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrācija"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Signāls"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Noklusējuma signāls (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Tālruņa zvana signāls"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrācija zvana laikā"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Zvana signāls un vibrācija"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Konferences zvana pārvaldība"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Ārkārtas numurs"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profila fotoattēls"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera ir izslēgta"</string> - <string name="child_number" msgid="4469090994612105532">"no numura <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Piezīme nosūtīta"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Pēdējie ziņojumi"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informācija par uzņēmumu"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> jūdzes(-džu) attālumā"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km attālumā"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Tiks atvērts rīt plkst. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Tiks atvērts šodien plkst. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Tiks slēgts plkst. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Tika slēgts šodien plkst. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Atvērts"</string> - <string name="closed_now" msgid="2635314668145282080">"Slēgts"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Nevēlams zvanītājs"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Zvans beidzās: %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Šis jums ir pirmais zvans no šī numura."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Iespējams, šis zvans bija no nevēlama zvanītāja."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloķēt numuru/ziņot"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Pievienot personu"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nav nevēlams numurs"</string> -</resources> diff --git a/InCallUI/res/values-mk/strings.xml b/InCallUI/res/values-mk/strings.xml deleted file mode 100644 index 3161c5475..000000000 --- a/InCallUI/res/values-mk/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Телефон"</string> - <string name="onHold" msgid="527593602772521700">"На чекање"</string> - <string name="unknown" msgid="3646075119047488748">"Непознат"</string> - <string name="private_num" msgid="6081418498487514686">"Приватен број"</string> - <string name="payphone" msgid="5743050584468748607">"Говорница"</string> - <string name="confCall" msgid="3181961445236675173">"Конференциски повик"</string> - <string name="call_lost" msgid="8208184291640961172">"Повикот е прекинат"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Звучник"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Слушалка"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Жичени слушалки"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Испратете ги следниве тонови?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Се испраќаат тонови\n"</string> - <string name="send_button" msgid="4054398309483035794">"Испрати"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Да"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Не"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Заменете го резервниот знак со"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Конференциски повик <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Број на говорна пошта"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Бирање"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Повторно бирање"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конференциски повик"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Дојдовен повик"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Дојдовен работен повик"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Повикот заврши"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"На чекање"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Повикот се прекинува"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Повик во тек"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Мојот број е <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Се поврзува видео"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Видеоповик"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Се бара видео"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Не може да се поврзе видеоповик"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Барањето за видео е одбиено"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Вашиот број за повратен повик\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Вашиот број за итен повик\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Бирање"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Пропуштен повик"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Пропуштени повици"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> пропуштени повици"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Пропуштен повик од <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Тековен повик"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Тековен работен повик"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Појдовен повик преку Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Тековен работен повик преку Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"На чекање"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Дојдовен повик"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Дојдовен работен повик"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Дојдовен повик преку Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Дојдовен работен повик преку Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Дојдовен видеоповик"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Дојдовниот повик може да е спам"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Дојдовно барање за видео"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Нова говорна пошта"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Нова говорна пошта (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Бирај <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Непознат број на говорна пошта"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Нема услуга"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Избраната мрежа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) е недостапна"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Одговори"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Спушти"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Видео"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Гласовен"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Прифати"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Отфрли"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Врати повик"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Порака"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Повик во тек на друг уред"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Префрлање повик"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"За да остварите повик, прво исклучете го авионскиот режим."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Не е регистриран на мрежа."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Не е достапна мобилна мрежа."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"За да остварите повик, внесете важечки број."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Не може да се повика."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Започнува ММИ низа..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Услугата не е поддржана."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Не може да се префрлат повици."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Не може да се оддели повик."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Не може да се пренесе."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Не може да се оствари конференциски повик."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Не може да се отфрли повик."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Не може да се оствари повик."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Повик преку SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Повик за итни случаи"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Се вклучува радиото..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Нема услуга. Се обидува повторно…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Не може да се повика. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не е број за итни повици."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Не може да се повика. Бирајте го бројот за итни повици."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Користете ја тастатурата за бирање"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Стави на чекање"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Продолжи го повикот"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Заврши го повикот"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Прикажи копчиња за бирање"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Сокриј копчиња за бирање"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Исклучи звук"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Вклучи звук"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Додај повик"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Спои повици"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Замени"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Управувај со повици"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Управувај со конференциски повик"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конференциски повик"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Управувај"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Видеоповик"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Промени во гласовен повик"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Промени ја камерата"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Вклучете ја камерата"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Исклучете ја камерата"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Повеќе опции"</string> - <string name="player_started" msgid="3478865572468310331">"Плеерот се вклучи"</string> - <string name="player_stopped" msgid="1278611664986561535">"Плеерот запре"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камерата не е подготвена"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камерата е подготвена"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Непознат настан при сесија повици"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Услуга"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Поставување"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Нема поставка>"</string> - <string name="other_settings" msgid="6699076019841942826">"Други поставки за повик"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Повикување преку <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Дојдовни повици преку <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"фотографија на контакт"</string> - <string name="goPrivate" msgid="3554069451018659483">"префли на приватно"</string> - <string name="selectContact" msgid="92191462970821951">"избери контакт"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Напиши сопствена..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Откажи"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Испрати"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Одговори"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Испрати SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Одбиј"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Одговори со видеоповик"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Одговори со аудиоповик"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Прифати барање за видео"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Одбиј барање за видео"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Прифати барање за пренос на видео"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Одбиј барање за пренос на видео"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Прифати барање за прием на видео"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Одбиј барање за прием на видео"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Лизгај нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Лизгај налево за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Лизгај надесно за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Лизгај надолу за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Вибрации"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Вибрации"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Звук"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Стандарден звук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Мелодија на телефонот"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Вибрации при ѕвонење"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Мелодија и вибрации"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Управувај со конференциски повик"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Број за итни случаи"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Фотографија на профилот"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камерата е исклучена"</string> - <string name="child_number" msgid="4469090994612105532">"преку <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Испратена е белешка"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Неодамнешни пораки"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Деловни информации"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Оддалечено <xliff:g id="DISTANCE">%.1f</xliff:g> милји"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Оддалечено <xliff:g id="DISTANCE">%.1f</xliff:g> км"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Отвора утре во <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Отвора денес во <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Затвора во <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Денес затвори во <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Сега е отворено"</string> - <string name="closed_now" msgid="2635314668145282080">"Сега е затворено"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Повикот е можен спам"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Повикот заврши %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"За првпат добивте повик од бројов."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Постоеше сомнеж дека повиков е спам."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Блок./пријави спам"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Додајте го контактот"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Не е спам"</string> -</resources> diff --git a/InCallUI/res/values-ml/strings.xml b/InCallUI/res/values-ml/strings.xml deleted file mode 100644 index 5c313ad31..000000000 --- a/InCallUI/res/values-ml/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ഫോൺ"</string> - <string name="onHold" msgid="527593602772521700">"ഹോൾഡിലാണ്"</string> - <string name="unknown" msgid="3646075119047488748">"അജ്ഞാതം"</string> - <string name="private_num" msgid="6081418498487514686">"സ്വകാര്യ നമ്പർ"</string> - <string name="payphone" msgid="5743050584468748607">"പണം നൽകി ഉപയോഗിക്കുന്ന ഫോൺ"</string> - <string name="confCall" msgid="3181961445236675173">"കോൺഫറൻസ് കോൾ"</string> - <string name="call_lost" msgid="8208184291640961172">"കോൾ വിട്ടു"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"സ്പീക്കർ"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ഹാൻഡ്സെറ്റ് ഇയർപീസ്"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"വയേർഡ് ഹെഡ്സെറ്റ്"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"ഇനിപ്പറയുന്ന ടോണുകൾ അയയ്ക്കണോ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ടോണുകൾ അയയ്ക്കുന്നു\n"</string> - <string name="send_button" msgid="4054398309483035794">"അയയ്ക്കുക"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ഉവ്വ്"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"ഇല്ല"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"വൈൽഡ് പ്രതീകം ഇതുപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"കോൺഫറൻസ് കോൾ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"വോയ്സ്മെയിൽ നമ്പർ"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ഡയൽ ചെയ്യുന്നു"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"വീണ്ടും ഡയൽചെയ്യുന്നു"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"കോൺഫറൻസ് കോൾ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ഇൻകമിംഗ് കോൾ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ഇൻകമിംഗ് ഔദ്യോഗിക കോൾ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"കോൾ അവസാനിച്ചു"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ഹോൾഡിലാണ്"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"ഹാംഗ് അപ്പ് ചെയ്യുന്നു"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"കോളിലാണ്"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"എന്റെ നമ്പർ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ആണ്"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"വീഡിയോ കണക്റ്റുചെയ്യുന്നു"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"വീഡിയോ കോൾ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"വീഡിയോ അഭ്യർത്ഥിക്കുന്നു"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"വീഡിയോ കോളുമായി കണക്റ്റുചെയ്യാനാവില്ല"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"വീഡിയോ അഭ്യർത്ഥന നിരസിച്ചു"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"നിങ്ങൾ തിരിച്ചുവിളിക്കേണ്ട നമ്പർ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"അടിയന്തിരമായി നിങ്ങൾ തിരിച്ചുവിളിക്കേണ്ട നമ്പർ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ഡയൽ ചെയ്യുന്നു"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"മിസ്ഡ് കോൾ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"മിസ്ഡ് കോളുകൾ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> മിസ്ഡ് കോളുകൾ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> എന്നതിൽ നിന്നുള്ള മിസ്ഡ് കോൾ"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"കോൾ സജീവമാണ്"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"ഓൺഗോയിംഗ് ഔദ്യോഗിക കോൾ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"ഓൺഗോയിംഗ് വൈഫൈ കോൾ"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"ഓൺഗോയിംഗ് വൈഫൈ ഔദ്യോഗിക കോൾ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ഹോൾഡിലാണ്"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ഇൻകമിംഗ് കോൾ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ഇൻകമിംഗ് ഔദ്യോഗിക കോൾ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ഇൻകമിംഗ് വൈഫൈ കോൾ"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ഇൻകമിംഗ് വൈഫൈ ഔദ്യോഗിക കോൾ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ഇൻകമിംഗ് വീഡിയോ കോൾ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"സംശയാസ്പദമായ ഇൻകമിംഗ് സ്പാം കോൾ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ഇൻകമിംഗ് വീഡിയോ അഭ്യർത്ഥന"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"പുതിയ വോയ്സ്മെയിൽ"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"പുതിയ വോയ്സ്മെയിൽ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ഡയൽ ചെയ്യുക"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"വോയ്സ്മെയിൽ നമ്പർ അജ്ഞാതമാണ്"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"സേവനമില്ല"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ലഭ്യമല്ല"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"മറുപടി"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"ഹാംഗ് അപ്പുചെയ്യുക"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"വീഡിയോ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"വോയ്സ്"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"അംഗീകരിക്കുക"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ഡിസ്മിസ്"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"തിരിച്ചുവിളിക്കുക"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"സന്ദേശം"</string> - <string name="notification_external_call" msgid="5611236780302924816">"മറ്റൊരു ഉപകരണത്തിൽ നടന്നുകൊണ്ടിരിക്കുന്ന കോൾ"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"കോൾ കൈമാറുക"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ഒരു കോൾ ചെയ്യാൻ, ആദ്യം ഫ്ലൈറ്റ് മോഡ് ഓഫുചെയ്യുക."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"നെറ്റ്വർക്കിൽ രജിസ്റ്റർ ചെയ്തിട്ടില്ല."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"സെല്ലുലാർ നെറ്റ്വർക്ക് ലഭ്യമല്ല."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ഒരു കോൾ ചെയ്യുന്നതിന്, സാധുതയുള്ള നമ്പർ നൽകുക."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"കോൾ ചെയ്യാനായില്ല."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI സീക്വൻസ് ആരംഭിക്കുന്നു…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"സേവനം പിന്തുണയ്ക്കുന്നില്ല."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"കോളുകൾ മാറാനാവില്ല."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"കോൾ വേർതിരിക്കാനാവില്ല."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"കൈമാറ്റം ചെയ്യാനാവില്ല."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"കോൺഫറൻസ് കോൾ ചെയ്യാനാവില്ല."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"കോൾ നിരസിക്കാനാവില്ല."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"കോൾ (കോളുകൾ) വിളിക്കാനാവില്ല."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP കോൾ"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"എമർജൻസി കോൾ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"റേഡിയോ ഓൺ ചെയ്യുന്നു…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"സേവനമൊന്നുമില്ല. വീണ്ടും ശ്രമിക്കുന്നു…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"കോൾ ചെയ്യാനാവില്ല. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> എന്നത് ഒരു അടിയന്തിര നമ്പറല്ല."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"കോൾ ചെയ്യാനാവില്ല. ഒരു അടിയന്തിര കോൾ നമ്പർ ഡയൽചെയ്യുക."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ഡയൽ ചെയ്യാൻ കീബോർഡ് ഉപയോഗിക്കുക"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"കോൾ ഹോൾഡുചെയ്യുക"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"കോൾ പുനരാരംഭിക്കുക"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"കോൾ അവസാനിപ്പിക്കുക"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ഡയൽപാഡ് കാണിക്കുക"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ഡയൽപാഡ് മറയ്ക്കുക"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"മ്യൂട്ടുചെയ്യുക"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"അൺമ്യൂട്ടുചെയ്യുക"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"കോൾ ചേർക്കുക"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"കോളുകൾ ലയിപ്പിക്കുക"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"സ്വാപ്പുചെയ്യുക"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"കോളുകൾ നിയന്ത്രിക്കുക"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"കോൺഫറൻസ് കോൾ നിയന്ത്രിക്കുക"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"കോൺഫറൻസ് കോൾ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"മാനേജുചെയ്യുക"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ഓഡിയോ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"വീഡിയോ കോൾ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"വോയ്സ് കോളിലേക്ക് മാറ്റുക"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ക്യാമറ സ്വിച്ചുചെയ്യുക"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ക്യാമറ ഓണാക്കുക"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ക്യാമറ ഓഫാക്കുക"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"കൂടുതൽ ഓപ്ഷനുകൾ"</string> - <string name="player_started" msgid="3478865572468310331">"പ്ലെയർ ആരംഭിച്ചു"</string> - <string name="player_stopped" msgid="1278611664986561535">"പ്ലേയർ നിർത്തി"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ക്യാമറ തയ്യാറായില്ല"</string> - <string name="camera_ready" msgid="2614541247814590887">"ക്യാമറ തയ്യാറായി"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"അജ്ഞാത കോൾ സെഷൻ ഇവന്റ്"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"സേവനം"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"സജ്ജമാക്കുക"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<ക്രമീകരിച്ചിട്ടില്ല>"</string> - <string name="other_settings" msgid="6699076019841942826">"മറ്റ് കോൾ ക്രമീകരണം"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> മുഖേന വിളിക്കുന്നു"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> മുഖേനയുള്ള ഇൻകമിംഗ്"</string> - <string name="contactPhoto" msgid="6028825355597675193">"കോൺടാക്റ്റ് ഫോട്ടോ"</string> - <string name="goPrivate" msgid="3554069451018659483">"സ്വകാര്യം എന്നതിലേക്ക് പോകുക"</string> - <string name="selectContact" msgid="92191462970821951">"കോൺടാക്റ്റ് തിരഞ്ഞെടുക്കുക"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"നിങ്ങളുടെ സ്വന്തം സന്ദേശമെഴുതുക..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"റദ്ദാക്കുക"</string> - <string name="custom_message_send" msgid="3798076337006735995">"അയയ്ക്കുക"</string> - <string name="description_target_answer" msgid="1111945818996518320">"മറുപടി"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS അയയ്ക്കുക"</string> - <string name="description_target_decline" msgid="7108154434759234035">"നിരസിക്കുക"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"വീഡിയോ കോളായി മറുപടി നൽകുക"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ഓഡിയോ കോളായി മറുപടി നൽകുക"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"വീഡിയോ കോളിനുള്ള അഭ്യർത്ഥന അംഗീകരിക്കുക"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"വീഡിയോ കോൾ അഭ്യർത്ഥന നിരസിക്കുക"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"വീഡിയോ പ്രക്ഷേപണ അഭ്യർത്ഥന അംഗീകരിക്കുക"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"വീഡിയോ പ്രക്ഷേപണ അഭ്യർത്ഥന നിരസിക്കുക"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"വീഡിയോ കോൾ സ്വീകരിക്കാനുള്ള അഭ്യർത്ഥന അംഗീകരിക്കുക"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"വീഡിയോ കോൾ സ്വീകരിക്കാനുള്ള അഭ്യർത്ഥന നിരസിക്കുക"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി മുകളിലേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി ഇടത്തേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി വലത്തേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി താഴേക്ക് സ്ലൈഡുചെയ്യുക."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"വൈബ്രേറ്റുചെയ്യുക"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"വൈബ്രേറ്റുചെയ്യുക"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ശബ്ദം"</string> - <string name="default_notification_description" msgid="4950807644546509965">"സ്ഥിര ശബ്ദം (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ഫോൺ റിംഗ്ടോൺ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"റിംഗുചെയ്യുമ്പോൾ വൈബ്രേറ്റുചെയ്യുക"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"റിംഗ്ടോണും വൈബ്രേറ്റുചെയ്യലും"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"കോൺഫറൻസ് കോൾ നിയന്ത്രിക്കുക"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"അടിയന്തര നമ്പർ"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"പ്രൊഫൈൽ ഫോട്ടോ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ക്യാമറ ഓഫാക്കുക"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> വഴി"</string> - <string name="note_sent" msgid="7623014827902758398">"കുറിപ്പ് അയച്ചു"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ഏറ്റവും പുതിയ സന്ദേശങ്ങൾ"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ബിസിനസ്സ് വിവരം"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> മൈൽ അകലെ"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> കിലോമീറ്റർ അകലെ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"നാളെ <xliff:g id="OPEN_TIME">%s</xliff:g>-ന് തുറക്കുന്നു"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ഇന്ന് <xliff:g id="OPEN_TIME">%s</xliff:g>-ന് തുറക്കുന്നു"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>-ന് അടയ്ക്കുന്നു"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ഇന്ന് <xliff:g id="CLOSE_TIME">%s</xliff:g>-ന് അടച്ചു"</string> - <string name="open_now" msgid="4615706338669555999">"ഇപ്പോൾ തുറന്നിരിക്കുന്നു"</string> - <string name="closed_now" msgid="2635314668145282080">"ഇപ്പോൾ അടച്ചിരിക്കുന്നു"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"സംശയാസ്പദമായ സ്പാം കോളർ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"കോൾ അവസാനിച്ചു, %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ഈ നമ്പറിൽ നിന്ന് ആദ്യമായാണ് നിങ്ങൾക്ക് കോൾ വരുന്നത്."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ഈ കോൾ ഒരു സ്പാമർ ആണെന്ന് ഞങ്ങൾക്ക് സംശയമുണ്ടായിരുന്നു."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"ബ്ലോക്കുചെയ്യുക/സ്പാമാണെന്ന് റിപ്പോർട്ടുചെയ്യുക"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"കോൺടാക്റ്റ് ചേർക്കുക"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"സ്പാം അല്ല"</string> -</resources> diff --git a/InCallUI/res/values-mn/strings.xml b/InCallUI/res/values-mn/strings.xml deleted file mode 100644 index 972f914a4..000000000 --- a/InCallUI/res/values-mn/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Утас"</string> - <string name="onHold" msgid="527593602772521700">"Хүлээлгэнд байгаа"</string> - <string name="unknown" msgid="3646075119047488748">"Тодорхойгүй"</string> - <string name="private_num" msgid="6081418498487514686">"Нууцалсан дугаар"</string> - <string name="payphone" msgid="5743050584468748607">"Төлбөртэй утас"</string> - <string name="confCall" msgid="3181961445236675173">"Хурлын дуудлага"</string> - <string name="call_lost" msgid="8208184291640961172">"Дуудлага таслагдсан"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Чанга яригч"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Утасны чихэвч"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Утастай чихэвч"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Дараах аяыг илгээх үү?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Ая илгээж байна\n"</string> - <string name="send_button" msgid="4054398309483035794">"Илгээх"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Тийм"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Үгүй"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Тэмдэгтийг дараахаар солих"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Хурлын дуудлага <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Дуут шуудангийн дугаар"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Залгаж байна"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Дахин залгаж байна"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Хурлын дуудлага"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Орох дуудлага"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Орох ажлын дуудлага"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Дуудлага дууссан"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Хүлээлгэнд"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Тасалж байна"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Дуудлагатай"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Миний дугаар <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Видеог холбож байна"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Видео дуудлага"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Видео хүлээж байна"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Видео дуудлагад холбогдож чадсангүй"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Бичлэг хийх хүсэлтийг зөвшөөрсөнгүй"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Таны буцаан залгах дугаар\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Таны яаралтай хулээн авах дугаар\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Залгаж байна"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Аваагүй дуудлага"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Аваагүй дуудлага"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> аваагүй дуудлага"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-н аваагүй дуудлага"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Залгаж буй дуудлага"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Холбогдсон албаны дуудлага"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Холбогдсон Wi-Fi дуудлага"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Залгаж буй Wi-Fi албаны дуудлага"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Хүлээгдэж байна"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Орох дуудлага"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Орох ажлын дуудлага"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Орох Wi-Fi дуудлага"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Орох Wi-Fi албаны дуудлага"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Орох видео дуудлага"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Орж ирсэн сэжигтэй спам дуудлага"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Орох видео хүсэлт"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Шинэ дуут шуудан"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Шинэ дуут шуудан (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> руу залгах"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Дуут шуудангийн дугаар тодорхойгүй"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Үйлчилгээ байхгүй"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Сонгосон сүлжээг (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ашиглах боломжгүй"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Хариулт"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Таслах"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Видео"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Дуу хоолой"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Зөвшөөрөх"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Алгасах"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Буцааж залгах"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Зурвас"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Өөр төхөөрөмж дээр хийгдэж буй дуудлага"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Дуудлага шилжүүлэх"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Залгахын тулд эхлээд Нислэгийн горимоос гарна уу."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Сүлжээнд бүртгэгдээгүй байна."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Үүрэн сүлжээ байхгүй."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Залгахын тулд хүчин төгөлдөр дугаар оруулна уу."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Залгах боломжгүй байна."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI дарааллыг эхлүүлж байна…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Дэмжигдээгүй үйлчилгээ байна."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Дуудлагыг солих боломжгүй байна."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Дуудлагыг салгаж чадахгүй байна."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Шилжүүлэх боломжгүй байна."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Хурлын дуудлага хийх боломжгүй байна."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Дуудлагыг цуцлах боломжгүй байна."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Дуудлага чөлөөлөх боломжгүй байна."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP дуудлага"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"яаралтай"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Радиог асааж байна..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ажиллагаагүй байна. Дахин оролдоно уу..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Залгах боломжгүй. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> нь яаралтай дугаар биш байна."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Залгах боломжгүй. Яаралтай дугаар луу залгана уу."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Залгахдаа гар ашиглана уу"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Дуудлага хүлээлгэх"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Дуудлагыг үргэлжлүүлэх"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Дуудлагыг дуусгах"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Залгах товчлуурыг харуулах"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Залгах товчлуурыг нуух"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Дуу хаах"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Дууг нээх"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Дуудлага нэмэх"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Дуудлага нэгтгэх"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Солих"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Дуудлага удирдах"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Хурлын дуудлага удирдах"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Хурлын дуудлага"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Удирдах"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Видео дуудлага"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Дуут дуудлага руу өөрчлөх"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Камер солих"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Камераа асаана уу"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Камер унтраах"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Нэмэлт сонголт"</string> - <string name="player_started" msgid="3478865572468310331">"Тоглуулагчийг эхлүүлсэн"</string> - <string name="player_stopped" msgid="1278611664986561535">"Тоглуулагчийг зогсоосон"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камер бэлэн бус байна"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камер бэлэн байна"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Үл мэдэгдэх дуудлагын үе"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Үйлчилгээ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Тохируулга"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"Тохируулаагүй"</string> - <string name="other_settings" msgid="6699076019841942826">"Бусад дуудлагын тохиргоо"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>-р залгаж байна"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>-р ирж байна"</string> - <string name="contactPhoto" msgid="6028825355597675193">"харилцагчийн зураг"</string> - <string name="goPrivate" msgid="3554069451018659483">"хувийн яриа"</string> - <string name="selectContact" msgid="92191462970821951">"харилцагч сонгох"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Өөрийн ...-г бичээрэй"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Цуцлах"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Илгээх"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Хариулт"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS илгээх"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Татгалзах"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Видео дуудлагаар хариулах"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Аудио дуудлагаар хариулах"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Видео хүсэлтийг хүлээн зөвшөөрөх"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Видео хүсэлтээс татгалзах"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Видео дамжуулах хүсэлтийг хүлээн зөвшөөрөх"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Видео дамжуулах хүсэлтээс татгалзах"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Видео хүлээж авах хүсэлтийг зөвшөөрөх"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Видео хүлээн авах хүсэлтээс татгалзах"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> хийх бол дээш гулсуулна уу."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-г харахын тулд зүүн тийш гулсуулна уу."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> харахын тулд баруун тийш гулсуулна уу."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>-г харахын тулд доош гулсуулна уу."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Чичиргээ"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Чичиргээ"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Дуу"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Үндсэн дуу (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Утасны хонхны ая"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Хонх дуугарах үед чичрэх"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Хонхны ая, Чичиргээ"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Хурлын дуудлагыг удирдах"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Яаралтай дугаар"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Профайл зураг"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камер унтраалттай байна"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g>-р"</string> - <string name="note_sent" msgid="7623014827902758398">"Тэмдэглэлийг илгээсэн"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Саяхны зурвас"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Бизнес мэдээлэл"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> милийн зайтай"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> км-н зайтай"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Маргааш <xliff:g id="OPEN_TIME">%s</xliff:g>-с нээгдэнэ"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Өнөөдөр <xliff:g id="OPEN_TIME">%s</xliff:g>-с нээгдэнэ"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>-с хаадаг"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Өнөөдөр <xliff:g id="CLOSE_TIME">%s</xliff:g>-с хаасан"</string> - <string name="open_now" msgid="4615706338669555999">"Одоо нээлттэй"</string> - <string name="closed_now" msgid="2635314668145282080">"Одоо хаалттай"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Сэжигтэй спам дуудлага хийгч"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Дуудлага дууссан %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Энэ дугаараас танд анх удаа дуудлага ирсэн."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Бид үүнийг спам дуудлага гэж үзсэн."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Спам гэж мэдээлэх/хориглох"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Харилцагч нэмэх"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Спам биш"</string> -</resources> diff --git a/InCallUI/res/values-mr/strings.xml b/InCallUI/res/values-mr/strings.xml deleted file mode 100644 index 15b3dfc32..000000000 --- a/InCallUI/res/values-mr/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"फोन"</string> - <string name="onHold" msgid="527593602772521700">"होल्ड वर"</string> - <string name="unknown" msgid="3646075119047488748">"अज्ञात"</string> - <string name="private_num" msgid="6081418498487514686">"खाजगी नंबर"</string> - <string name="payphone" msgid="5743050584468748607">"सार्वजनिक फोन"</string> - <string name="confCall" msgid="3181961445236675173">"परिषद कॉल"</string> - <string name="call_lost" msgid="8208184291640961172">"कॉल सोडला"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"स्पीकर"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"हँडसेट इअरपीस"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"वायर्ड हेडसेट"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ब्लूटुथ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"खालील टोन पाठवायचे?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"टोन पाठवित आहे\n"</string> - <string name="send_button" msgid="4054398309483035794">"पाठवा"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"होय"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"नाही"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"खराब वर्णास यासह पुनर्स्थित करा"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"परिषद कॉल <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"व्हॉइसमेल नंबर"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"डायल करीत आहे"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"रीडायल करत आहे"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"परिषद कॉल"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"येणारा कॉल"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"येणारा कार्य कॉल"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"कॉल संपला"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"होल्ड वर"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"हँग अप करणेे"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"कॉल मधील"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"माझा नंबर <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> आहे"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"व्हिडिओ कनेक्ट करत आहे"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"व्हिडिओ कॉल"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"व्हिडिओ विनंती करत आहे"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"व्हिडिओ कॉल कनेक्ट करू शकत नाही"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"व्हिडिओ विनंती नाकारली"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"आपला कॉलबॅक नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"आपला आणीबाणी कॉलबॅक नंबर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"डायल करीत आहे"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"सुटलेला कॉल"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"सुटलेले कॉल"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> सुटलेले कॉल"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> कडील सुटलेला कॉल"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"सुरू असलेला कॉल"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"सुरु असलेला कार्य कॉल"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"सुरु असलेला वाय-फाय कॉल"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"सुरु असलेला वाय-फाय कार्य कॉल"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"होल्ड वर"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"येणारा कॉल"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"येणारा कार्य कॉल"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"येणारा वाय-फाय कॉल"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"येणारा वाय-फाय कार्य कॉल"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"येणारा व्हिडिओ कॉल"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"येणारा संशयित स्पॅम कॉल"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"येणारी व्हिडिओ विनंती"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"नवीन व्हॉइसमेल"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"नवीन व्हॉइसमेल (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> डायल करा"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"व्हॉइसमेल नंबर अज्ञात"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"सेवा नाही"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"निवडलेले नेटवर्क (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) अनुपलब्ध"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"उत्तर"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"हँग अप"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"व्हिडिओ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"व्हॉइस"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"स्वीकार करा"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"डिसमिस करा"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"पुन्हा कॉल करा"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"संदेश"</string> - <string name="notification_external_call" msgid="5611236780302924816">"दुसऱ्या डिव्हाइसवर सुरु असलेला कॉल"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"कॉल स्थानांतरित करा"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"कॉल करण्यासाठी, प्रथम विमान मोड बंद करा."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"नेटवर्कवर नोंदणीकृत नाही."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"मोबाईल नेटवर्क उपलब्ध नाही."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"कॉल करण्यासाठी, एक वैध नंबर प्रविष्ट करा."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"कॉल करू शकत नाही."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI क्रम प्रारंभ करीत आहे..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"सेवा समर्थित नाही."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"कॉल स्विच करू शकत नाही."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"कॉल विभक्त करू शकत नाही."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"हस्तांतर करू शकत नाही."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"परिषद घेऊ शकत नाही."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"कॉल नाकारू शकत नाही."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"कॉल रिलीज करू शकत नाही."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP कॉल"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"आणीबाणी कॉल"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"रेडिओ चालू करीत आहे..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"सेवा नाही. पुन्हा प्रयत्न करत आहे…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"कॉल करू शकत नाही. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> हा आणीबाणी नंबर नाही."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"कॉल करू शकत नाही. आणीबाणी नंबर डायल करा."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"डायल करण्यासाठी कीबोर्डचा वापर करा"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"कॉल होल्ड करा"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"कॉल पुनः सुरु करा"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"कॉल समाप्त करा"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"डायलपॅड दर्शवा"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"डायलपॅड लपवा"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"नि:शब्द करा"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"सशब्द करा"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"कॉल जोडा"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"कॉल विलीन करा"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"अदलाबदल करा"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"कॉल व्यवस्थापित करा"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"परिषद कॉल व्यवस्थापित करा"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"परिषद कॉल"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"व्यवस्थापित करा"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ऑडिओ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"व्हिडिओ कॉल"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"व्हॉइस कॉल वर बदला"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"कॅमेरा स्विच करा"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"कॅमेरा चालू करा"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"कॅमेरा बंद करा"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"अधिक पर्याय"</string> - <string name="player_started" msgid="3478865572468310331">"प्लेअर सुरु झाले"</string> - <string name="player_stopped" msgid="1278611664986561535">"प्लेअर थांबले"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"कॅमेरा तयार नाही"</string> - <string name="camera_ready" msgid="2614541247814590887">"कॅमेरा तयार"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"अज्ञात कॉल सत्र इव्हेंट"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"सेवा"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"सेटअप"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<सेट नाही>"</string> - <string name="other_settings" msgid="6699076019841942826">"इतर कॉल सेटिंग्ज"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> द्वारे कॉल करीत आहे"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> द्वारे येणारे"</string> - <string name="contactPhoto" msgid="6028825355597675193">"संपर्क फोटो"</string> - <string name="goPrivate" msgid="3554069451018659483">"खाजगी व्हा"</string> - <string name="selectContact" msgid="92191462970821951">"संपर्क निवडा"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"आपण स्वतः लिहा…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"रद्द करा"</string> - <string name="custom_message_send" msgid="3798076337006735995">"पाठवा"</string> - <string name="description_target_answer" msgid="1111945818996518320">"उत्तर"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS पाठवा"</string> - <string name="description_target_decline" msgid="7108154434759234035">"नकार द्या"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"व्हिडिओ कॉल म्हणून उत्तर द्या"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ऑडिओ कॉल म्हणून उत्तर द्या"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"व्हिडिओ विनंती स्वीकारा"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"व्हिडिओ विनंतीस नकार द्या"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"व्हिडिओ प्रसारण विनंती स्वीकार करा"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"व्हिडिओ प्रसारण विनंतीस नकार द्या"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"व्हिडिओ प्राप्त करा विनंती स्वीकार करा"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"व्हिडिओ प्राप्त करा विनंतीस नकार द्या"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी वर स्लाइड करा."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी डावीकडे स्लाइड करा."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी उजवीकडे स्लाइड करा."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी खाली स्लाइड करा."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"कंपन करा"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"कंपन करा"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ध्वनी"</string> - <string name="default_notification_description" msgid="4950807644546509965">"डीफॉल्ट आवाज (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"फोन रिंगटोन"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"रिंग करताना कंपन करा"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"रिंगटोन आणि कंपन"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"परिषद कॉल व्यवस्थापित करा"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"आणीबाणी नंबर"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"प्रोफाइल फोटो"</string> - <string name="camera_off_description" msgid="4220023868645225790">"कॅमेरा बंद"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> द्वारा"</string> - <string name="note_sent" msgid="7623014827902758398">"टीप पाठविली"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"अलीकडील संदेश"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"व्यवसाय माहिती"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> मैल दूर"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> किमी दूर"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"उद्या <xliff:g id="OPEN_TIME">%s</xliff:g> वाजता उघडेल"</string> - <string name="opens_today_at" msgid="6281212768937222891">"आज <xliff:g id="OPEN_TIME">%s</xliff:g> उघडेल"</string> - <string name="closes_today_at" msgid="4822369201263491509">"आज <xliff:g id="CLOSE_TIME">%s</xliff:g> वाजता बंद होईल"</string> - <string name="closed_today_at" msgid="4060072663433467233">"आज <xliff:g id="CLOSE_TIME">%s</xliff:g> वाजता बंद केले"</string> - <string name="open_now" msgid="4615706338669555999">"आता उघडा"</string> - <string name="closed_now" msgid="2635314668145282080">"आता बंद केले आहे"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"संशयित स्पॅम कॉलर"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"कॉल समाप्त झाला %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"या नंबरने अापल्याला कॉल केल्याची ही पहिलीच वेळ आहे."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"अाम्हाला संशय अाहे की हा कॉल एक स्पॅमर असू शकतो."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"अवरोधित करा/स्पॅमचा अहवाल द्या"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"संपर्क जोडा"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"स्पॅम नाही"</string> -</resources> diff --git a/InCallUI/res/values-ms/strings.xml b/InCallUI/res/values-ms/strings.xml deleted file mode 100644 index 4c7be3805..000000000 --- a/InCallUI/res/values-ms/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Ditunda"</string> - <string name="unknown" msgid="3646075119047488748">"Tidak diketahui"</string> - <string name="private_num" msgid="6081418498487514686">"Nombor peribadi"</string> - <string name="payphone" msgid="5743050584468748607">"Telefon Awam"</string> - <string name="confCall" msgid="3181961445236675173">"Panggilan sidang"</string> - <string name="call_lost" msgid="8208184291640961172">"Panggilan diputuskan"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Pembesar suara"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Alat dengar tel bimbit"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Set kepala berwayar"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Hantar nada berikut?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Menghantar nada\n"</string> - <string name="send_button" msgid="4054398309483035794">"Hantar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ya"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Tidak"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Gantikan aksara bebas dengan"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Panggilan sidang <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Nombor mel suara"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Mendail"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Mendail semula"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Panggilan sidang"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Panggilan masuk"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Pgln masuk tempat kerja"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Panggilan tamat"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Ditunda"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Menamatkan panggilan"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Dalam panggilan"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Nombor saya ialah <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Menyambungkan video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Panggilan video"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Meminta video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Tidak dapat menyambungkan panggilan video"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Permintaan video ditolak"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Nombor panggilan balik anda<xliff:g id="DARK_NUMBER">%1$s</xliff:g>\n"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Nombor panggilan balik kecemasan anda\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Mendail"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Panggilan terlepas"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Panggilan terlepas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> panggilan terlepas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Panggilan tidak dijawab daripada <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Panggilan sedang berlangsung"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Panggilan sedang berlangsung daripada tempat kerja"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Panggilan Wi-Fi sedang berlangsung"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Panggian Wi-Fi sedang berlangsung daripada tempat kerja"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Ditunda"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Panggilan masuk"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Panggilan masuk daripada tempat kerja"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Panggilan masuk melalui Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Panggilan masuk melalui Wi-Fi daripada tempat kerja"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Panggilan video masuk"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Disyaki panggilan spam masuk"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Permintaan video masuk"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Mel suara baharu"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Mel suara baharu (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Dail <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nombor mel suara tidak dikenali"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Tiada perkhidmatan"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Rangkaian pilihan (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) tidak tersedia"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Jawab"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Letakkan gagang"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Suara"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Terima"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ketepikan"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Panggil balik"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mesej"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Panggilan sedang berlangsung pada peranti lain"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Pindahkan Panggilan"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Untuk membuat panggilan, matikan mod Pesawat terlebih dahulu."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Tidak didaftarkan pada rangkaian."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rangkaian selular tidak tersedia."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Untuk membuat panggilan, masukkan nombor yang sah."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Tidak dapat memanggil."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Memulakan jujukan MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Perkhidmatan tidak disokong."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Tidak dapat menukar panggilan."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Tidak dapat mengasingkan panggilan."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Tidak dapat memindahkan."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Tidak dapat membuat panggilan persidangan."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Tidak dapat menolak panggilan."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Tidak dapat melepaskan panggilan."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Panggilan SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Panggilan kecemasan"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Menghidupkan radio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Tiada perkhidmatan. Mencuba lagi..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Tidak dapat memanggil. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bukan nombor kecemasan."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Tidak dapat memanggil. Dail nombor kecemasan."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Gunakan papan kekunci untuk mendail"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Tahan Panggilan"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Sambung Semula Panggilan"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Tamatkan Panggilan"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Tunjukkan Pad Pendail"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Sembunyikan Pad Pendail"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Redam"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Nyahredam"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Tambah panggilan"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Gabung panggilan"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Silih"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Urus panggilan"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Urus panggilan sidang"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Panggilan sidang"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Urus"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Panggilan video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Tukar ke panggilan suara"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Tukar kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Hidupkan kamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Matikan kamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Lagi pilihan"</string> - <string name="player_started" msgid="3478865572468310331">"Pemain Dimulakan"</string> - <string name="player_stopped" msgid="1278611664986561535">"Pemain Dihentikan"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera tidak bersedia"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera bersedia"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Acara sesi panggilan tidak diketahui"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Perkhidmatan"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Persediaan"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Tidak ditetapkan>"</string> - <string name="other_settings" msgid="6699076019841942826">"Tetapan panggilan lain"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Memanggil melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Panggilan masuk melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto kenalan"</string> - <string name="goPrivate" msgid="3554069451018659483">"jadi peribadi"</string> - <string name="selectContact" msgid="92191462970821951">"pilih kenalan"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Tulis sendiri…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Batal"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Hantar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Jawab"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Hantar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Tolak"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Jawab sebagai panggilan video"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Jawab sebagai panggilan audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Terima permintaan video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Tolak permintaan video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Terima permintaan hantar video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Tolak permintaan hantar video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Terima permintaan terima video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Tolak permintaan terima video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Luncurkan ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Luncurkan ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Luncurkan ke kanan untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Luncurkan ke bawah untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Bergetar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Bergetar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Bunyi"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Bunyi lalai (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Nada dering telefon"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Bergetar apabila berdering"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Nada dering & Bergetar"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Urus panggilan sidang"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Nombor kecemasan"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto profil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera dimatikan"</string> - <string name="child_number" msgid="4469090994612105532">"melalui <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota dihantar"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mesej terbaharu"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Maklumat perniagaan"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> batu dari sini"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km dari sini"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Dibuka esok pada pukul <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Dibuka hari ini pada pukul <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Tutup pada pukul <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Ditutup hari ini pada pukul <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Dibuka sekarang"</string> - <string name="closed_now" msgid="2635314668145282080">"Ditutup sekarang"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Disyaki pmggil spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Panggilan tamat %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Ini kali pertama nombor ini memanggil anda."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Kami mengesyaki panggilan ini adalah spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Sekat/laporkan spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Tambahkan kenalan"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Bukan spam"</string> -</resources> diff --git a/InCallUI/res/values-my/strings.xml b/InCallUI/res/values-my/strings.xml deleted file mode 100644 index efe91436f..000000000 --- a/InCallUI/res/values-my/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ဖုန်း"</string> - <string name="onHold" msgid="527593602772521700">"ခဏ ကိုင်ထားစဉ်"</string> - <string name="unknown" msgid="3646075119047488748">"အမျိုးအမည်မသိ"</string> - <string name="private_num" msgid="6081418498487514686">"ကိုယ်ပိုင်ဖုန်းနံပါတ်"</string> - <string name="payphone" msgid="5743050584468748607">"အများသုံးဖုန်း"</string> - <string name="confCall" msgid="3181961445236675173">"အစည်းအဝေးခေါ်ဆိုမှု"</string> - <string name="call_lost" msgid="8208184291640961172">"ဖုန်းလိုင်းကျသွားခဲ့သည်"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"စပီကာ"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"လက်ကိုင်တယ်လီဖုန်းနားခွက်"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"ကြိုးတပ် မိုက်ခွက်ပါနားကြပ်"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ဘလူးတုသ်"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"အောက်ပါ တီးလုံးများကို ပို့မလား။\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"အသံများ ပို့နေသည်\n"</string> - <string name="send_button" msgid="4054398309483035794">"ပို့ပါ"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Yes"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"No"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"အစားထိုး အထူးအက္ခရာတွင် အစားထိုးရန်"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"အစည်းအဝေးခေါ်ဆိုမှု <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"အသံစာနံပါတ်"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ခေါ်ဆိုနေသည်"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ပြန်ခေါ်နေသည်"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"အစည်းအဝေးခေါ်ဆိုမှု"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"အဝင် ခေါ်ဆိုမှု"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"အလုပ်ဆိုင်ရာ အဝင် ခေါ်ဆိုမှု"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ဖုန်းခေါ်ဆိုမှု ပြီးဆုံးပါပြီ"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ခဏ ကိုင်ထားစဉ်"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"ဖုန်းချနေပါသည်"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"ဖုန်းခေါ်ဆိုနေဆဲ"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"ကျွန်ုပ်၏ နံပါတ်မှာ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ဖြစ်ပါသည်"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ဗီဒီယို ချိတ်ဆက်နေသည်"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ဗီဒီယို ခေါ်ဆိုမှု"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ဗီဒီယိုခေါ်ဆိုနေသည်"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ဗွီဒီယို ခေါ်ဆိုမှု ချိတ်ဆက်၍မရပါ။"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ဗီဒီယို ခေါ်ဆိုမှုကို ပယ်ချလိုက်ပါပြီ"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"သင့်ကိုပြန်လည်ခေါ်ဆိုရန် နံပါတ်\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"သင့်ကိုအရေးပေါ် ပြန်လည်ခေါ်ဆိုရန် နံပါတ်\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ဖုန်းခေါ်နေသည်"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"လွတ်သွားသော ခေါ်ဆိုမှု"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"လွတ်သွားသော ခေါ်ဆိုမှုများ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"လွတ်သွားသော ခေါ်ဆိုမှု <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> မှလွတ်သွားသော ခေါ်ဆိုမှု"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"လက်ရှိခေါ်ဆိုမှု"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"လက်ရှိအလုပ်ခေါ်ဆိုမှု"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"လက်ရှိ Wi-Fi ခေါ်ဆိုမှု"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"လက်ရှိအလုပ် Wi-Fi ခေါ်ဆိုမှု"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ခဏ ကိုင်ထားစဉ်"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"အဝင် ခေါ်ဆိုမှု"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"အလုပ်ဆိုင်ရာ အဝင်ခေါ်ဆိုမှု"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"အဝင် Wi-Fi ခေါ်ဆိုမှု"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"အလုပ်ဆိုင်ရာ အဝင် Wi-Fi ခေါ်ဆိုမှု"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"အဝင်ဗီဒီယိုခေါ်ဆိုမှု"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"ခေါ်နေသော မသင်္ကာဖွယ်ရာ စပမ်းခေါ်ဆိုမှု"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ဗီဒီယိုအဝင် ခေါ်ဆိုမှု"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"အသံစာအသစ်"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"အသံစာ အသစ် (<xliff:g id="COUNT">%d</xliff:g>) ခု"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ကိုခေါ်ပါ"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"အသံစာ၏နံပါတ်ကို မသိပါ"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"ဆက်သွယ်မှု ဧရိယာပြင်ပသို့ ရောက်ရှိနေသည်"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"ရွေးချယ်ထားသော ကွန်ရက် (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) မရရှိနိုင်ပါ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"ဖြေကြားပါ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"ဖုန်းချပါ"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ဗီဒီယို"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"အသံ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"လက်ခံပါ"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ပယ်ပါ"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"ပြန်ခေါ်ပါ"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"မက်ဆေ့ဂျ်"</string> - <string name="notification_external_call" msgid="5611236780302924816">"အခြားကိရိယာတွင် လက်ရှိခေါ်ဆိုနေမှု"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ခေါ်ဆိုမှုကို လွှဲပြောင်းပါ"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ခေါ်ဆိုမှု ပြုလုပ်ရန်အတွက် လေယာဉ်ပျံမုဒ်ကို ဦးစွာပိတ်ပါ။"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ကွန်ယက်ပေါ်တွင် မှတ်ပုံတင်ထားခြင်း မရှိပါ။"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"ဆဲလ်လူလာ ကွန်ရက် မရှိပါ။"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ခေါ်ဆိုမှု ပြုလုပ်ရန်အတွက် မှန်ကန်သည့်နံပါတ်တစ်ခုကို ထည့်ပါ။"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"ခေါ်ဆို၍မရပါ။"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI အစီအစဉ် စတင်နေသည်..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"ဝန်ဆောင်မှုအား ပံ့ပိုးမထားပါ။"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ခေါ်ဆိုမှုများကို လှည့်ပြောင်း၍မရပါ။"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ခေါ်ဆိုမှုကို ခွဲခြား၍မရပါ။"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"မလွှဲပြောင်းနိုင်ပါ။"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"အစည်းအဝေးခေါ်ဆိုမှု ပြုလုပ်၍မရပါ။"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ခေါ်ဆိုမှုကို ငြင်းဆို၍မရပါ။"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ခေါ်ဆိုမှု(များ) ကို လွှတ်၍မရပါ။"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP ခေါ်ဆိုမှု"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"အရေးပေါ် ခေါ်ဆိုမှု"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ရေဒီယို ဖွင့်နေသည်…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"ချိတ်ဆက်မှု ဧရိယာပြင်ပရောက်နေပါသည်။ ထပ်စမ်းကြည့်ပါ..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"ခေါ်ဆို၍မရနိုင်ပါ။ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> သည်အရေးပေါ်နံပါတ်တစ်ခု မဟုတ်ပါ။"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"ခေါ်ဆို၍မရနိုင်ပါ။ အရေးပေါ်နံပါတ်တစ်ခုကို ခေါ်ဆိုပါ။"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ခေါ်ဆိုရန် ကီးဘုတ်ကိုအသုံးပြုပါ"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"ခေါ်ဆိုမှု ခေတ္တရပ်ထားပါ"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ခေါ်ဆိုမှုကို ဆက်လုပ်ပါ"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ခေါ်ဆိုမှု အပြီးသတ်ပါ"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"နံပါတ်အကွက် ပြပါ"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"နံပါတ်အကွက် ဝှက်ထားပါ"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"အသံပိတ်ပါ"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"အသံပြန်ဖွင့်ပါ"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ခေါ်ဆိုမှုထည့်ပါ"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ခေါ်ဆိုမှုများကို ပေါင်းစည်းပါ"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"ဖလှယ်ပါ"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ခေါ်ဆိုမှုများကို စီမံခန့်ခွဲပါ"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"အစည်းအဝေးခေါ်ဆိုမှုကို စီမံခန့်ခွဲပါ"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"မျက်နှာစုံညီစည်းဝေး ဖုန်းခေါ်ဆိုမှု"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"စီမံခန့်ခွဲပါ"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"အသံ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ဗီဒီယို ခေါ်ဆိုမှု"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"အသံခေါ်ဆိုမှုသို့ ပြောင်းပါ"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ကင်မရာပြောင်းပါ"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ကင်မရာဖွင့်ပါ"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ကင်မရာပိတ်ပါ"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"နောက်ထပ် ရွေးစရာများ"</string> - <string name="player_started" msgid="3478865572468310331">"ပလေယာ စပါပြီ"</string> - <string name="player_stopped" msgid="1278611664986561535">"ပလေယာ ရပ်တန့်သွားပါပြီ"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ကင်မရာအဆင်သင့် မဖြစ်သေးပါ"</string> - <string name="camera_ready" msgid="2614541247814590887">"ကင်မရာအဆင်သင့်ဖြစ်ပါပြီ"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"အမျိုးအမည်မသိ ခေါ်ဆိုမှုအချိန်ကာလ"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"ဝန်ဆောင်မှု"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"စနစ်ထည့်သွင်းမှုပြုလုပ်ပါ"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<မသတ်မှတ်ထားပါ>"</string> - <string name="other_settings" msgid="6699076019841942826">"အခြားခေါ်ဆိုမှုဆက်တင်များ"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> မှတစ်ဆင့် ခေါ်ဆိုခြင်း"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> မှတစ်ဆင့်အဝင်ခေါ်ဆိုမှု"</string> - <string name="contactPhoto" msgid="6028825355597675193">"အဆက်အသွယ်ဓာတ်ပုံ"</string> - <string name="goPrivate" msgid="3554069451018659483">"တသီးတသန့်ချိတ်ဆက်ရန်"</string> - <string name="selectContact" msgid="92191462970821951">"လိပ်စာရွေးပါ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"သင့်ကိုယ်ပိုင် စာသား ရေးပါ..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"မလုပ်တော့"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ပို့ပါ"</string> - <string name="description_target_answer" msgid="1111945818996518320">"ဖြေကြားပါ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS ပို့ပါ"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ငြင်းပယ်ပါ"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ဗီဒီယိုခေါ်ဆိုမှုအဖြစ် ဖြေကြားပါ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"အသံခေါ်ဆိုမှုအဖြစ် ဖြေကြားပါ"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ဗီဒီယိုခေါ်ဆိုမှုကို လက်ခံပါ"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ဗီဒီယိုခေါ်ဆိုမှုကို ငြင်းပယ်ပါ"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ဗီဒီယိုထုတ်လွှင့်ခြင်းတောင်းဆိုမှုကို လက်ခံပါ"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ဗီဒီယိုထုတ်လွှင့်ခြင်းတောင်းဆိုမှုကို ငြင်းပယ်ပါ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ဗီဒီယိုလက်ခံရရှိမှုတောင်းဆိုချက်ကို လက်ခံပါ"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ဗီဒီယိုလက်ခံရရှိကြောင်းတောင်းဆိုမှုကို ငြင်းပယ်ပါ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် အပေါ်ကို ပွတ်ဆွဲပါ"</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် ဘယ်ဖက်ကို ပွတ်ဆွဲပါ"</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် ညာဖက်ကို ပွတ်ဆွဲပါ"</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> အတွက် အောက်ကို ပွတ်ဆွဲပါ"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"တုန်ခါပါ"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"တုန်ခါပါ"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"အသံ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"မူရင်း အသံ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ဖုန်းမြည်သံ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"ဖုန်းမြည်စဉ် တုန်ခါပါ"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"ဖုန်းမြည်သံ & တုန်ခါသံ"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"အစည်းအဝေးခေါ်ဆိုမှုကို စီမံခန့်ခွဲပါ"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"အရေးပေါ်နံပါတ်"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"ပရိုဖိုင် ဓာတ်ပုံ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ကင်မရာ ပိတ်ပါ"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> မှတစ်ဆင့်"</string> - <string name="note_sent" msgid="7623014827902758398">"မှတ်ချက်ကို ပို့လိုက်ပါပြီ"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"မကြာသေးမီက မက်ဆေ့ဂျ်များ"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"စီးပွားရေး အချက်အလက်"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> မိုင်အကွာ"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> ကီလိုမီတာအကွာ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>၊ <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>၊ <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"မနက်ဖြန် <xliff:g id="OPEN_TIME">%s</xliff:g> ၌ဖွင့်မည်"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ယနေ့ <xliff:g id="OPEN_TIME">%s</xliff:g> ၌ဖွင့်မည်"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> ၌ပိတ်ပါမည်"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ယနေ့ <xliff:g id="CLOSE_TIME">%s</xliff:g> ၌ပိတ်ခဲ့သည်"</string> - <string name="open_now" msgid="4615706338669555999">"ယခုဖွင့်ပါ"</string> - <string name="closed_now" msgid="2635314668145282080">"ယခုပိတ်ပါ"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"မသင်္ကာဖွယ်ရာ စပမ်းခေါ်ဆိုသူ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ဖုန်းခေါ်ဆိုမှု ပြီးဆုံးပါပြီ %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ဤနံပါတ်သည် သင့်ထံ ပထမဆုံးခေါ်ဆိုသော နံပါတ်ဖြစ်သည်။"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ယခုဖုန်းခေါ်ဆိုမှုသည် စပမ်းပို့သူဆီမှ ဖြစ်နိုင်သည်ဟု ထင်ပါသည်။"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"စပမ်းကို ပိတ်ဆို့ပါ/သတင်းပေးပို့ပါ"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"အဆက်အသွယ် ထည့်ပါ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"စပမ်း မဟုတ်ပါ"</string> -</resources> diff --git a/InCallUI/res/values-nb/strings.xml b/InCallUI/res/values-nb/strings.xml deleted file mode 100644 index d39e4d441..000000000 --- a/InCallUI/res/values-nb/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"På vent"</string> - <string name="unknown" msgid="3646075119047488748">"Ukjent"</string> - <string name="private_num" msgid="6081418498487514686">"Skjult nummer"</string> - <string name="payphone" msgid="5743050584468748607">"Telefonkiosk"</string> - <string name="confCall" msgid="3181961445236675173">"Konferansesamtale"</string> - <string name="call_lost" msgid="8208184291640961172">"Anropet ble avbrutt"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Høyttaler"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Telefonhøyttaler"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Hodetelefoner med kabel"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Vil du sende disse lydene?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Sender lydene\n"</string> - <string name="send_button" msgid="4054398309483035794">"Send"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ja"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nei"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Erstatt jokertegn med"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferansesamtale <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Nummeret til talepostkassen"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Ringer"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ringer på nytt"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferansesamtale"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Innkommende anrop"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Innkommende jobbanrop"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Anropet er avsluttet"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"På vent"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Legger på"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Anrop pågår"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Nummeret mitt er <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Kobler til video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videoanrop"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Ber om video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Kan ikke koble til videoanropet"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videoforespørselen er avvist"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Tilbakeringingsnummeret ditt\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Tilbakeringingsnummeret ditt for nødstilfeller\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Ringer"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Tapt anrop"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Tapte anrop"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> tapte anrop"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Tapt anrop fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Pågående anrop"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Pågående jobbanrop"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Pågående Wi-Fi-anrop"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Pågående jobbanrop via Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"På vent"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Innkommende anrop"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Innkommende jobbanrop"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Innkommende Wi-Fi-anrop"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Innkommende jobbanrop via Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Innkommende videoanrop"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Innkommende anrop fra en mulig useriøs oppringer"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Innkommende videoforespørsel"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Ny talepost"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Ny talepost (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Ring <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nummeret til talepostkassen er ukjent"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ingen tjeneste"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Det valgte nettverket (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) er ikke tilgjengelig"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Svar"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Legg på"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Uten video"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Godta"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Avvis"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ring tilbake"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Melding"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Samtale pågår på en annen enhet"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Overfør samtalen"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"For å ringe, slå av flymodus først."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ikke registrert på nettverket."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilnettverket er ikke tilgjengelig."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"For å ringe, skriv inn et gyldig nummer."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Kan ikke ringe."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Starter MMI-sekvens …"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Tjenesten støttes ikke."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Kan ikke bytte samtaler."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Kan ikke splitte opp anropet."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Kan ikke overføre."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Kan ikke opprette konferanse."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Kan ikke avvise anropet."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Kan ikke frigjøre samtale(r)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-anrop"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Nødanrop"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Slår på radioen …"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ingen tjeneste. Prøver på nytt …"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Kan ikke ringe. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ikke et nødnummer."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Kan ikke ringe. Ring et nødnummer."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Bruk tastaturet for å ringe"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Sett anropet på vent"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Gjenoppta anropet"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Avslutt anropet"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Vis tastaturet"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Skjul tastaturet"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Slå av lyden"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Slå på lyden"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Legg til anrop"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Slå sammen anrop"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Bytt"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Administrer anrop"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Administrer konferansesamtale"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferansesamtale"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Administrer"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Lyd"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoanrop"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Bytt til taleanrop"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Bytt kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Slå på kameraet"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Slå av kameraet"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Flere alternativer"</string> - <string name="player_started" msgid="3478865572468310331">"Avspilleren har startet"</string> - <string name="player_stopped" msgid="1278611664986561535">"Avspilleren har stoppet"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kameraet er ikke klart"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kameraet er klart"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Ukjent anrop"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Tjeneste"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Konfigurering"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ikke angitt>"</string> - <string name="other_settings" msgid="6699076019841942826">"Andre anropsinnstillinger"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Innkommende via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontaktbilde"</string> - <string name="goPrivate" msgid="3554069451018659483">"aktivér privat samtale"</string> - <string name="selectContact" msgid="92191462970821951">"velg kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Skriv ditt eget"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Avbryt"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Send"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Svar"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Send SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Avslå"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Svar med video"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Svar uten video"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Godta videoforespørselen"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Avslå videoforespørselen"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Godta forespørselen om å sende video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Avslå forespørselen om å sende video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Godta forespørselen om å motta video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Avslå forespørselen om å motta video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Dra opp for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Dra til venstre for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Dra til høyre for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Dra ned for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrering"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrering"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Lyd"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Standardlyd (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefonringelyd"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrer når telefonen ringer"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringelyd og vibrering"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Administrer konferansesamtale"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Nødnummer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilbilde"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kameraet er slått av"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Notatet er sendt"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nylige meldinger"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informasjon om bedriften"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mile unna"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km unna"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Åpner i morgen kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Åpner i dag kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Stenger kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Stengte i dag kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Åpen nå"</string> - <string name="closed_now" msgid="2635314668145282080">"Stengt nå"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Mulig useriøst anrop"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Samtalen ble avsluttet %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Dette er første gang du blir oppringt fra dette nummeret."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Vi har mistanke om at dette anropet kommer fra en useriøs oppringer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokkér/rapportér"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Legg til som kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ikke useriøs"</string> -</resources> diff --git a/InCallUI/res/values-ne/strings.xml b/InCallUI/res/values-ne/strings.xml deleted file mode 100644 index 71c1ccae9..000000000 --- a/InCallUI/res/values-ne/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"फोन"</string> - <string name="onHold" msgid="527593602772521700">"होल्डमा"</string> - <string name="unknown" msgid="3646075119047488748">"अज्ञात"</string> - <string name="private_num" msgid="6081418498487514686">"निजी नम्बर"</string> - <string name="payphone" msgid="5743050584468748607">"पेफोन"</string> - <string name="confCall" msgid="3181961445236675173">"सम्मेलन कल"</string> - <string name="call_lost" msgid="8208184291640961172">"कल ड्रप भयो"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"स्पिकर"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"हेन्डसेट इयरपिस"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"तारसहितको हेडसेट"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ब्लुटुथ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"निम्न टोनहरू पठाउने हो?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"टोनहरू\n पठाउँदै"</string> - <string name="send_button" msgid="4054398309483035794">"पठाउनुहोस्"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"हो"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"होइन"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"यसलाई वाइल्ड क्यारेक्टर राखेर बदल्नुहोस्"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"सम्मेलन कल <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"भ्वाइस मेल नम्बर"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"डायल गर्दै"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"पुन: डायल गर्दै"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"सम्मेलन कल"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"आगमन कल"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"कार्यालयबाट आएको कल"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"कल अन्त्य भयो"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"होल्डमा छ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"फोन काट्दै"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"कलमा"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"मेरो नम्बर <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> हो"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"भिडियो जडान गरिँदै"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"भिडियो कल"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"भिडियोका लागि अनुरोध गर्दै"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"भिडियो कलमा जडान गर्न सक्दैन"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"भिडियो अनुरोध अस्वीकार गरियो"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"तपाईंको कलब्याक नम्बर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"तपाईंको आपतकालीन कलब्याक नम्बर\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"डायल गर्दै"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"छुटेको कल"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"छुटेका कलहरू"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> छुटेका कलहरू"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> बाट आएको छुटेको कल"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"चलिरहेको कल"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"चालु रहेको कार्यालयको कल"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"चालु रहेको WI-Fi कल"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Wi-Fi मार्फत चालु रहेको कार्यालयको कल"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"होल्डमा"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"आगमन कल"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"कार्यालयबाट आएको कल"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"आगमन Wi-Fi कल"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Wi-Fi मार्फत कार्यालयबाट आएको कल"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"आगमन भिडियो कल"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"शंकास्पद आगमन स्प्याम कल"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"आगमन भिडियो अनुरोध"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"नयाँ भ्वाइस मेल"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"नयाँ भ्वाइसमेल (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> मा डायल गर्नुहोस्"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"भ्वाइस मेल नम्बर अज्ञात छ"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"कुनै सेवा छैन"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"चयन गरिएको नेटवर्क (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) अनुपलब्ध छ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"जवाफ दिनुहोस्"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"राख्नुहोस्"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"भिडियो"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"आवाज"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"स्वीकार गर्नुहोस्"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"खारेज गर्नुहोस्"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"कल फर्काउने"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"सन्देश"</string> - <string name="notification_external_call" msgid="5611236780302924816">"अर्को यन्त्रमा चलिरहेको कल"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"कल स्थानान्तरण गर्नुहोस्"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"कल गर्नका लागि, पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"नेटवर्कमा दर्ता भएको छैन।"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"सेलुलर नेटवर्क उपलब्ध छैन।"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"एक कल गर्नको लागि, मान्य नम्बर प्रविष्ट गर्नुहोस्।"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"कल गर्न सकिंदैन।"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI अनुक्रम सुरु गर्दै..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"सेवा समर्थित छैन।"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"कल स्विच गर्न सक्दैन।"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"कल अलग गर्न सक्दैन।"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ट्रान्सफर गर्न सक्दैन।"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"सम्मेलन गर्न सक्दैन।"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"कल अस्वीकार गर्न सक्दैन।"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"कल (हरू) जारी गर्न सकिंदैन।"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP कल"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"आपतकालीन कल"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"रेडियो खोल्दै..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"कुनै सेवा छैन। फेरि प्रयास गर्दै..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"कल गर्न सकिंदैन। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> आपतकालीन नम्बर होइन।"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"कल गर्न सकिंदैन। आपतकालीन नम्बर डायल गर्नुहोस्।"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"डायल गर्न किबोर्ड प्रयोग गर्नुहोस्"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"कललाई होल्ड गर्नुहोस्"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"कललाई पुन: निरन्तरता दिनुहोस्"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"कल अन्त्य गर्नुहोस्"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"डायलप्याड देखाउनुहोस्"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"डायलप्याड लुकाउनुहोस्"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"मौन"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"अनम्यूट गर्नुहोस्"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"कल थप्नुहोस्"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"कलहरू मर्ज गर्नुहोस्"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"स्वाप"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"कलहरूको प्रबन्ध मिलाउनुहोस्"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"सम्मेलन कलको प्रबन्ध मिलाउनहोस्"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"सम्मेलन कल"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"व्यवस्थापन गर्नुहोस्"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"अडियो"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"भिडियो कल"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"आवाज कलमा परिवर्तन गर्नुहोस्"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"क्यामेरा स्विच गर्नुहोस्"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"क्यामेरालाई सक्रिय गर्नुहोस्"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"क्यामेरालाई निष्क्रिय पार्नुहोस्"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"थप विकल्पहरू"</string> - <string name="player_started" msgid="3478865572468310331">"प्लेयर सुरु भयो"</string> - <string name="player_stopped" msgid="1278611664986561535">"प्लेयर रोकियो"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"क्यामेरा तयार छैन"</string> - <string name="camera_ready" msgid="2614541247814590887">"क्यामेरा तयार छ"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"अज्ञात कल सत्र घटना"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"सेवा"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"सेटअप"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<सेट गरिएको छैन>"</string> - <string name="other_settings" msgid="6699076019841942826">"अन्य कल सेटिङहरू"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> मार्फत कल गर्दै"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> मार्फत आगमन"</string> - <string name="contactPhoto" msgid="6028825355597675193">"सम्पर्क तस्बिर"</string> - <string name="goPrivate" msgid="3554069451018659483">"निजी कलमा जानुहोस्"</string> - <string name="selectContact" msgid="92191462970821951">"सम्पर्क चयन गर्नुहोस्"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"तपाईंको आफ्नै लेख्नुहोस्..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"रद्द गर्नुहोस्"</string> - <string name="custom_message_send" msgid="3798076337006735995">"पठाउनुहोस्"</string> - <string name="description_target_answer" msgid="1111945818996518320">"जवाफ दिनुहोस्"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS पठाउनुहोस्"</string> - <string name="description_target_decline" msgid="7108154434759234035">"अस्वीकार गर्नुहोस्"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"भिडियो कलको रूपमा जवाफ दिनुहोस्"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"अडियो कलको रूपमा जवाफ दिनुहोस्"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"भिडियो अनुरोध स्वीकार गर्नुहोस्"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"भिडियो अनुरोध अस्वीकार गर्नुहोस्"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"भिडियो प्रसारण गर्ने अनुरोध स्वीकार गर्नुहोस्"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"भिडियो प्रसारण गर्ने अनुरोध अस्वीकार गर्नुहोस्"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"भिडियो प्राप्त गर्ने अनुरोधलाई स्वीकार गर्नुहोस्"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"भिडियो प्राप्त गर्ने अनुरोध अस्वीकार गर्नुहोस्"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> को लागि माथि स्लाइड गर्नुहोस्।"</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> को लागि बायाँ स्लाइड गर्नुहोस्।"</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> को लागि दायाँ स्लाइड गर्नुहोस्।"</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> को लागि तल स्लाइड गर्नुहोस्।"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"कम्पन हुने"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"कम्पन हुने"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"आवाज"</string> - <string name="default_notification_description" msgid="4950807644546509965">"पूर्वनिर्धारित ध्वनि (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"फोनको रिङटोन"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"घन्टी बज्दा कम्पन गराउनुहोस्"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"रिङटोन & कम्पन"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"सम्मेलन कलको प्रबन्ध मिलाउनुहोस्"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"आपतकालीन नम्बर"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"प्रोफाइल तस्बिर"</string> - <string name="camera_off_description" msgid="4220023868645225790">"क्यामेरा बन्द छ"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> बाट"</string> - <string name="note_sent" msgid="7623014827902758398">"नोट पठाइयो"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"भर्खरैका सन्देशहरू"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"व्यवसाय बारे जानकारी"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> माइल टाढा"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> किलोमिटर टाढा"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"भोलि <xliff:g id="OPEN_TIME">%s</xliff:g> मा खुल्छ"</string> - <string name="opens_today_at" msgid="6281212768937222891">"आज <xliff:g id="OPEN_TIME">%s</xliff:g> मा खुल्छ"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> मा बन्द हुन्छ"</string> - <string name="closed_today_at" msgid="4060072663433467233">"आज <xliff:g id="CLOSE_TIME">%s</xliff:g> मा बन्द भयो"</string> - <string name="open_now" msgid="4615706338669555999">"अहिले खुला छ"</string> - <string name="closed_now" msgid="2635314668145282080">"अब बन्द भयो"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"शंकास्पद स्प्याम कलर"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"कल समाप्त भयो %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"यो नम्बरबाट तपाईँलाई फोन आएको यो पहिलो पटक हो।"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"हामीले यो कल स्प्यामर हुन सक्ने आशङ्का गर्यौँ।"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"स्प्याम रोक्नु्/रिपोर्ट गर्ने"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"सम्पर्क थप्नुहोस्"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"स्प्याम होइन"</string> -</resources> diff --git a/InCallUI/res/values-nl/strings.xml b/InCallUI/res/values-nl/strings.xml deleted file mode 100644 index 9eaf556c0..000000000 --- a/InCallUI/res/values-nl/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefoon"</string> - <string name="onHold" msgid="527593602772521700">"In de wacht"</string> - <string name="unknown" msgid="3646075119047488748">"Onbekend"</string> - <string name="private_num" msgid="6081418498487514686">"Privénummer"</string> - <string name="payphone" msgid="5743050584468748607">"Betaaltelefoon"</string> - <string name="confCall" msgid="3181961445236675173">"Telefonische vergadering"</string> - <string name="call_lost" msgid="8208184291640961172">"Oproep beëindigd"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Luidspreker"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Oortelefoon van handset"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Bedrade headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"De volgende tonen verzenden?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Nummers verzenden\n"</string> - <string name="send_button" msgid="4054398309483035794">"Verzenden"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ja"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nee"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Jokerteken vervangen door"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Telefonische vergadering <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Voicemailnummer"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Kiezen"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Opnieuw bellen"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Telefonische vergadering"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Inkomende oproep"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Inkom. zakelijke oproep"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Oproep beëindigd"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"In de wacht"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Ophangen"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"In gesprek"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mijn nummer is <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Verbinding maken met video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videogesprek"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Video aanvragen"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Kan geen videogesprek starten"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videoverzoek geweigerd"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Je terugbelnummer\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Je terugbelnummer bij alarm\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Kiezen"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Gemiste oproep"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Gemiste oproepen"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> gemiste oproepen"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Gemiste oproep van <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Actieve oproep"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Actieve zakelijke oproep"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Actieve wifi-oproep"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Actieve zakelijke oproep via wifi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"In de wacht"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Inkomende oproep"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Inkomende zakelijke oproep"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Inkomende wifi-oproep"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Inkomende zakelijke oproep via wifi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Inkomend videogesprek"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Inkomende vermoedelijke spamoproep"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Inkomend videoverzoek"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nieuwe voicemail"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nieuwe voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> bellen"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Voicemailnummer onbekend"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Geen service"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Geselecteerd netwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) niet beschikbaar"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Beantwoorden"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Ophangen"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Spraak"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Accepteren"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Sluiten"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Terugbellen"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Bericht"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Actief gesprek op een ander apparaat"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Gesprek doorschakelen"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Als je wilt bellen, moet je eerst de vliegtuigmodus uitschakelen."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Niet geregistreerd op netwerk."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobiel netwerk niet beschikbaar."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Als je wilt bellen, moet je een geldig nummer invoeren."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Kan niet bellen."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI-reeks starten..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service wordt niet ondersteund."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Kan niet schakelen tussen oproepen."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Kan oproep niet scheiden."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Kan niet doorschakelen."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Telefonische vergadering niet mogelijk."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Kan oproep niet weigeren."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Kan oproep(en) niet vrijgeven."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-oproep"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Noodoproep"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Radio inschakelen…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Geen bereik. Opnieuw proberen…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Kan niet bellen. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is geen alarmnummer."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Kan niet bellen. Bel een alarmnummer."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Toetsen gebruiken om te bellen"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Oproep in de wacht zetten"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Oproep hervatten"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Oproep beëindigen"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Toetsenblok weergeven"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Toetsenblok verbergen"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Dempen"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Dempen opheffen"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Oproep toevoegen"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Samenvoegen"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Wisselen"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Oproepen beheren"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Telef. vergadering beheren"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Telefonische vergadering"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Beheren"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Vid.gespr."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Wijzigen in spraakoproep"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Van camera wisselen"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Camera inschakelen"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Camera uitschakelen"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Meer opties"</string> - <string name="player_started" msgid="3478865572468310331">"Speler gestart"</string> - <string name="player_stopped" msgid="1278611664986561535">"Speler gestopt"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Camera niet gereed"</string> - <string name="camera_ready" msgid="2614541247814590887">"Camera gereed"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Onbekende oproepsessiegebeurtenis"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Service"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuratie"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Niet ingesteld>"</string> - <string name="other_settings" msgid="6699076019841942826">"Andere instellingen voor bellen"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Bellen via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Inkomend via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"contactfoto"</string> - <string name="goPrivate" msgid="3554069451018659483">"privé"</string> - <string name="selectContact" msgid="92191462970821951">"contact selecteren"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Eigen reactie opstellen..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Annuleren"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Verzenden"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Beantwoorden"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Sms verzenden"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Weigeren"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Beantwoorden als videogesprek"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Beantwoorden als audiogesprek"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Videoverzoek accepteren"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Videoverzoek weigeren"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Verzoek voor video-overdracht accepteren"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Verzoek voor video-overdracht weigeren"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Verzoek voor video-ontvangst accepteren"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Verzoek voor video-ontvangst weigeren"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Veeg omhoog voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Veeg naar links voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Veeg naar rechts voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Veeg omlaag voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Trillen"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Trillen"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Geluid"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Standaardgeluid (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Beltoon telefoon"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Trillen bij bellen"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Beltoon en trillen"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Telefonische vergadering beheren"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Alarmnummer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profielfoto"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Camera uit"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Notitie verzonden"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Recente berichten"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Bedrijfsinformatie"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mijl hiervandaan"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km hiervandaan"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Gaat morgen open om <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Gaat vandaag open om <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Sluit om <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Vandaag gesloten vanaf <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Nu geopend"</string> - <string name="closed_now" msgid="2635314668145282080">"Nu gesloten"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Vermoedelijke spambeller"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Oproep beëindigd %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Dit is de eerste keer dat je bent gebeld door dit nummer."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"We vermoedden dat deze oproep afkomstig was van een spammer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blokk./spam melden"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Contact toevoegen"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Geen spam"</string> -</resources> diff --git a/InCallUI/res/values-pa/strings.xml b/InCallUI/res/values-pa/strings.xml deleted file mode 100644 index 318fc4cdc..000000000 --- a/InCallUI/res/values-pa/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ਫੋਨ"</string> - <string name="onHold" msgid="527593602772521700">"ਰੋਕੀ ਗਈ"</string> - <string name="unknown" msgid="3646075119047488748">"ਅਗਿਆਤ"</string> - <string name="private_num" msgid="6081418498487514686">"ਨਿੱਜੀ ਨੰਬਰ"</string> - <string name="payphone" msgid="5743050584468748607">"ਪੇ-ਫੋਨ"</string> - <string name="confCall" msgid="3181961445236675173">"ਕਾਨਫਰੰਸ ਕਾਲ"</string> - <string name="call_lost" msgid="8208184291640961172">"ਕਾਲ ਡ੍ਰੌਪ ਹੋਈ"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ਸਪੀਕਰ"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ਹੈੱਡਸੈੱਟ ਈਯਰਪੀਸ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"ਵਾਇਰ ਵਾਲਾ ਹੈੱਡਸੈੱਟ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"ਬਲੂਟੁੱਥ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"ਕੀ ਅੱਗੇ ਦਿੱਤੀਆਂ ਗਈਆਂ ਧੁਨੀਆਂ ਭੇਜਣੀਆਂ ਹਨ?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ਧੁਨੀਆਂ ਭੇਜੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ\n"</string> - <string name="send_button" msgid="4054398309483035794">"ਭੇਜੋ"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ਹਾਂ"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"ਨਹੀਂ"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"ਵਾਈਲਡ ਅੱਖਰ ਨੂੰ ਇਸ ਨਾਲ ਬਦਲੋ"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"ਕਾਨਫਰੰਸ ਕਾਲ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"ਵੌਇਸਮੇਲ ਨੰਬਰ"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ਡਾਇਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"ਦੁਬਾਰਾ ਡਾਇਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"ਕਾਨਫਰੰਸ ਕਾਲ"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ਆ ਰਹੀ ਕਾਲ"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ਕੰਮ ਸੰਬੰਧਿਤ ਆ ਰਹੀ ਕਾਲ"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ਕਾਲ ਸਮਾਪਤ ਹੋਈ"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ਰੋਕੀ ਗਈ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"ਰੋਕੀ ਜਾ ਰਹੀ ਹੈ"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"ਚਾਲੂ ਕਾਲ"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"ਮੇਰਾ ਨੰਬਰ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g> ਹੈ"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ਵੀਡੀਓ ਨੂੰ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ਵੀਡੀਓ ਕਾਲ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ਵੀਡੀਓ ਲਈ ਬੇਨਤੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ਵੀਡੀਓ ਕਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ਵੀਡੀਓ ਬੇਨਤੀ ਅਸਵੀਕਾਰ ਕੀਤੀ ਗਈ"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"ਤੁਹਾਡਾ ਕਾਲਬੈਕ ਨੰਬਰ \n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"ਤੁਹਾਡਾ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਨੰਬਰ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ਡਾਇਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"ਖੁੰਝੀ ਹੋਈ ਕਾਲ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"ਖੁੰਝੀਆਂ ਹੋਈਆਂ ਕਾਲਾਂ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ਖੁੰਝੀਆਂ ਹੋਈਆਂ ਕਾਲਾਂ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ਤੋਂ ਖੁੰਝੀ ਹੋਈ ਕਾਲ"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"ਜਾਰੀ ਕਾਲ"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"ਕੰਮ ਸੰਬੰਧਿਤ ਜਾਰੀ ਕਾਲ"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"ਜਾਰੀ Wi-Fi ਕਾਲ"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"ਕੰਮ ਸੰਬੰਧਿਤ ਜਾਰੀ Wi-Fi ਕਾਲ"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ਰੋਕੀ ਗਈ"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ਆ ਰਹੀ ਕਾਲ"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ਕੰਮ ਸੰਬੰਧਿਤ ਆ ਰਹੀ ਕਾਲ"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ਆ ਰਹੀ Wi-Fi ਕਾਲ"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ਕੰਮ ਸੰਬੰਧਿਤ ਆ ਰਹੀ Wi-Fi ਕਾਲ"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ਆ ਰਹੀ ਵੀਡੀਓ ਕਾਲ"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"ਸ਼ੱਕੀ ਸਪੈਮ ਕਾਲ ਆ ਰਹੀ ਹੈ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ਆ ਰਹੀ ਵੀਡੀਓ ਬੇਨਤੀ"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"ਨਵੀਂ ਵੌਇਸਮੇਲ"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"ਨਵੀਂ ਵੌਇਸਮੇਲ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ਡਾਇਲ ਕਰੋ"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ਵੌਇਸਮੇਲ ਨੰਬਰ ਅਗਿਆਤ"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"ਚੁਣਿਆ ਗਿਆ ਨੈੱਟਵਰਕ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"ਜਵਾਬ ਦਿਓ"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"ਰੋਕੋ"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ਵੀਡੀਓ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"ਵੌਇਸ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ਰੱਦ ਕਰੋ"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"ਵਾਪਸ ਕਾਲ ਕਰੋ"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"ਸੁਨੇਹਾ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ \'ਤੇ ਜਾਰੀ ਕਾਲ"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ਕਾਲ ਟ੍ਰਾਂਸਫਰ ਕਰੋ"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਜਹਾਜ਼ ਮੋਡ ਬੰਦ ਕਰੋ।"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ਨੈੱਟਵਰਕ \'ਤੇ ਰਜਿਸਟਰ ਨਹੀਂ।"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਇੱਕ ਵੈਧ ਨੰਬਰ ਦਾਖਲ ਕਰੋ।"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI ਕੜੀ ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"ਸੇਵਾ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ।"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ਕਾਲਾਂ ਸਵਿੱਚ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ।"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ਵੱਖਰੇ ਤੌਰ \'ਤੇ ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ਕਾਲ ਟ੍ਰਾਂਸਫਰ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"ਕਾਨਫਰੰਸ ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ਕਾਲ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ਕਾਲ(ਲਾਂ) ਰੀਲੀਜ਼ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ।"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP ਕਾਲ"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"ਐਮਰਜੈਂਸੀ ਕਾਲ"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ਰੇਡੀਓ ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ਇੱਕ ਐਮਰਜੈਂਸੀ ਨੰਬਰ ਨਹੀਂ ਹੈ।"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਇੱਕ ਐਮਰਜੈਂਸੀ ਨੰਬਰ ਡਾਇਲ ਕਰੋ।"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ਡਾਇਲ ਕਰਨ ਲਈ ਕੀ-ਬੋਰਡ ਵਰਤੋ"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"ਕਾਲ ਰੋਕੋ"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ਕਾਲ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ਕਾਲ ਸਮਾਪਤ ਕਰੋ"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ਡਾਇਲਪੈਡ ਵਿਖਾਓ"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ਡਾਇਲਪੈਡ ਲੁਕਾਓ"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ਮਿਊਟ ਕਰੋ"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ਅਣਮਿਊਟ ਕਰੋ"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ਕਾਲ ਸ਼ਾਮਲ ਕਰੋ"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ਕਾਲਾਂ ਸ਼ਾਮਲ ਕਰੋ"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"ਅਦਲਾ-ਬਦਲੀ ਕਰੋ"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ਕਾਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"ਕਾਨਫਰੰਸ ਕਾਲ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"ਕਾਨਫਰੰਸ ਕਾਲ"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ਔਡੀਓ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ਵੀਡੀਓ ਕਾਲ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"ਵੌਇਸ ਕਾਲ ਵਿੱਚ ਬਦਲੋ"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"ਕੈਮਰੇ \'ਤੇ ਬਦਲੋ"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"ਕੈਮਰਾ ਚਾਲੂ ਕਰੋ"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ਕੈਮਰਾ ਬੰਦ ਕਰੋ"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"ਹੋਰ ਚੋਣਾਂ"</string> - <string name="player_started" msgid="3478865572468310331">"ਪਲੇਅਰ ਸ਼ੁਰੂ ਹੋ ਗਿਆ"</string> - <string name="player_stopped" msgid="1278611664986561535">"ਪਲੇਅਰ ਰੁਕ ਗਿਆ"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"ਕੈਮਰਾ ਤਿਆਰ ਨਹੀਂ ਹੈ"</string> - <string name="camera_ready" msgid="2614541247814590887">"ਕੈਮਰਾ ਤਿਆਰ ਹੈ"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"ਅਗਿਆਤ ਕਾਲ ਸੈਸ਼ਨ ਵਰਤਾਰਾ"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"ਸੇਵਾ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"ਸਥਾਪਨਾ"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<ਸੈੱਟ ਨਹੀਂ>"</string> - <string name="other_settings" msgid="6699076019841942826">"ਹੋਰ ਕਾਲ ਸੈਟਿੰਗਾਂ"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ਰਾਹੀਂ ਕਾਲ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ਰਾਹੀਂ ਆ ਰਹੀਆਂ ਕਾਲਾਂ"</string> - <string name="contactPhoto" msgid="6028825355597675193">"ਸੰਪਰਕ ਫ਼ੋਟੋ"</string> - <string name="goPrivate" msgid="3554069451018659483">"ਨਿੱਜੀ ਵਿੱਚ ਬਦਲੋ"</string> - <string name="selectContact" msgid="92191462970821951">"ਸੰਪਰਕ ਚੁਣੋ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"ਆਪਣੇ ਆਪ ਲਿਖੋ..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"ਰੱਦ ਕਰੋ"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ਭੇਜੋ"</string> - <string name="description_target_answer" msgid="1111945818996518320">"ਜਵਾਬ ਦਿਓ"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS ਭੇਜੋ"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ਅਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ਵੀਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦਿਓ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦਿਓ"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ਵੀਡੀਓ ਬੇਨਤੀ ਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ਵੀਡੀਓ ਬੇਨਤੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ਵੀਡੀਓ ਟ੍ਰਾਂਸਮਿਟ ਬੇਨਤੀ ਨੂੰ ਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ਵੀਡੀਓ ਟ੍ਰਾਂਸਮਿਟ ਬੇਨਤੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ਵੀਡੀਓ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਨੂੰ ਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ਵੀਡੀਓ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰੋ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਲਈ ਉੱਤੇ ਸਲਾਈਡ ਕਰੋ।"</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਲਈ ਖੱਬੇ ਪਾਸੇ ਸਲਾਈਡ ਕਰੋ।"</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਲਈ ਸੱਜੇ ਪਾਸੇ ਸਲਾਈਡ ਕਰੋ।"</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ਲਈ ਹੇਠਾਂ ਸਲਾਈਡ ਕਰੋ।"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ਥਰਥਰਾਹਟ ਕਰੋ"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ਥਰਥਰਾਹਟ ਕਰੋ"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ਧੁਨੀ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਧੁਨੀ (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ਫੋਨ ਰਿੰਗਟੋਨ"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"ਘੰਟੀ ਵੱਜਣ \'ਤੇ ਥਰਥਰਾਹਟ ਕਰੋ"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"ਰਿੰਗਟੋਨ ਅਤੇ ਥਰਥਰਾਹਟ"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"ਕਾਨਫਰੰਸ ਕਾਲ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"ਐਮਰਜੈਂਸੀ ਨੰਬਰ"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"ਪ੍ਰੋਫਾਈਲ ਫ਼ੋਟੋ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ਕੈਮਰਾ ਬੰਦ ਹੈ"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> ਰਾਹੀਂ"</string> - <string name="note_sent" msgid="7623014827902758398">"ਨੋਟ-ਕਥਨ ਭੇਜਿਆ ਗਿਆ"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ਹਾਲੀਆ ਸੁਨੇਹੇ"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ਵਪਾਰ ਜਾਣਕਾਰੀ"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> ਮੀਲ ਦੂਰ"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> ਕਿ.ਮੀ. ਦੂਰ"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"ਕੱਲ੍ਹ <xliff:g id="OPEN_TIME">%s</xliff:g> ਵਜੇ ਖੁੱਲ੍ਹੇਗਾ"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ਅੱਜ <xliff:g id="OPEN_TIME">%s</xliff:g> ਵਜੇ ਖੁੱਲ੍ਹੇਗਾ"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> ਵਜੇ ਬੰਦ ਹੋਵੇਗਾ"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ਅੱਜ <xliff:g id="CLOSE_TIME">%s</xliff:g> ਵਜੇ ਬੰਦ ਹੋਇਆ"</string> - <string name="open_now" msgid="4615706338669555999">"ਹੁਣ ਖੁੱਲ੍ਹਾ ਹੈ"</string> - <string name="closed_now" msgid="2635314668145282080">"ਹੁਣ ਬੰਦ ਹੈ"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"ਸ਼ੱਕੀ ਸਪੈਮ ਕਾਲਰ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"%1$s ਦੀ ਕਾਲ ਸਮਾਪਤ ਹੋਈ"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ਇਸ ਨੰਬਰ ਤੋਂ ਤੁਹਾਨੂੰ ਪਹਿਲੀ ਵਾਰ ਕਾਲ ਪ੍ਰਾਪਤ ਹੋਈ ਹੈ।"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ਸਾਨੂੰ ਇਹ ਕਾਲ ਇੱਕ ਸਪੈਮਰ ਜਾਪਦੀ ਸੀ।"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"ਸਪੈਮ ਨੂੰ ਬਲੌਕ ਕਰੋ/ਰਿਪੋਰਟ ਕਰੋ"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"ਸੰਪਰਕ ਸ਼ਾਮਲ ਕਰੋ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"ਸਪੈਮ ਨਹੀਂ"</string> -</resources> diff --git a/InCallUI/res/values-pl/strings.xml b/InCallUI/res/values-pl/strings.xml deleted file mode 100644 index f9f78ec79..000000000 --- a/InCallUI/res/values-pl/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Wstrzymane"</string> - <string name="unknown" msgid="3646075119047488748">"Nieznany"</string> - <string name="private_num" msgid="6081418498487514686">"Numer prywatny"</string> - <string name="payphone" msgid="5743050584468748607">"Automat telefoniczny"</string> - <string name="confCall" msgid="3181961445236675173">"Połączenie konferencyjne"</string> - <string name="call_lost" msgid="8208184291640961172">"Połączenie przerwane"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Głośnik"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Słuchawka telefonu"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Przewodowy zestaw słuchawkowy"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Wysłać te tony?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Wysyłanie tonów\n"</string> - <string name="send_button" msgid="4054398309483035794">"Wyślij"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Tak"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nie"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Zastąp symbol wieloznaczny"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Połączenie konferencyjne: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Numer poczty głosowej"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Wybieranie"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ponowne wybieranie numeru"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Połączenie konferencyjne"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Połączenie przychodzące"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Przychodzące połączenie służbowe"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Połączenie zakończone"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Wstrzymane"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Rozłączanie"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Trwa połączenie"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mój numer to <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Rozpoczynanie rozmowy wideo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Rozmowa wideo"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Wysyłanie żądania wideo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Nie można nawiązać połączenia wideo"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Żądanie wideo zostało odrzucone"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Twój numer oddzwaniania\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Twój numer oddzwaniania dla połączeń alarmowych\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Wybieranie"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Nieodebrane połączenie"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Nieodebrane połączenia"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Nieodebrane połączenia: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Nieodebrane połączenie od: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Trwa połączenie"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Trwa połączenie służbowe"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Trwa połączenie przez Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Trwa połączenie służbowe przez Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Wstrzymane"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Połączenie przychodzące"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Przychodzące połączenie służbowe"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Przychodzące połączenie przez Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Przychodzące połączenie służbowe przez Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Przychodząca rozmowa wideo"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Przychodzące połączenie podejrzanie o spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Przychodzące żądanie wideo"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nowa poczta głosowa"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nowa poczta głosowa (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Wybierz numer <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nieznany numer poczty głosowej"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Brak usługi"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Wybrana sieć (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) jest niedostępna"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Odbierz"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Rozłącz"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Wideo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Głos"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Zaakceptuj"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Odrzuć"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Oddzwoń"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Wyślij SMS-a"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Trwająca rozmowa na innym urządzeniu"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Przełącz rozmowę"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Aby rozpocząć połączenie, wyłącz najpierw tryb samolotowy."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Nie zarejestrowano w sieci."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Sieć komórkowa jest niedostępna."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Aby zadzwonić, wybierz prawidłowy numer."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Nie można dzwonić."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Rozpoczynam sekwencję MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Usługa nie jest obsługiwana."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Nie można przełączyć połączeń."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Nie można rozdzielić połączenia."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Nie można przekazać."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Nie można nawiązać połączenia konferencyjnego."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Nie można odrzucić połączenia."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Nie można zwolnić połączeń."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Połączenie SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Połączenie alarmowe"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Włączam radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Brak sieci. Próbuję ponownie…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Nie można dzwonić. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nie jest numerem alarmowym."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Nie można dzwonić. Wybierz numer alarmowy."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Aby zadzwonić, użyj klawiatury"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Wstrzymaj połączenie"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Wznów połączenie"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Zakończ połączenie"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Pokaż klawiaturę"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ukryj klawiaturę"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Wycisz"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Wyłącz wyciszenie"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Dodaj połączenie"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Scal połączenia"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Przełącz"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Zarządzaj połączeniami"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Zarządzaj połączeniem konferencyjnym"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Połączenie konferencyjne"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Zarządzaj"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Dźwięk"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Rozmowa wideo"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Zmień na połączenie głosowe"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Przełącz kamerę"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Włącz kamerę"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Wyłącz kamerę"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Więcej opcji"</string> - <string name="player_started" msgid="3478865572468310331">"Odtwarzacz włączony"</string> - <string name="player_stopped" msgid="1278611664986561535">"Odtwarzacz zatrzymany"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera niegotowa"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera gotowa"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Nieznane zdarzenie sesji połączenia"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Usługa"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Konfiguracja"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nie ustawiono>"</string> - <string name="other_settings" msgid="6699076019841942826">"Inne ustawienia połączeń"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Nawiązywanie połączenia przez <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Przychodzące z sieci <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"zdjęcie kontaktu"</string> - <string name="goPrivate" msgid="3554069451018659483">"przejdź do rozmowy prywatnej"</string> - <string name="selectContact" msgid="92191462970821951">"wybierz kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napisz własną..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Anuluj"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Wyślij"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Odbierz"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Wyślij SMS-a"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Odrzuć"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Odbierz jako rozmowę wideo"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Odbierz jako rozmowę audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Zaakceptuj żądanie wideo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Odrzuć żądanie wideo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Zaakceptuj wysyłanie obrazu wideo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Odrzuć wysyłanie obrazu wideo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Zaakceptuj odbieranie obrazu wideo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Odrzuć odbieranie obrazu wideo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Przesuń w górę: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Przesuń w lewo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Przesuń w prawo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Przesuń w dół: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Wibracje"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Wibracje"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Dźwięk"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Domyślny dźwięk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Dzwonek telefonu"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Wibracje z dzwonkiem"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Dzwonek i wibracje"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Zarządzaj połączeniem konferencyjnym"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Numer alarmowy"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Zdjęcie profilowe"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera wyłączona"</string> - <string name="child_number" msgid="4469090994612105532">"z <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Notatka wysłana"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Ostatnie wiadomości"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informacje o firmie"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mil(e) stąd"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km stąd"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>-<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Otwarte jutro od <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Otwarte dzisiaj od <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zamknięte od <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Zamknięte dzisiaj od <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Teraz otwarte"</string> - <string name="closed_now" msgid="2635314668145282080">"Teraz zamknięte"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Podejrzenie spamu"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Połączenie zakończone (%1$s)"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"To pierwsze połączenie z tego numeru."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Podejrzewamy, że to połączenie to spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Zablokuj/zgłoś spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Dodaj kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"To nie spam"</string> -</resources> diff --git a/InCallUI/res/values-pt-rBR/strings.xml b/InCallUI/res/values-pt-rBR/strings.xml deleted file mode 100644 index 5271f54cc..000000000 --- a/InCallUI/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefone"</string> - <string name="onHold" msgid="527593602772521700">"Em espera"</string> - <string name="unknown" msgid="3646075119047488748">"Desconhecido"</string> - <string name="private_num" msgid="6081418498487514686">"Número privado"</string> - <string name="payphone" msgid="5743050584468748607">"Chamada a cobrar"</string> - <string name="confCall" msgid="3181961445236675173">"Teleconferência"</string> - <string name="call_lost" msgid="8208184291640961172">"A chamada caiu."</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Alto-falante"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Minifone do aparelho"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Fone de ouvido com fio"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Enviar os seguintes tons?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Enviando tons\n"</string> - <string name="send_button" msgid="4054398309483035794">"Enviar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sim"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Não"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Substituir caractere curinga por"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Teleconferência <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número do correio de voz"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Discando"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Rediscando"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Teleconferência"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Chamada recebida"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Chamada trabalho recebida"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Chamada encerrada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Em espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Desligando"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Em chamada"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Meu número é <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Conectando vídeo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videochamada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Solicitando vídeo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Não é possível conectar a videochamada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Solicitação de vídeo rejeitada"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Seu número de retorno de chamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Seu número de retorno de chamada de emergência\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Discando"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Chamada perdida"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Chamadas perdidas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas perdidas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Chamanda em andamento"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Chamada de trabalho em andamento"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Chamada por Wi-Fi em andamento"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Chamada de trabalho por Wi-Fi em andamento"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Em espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Chamada recebida"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Chamada de trabalho recebida"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Chamada por Wi-Fi recebida"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Chamada de trabalho recebida por Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videochamada recebida"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Chamada recebida suspeita (spam)"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Solicitação de vídeo recebida"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Novo correio de voz"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Novo correio de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Discar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número correio de voz desconhecido"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sem serviço"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"A rede selecionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) está indisponível"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Atender"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Desligar"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vídeo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voz"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aceitar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Dispensar"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Retor. cham."</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensagem"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Chamada em andamento em outro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Para fazer uma chamada, primeiro desative o modo avião."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Não registrado na rede."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede celular não disponível."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Para realizar uma chamada, digite um número válido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Não é possível realizar chamadas."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Iniciando sequência MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Serviço não compatível."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Não é possível alternar as chamadas."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Não é possível separar a chamada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Não é possível transferir a chamada."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Não é possível fazer uma conferência."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Não é possível rejeitar a chamada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Não é possível liberar chamadas."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Chamada SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Chamada de emergência"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Ativando o rádio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Sem serviço. Tentando novamente..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Não é possível realizar chamadas. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Não é possível realizar chamadas. Disque um número de emergência."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Use o teclado para discar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Colocar chamada em espera"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Retomar chamada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Encerrar chamada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostrar teclado"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ocultar teclado"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Desativar som"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Ativar som"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Adicionar chamada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Juntar chamadas"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Trocar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gerenciar chamadas"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gerenciar teleconferência"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Teleconferência"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gerenciar"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Áudio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videocham."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Alterar para chamada de voz"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Alternar câmera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ativar câmera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desativar câmera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Mais opções"</string> - <string name="player_started" msgid="3478865572468310331">"Player iniciado"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player interrompido"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"A câmera não está pronta"</string> - <string name="camera_ready" msgid="2614541247814590887">"Câmera pronta"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento de sessão de chamada desconhecido"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Serviço"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuração"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Não definido>"</string> - <string name="other_settings" msgid="6699076019841942826">"Outras configurações de chamada"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Chamando via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Chamada de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto do contato"</string> - <string name="goPrivate" msgid="3554069451018659483">"conversar em particular"</string> - <string name="selectContact" msgid="92191462970821951">"selecionar contato"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escreva sua resposta..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancelar"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Enviar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Atender"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Enviar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Recusar"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Atender como videochamada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Atender como chamada de áudio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Aceitar solicitação de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Recusar solicitação de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Aceitar solicitação de transmissão de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Recusar solicitação de transmissão de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Aceitar solicitação de recebimento de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Recusar solicitação de recebimento de vídeo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para cima."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a esquerda."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a direita."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para baixo."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Som"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Som padrão (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Toque do telefone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar ao tocar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Toque e vibração"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gerenciar teleconferência"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número de emergência"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto do perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Câmera desligada"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota enviada"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mensagens recentes"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informações sobre a empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> milhas de distância"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km de distância"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Abre amanhã às <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Abre hoje às <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Fecha às <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Fechou hoje às <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Aberto agora"</string> - <string name="closed_now" msgid="2635314668145282080">"Fechado agora"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Autor suspeito (spam)"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Chamada encerra %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Esta é a primeira vez que este número ligou para você."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Suspeitamos que esta chamada seja de um criador de spams."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloq./denunciar spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Adicionar contato"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Não é spam"</string> -</resources> diff --git a/InCallUI/res/values-pt-rPT/strings.xml b/InCallUI/res/values-pt-rPT/strings.xml deleted file mode 100644 index 2a04556fe..000000000 --- a/InCallUI/res/values-pt-rPT/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefone"</string> - <string name="onHold" msgid="527593602772521700">"Em espera"</string> - <string name="unknown" msgid="3646075119047488748">"Desconhecido"</string> - <string name="private_num" msgid="6081418498487514686">"Número privado"</string> - <string name="payphone" msgid="5743050584468748607">"Telefone público"</string> - <string name="confCall" msgid="3181961445236675173">"Conferência"</string> - <string name="call_lost" msgid="8208184291640961172">"A chamada caiu"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altifalante"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Auricular do telefone"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Auscultadores com fios"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Pretende enviar os seguintes tons?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"A enviar tons\n"</string> - <string name="send_button" msgid="4054398309483035794">"Enviar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sim"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Não"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Substituir o caráter universal por"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conferência <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número do correio de voz"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"A marcar"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"A remarcar"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conferência"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Chamada recebida"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Chamada de trab. recebida"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Chamada terminada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Em espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"A desligar"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Numa chamada"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"O meu número é <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"A ligar vídeo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videochamada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"A solicitar vídeo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Não é possível ligar a videochamada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Pedido de vídeo rejeitado"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"O seu número de retorno de chamadas\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"O seu número de retorno de chamadas de emergência\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"A marcar"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Chamada não atendida"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Chamadas não atendidas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas não atendidas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Chamada não atendida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Chamada em curso"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Chamada de trabalho em curso"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Chamada Wi-Fi em curso"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Chamada de trabalho via Wi-Fi em curso"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Em espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Chamada recebida"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Chamada de trab. recebida"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Chamada Wi-Fi recebida"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Chamada de trabalho recebida via Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videochamada recebida"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"A receber chamada spam suspeita"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Pedido de vídeo recebido"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nova mensagem de correio de voz"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nova mensagem de correio de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Marcar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número do correio de voz desconhecido"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sem serviço"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Rede selecionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) indisponível"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Atender"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Desligar"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vídeo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voz"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aceitar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ignorar"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ligar de volta"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensagem"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Chamada em curso noutro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Para efetuar uma chamada, desative primeiro o Modo de avião."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Sem registo na rede."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede móvel não disponível."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Para efetuar uma chamada, introduza um número válido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Não é possível telefonar."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"A iniciar sequência de MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Serviço não suportado."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Não é possível alternar entre chamadas."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Não é possível separar a chamada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Não é possível transferir."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Não é possível efetuar uma conferência."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Não é possível rejeitar a chamada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Não é possível libertar as chamadas."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Chamada SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Chamada de emergência"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"A ligar o rádio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Sem serviço. A tentar novamente…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Não é possível telefonar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Não é possível telefonar. Marque um número de emergência."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Utilizar o teclado para marcar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Colocar chamada em espera"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Retomar chamada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Terminar chamada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostrar o teclado"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ocultar o teclado"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Desativar som"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Reativar o som"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Adicionar chamada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Intercalar chamadas"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Trocar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gerir chamadas"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gerir conferência"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conferência"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gerir"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Áudio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videochamada"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Mudar para chamada de voz"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Trocar câmara"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ativar câmara"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desativar câmara"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Mais opções"</string> - <string name="player_started" msgid="3478865572468310331">"Leitor iniciado"</string> - <string name="player_stopped" msgid="1278611664986561535">"Leitor interrompido"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"A câmara não está pronta"</string> - <string name="camera_ready" msgid="2614541247814590887">"Câmara pronta"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento de sessão de chamada desconhecido"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Serviço"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuração"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Não definido>"</string> - <string name="other_settings" msgid="6699076019841942826">"Outras definições de chamadas"</string> - <string name="calling_via_template" msgid="3539373093109976255">"A telefonar através de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Recebidas através de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto do contacto"</string> - <string name="goPrivate" msgid="3554069451018659483">"tornar privado"</string> - <string name="selectContact" msgid="92191462970821951">"selecionar contacto"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escreva a sua própria..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancelar"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Enviar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Atender"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Enviar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Recusar"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Atender como videochamada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Atender como chamada de áudio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Aceitar pedido de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Recusar pedido de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Aceitar pedido para transmitir vídeo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Recusar pedido para transmitir vídeo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Aceitar pedido para receber vídeo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Recusar pedido para receber vídeo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Deslize lentamente para cima para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Deslize lentamente para a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Deslize lentamente para a direita para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Deslize lentamente para baixo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Som"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Som predefinido (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Toque do telemóvel"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar ao tocar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Tocar e vibrar"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gerir conferência"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número de emergência"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto do perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Câmara desligada"</string> - <string name="child_number" msgid="4469090994612105532">"através de <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota enviada"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mensagens recentes"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informações da empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"A <xliff:g id="DISTANCE">%.1f</xliff:g> milhas de distância"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"A <xliff:g id="DISTANCE">%.1f</xliff:g> km de distância"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Abre amanhã às <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Abre hoje às <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Fecha às <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Fechou hoje às <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Aberto agora"</string> - <string name="closed_now" msgid="2635314668145282080">"Fechado agora"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Chmd. spam suspeita"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Chamada terminada: %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"É a primeira vez que este número lhe liga."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Suspeitamos que a pessoa que fez esta chamada seja um spammer."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloq./denunciar spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Adicionar contacto"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Não é spam"</string> -</resources> diff --git a/InCallUI/res/values-pt/strings.xml b/InCallUI/res/values-pt/strings.xml deleted file mode 100644 index 5271f54cc..000000000 --- a/InCallUI/res/values-pt/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefone"</string> - <string name="onHold" msgid="527593602772521700">"Em espera"</string> - <string name="unknown" msgid="3646075119047488748">"Desconhecido"</string> - <string name="private_num" msgid="6081418498487514686">"Número privado"</string> - <string name="payphone" msgid="5743050584468748607">"Chamada a cobrar"</string> - <string name="confCall" msgid="3181961445236675173">"Teleconferência"</string> - <string name="call_lost" msgid="8208184291640961172">"A chamada caiu."</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Alto-falante"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Minifone do aparelho"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Fone de ouvido com fio"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Enviar os seguintes tons?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Enviando tons\n"</string> - <string name="send_button" msgid="4054398309483035794">"Enviar"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Sim"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Não"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Substituir caractere curinga por"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Teleconferência <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Número do correio de voz"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Discando"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Rediscando"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Teleconferência"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Chamada recebida"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Chamada trabalho recebida"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Chamada encerrada"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Em espera"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Desligando"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Em chamada"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Meu número é <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Conectando vídeo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videochamada"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Solicitando vídeo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Não é possível conectar a videochamada"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Solicitação de vídeo rejeitada"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Seu número de retorno de chamada\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Seu número de retorno de chamada de emergência\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Discando"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Chamada perdida"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Chamadas perdidas"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas perdidas"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Chamanda em andamento"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Chamada de trabalho em andamento"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Chamada por Wi-Fi em andamento"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Chamada de trabalho por Wi-Fi em andamento"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Em espera"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Chamada recebida"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Chamada de trabalho recebida"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Chamada por Wi-Fi recebida"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Chamada de trabalho recebida por Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Videochamada recebida"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Chamada recebida suspeita (spam)"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Solicitação de vídeo recebida"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Novo correio de voz"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Novo correio de voz (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Discar <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Número correio de voz desconhecido"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Sem serviço"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"A rede selecionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) está indisponível"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Atender"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Desligar"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Vídeo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Voz"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Aceitar"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Dispensar"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Retor. cham."</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensagem"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Chamada em andamento em outro dispositivo"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferir chamada"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Para fazer uma chamada, primeiro desative o modo avião."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Não registrado na rede."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rede celular não disponível."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Para realizar uma chamada, digite um número válido."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Não é possível realizar chamadas."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Iniciando sequência MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Serviço não compatível."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Não é possível alternar as chamadas."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Não é possível separar a chamada."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Não é possível transferir a chamada."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Não é possível fazer uma conferência."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Não é possível rejeitar a chamada."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Não é possível liberar chamadas."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Chamada SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Chamada de emergência"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Ativando o rádio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Sem serviço. Tentando novamente..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Não é possível realizar chamadas. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Não é possível realizar chamadas. Disque um número de emergência."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Use o teclado para discar"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Colocar chamada em espera"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Retomar chamada"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Encerrar chamada"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Mostrar teclado"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ocultar teclado"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Desativar som"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Ativar som"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Adicionar chamada"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Juntar chamadas"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Trocar"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gerenciar chamadas"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gerenciar teleconferência"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Teleconferência"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gerenciar"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Áudio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videocham."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Alterar para chamada de voz"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Alternar câmera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Ativar câmera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Desativar câmera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Mais opções"</string> - <string name="player_started" msgid="3478865572468310331">"Player iniciado"</string> - <string name="player_stopped" msgid="1278611664986561535">"Player interrompido"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"A câmera não está pronta"</string> - <string name="camera_ready" msgid="2614541247814590887">"Câmera pronta"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Evento de sessão de chamada desconhecido"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Serviço"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configuração"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Não definido>"</string> - <string name="other_settings" msgid="6699076019841942826">"Outras configurações de chamada"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Chamando via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Chamada de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"foto do contato"</string> - <string name="goPrivate" msgid="3554069451018659483">"conversar em particular"</string> - <string name="selectContact" msgid="92191462970821951">"selecionar contato"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Escreva sua resposta..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Cancelar"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Enviar"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Atender"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Enviar SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Recusar"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Atender como videochamada"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Atender como chamada de áudio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Aceitar solicitação de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Recusar solicitação de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Aceitar solicitação de transmissão de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Recusar solicitação de transmissão de vídeo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Aceitar solicitação de recebimento de vídeo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Recusar solicitação de recebimento de vídeo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para cima."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a esquerda."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a direita."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para baixo."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrar"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrar"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Som"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Som padrão (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Toque do telefone"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrar ao tocar"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Toque e vibração"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gerenciar teleconferência"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Número de emergência"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Foto do perfil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Câmera desligada"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota enviada"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mensagens recentes"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informações sobre a empresa"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> milhas de distância"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km de distância"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Abre amanhã às <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Abre hoje às <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Fecha às <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Fechou hoje às <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Aberto agora"</string> - <string name="closed_now" msgid="2635314668145282080">"Fechado agora"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Autor suspeito (spam)"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Chamada encerra %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Esta é a primeira vez que este número ligou para você."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Suspeitamos que esta chamada seja de um criador de spams."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloq./denunciar spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Adicionar contato"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Não é spam"</string> -</resources> diff --git a/InCallUI/res/values-ro/strings.xml b/InCallUI/res/values-ro/strings.xml deleted file mode 100644 index ca0036d0d..000000000 --- a/InCallUI/res/values-ro/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"În așteptare"</string> - <string name="unknown" msgid="3646075119047488748">"Necunoscut"</string> - <string name="private_num" msgid="6081418498487514686">"Număr privat"</string> - <string name="payphone" msgid="5743050584468748607">"Telefon public"</string> - <string name="confCall" msgid="3181961445236675173">"Conferință telefonică"</string> - <string name="call_lost" msgid="8208184291640961172">"Apelul s-a încheiat"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Difuzor"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Casca receptorului"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Set căști-microfon cu fir"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Trimiteți următoarele tonuri?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Se trimit tonuri\n"</string> - <string name="send_button" msgid="4054398309483035794">"Trimiteți"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Da"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nu"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Înlocuiți metacaracterul cu"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conferință telefonică <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Numărul mesageriei vocale"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Se apelează"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Se reapelează"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conferință telefonică"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Apel primit"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Apel de serviciu primit"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Apel încheiat"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"În așteptare"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Se încheie apelul"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Apel în desfășurare"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Numărul meu este <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Se conectează apelul video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Apel video"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Se solicită apel video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Nu se poate conecta apelul video"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Solicitarea pentru apel video a fost respinsă"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Numărul de apelare inversă\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Numărul de apelare inversă de urgență\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Se apelează"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Apel nepreluat"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Apeluri nepreluate"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> (de) apeluri nepreluate"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Apel nepreluat de la <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Apel în desfășurare"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Apel de serviciu în desfășurare"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Apel prin Wi-Fi în desfășurare"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Apel de serviciu prin Wi-Fi în desfășurare"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"În așteptare"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Apel primit"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Apel de serviciu primit"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Apel prin Wi-Fi primit"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Apel de serviciu prin Wi-Fi primit"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Apel video primit"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Un apel primit posibil spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Solicitare de trecere la apel video"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Mesaj vocal nou"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Mesaj vocal nou (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Apelați <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Numărul mesageriei vocale este necunoscut"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Fără semnal"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Rețeaua selectată (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nu este disponibilă"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Răspundeți"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Încheiați apelul"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Apel video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Apel vocal"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Acceptați"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Refuzați"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Apelați înapoi"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Trimiteți mesaj"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Apel în curs pe alt dispozitiv"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transferați apelul"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Pentru a apela, mai întâi dezactivați modul Avion."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Neînregistrat în rețea."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rețeaua mobilă nu este disponibilă."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Pentru a apela, introduceți un număr valid."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Nu se poate apela."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Se pornește secvența MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Serviciul nu este acceptat."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Apelurile nu pot fi comutate."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Apelul nu poate fi separat."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Nu se poate transfera."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Conferința telefonică nu poate fi inițiată."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Apelul nu poate fi respins."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Apelurile nu pot fi eliberate."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Apel SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Apel de urgență"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Se activează radio…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Fără semnal. Se încearcă din nou…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Nu se poate apela. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nu este un număr de urgență."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Nu se poate apela. Formați un număr de urgență."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Folosiți tastatura pentru a apela"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Puneți apelul în așteptare"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Reluați apelul"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Încheiați apelul"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Afișează tastatura numerică"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ascunde tastatura numerică"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Dezactivează sunetul"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Activează sunetul"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Adăugați un apel"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Îmbinați apelurile"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Schimbați"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Gestionați apelurile"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Gestionați conferința telefonică"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conferință telefonică"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Gestionați"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Apel video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Treceți la apel vocal"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Comutați camera foto"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Activați camera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Dezactivați camera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Mai multe opțiuni"</string> - <string name="player_started" msgid="3478865572468310331">"Playerul a pornit"</string> - <string name="player_stopped" msgid="1278611664986561535">"Playerul s-a oprit"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Camera foto nu este pregătită"</string> - <string name="camera_ready" msgid="2614541247814590887">"Camera foto este pregătită"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Eveniment necunoscut privind o sesiune de apeluri"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Furnizor de servicii"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Configurați"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nesetat>"</string> - <string name="other_settings" msgid="6699076019841942826">"Alte setări de apel"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Se apelează prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Primite prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotografia persoanei de contact"</string> - <string name="goPrivate" msgid="3554069451018659483">"treceți în modul privat"</string> - <string name="selectContact" msgid="92191462970821951">"selectați o persoană de contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Scrieți propriul răspuns…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Anulați"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Trimiteți"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Răspundeți"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Trimiteți SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Refuzați"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Răspundeți ca apel video"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Răspundeți ca apel audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Acceptați solicitarea de a trece la apel video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Refuzați solicitarea de a trece la apel video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Acceptați solicitarea de a transmite conținut video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Refuzați solicitarea de a transmite conținut video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Acceptați solicitarea de a primi conținut video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Refuzați solicitarea de a primi conținut video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Glisați în sus ca să <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Glisați spre stânga ca să <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Glisați spre dreapta ca să <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Glisați în jos ca să <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrații"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrații"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Sunet"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Sunet prestabilit (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ton de sonerie pentru telefon"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrează când sună"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ton de sonerie și vibrații"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Gestionați conferința telefonică"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Număr de urgență"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Fotografie de profil"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Camera foto este oprită"</string> - <string name="child_number" msgid="4469090994612105532">"pe <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Nota a fost trimisă"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mesaje recente"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informații despre companie"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mi distanță"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km distanță"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Deschide mâine la <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Deschide astăzi la <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Închide la <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"A închis astăzi la <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Acum este deschis"</string> - <string name="closed_now" msgid="2635314668145282080">"Acum este închis"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Posibil apelant spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Apelul s-a încheiat %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Aceasta este prima dată când ați primit apel de la acest număr."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Suspectăm că acesta este un apel spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blocați/raportați"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Adăugați persoana"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Nu este spam"</string> -</resources> diff --git a/InCallUI/res/values-ru/strings.xml b/InCallUI/res/values-ru/strings.xml deleted file mode 100644 index 552ad4d02..000000000 --- a/InCallUI/res/values-ru/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Телефон"</string> - <string name="onHold" msgid="527593602772521700">"На удержании"</string> - <string name="unknown" msgid="3646075119047488748">"Неизвестный абонент"</string> - <string name="private_num" msgid="6081418498487514686">"Скрытый номер"</string> - <string name="payphone" msgid="5743050584468748607">"Телефон-автомат"</string> - <string name="confCall" msgid="3181961445236675173">"Конференц-вызов"</string> - <string name="call_lost" msgid="8208184291640961172">"Звонок сброшен"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Динамик"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Динамик гарнитуры"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Проводная гарнитура"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Отправить следующие тоны?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Отправка тональных сигналов\n"</string> - <string name="send_button" msgid="4054398309483035794">"Отправить"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Да"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Нет"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Заменить универсальный символ на"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Конференц-вызов: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Номер голосовой почты"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Набор номера…"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Повторный вызов"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конференц-вызов"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Входящий вызов"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Входящий вызов (работа)"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Вызов завершен"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"На удержании"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Завершение разговора"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Вызов"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Мой номер: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Подключение видео"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Видеовызов"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Запрос видео"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Не удалось совершить видеовызов"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Видеовызов отклонен"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Номер обратного вызова:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Номер обратного вызова для экстренных служб:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Набор номера…"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Пропущенный вызов"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Пропущенные вызовы"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Пропущенных вызовов: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Пропущенные вызовы от абонента <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Текущий вызов"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Текущий звонок (работа)"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Текущий Wi-Fi-звонок"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Текущий Wi-Fi-звонок (работа)"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"На удержании"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Входящий вызов"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Входящий вызов (работа)"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Входящий Wi-Fi-звонок"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Входящий Wi-Fi-звонок (работа)"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Входящий видеовызов"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Входящий вызов: подозрение на спам"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Входящий видеовызов"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Новое сообщение голосовой почты"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Новое сообщение голосовой почты (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Набрать номер <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Номер голосовой почты неизвестен"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Нет сигнала"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Выбранная сеть (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) недоступна."</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Ответить"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Завершить"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Видео"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Голос"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Разрешить"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Закрыть"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Перезвонить"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Написать SMS"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Вы участвуете в разговоре на другом устройстве"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Перевести на это устройство"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Отключите режим полета."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Нет регистрации в сети."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобильная сеть недоступна."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Недействительный номер."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Не удалось позвонить."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Запуск последовательности MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Сервис не поддерживается."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Не удалось переключить вызов."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Не удалось разделить вызов."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Не удалось перенести."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Не удалось выполнить конференц-вызов."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Не удалось отклонить вызов."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Не удалось разъединить."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Вызов SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Экстренный вызов"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Включение радио…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Нет сигнала. Повторная попытка…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Не удалось позвонить. Номер <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не принадлежит экстренным службам."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Не удалось позвонить. Наберите номер экстренных служб."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Используйте клавиатуру для набора номера"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Удерживать вызов"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Возобновить вызов"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Завершить вызов"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Показать панель набора номера"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Скрыть панель набора номера"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Выключить звук"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Включить звук"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Добавить вызов"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Объединить вызовы"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Перевести звонок"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Управление вызовами"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Настройка конференц-связи"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конференц-вызов"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Управление"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Видеовызов"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Отключить видео"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Сменить камеру"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Включить камеру"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Выключить камеру"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Другие настройки"</string> - <string name="player_started" msgid="3478865572468310331">"Видеоплеер включен"</string> - <string name="player_stopped" msgid="1278611664986561535">"Видеоплеер отключен"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камера недоступна"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камера доступна"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Неизвестное событие сеанса связи"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Служба"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Настройка"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Не задано>"</string> - <string name="other_settings" msgid="6699076019841942826">"Другие настройки вызовов"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Звонок через <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Входящий вызов (оператор: <xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string> - <string name="contactPhoto" msgid="6028825355597675193">"фотография контакта"</string> - <string name="goPrivate" msgid="3554069451018659483">"приватная конференция"</string> - <string name="selectContact" msgid="92191462970821951">"выбрать контакт"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Ваш ответ…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Отмена"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Отправить"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Ответить"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Отправить SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Отклонить"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Ответить с видео"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Ответить на голосовой вызов"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Ответить на видеовызов"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Отклонить видеовызов"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Разрешить передачу видео"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Отклонить передачу видео"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Принять видео"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Отклонить видео"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Проведите вверх, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Проведите влево, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Проведите вправо, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Проведите вниз, чтобы <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Вибросигнал"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Вибросигнал"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Звук"</string> - <string name="default_notification_description" msgid="4950807644546509965">"По умолчанию (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Рингтон"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Вибросигнал и рингтон"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Мелодия звонка и вибросигнал"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Настройка конференц-связи"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Экстренная служба"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Фото профиля"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камера отключена"</string> - <string name="child_number" msgid="4469090994612105532">"через <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Сообщение отправлено"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Недавние сообщения"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Информация о компании"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> мил."</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> км"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Откроется завтра в <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Откроется сегодня в <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Работает до <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Сегодня не работает с <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Сейчас открыто"</string> - <string name="closed_now" msgid="2635314668145282080">"Сейчас закрыто"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Подозрение на спам"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Вызов завершен (%1$s)"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Это первый вызов с этого номера."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Похоже, этот вызов – спам."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Заблокировать/в спам"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Добавить контакт"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Не спам"</string> -</resources> diff --git a/InCallUI/res/values-si/strings.xml b/InCallUI/res/values-si/strings.xml deleted file mode 100644 index de0267a58..000000000 --- a/InCallUI/res/values-si/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"දුරකථනය"</string> - <string name="onHold" msgid="527593602772521700">"රඳවා ගනිමින්"</string> - <string name="unknown" msgid="3646075119047488748">"නොදනී"</string> - <string name="private_num" msgid="6081418498487514686">"රහසිගත අංකය"</string> - <string name="payphone" msgid="5743050584468748607">"පේෆෝනය"</string> - <string name="confCall" msgid="3181961445236675173">"සම්මන්ත්රණ ඇමතුම"</string> - <string name="call_lost" msgid="8208184291640961172">"ඇමතුම නැවතුණි"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"නාදකය"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"හෑන්ඩ්සෙටයේ සවන් කඬ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"රැහැන් සහිත හෙඩ්සෙටය"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"බ්ලූටූත්"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"පහත නාද යවන්නද?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"නාද යවමින්\n"</string> - <string name="send_button" msgid="4054398309483035794">"යවන්න"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ඔව්"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"නැත"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"අනුලකුණ ප්රතිස්ථාපනය කරන්නේ"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"සම්මන්ත්රණ ඇමතුම <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"හඬ තැපැල් අංකය"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ඩයල් කරමින්"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"නැවත ඩයල් කරමින්"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"සම්මන්ත්රණ ඇමතුම"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"එන ඇමතුම"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"එන කාර්යාල ඇමතුම"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"ඇමතුම අවසන් විය"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"රඳවා ගනිමින්"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"විසන්ධි කරමින්"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"ඇමතුමක"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"මගේ අංකය <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"වීඩියෝවකට සම්බන්ධ කරමින්"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"වීඩියෝ ඇමතුම"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"වීඩියෝවක් ඉල්ලමින්"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"වීඩියෝ ඇමතුම සම්බන්ධ කළ නොහැක"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"වීඩියෝ ඉල්ලීම ප්රතික්ෂේප කරන ලදී"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"ඔබේ පසුඇමතුම් අංකය\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"ඔබගේ හදිසි පසුඇමතුම් අංකය\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ඩයල් කරමින්"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"මඟ හැරුණු ඇමතුම"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"මඟ හැරුණු ඇමතුම්"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"මඟ හැරුණු ඇමතුම් <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> වෙතින් මඟ හැරුණු ඇමතුම"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"කරගෙන යන ඇමතුම"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"කරගෙන යන කාර්යාල ඇමතුම"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"දැනට කරගෙන යන Wi-Fi ඇමතුම"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"කරගෙන යන Wi-Fi කාර්යාල ඇමතුම"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"රඳවා ගනිමින්"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"එන ඇමතුම"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"එන කාර්යාල ඇමතුම"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"එන Wi-Fi ඇමතුම"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"එන Wi-Fi කාර්යාල ඇමතුම"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"එන වීඩියෝ ඇමතුම"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"එන සැකසහිත අයාචිත තැපැල් ඇමතුම"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"එන වීඩියෝ ඉල්ලීම"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"නව හඬ තැපෑල"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"නව හඬ තැපැල් (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ඩයල් කරන්න"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"හඬ තැපැල් අංකය නොදනී"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"සේවාව නැත"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"තෝරා ඇති ජාලය (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) නොමැත"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"පිළිතුරු දෙන්න"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"විසන්ධි කරන්න"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"වීඩියෝව"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"හඬ"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"පිළිගන්න"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"අස් කරන්න"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"පසුඇමතුම"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"පණිවිඩය"</string> - <string name="notification_external_call" msgid="5611236780302924816">"වෙනත් උපාංගයක සිදු වන ඇමතුම"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"ඇමතුම මාරු කරන්න"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"ඇමතුමක් ගැනීමට, මුලින්ම ගුවන් යානා ප්රකාරය ක්රියාවිරහිත කරන්න."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ජාලය මත ලියාපදිංචි වී නැත."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"සෙලියුලර් ජාලය නොතිබේ."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"ඇමතුමක් ගැනීමට, වලංගු අංකයක් ඇතුළු කරන්න."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"ඇමතුම් ගැනීමට නොහැක."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI අනුපිළිවෙළ ආරම්භ කරමින්…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"සේවාවට සහාය දක්වන්නේ නැත."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ඇමතුම් මාරු කිරීම කළ නොහැක."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ඇමතුම වෙන් කිරීම කළ නොහැක."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"මාරු කිරීමට නොහැක."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"සම්මන්ත්රණය කළ නොහැක."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ඇමතුම ප්රතික්ෂේප කළ නොහැක."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ඇමතුම(ම්) මුදාහැරීම කළ නොහැක."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP ඇමතුම"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"හදිසි ඇමතුම"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"රේඩියෝව ක්රියාත්මක කරමින්…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"සේවාව නැත. නැවත උත්සාහ කරමින්…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"ඇමතීමට නොහැකිය. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> මෙය හදිසි ඇමතුම් අංකයක් නොවේ."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"ඇමතිය නොහැක. හදිසි අංකයක් අමතන්න."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ඩයල් කිරීමට යතුරු පුවරුව භාවිත කරන්න"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"ඇමතුම රඳවා ගන්න"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"ඇමතුම නැවත පටන් ගන්න"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"ඇමතුම අවසන් කරන්න"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ඇමතුම් පෑඩය පෙන්වන්න"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ඇමතුම් පෑඩය සඟවන්න"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"නිහඬ කරන්න"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"නිහඬ කිරීම ඉවත් කරන්න"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"ඇමතුමක් එක් කරන්න"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"ඇමතුම් ඒකාබද්ධ කරන්න"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"මාරු කරන්න"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"ඇමතුම් කළමනාකරණය කරන්න"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"සම්මන්ත්රණ ඇමතුම කළමනාකරණය කරන්න"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"සම්මන්ත්රණ ඇමතුම"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"කළමනාකරණය කරන්න"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ශ්රව්යය"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"වීඩියෝ ඇමතුම"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"හඬ ඇමතුමක් වෙත මාරු කරන්න"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"කැමරාව මාරු කරන්න"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"කැමරාව ක්රියාත්මක කරන්න"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"කැමරාව ක්රියා විරහිත කරන්න"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"තවත් විකල්ප"</string> - <string name="player_started" msgid="3478865572468310331">"ධාවකය ආරම්භ කරන ලදි"</string> - <string name="player_stopped" msgid="1278611664986561535">"ධාවකය නැවතුණි"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"කැමරාව සූදානම් නැහැ"</string> - <string name="camera_ready" msgid="2614541247814590887">"කැමරාව සූදානම්"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"නොදන්නා ඇමතුම් සැසි සිදුවීම"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"සේවාව"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"පිහිටුවීම"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<පිහිටුවා නැත>"</string> - <string name="other_settings" msgid="6699076019841942826">"වෙනත් ඇමතුම් සැකසීම්"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> හරහා අමතමින්"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> හරහා එන"</string> - <string name="contactPhoto" msgid="6028825355597675193">"සම්බන්ධතා ඡායාරූපය"</string> - <string name="goPrivate" msgid="3554069451018659483">"රහසිගත වන්න"</string> - <string name="selectContact" msgid="92191462970821951">"සම්බන්ධතාවය තෝරාගන්න"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"ඔබේම එකක් ලියන්න..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"අවලංගු කරන්න"</string> - <string name="custom_message_send" msgid="3798076337006735995">"යවන්න"</string> - <string name="description_target_answer" msgid="1111945818996518320">"පිළිතුරු දෙන්න"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS යවන්න"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ප්රතික්ෂේප කිරීම"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"වීඩියෝ ඇමතුමට පිළිතුරු දෙන්න"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ශ්රව්ය ඇමතුමට පිළිතුරු දෙන්න"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"වීඩියෝ ඉල්ලීම පිළිගන්න"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"වීඩියෝ ඉල්ලීම ප්රතික්ෂේප කරන්න"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"වීඩියෝ සම්ප්ර්ෂණ ඉල්ලීම පිළිගන්න"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"වීඩියෝ සම්ප්ර්ෂණ ඉල්ලීම ප්රතික්ෂේප කරන්න"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"වීඩියෝ ලැබීමේ ඉල්ලීම පිළිගන්නා ලදි"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"වීඩියෝ ලැබීමේ ඉල්ලීම ප්රතික්ෂේප කරන්න"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා උඩට සර්පණය කරන්න."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා වමට සර්පණය කරන්න."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා දකුණට සර්පණය කරන්න."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> සඳහා පහළට සර්පණය කරන්න."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"කම්පනය"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"කම්පනය"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"හඬ"</string> - <string name="default_notification_description" msgid="4950807644546509965">"පෙරනිමි ශබ්දය (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"දුරකථන රිගින්ටෝනය"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"රිගින් වන විට කම්පන වන්න"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"රිගින් ටෝන් සහ කම්පනය කරන්න"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"සම්මන්ත්රණ ඇමතුම කළමනාකරණය කරන්න"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"හදිසි ඇමතුම් අංකය"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"පැතිකඩ ඡායාරූපය"</string> - <string name="camera_off_description" msgid="4220023868645225790">"කැමරාව ක්රියාවිරහිතයි"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> හරහා"</string> - <string name="note_sent" msgid="7623014827902758398">"සටහන යවන ලදී"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"මෑත පණිවිඩ"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ව්යාපාර තොරතුරු"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"සැතපුම් <xliff:g id="DISTANCE">%.1f</xliff:g>ක් ඈතින්"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"කි.මි. <xliff:g id="DISTANCE">%.1f</xliff:g>ක් ඈතින්"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"හෙට <xliff:g id="OPEN_TIME">%s</xliff:g>ට විවෘත කෙරේ"</string> - <string name="opens_today_at" msgid="6281212768937222891">"අද <xliff:g id="OPEN_TIME">%s</xliff:g>ට විවෘත කෙරේ"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>ට වසයි"</string> - <string name="closed_today_at" msgid="4060072663433467233">"අද <xliff:g id="CLOSE_TIME">%s</xliff:g>ට වසන ලදී"</string> - <string name="open_now" msgid="4615706338669555999">"දැන් විවෘතයි"</string> - <string name="closed_now" msgid="2635314668145282080">"දැන් වසා ඇත"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"සැකසහිත අයාචිත තැපැල් අමතන්නා"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"ඇමතුම අවසන් විය %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"මෙය ඔබට මෙම අංකයෙන් ඇමතුමක් ලැබුණ පළමු අවස්ථාව වේ."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"මෙම ඇමතුම අයාචිත එවන්නෙකු අපි සැක කළෙමු."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"අවහිර ක./අයාචිත වා."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"සම්බන්ධතාව එක් කරන්න"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"අයාචිත තැපෑලක් නොවේ"</string> -</resources> diff --git a/InCallUI/res/values-sk/strings.xml b/InCallUI/res/values-sk/strings.xml deleted file mode 100644 index 07e8de671..000000000 --- a/InCallUI/res/values-sk/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefón"</string> - <string name="onHold" msgid="527593602772521700">"Podržaný hovor"</string> - <string name="unknown" msgid="3646075119047488748">"Neznáme"</string> - <string name="private_num" msgid="6081418498487514686">"Súkromné číslo"</string> - <string name="payphone" msgid="5743050584468748607">"Telefónny automat"</string> - <string name="confCall" msgid="3181961445236675173">"Konferenčný hovor"</string> - <string name="call_lost" msgid="8208184291640961172">"Hovor bol prerušený"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Reproduktor"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Slúchadlo"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Náhlavná súprava s káblom"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Odoslať nasledujúce tóny?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Odosielanie tónov\n"</string> - <string name="send_button" msgid="4054398309483035794">"Odoslať"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Áno"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nie"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Nahradiť zástupný znak znakom"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferenčný hovor <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Číslo hlasovej schránky"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Vytáča sa"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Znova sa vytáča"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferenčný hovor"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Prichádzajúci hovor"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Prichádzajúci prac. hovor"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Hovor bol ukončený"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Podržaný hovor"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Ukončovanie hovoru"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Prebieha hovor"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Moje číslo je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Pripája sa video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videohovor"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Žiada sa video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videohovor nie je možné pripojiť"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Žiadosť o video bola odmietnutá"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Vaše číslo na spätné volanie\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Vaše číslo na spätné tiesňové volanie\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Vytáča sa"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Zmeškaný hovor"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Zmeškané hovory"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Zmeškané hovory: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Zmeškaný hovor od volajúceho <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Prebiehajúci hovor"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Prebiehajúci pracovný hovor"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Odchádzajúci hovor cez Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Prebiehajúci pracovný hovor cez Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Podržaný hovor"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Prichádzajúci hovor"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Prichádzajúci pracovný hovor"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Prichádzajúci hovor cez Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Prichádzajúci pracovný hovor cez Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Prichádzajúci videohovor"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Prichádzajúci hovor, pri ktorom je podozrenie, že ide o spam"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Prichádzajúca žiadosť o video"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nová hlasová správa"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nová hlasová správa (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Zavolať hlasovú schránku <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Číslo hlasovej schránky je neznáme"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Žiadny signál"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Vybraná sieť (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nie je k dispozícii"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Prijať"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Položiť"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Hlas"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Prijať"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Odmietnuť"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Zavolať späť"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Správa"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Prebiehajúci hovor v inom zariadení"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Prepojiť hovor"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Ak chcete volať, vypnite najprv režim v lietadle."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Prihlásenie do siete nebolo úspešné."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilná sieť nie je k dispozícii."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Ak chcete volať, zadajte platné číslo."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Hovor sa nedá uskutočniť."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Prebieha spúšťanie sekvencie MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Služba nie je podporovaná."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Nedajú sa prepínať hovory."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Nedá sa rozdeliť hovor."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Nedá sa preniesť."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferenčný hovor sa nedá uskutočniť."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Nedá sa odmietnuť hovor."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Nedajú sa ukončiť hovory."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Hovor SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Tiesňové volanie"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Zapína sa rádio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Žiadny signál. Prebieha ďalší pokus…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Hovor sa nedá uskutočniť. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nie je číslo tiesňového volania."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Hovor nie je možné uskutočniť. Vytočte číslo tiesňového volania."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Číslo vytočíte pomocou klávesnice"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Podržať hovor"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Obnoviť hovor"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Ukončiť hovor"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Zobraziť číselnú klávesnicu"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Skryť číselnú klávesnicu"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Vypnúť zvuk"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Zapnúť zvuk"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Pridať hovor"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Zlúčiť hovory"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Zameniť"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Spravovať hovory"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Spravovať konferenčný hovor"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferenčný hovor"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Spravovať"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Zvuk"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videohovor"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Zmeniť na hlasový hovor"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Zapnúť kameru"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Zapnúť fotoaparát"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Vypnúť fotoaparát"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Ďalšie možnosti"</string> - <string name="player_started" msgid="3478865572468310331">"Prehrávač bol spustený"</string> - <string name="player_stopped" msgid="1278611664986561535">"Prehrávač bol zastavený"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera nie je pripravená"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera je pripravená"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Neznáma udalosť relácie volania"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Služba"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Nastavenie"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Nenastavené>"</string> - <string name="other_settings" msgid="6699076019841942826">"Ďalšie nastavenia hovorov"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Voláte prostredníctvom poskytovateľa <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Prichádz. hovor prostred. poskytovateľa <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotka kontaktu"</string> - <string name="goPrivate" msgid="3554069451018659483">"prepnúť na súkromné"</string> - <string name="selectContact" msgid="92191462970821951">"vybrať kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napísať vlastnú..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Zrušiť"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Odoslať"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Prijať"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Odoslať SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Odmietnuť"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Prijať ako videohovor"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Prijať ako zvukový hovor"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Prijať žiadosť o videohovor"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Odmietnuť žiadosť o videohovor"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Prijať žiadosť o prenos videa"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Odmietnuť žiadosť o prenos videa"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Povoliť žiadosť o prijatie videa"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Odmietnuť žiadosť o prijatie videa"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Prejdite prstom nahor: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Prejdite prstom doľava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Prejdite prstom doprava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Prejdite prstom nadol: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrovanie"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrovanie"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Zvuk"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Predvolený zvuk (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Tón zvonenia telefónu"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibrovať pri zvonení"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Vyzváňací tón a vibrovanie"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Správa konferenčného hovoru"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Číslo tiesňového volania"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilová fotka"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera je vypnutá"</string> - <string name="child_number" msgid="4469090994612105532">"na čísle <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Poznámka bola odoslaná"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nedávne správy"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informácie o firme"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Vzdialené <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Vzdialené <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Zajtra sa otvára o <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Dnes sa otvára o <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zatvára sa o <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Dnes bolo zatvorené o <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Otvorené"</string> - <string name="closed_now" msgid="2635314668145282080">"Zatvorené"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Podozrenie na spam"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Hovor sa skončil %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Toto bol prvý hovor z tohto čísla."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Mali sme podozrenie, že tento hovor bol od šíriteľa spamu."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blok./nahlásiť spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Pridať kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Toto nie je spam"</string> -</resources> diff --git a/InCallUI/res/values-sl/strings.xml b/InCallUI/res/values-sl/strings.xml deleted file mode 100644 index a2cf2102b..000000000 --- a/InCallUI/res/values-sl/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Zadržan"</string> - <string name="unknown" msgid="3646075119047488748">"Neznan"</string> - <string name="private_num" msgid="6081418498487514686">"Zasebna številka"</string> - <string name="payphone" msgid="5743050584468748607">"Telefonska govorilnica"</string> - <string name="confCall" msgid="3181961445236675173">"Konferenčni klic"</string> - <string name="call_lost" msgid="8208184291640961172">"Klic je bil prekinjen"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Zvočnik"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Slušalka"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Žične slušalke"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Ali želite poslati naslednje tone?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Pošiljanje tonov\n"</string> - <string name="send_button" msgid="4054398309483035794">"Pošlji"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Da"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ne"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Zamenjaj nadomestni znak z"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferenčni klic: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Številka odzivnika"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Klicanje"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Vnovično klicanje"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferenčni klic"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Dohodni klic"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Dohodni delovni klic"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Klic je končan"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Zadržan"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Prekinjanje"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Klic poteka"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Moja številka je <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Povezovanje videa"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videoklic"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Zahtevanje videa"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Videoklica ni mogoče vzpostaviti"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Zavrnjena zahteva za videoklic"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Vaša številka za povratni klic:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Vaša številka za povratni klic v sili:\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Klicanje"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Neodgovorjeni klic"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Neodgovorjeni klici"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Št. neodgovorjenih klicev: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Neodgovorjeni klic od: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Aktivni klic"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Aktivni delovni klic"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Aktivni klic prek omrežja Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Aktivni delovni klic prek omrežja Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Zadržan"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Dohodni klic"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Dohodni delovni klic"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Dohodni klic Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Dohodni delovni klic prek omrežja Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Dohodni videoklic"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Domnevno neželeni dohodni klic"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Zahteva za dohodni video"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Novo sporočilo v odzivniku"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Novo sporočilo v odzivniku (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Klic: <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Neznana številka odzivnika"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ni signala"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Izbrano omrežje (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ni na voljo"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Odgovor"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Prekinitev"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Govor"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Sprejmem"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Opusti"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Povrat. klic"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"SMS"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Aktivni klic v drugi napravi"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Prenos klica"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Če želite poklicati, najprej izklopite način za letalo."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ni registrirano v omrežju."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mobilno omrežje ni na voljo."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Če želite opraviti klic, vnesite veljavno številko."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Klicanje ni mogoče."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Začetek zaporedja MMI ..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Storitev ni podprta."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Preklop med klici ni mogoč."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Ločitev klica ni mogoča."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Prenos ni mogoč."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferenčni klic ni mogoč."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Zavrnitev klica ni mogoča."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Prekinitev klica ni mogoča."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Klic SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Klic v sili"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Vklop radia …"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ni signala. Vnovičen poskus …"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Klicanje ni mogoče. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ni številka za klic v sili."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Klicanje ni mogoče. Opravite klic v sili."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Za izbiranje številke uporabite tipkovnico"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Zadrži klic"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Nadaljuj klic"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Končaj klic"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Prikaži tipkovnico"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Skrij tipkovnico"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Izklopi zvok"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Vklopi zvok"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Dodaj klic"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Združi klice"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Zamenjaj"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Upravljaj klice"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Upravljaj konferenčne klice"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferenčni klic"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Upravljaj"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Zvok"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videoklic"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Preklopi na glasovni klic"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Preklopi med fotoaparati"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Vklopi kamero"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Izklopi kamero"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Več možnosti"</string> - <string name="player_started" msgid="3478865572468310331">"Predvajanje začeto"</string> - <string name="player_stopped" msgid="1278611664986561535">"Predvajanje ustavljeno"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Fotoaparat ni pripravljen"</string> - <string name="camera_ready" msgid="2614541247814590887">"Fotoaparat je pripravljen"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Neznan dogodek seje klica"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Storitev"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Nastavitev"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ni nastavljeno>"</string> - <string name="other_settings" msgid="6699076019841942826">"Druge klicne nastavitve"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Klicanje prek ponudnika <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Dohodni prek <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotografija stika"</string> - <string name="goPrivate" msgid="3554069451018659483">"zasebno"</string> - <string name="selectContact" msgid="92191462970821951">"izbira stika"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Napišite lasten odgovor …"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Prekliči"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Pošlji"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Odgovor"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Pošiljanje SMS-ja"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Zavrnitev"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Odgovor z video povezavo"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Odgovor z zvočno povezavo"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Sprejemanje zahteve za video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Zavrnitev zahteve za video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Sprejemanje zahteve za pošiljanje videa"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Zavrnitev zahteve za pošiljanje videa"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Sprejemanje zahteve za prejem videa"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Zavrnitev zahteve za prejem videa"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Povlecite navzgor za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Povlecite v levo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Povlecite v desno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Povlecite navzdol za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibriranje"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibriranje"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Zvok"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Privzeti zvok (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ton zvonjenja telefona"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Vibriranje ob zvonjenju"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Zvonjenje in vibriranje"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Upravljanje konferenčnih klicev"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Številka za klic v sili"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Fotografija profila"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Fotoaparat je izklopljen"</string> - <string name="child_number" msgid="4469090994612105532">"prek <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Opomba poslana"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Nedavna sporočila"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Podatki o podjetju"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mi stran"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km stran"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Odpre se jutri ob <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Odpre se danes ob <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Zapre se ob <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Zaprto danes ob <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Trenutno odprto"</string> - <string name="closed_now" msgid="2635314668145282080">"Trenutno zaprto"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Neželeni klicatelj"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Klic je bil končan %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"To je prvi klic, ki ste ga prejeli s te številke."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Predvidevali smo, da je to neželeni klic."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blok./prij. než. kl."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Dodaj stik"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Ni neželeni klic"</string> -</resources> diff --git a/InCallUI/res/values-sq/strings.xml b/InCallUI/res/values-sq/strings.xml deleted file mode 100644 index 43fd2263d..000000000 --- a/InCallUI/res/values-sq/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefoni"</string> - <string name="onHold" msgid="527593602772521700">"Në pritje"</string> - <string name="unknown" msgid="3646075119047488748">"I panjohur"</string> - <string name="private_num" msgid="6081418498487514686">"Numër privat"</string> - <string name="payphone" msgid="5743050584468748607">"Telefon me pagesë"</string> - <string name="confCall" msgid="3181961445236675173">"Telefonatë konferencë"</string> - <string name="call_lost" msgid="8208184291640961172">"Telefonata ra"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Altoparlant"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Kufje për vesh"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Kufje me tel"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Dërgo tonet e mëposhtme?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Po dërgon tone\n"</string> - <string name="send_button" msgid="4054398309483035794">"Dërgo"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Po"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Jo"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Zëvendëso karakterin variabël me"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Telefonatë konferencë <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Numri i postës zanore"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Po formon numrin"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Po riformon numrin"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Telefonatë konferencë"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Telefonatë hyrëse"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Telefonatë pune hyrëse"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Telefonata përfundoi"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Në pritje"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Mbyllja"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Në telefonatë"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Numri im është <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Po rilidh videon"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Telefonatë me video"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Po kërkon video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Nuk mund të lidhë telefonatën me video"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Kërkesa me video u refuzua"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Numri i kthimit të telefonatës\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Numri i kthimit të telefonatës së urgjencës\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Po formon numrin"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Telefonatë e humbur"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Telefonata të humbura"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> telefonata të humbura"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Telefonatë e humbur nga <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Telefonatë në vazhdim"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Telefonatë pune dalëse"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Telefonatë me Wi-Fi në vazhdim"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Telefonatë pune dalëse me Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Në pritje"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Telefonatë hyrëse"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Telefonatë pune hyrëse"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Telefonatë hyrëse me Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Telefonatë pune hyrëse me Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Telefonatë hyrëse me video"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Telefonatë e dyshuar si e padëshiruar"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Kërkesë për video hyrëse"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Postë e re zanore"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Postë e re zanore (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Formo numrin <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Numri i postës zanore është i panjohur"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Nuk ka shërbim"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Rrjeti i zgjedhur (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) i padisponueshëm"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Përgjigju"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Mbyll"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Zanore"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Prano"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Largoje"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ri-telefono"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mesazh"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Telefonatë në vazhdim në një pajisje tjetër"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Transfero telefonatën"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Për të kryer telefonatë, së pari çaktivizo modalitetin e aeroplanit."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"I paregjistruar në rrjet."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Rrjeti celular nuk mundësohet."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Për të kryer një telefonatë, fut një numër të vlefshëm."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Nuk mund të telefonojë."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Po fillon sekuencën MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Shërbimi nuk mbështetet."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Nuk mund të ndryshojë telefonatat."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Nuk mund të ndajë telefonatën."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Nuk mund të transferojë."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Nuk mund të kryejë telefonatë konference."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Nuk mund të refuzojë telefonatën."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Nuk mund të lëshojë telefonatën(at)."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Telefonatë SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Telefonata e urgjencës"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Po aktivizon radion…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Nuk ka shërbim. Po provon sërish…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Nuk mund të telefonohet. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nuk është një numër urgjence."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Nuk mund të telefonohet. Formo një numër urgjence."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Përdor tastierën për të formuar numrin"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Vendose në pritje telefonatën"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Rifillo telefonatën"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Mbylle telefonatën"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Shfaq bllokun e formimit të numrit"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Fshih bllokun e formimit të numrit"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Çaktivizo audion"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Aktivizo audion"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Shto telefonatë"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Shkri telefonatat"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Shkëmbe"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Menaxho telefonatat"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Menaxho telefonatën konferencë"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Telefonatë konferencë"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Menaxho"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audioja"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Telefonatë me video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Ndërro në telefonatë me video"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Ndërro kamerën"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Aktivizo kamerën"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Çaktivizo kamerën"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Opsione të tjera"</string> - <string name="player_started" msgid="3478865572468310331">"Luajtësi filloi"</string> - <string name="player_stopped" msgid="1278611664986561535">"Luajtësi ndaloi"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera nuk është gati"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera është gati"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Ngjarje e panjohur në sesionin e telefonatës"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Shërbimi"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Konfigurimi"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<I pavendosur>"</string> - <string name="other_settings" msgid="6699076019841942826">"Cilësime të tjera të telefonatës"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Telefonatë nëpërmjet <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Hyrëse nëpërmjet <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"fotografia e kontaktit"</string> - <string name="goPrivate" msgid="3554069451018659483">"bëje private"</string> - <string name="selectContact" msgid="92191462970821951">"përzgjidh kontaktin"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Shkruaj përgjigjen tënde..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Anulo"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Dërgo"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Përgjigju"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Dërgo SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Refuzo"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Përgjigju si telefonatë me video"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Përgjigju si telefonatë me audio"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Prano kërkesën për video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Refuzo kërkesën për video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Prano kërkesën për transmetimin e videos"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Refuzo kërkesën për transmetimin e videos"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Prano kërkesën për marrjen e videos"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Refuzo kërkesën për marrjen e videos"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Rrëshqit lart për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Rrëshqit majtas për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_right" msgid="5461971399586296023">"Rrëshqit djathtas për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_down" msgid="3331715227997561639">"Rrëshqit poshtë për <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Dridhja"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Dridhja"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Tingulli"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Tingulli i parazgjedhur (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Toni i ziles i telefonit"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Dridhje edhe kur bie zilja"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Me zile dhe me dridhje"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Menaxho telefonatën konferencë"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Numri i urgjencës"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Fotografia e profilit"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera joaktive"</string> - <string name="child_number" msgid="4469090994612105532">"përmes <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Shënimi u dërgua"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mesazhet e fundit"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Informacioni i biznesit"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> milje larg"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km larg"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Hapet nesër në <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Hapet sot në <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Mbyllet në <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Mbyllur sot në <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Tani është hapur"</string> - <string name="closed_now" msgid="2635314668145282080">"Tani është mbyllur"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"I padëshirueshëm"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Telefonata përfundoi %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Kjo është hera e parë që ky numër ka telefonuar."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Ne dyshojmë që kjo telefonatë të jetë e padëshirueshme."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blloko/raporto të padëshiruar"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Shto një kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Jo i padëshiruar"</string> -</resources> diff --git a/InCallUI/res/values-sr/strings.xml b/InCallUI/res/values-sr/strings.xml deleted file mode 100644 index 3a3820d8c..000000000 --- a/InCallUI/res/values-sr/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Телефон"</string> - <string name="onHold" msgid="527593602772521700">"На чекању"</string> - <string name="unknown" msgid="3646075119047488748">"Непознат"</string> - <string name="private_num" msgid="6081418498487514686">"Приватан број"</string> - <string name="payphone" msgid="5743050584468748607">"Телефонска говорница"</string> - <string name="confCall" msgid="3181961445236675173">"Конференцијски позив"</string> - <string name="call_lost" msgid="8208184291640961172">"Позив је прекинут"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Звучник"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Слушалица телефона"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Жичане наглавне слушалице"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Желите ли да пошаљете следеће тонове?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Тонови се шаљу\n"</string> - <string name="send_button" msgid="4054398309483035794">"Пошаљи"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Да"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Не"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Замените џокер знак са"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Конференцијски позив <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Број говорне поште"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Позива се"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Поново се бира"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конференцијски позив"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Долазни позив"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Долазни позив за Work"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Позив је завршен"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"На чекању"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Веза се прекида"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Позив је у току"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Мој број је <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Повезује се видео позив"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Видео позив"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Захтева се видео позив"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Повезивање видео позива није успело"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Захтев за видео позив је одбијен"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Број за повратни позив\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Број за хитан повратни позив\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Позива се"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Пропуштен позив"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Пропуштени позиви"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Број пропуштених позива: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Пропуштен позив од: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Текући позив"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Текући позив за Work"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Текући Wi-Fi позив"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Текући позив за Work преко Wi-Fi-ја"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"На чекању"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Долазни позив"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Долазни позив за Work"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Долазни Wi-Fi позив"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Долазни позив за Work преко Wi-Fi-ја"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Долазни видео позив"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Сумња на непожељан долазни позив"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Захтев за долазни видео позив"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Нова порука говорне поште"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Нова порука говорне поште (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Позови <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Непознат број говорне поште"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Мобилна мрежа није доступна"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Изабрана мрежа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) није доступна"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Одговори"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Прекини везу"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Видео"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Гласовни"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Прихватам"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Одбаци"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Узврати позив"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Пошаљи SMS"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Позив је у току на другом уређају"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Пребаци позив"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Да бисте упутили позив, прво искључите режим рада у авиону."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Није регистровано на мрежи."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобилна мрежа није доступна."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Да бисте упутили позив, унесите важећи број."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Позив није успео."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Покреће се MMI секвенца..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Услуга није подржана."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Замена позива није успела."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Раздвајање позива није успело."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Пребацивање није успело."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Конференцијски позив није успео."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Одбијање позива није успело."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Успостављање позива није успело."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP позив"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Хитни позив"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Укључује се радио…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Мобилна мрежа није доступна. Покушавамо поново…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Позив није успео. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> није број за хитне случајеве."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Позив није успео. Позовите број за хитне случајеве."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Користите тастатуру за позивање"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Стави позив на чекање"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Настави позив"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Заврши позив"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Прикажи нумеричку тастатуру"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Сакриј нумеричку тастатуру"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Искључи звук"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Укључи звук"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Додај позив"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Обједини позиве"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Замени"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Управљај позивима"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Управљај конференцијским позивом"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конференцијски позив"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Управљај"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудио"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Видео позив"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Промени у гласовни позив"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Промени камеру"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Укључи камеру"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Искључи камеру"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Још опција"</string> - <string name="player_started" msgid="3478865572468310331">"Плејер је покренут"</string> - <string name="player_stopped" msgid="1278611664986561535">"Плејер је заустављен"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камера није спремна"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камера је спремна"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Непознат догађај сесије позива"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Услуга"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Подешавање"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Није подешено>"</string> - <string name="other_settings" msgid="6699076019841942826">"Друга подешавања позива"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Позива се преко добављача <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Долазни позив преко <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"слика контакта"</string> - <string name="goPrivate" msgid="3554069451018659483">"иди на приватно"</string> - <string name="selectContact" msgid="92191462970821951">"изаберите контакт"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Напишите сами…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Откажи"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Пошаљи"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Одговори"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Пошаљи SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Одбиј"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Одговори видео позивом"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Одговори аудио-позивом"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Прихвати захтев за видео"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Одбиј захтев за видео"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Прихвати захтев за одлазни видео позив"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Одбиј захтев за одлазни видео позив"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Прихвати захтев за долазни видео позив"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Одбиј захтев за долазни видео позив"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Превуците нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Превуците улево за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Превуците удесно за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Превуците надоле за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Вибрација"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Вибрација"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Звук"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Подразумевани звук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Мелодија звона телефона"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Вибрирај када звони"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Мелодија звона и вибрација"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Управљај конференцијским позивом"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Број за хитне случајеве"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Слика профила"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камера је искључена"</string> - <string name="child_number" msgid="4469090994612105532">"на <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Белешка је послата"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Недавне поруке"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Информације о предузећу"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Удаљеност је <xliff:g id="DISTANCE">%.1f</xliff:g> mi"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Удаљеност је <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Отвара се сутра у <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Отвара се данас у <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Затвара се у <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Затворило се данас у <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Тренутно отворено"</string> - <string name="closed_now" msgid="2635314668145282080">"Тренутно затворено"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Непожељан позивалац"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Позив се завршио у %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Ово је био први позив са овог броја."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Сумњамо да је овај позив непожељан."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Блокирај/пријави"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Додај контакт"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Није непожељан"</string> -</resources> diff --git a/InCallUI/res/values-sv/strings.xml b/InCallUI/res/values-sv/strings.xml deleted file mode 100644 index 980ecdb07..000000000 --- a/InCallUI/res/values-sv/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Parkerat"</string> - <string name="unknown" msgid="3646075119047488748">"Okänd"</string> - <string name="private_num" msgid="6081418498487514686">"Privat nummer"</string> - <string name="payphone" msgid="5743050584468748607">"Telefonautomat"</string> - <string name="confCall" msgid="3181961445236675173">"Konferenssamtal"</string> - <string name="call_lost" msgid="8208184291640961172">"Samtalet avbröts"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Högtalare"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Telefonlur"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Trådanslutet headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Ska följande toner skickas?\nBREAK"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Skickar signaler\n"</string> - <string name="send_button" msgid="4054398309483035794">"Skicka"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ja"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Nej"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Ersätt jokertecknet med"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferenssamtal <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Nummer till röstbrevlåda"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Ringer"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Ringer upp igen"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferenssamtal"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Inkommande samtal"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Inkommande jobbsamtal"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Samtal avslutat"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Parkerat"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Lägger på"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"I samtal"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mitt telefonnummer är <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Ansluter video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Videosamtal"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Begär video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Det gick inte att ansluta till videosamtalet"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Videobegäran avslogs"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Ditt nummer för återuppringning\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Ditt nummer för återuppringning vid nödsamtal\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Ringer"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Missat samtal"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Missade samtal"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missade samtal"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Missat samtal från <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Pågående samtal"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Pågående jobbsamtal"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Pågående Wi-Fi-samtal"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Pågående jobbsamtal via Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Parkerat"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Inkommande samtal"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Inkommande jobbsamtal"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Inkommande Wi-Fi-samtal"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Inkommande jobbsamtal via Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Inkommande videosamtal"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Inkommande misstänkt spamsamtal"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Inkommande begäran om videosamtal"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Nytt röstmeddelande"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Nytt röstmeddelande (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Ring <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nummer till röstbrevlåda okänt"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ingen tjänst"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Det valda nätverket (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) är inte tillgängligt"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Svara"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Lägg på"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Röstsamtal"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Godkänn"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ignorera"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Ring upp"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Meddelande"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Pågående samtal på en annan enhet"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Överför samtal"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Om du vill ringa måste du först inaktivera flygplansläge."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Inte registrerat på nätverk."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Det finns inget mobilnät tillgängligt."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Ange ett giltigt nummer om du vill ringa ett samtal."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Det gick inte att ringa."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Startar sekvens för MMI-kod …"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Tjänsten stöds inte."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Det gick inte att växla mellan samtal."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Det gick inte att koppla isär samtalen."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Det gick inte att överföra."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Det gick inte att starta ett konferenssamtal."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Det gick inte att avvisa samtalet."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Det gick inte att släppa samtal."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP-samtal"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Nödsamtal"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Sätter på radion …"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ingen tjänst. Försöker igen …"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Det gick inte att ringa. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> är inget nödnummer."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Det gick inte att ringa. Slå ett nödnummer."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Använd tangentbordet om du vill ringa"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Parkera samtal"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Återuppta samtal"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Avsluta samtal"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Visa knappsats"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Dölj knappsats"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Ljud av"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Sluta ignorera"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Lägg till samtal"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Koppla ihop samtal"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Byt"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Hantera samtal"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Hantera konferenssamtal"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferenssamtal"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Hantera"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Ljud"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Videosamt."</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Byt till röstsamtal"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Byt kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Slå på kameran"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Stäng av kameran"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Fler alternativ"</string> - <string name="player_started" msgid="3478865572468310331">"Videospelaren har startats"</string> - <string name="player_stopped" msgid="1278611664986561535">"Videospelaren har stoppats"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kameran är inte klar"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kameran är klar"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Okänd händelse vid samtalssession"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Tjänst"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Konfiguration"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Har inte angetts>"</string> - <string name="other_settings" msgid="6699076019841942826">"Övriga samtalsinställningar"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Inkommande via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontaktbild"</string> - <string name="goPrivate" msgid="3554069451018659483">"gör privat"</string> - <string name="selectContact" msgid="92191462970821951">"välj kontakt"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Skriv ett eget svar …"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Avbryt"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Skicka"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Svara"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Skicka sms"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Avvisa"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Svara som videosamtal"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Svara som röstsamtal"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Godkänn videobegäran"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Avvisa videobegäran"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Godkänn begäran om att skicka video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Avvisa begäran om att skicka video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Godkänn begäran om att ta emot video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Avvisa begäran om att ta emot video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> genom att dra uppåt."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> genom att dra åt vänster."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> genom att dra åt höger."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> genom att dra nedåt."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Vibrera"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Vibrera"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ljud"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Standardsignal (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ringsignal"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Enheten vibrerar vid samtal"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringsignal och vibration"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Hantera konferenssamtal"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Nödsamtalsnummer"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profilbild"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera av"</string> - <string name="child_number" msgid="4469090994612105532">"via <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Anteckningen har skickats"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Senaste meddelandena"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Företagsuppgifter"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> miles bort"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km bort"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Öppnar i morgon kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Öppnar i dag kl. <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Stänger kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Stängde i dag kl. <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Öppet"</string> - <string name="closed_now" msgid="2635314668145282080">"Stängt"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Misstänkt spamsamtal"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Samtalet avslutat %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Det här är första gången det här numret ringde dig."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Vi misstänkte att det här samtalet var en spammare."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Blockera/rapp. spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Lägg till kontakt"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Inte spam"</string> -</resources> diff --git a/InCallUI/res/values-sw/strings.xml b/InCallUI/res/values-sw/strings.xml deleted file mode 100644 index d60c4901a..000000000 --- a/InCallUI/res/values-sw/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Simu"</string> - <string name="onHold" msgid="527593602772521700">"Inangoja"</string> - <string name="unknown" msgid="3646075119047488748">"Isiyojulikana"</string> - <string name="private_num" msgid="6081418498487514686">"Nambari ya faragha"</string> - <string name="payphone" msgid="5743050584468748607">"Simu ya kulipia"</string> - <string name="confCall" msgid="3181961445236675173">"Simu ya mkutano"</string> - <string name="call_lost" msgid="8208184291640961172">"Simu imekatwa"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Spika"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Kipaza sauti cha kichwani"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Vifaa vya sauti visivyo na waya"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Ungependa kutuma milio ya sauti inayofuata? \n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Inatuma milio ya simu\n"</string> - <string name="send_button" msgid="4054398309483035794">"Tuma"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ndiyo"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Hapana"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Badilisha herufi inayojitegemea kwa"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Simu ya mkutano <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Nambari ya ujumbe wa sauti"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Inapiga"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Inapiga simu tena"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Simu ya mkutano"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Unapigiwa simu"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Simu ya kazi inayoingia"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Simu imekamilika"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Inangoja"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Kukata simu"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Katika simu"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Nambari yangu ni <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Inaunganisha video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Hangout ya Video"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Inaomba video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Haiwezi kuunganisha Hangout ya video"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Ombi la video limekataliwa"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Nambari yako ya kupigiwa simu\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Nambari yako ya dharura ya kupigiwa simu\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Inapiga"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Simu ambayo hukujibu"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Simu ambazo hukujibu"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Simu <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ambazo hukujibu"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Simu ambayo hukujibu kutoka <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Simu inayoendelea"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Simu ya kazi inayoendelea"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Simu ya Wi-Fi inayoendelea"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Simu ya Wi-Fi ya kazi inayoendelea"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Inangoja"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Unapigiwa simu"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Unapigiwa simu ya kazi"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Unapigiwa simu kupitia Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Unapigiwa simu ya kazini kupitia Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Hangout ya Video inayoingia"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Simu inayoingia inashukiwa kuwa taka"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Ombi linaloingia la video"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Ujumbe mpya wa sauti"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Ujumbe (<xliff:g id="COUNT">%d</xliff:g>) mpya wa sauti"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Piga <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Nambari ya ujumbe wa sauti haijulikani."</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Hakuna huduma"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Mtandao uliochaguliwa (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) haupatikani"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Jibu"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Kata simu"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Sauti"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Kubali"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Ondoa"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Mpigie"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Ujumbe"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Una Hangout inayoendelea kwenye kifaa kingine"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Hamisha Hangout"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Ili upige simu kwanza, zima Hali ya ndegeni."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Haijasajiliwa kwenye mtandao."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Mitandao ya simu za mkononi haipatikani."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Ili upige simu, weka nambari sahihi."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Haiwezi kupiga simu."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Inaanzisha msururu wa MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Huduma haitumiki."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Haiwezi kubadili simu."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Haiwezi kutenganisha simu."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Haiwezi kuhamisha."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Haiwezi kushiriki katika simu ya mkutano."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Haiwezi kukataa simu."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Haiwezi kutoa simu."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Simu ya SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Simu ya dharura"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Inawasha redio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Hakuna huduma. Inajaribu tena..."</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Haiwezi kupiga simu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> si nambari ya dharura."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Haiwezi kupiga simu. Piga simu nambari ya dharura."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Tumia kibodi kubonyeza"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Shikilia Simu"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Endelea na Simu"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Kata Simu"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Onyesha Vitufe vya Kupiga Simu"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ficha Vitufe vya Kupiga Simu"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Zima Sauti"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Rejesha sauti"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Ongeza simu"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Unganisha simu"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Badili"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Dhibiti simu"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Dhibiti simu ya mkutano"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Mkutano kwenye simu"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Dhibiti"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Sauti"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Hangout ya Video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Badilisha iwe simu ya sauti"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Badilisha kamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Washa kamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Zima kamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Chaguo zaidi"</string> - <string name="player_started" msgid="3478865572468310331">"Kichezaji Kimeanzishwa"</string> - <string name="player_stopped" msgid="1278611664986561535">"Kichezaji Kimekomeshwa"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera haiko tayari"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera iko tayari"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Tukio lisilojulikana la kipindi cha simu"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Huduma"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Weka mipangilio"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Haijawekwa>"</string> - <string name="other_settings" msgid="6699076019841942826">"Mipangilio mingine ya simu"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Kupiga simu kupitia <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Simu zinazoingia kupitia <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"picha ya anwani"</string> - <string name="goPrivate" msgid="3554069451018659483">"tumia kwa faragha"</string> - <string name="selectContact" msgid="92191462970821951">"chagua anwani"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Andika yako binafsi..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Ghairi"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Tuma"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Jibu"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Tuma SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Kataa"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Pokea kama Hangout ya Video"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Pokea kama simu ya sauti"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Kubali ombi la video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Kataa ombi la video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Kubali ombi la kutuma kupitia hangout ya video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Kataa ombi la kutuma kupitia hangout ya video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Kubali ombi la kupokea kupitia hangout ya video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Kataa ombi la kupokea kupitia hangout ya video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Telezesha kidole juu ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Telezesha kidole kushoto ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Telezesha kidole kulia ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Telezesha kidole chini ili <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Mtetemo"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Mtetemo"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Mlio"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Sauti chaguo-msingi (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Mlio wa simu"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Tetema wakati wa kuita"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Mlio wa simu na Mtetemo"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Dhibiti simu ya mkutano"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Nambari ya dharura"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Picha ya wasifu"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera imezimwa"</string> - <string name="child_number" msgid="4469090994612105532">"kupitia <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Dokezo limetumwa"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Ujumbe wa hivi majuzi"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Maelezo ya biashara"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Umbali wa maili <xliff:g id="DISTANCE">%.1f</xliff:g>"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Umbali wa kilomita <xliff:g id="DISTANCE">%.1f</xliff:g>"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Itafunguliwa kesho saa <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Itafunguliwa leo saa <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Hufungwa saa <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Imefungwa leo saa <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Sasa imefunguliwa"</string> - <string name="closed_now" msgid="2635314668145282080">"Sasa imefungwa"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Mpiga simu taka"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Simu imekatwa %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Hii ndiyo mara ya kwanza nambari hii imekupigia."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Tunashuku kwamba simu hii ni taka."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Zuia/ripoti taka"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Ongeza anwani"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Si barua taka"</string> -</resources> diff --git a/InCallUI/res/values-sw360dp/dimens.xml b/InCallUI/res/values-sw360dp/dimens.xml deleted file mode 100644 index 9fbcd605b..000000000 --- a/InCallUI/res/values-sw360dp/dimens.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?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 - --> - -<resources> - <!-- Dimensions for CallCard elements (the normal in-call UI) --> - - <!-- Text size for the name in the call info. --> - <dimen name="call_status_text_size">22sp</dimen> - <dimen name="call_status_text_min_size">18sp</dimen> - <dimen name="call_name_text_size">45dp</dimen> - <dimen name="call_name_text_min_size">34sp</dimen> - <dimen name="call_label_text_size">18sp</dimen> - - <!-- The InCallUI dialpad will sometimes want digits sizes that are different from dialer. --> - <dimen name="dialpad_key_number_margin_bottom">@dimen/dialpad_key_number_default_margin_bottom</dimen> - <!-- Zero key should have less space between self and text because "+" is smaller --> - <dimen name="dialpad_zero_key_number_margin_bottom">@dimen/dialpad_zero_key_number_default_margin_bottom</dimen> - <dimen name="dialpad_digits_adjustable_text_size">@dimen/dialpad_digits_text_size</dimen> - <dimen name="dialpad_digits_adjustable_height">@dimen/dialpad_digits_height</dimen> - <dimen name="dialpad_key_numbers_size">@dimen/dialpad_key_numbers_default_size</dimen> -</resources> diff --git a/InCallUI/res/values-sw410dp/config.xml b/InCallUI/res/values-sw410dp/config.xml deleted file mode 100644 index a57f86784..000000000 --- a/InCallUI/res/values-sw410dp/config.xml +++ /dev/null @@ -1,21 +0,0 @@ -<!-- - ~ Copyright (C) 2015 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> - <!-- Determines the maximum number of buttons visible on the call card. Any buttons over this - count are put into the overflow menu. --> - <integer name="call_card_max_buttons">6</integer> -</resources>
\ No newline at end of file diff --git a/InCallUI/res/values-ta/strings.xml b/InCallUI/res/values-ta/strings.xml deleted file mode 100644 index 1ee57b4ba..000000000 --- a/InCallUI/res/values-ta/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ஃபோன்"</string> - <string name="onHold" msgid="527593602772521700">"ஹோல்டில் உள்ளது"</string> - <string name="unknown" msgid="3646075119047488748">"தெரியாத எண்"</string> - <string name="private_num" msgid="6081418498487514686">"தனிப்பட்ட எண்"</string> - <string name="payphone" msgid="5743050584468748607">"கட்டணத் தொலைபேசி"</string> - <string name="confCall" msgid="3181961445236675173">"குழு அழைப்பு"</string> - <string name="call_lost" msgid="8208184291640961172">"அழைப்பு நிறுத்தப்பட்டது"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ஸ்பீக்கர்"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ஹேண்ட்செட் இயர்ஃபீஸ்"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"வயருள்ள ஹெட்செட்"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"புளூடூத்"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"பின்வரும் டோன்களை அனுப்பவா?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"டோன்களை அனுப்புகிறது\n"</string> - <string name="send_button" msgid="4054398309483035794">"அனுப்பு"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ஆம்"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"வேண்டாம்"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"சிறப்புக்குறியை இதன் மூலம் மாற்றியமை"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"குழு அழைப்பு: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"குரலஞ்சல் எண்"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"அழைக்கிறது"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"மீண்டும் டயல் செய்கிறது"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"குழு அழைப்பு"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"உள்வரும் அழைப்பு"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"உள்வரும் அழைப்பு (பணி)"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"அழைப்பு முடிந்தது"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ஹோல்டில் உள்ளது"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"துண்டிக்கிறது"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"அழைப்பில்"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"எனது எண்: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"வீடியோவை இணைக்கிறது"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"வீடியோ அழைப்பு"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"வீடியோவைக் கோருகிறது"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"வீடியோ அழைப்பை இணைக்க முடியவில்லை"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"வீடியோ கோரிக்கை நிராகரிக்கப்பட்டது"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"உங்களைத் திரும்ப அழைப்பதற்கான எண்\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"அவசர அழைப்பு எண்\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"அழைக்கிறது"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"தவறிய அழைப்பு"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"தவறிய அழைப்புகள்"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> தவறிய அழைப்புகள்"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> இடமிருந்து தவறிய அழைப்பு"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"செயலில் இருக்கும் அழைப்பு"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"செயலில் இருக்கும் அழைப்பு (பணி)"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"செயலில் இருக்கும் வைஃபை அழைப்பு"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"செயலில் இருக்கும் வைஃபை அழைப்பு"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ஹோல்டில் உள்ளது"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"உள்வரும் அழைப்பு"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"உள்வரும் அழைப்பு (பணி)"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"உள்வரும் வைஃபை அழைப்பு"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"உள்வரும் வைஃபை அழைப்பு (பணி)"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"உள்வரும் வீடியோ அழைப்பு"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"உள்வரும் சந்தேகத்திற்குரிய ஸ்பேம் அழைப்பு"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"உள்வரும் வீடியோ கோரிக்கை"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"புதிய குரலஞ்சல்"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"புதிய குரலஞ்சல் (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>ஐ அழை"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"குரலஞ்சல் எண் அறியப்படவில்லை"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"சேவை இல்லை"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"தேர்ந்தெடுத்த நெட்வொர்க் (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) கிடைக்கவில்லை"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"பதிலளி"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"துண்டி"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"வீடியோ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"குரல்"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ஏற்கிறேன்"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"நிராகரி"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"திரும்ப அழை"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"செய்தி அனுப்பு"</string> - <string name="notification_external_call" msgid="5611236780302924816">"மற்றொரு சாதனத்தில் செயலில் இருக்கும் அழைப்பு"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"அழைப்பை இடமாற்று"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"அழைப்பதற்கு, முதலில் விமானப் பயன்முறையை முடக்கவும்."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"நெட்வொர்க்கில் பதிவுசெய்யப்படவில்லை."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"செல்லுலார் நெட்வொர்க் கிடைக்கவில்லை."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"அழைக்க, சரியான எண்ணை உள்ளிடவும்."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"அழைக்க முடியாது."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI வரிசையைத் தொடங்குகிறது..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"சேவை ஆதரிக்கப்படவில்லை."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"அழைப்புகளில் மாற முடியாது."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"அழைப்பைப் பிரிக்க முடியாது."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"மாற்ற முடியாது."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"குழு அழைப்பு செய்ய முடியாது."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"அழைப்பை நிராகரிக்க முடியாது."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"அழைப்பை(அழைப்புகளை) விடுவிக்க முடியாது."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP அழைப்பு"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"அவசர அழைப்பு"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ரேடியோவை இயக்குகிறது…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"சேவை இல்லை. மீண்டும் முயல்கிறது…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> என்பது அவசர அழைப்பு எண் இல்லை என்பதால் அழைக்க முடியாது."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"அழைக்க முடியாது. அவசர அழைப்பு எண்ணை அழைக்கவும்."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"டயல் செய்ய, விசைப்பலகையைப் பயன்படுத்தவும்"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"அழைப்பை ஹோல்டில் வை"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"அழைப்பை மீண்டும் தொடங்கு"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"அழைப்பை முடி"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"டயல்பேடைக் காட்டு"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"டயல்பேடை மறை"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ஒலியடக்கு"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"ஒலி இயக்கு"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"அழைப்பைச் சேர்"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"அழைப்புகளை இணை"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"மாற்று"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"அழைப்புகளை நிர்வகி"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"குழு அழைப்பை நிர்வகி"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"குழு அழைப்பு"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"நிர்வகி"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ஆடியோ"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"வீடியோ அழைப்பு"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"குரல் அழைப்பிற்கு மாறு"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"கேமராவை மாற்று"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"கேமராவை இயக்கு"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"கேமராவை முடக்கு"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"கூடுதல் விருப்பங்கள்"</string> - <string name="player_started" msgid="3478865572468310331">"வீடியோ பிளேயர் துவங்கியது"</string> - <string name="player_stopped" msgid="1278611664986561535">"வீடியோ பிளேயர் நிறுத்தப்பட்டது"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"கேமரா தயாராக இல்லை"</string> - <string name="camera_ready" msgid="2614541247814590887">"கேமரா தயார்"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"தெரியாத அழைப்பு நேர நிகழ்வு"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"சேவை"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"அமை"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<அமைக்கப்படவில்லை>"</string> - <string name="other_settings" msgid="6699076019841942826">"பிற அழைப்பு அமைப்புகள்"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> வழியாக அழைக்கிறது"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> மூலம் உள்வரும் அழைப்புகள்"</string> - <string name="contactPhoto" msgid="6028825355597675193">"தொடர்புப் படம்"</string> - <string name="goPrivate" msgid="3554069451018659483">"தனிப்பட்டதிற்குச் செல்"</string> - <string name="selectContact" msgid="92191462970821951">"தொடர்பைத் தேர்ந்தெடுக்கவும்"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"சொந்தமாக எழுதவும்..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"ரத்துசெய்"</string> - <string name="custom_message_send" msgid="3798076337006735995">"அனுப்பு"</string> - <string name="description_target_answer" msgid="1111945818996518320">"பதிலளி"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS அனுப்பு"</string> - <string name="description_target_decline" msgid="7108154434759234035">"நிராகரி"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"வீடியோ அழைப்பில் பதிலளி"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ஆடியோ அழைப்பில் பதிலளி"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"வீடியோ கோரிக்கையை அனுமதி"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"வீடியோ கோரிக்கையை நிராகரி"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"வீடியோவைப் பரிமாற்றும் கோரிக்கையை அனுமதி"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"வீடியோவைப் பரிமாற்றும் கோரிக்கையை நிராகரி"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"வீடியோவைப் பெறும் கோரிக்கையை அனுமதி"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"வீடியோவைப் பெறும் கோரிக்கையை நிராகரி"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, மேலே ஸ்லைடு செய்க."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, இடப்புறம் ஸ்லைடு செய்க."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, வலப்புறம் ஸ்லைடு செய்க."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, கீழே ஸ்லைடு செய்க."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"அதிர்வுறு"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"அதிர்வுறு"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ஒலி"</string> - <string name="default_notification_description" msgid="4950807644546509965">"இயல்பு ஒலி (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ஃபோனின் ரிங்டோன்"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"அழைக்கும் போது அதிர்வுறு"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"ரிங்டோன் & அதிர்வு"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"குழு அழைப்பை நிர்வகி"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"அவசர அழைப்பு எண்"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"சுயவிவரப் படம்"</string> - <string name="camera_off_description" msgid="4220023868645225790">"கேமரா முடக்கப்பட்டது"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> வழியாக"</string> - <string name="note_sent" msgid="7623014827902758398">"குறிப்பு அனுப்பப்பட்டது"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"சமீபத்திய செய்திகள்"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"வணிகத் தகவல்"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> மைல் தொலைவில்"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> கிமீ தொலைவில்"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"நாளை <xliff:g id="OPEN_TIME">%s</xliff:g>க்குத் திறக்கப்படும்"</string> - <string name="opens_today_at" msgid="6281212768937222891">"இன்று <xliff:g id="OPEN_TIME">%s</xliff:g>க்குத் திறக்கப்படும்"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>க்கு மூடப்படும்"</string> - <string name="closed_today_at" msgid="4060072663433467233">"இன்று <xliff:g id="CLOSE_TIME">%s</xliff:g>க்கு மூடப்பட்டது"</string> - <string name="open_now" msgid="4615706338669555999">"இப்போது திறக்கப்பட்டுள்ளது"</string> - <string name="closed_now" msgid="2635314668145282080">"இப்போது மூடப்பட்டுள்ளது"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"சந்தேகத்திற்குரிய ஸ்பேம் அழைப்பாளர்"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"அழைப்பு துண்டிக்கப்பட்டது %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"இந்த எண்ணிலிருந்து உங்களுக்கு அழைப்பு வந்தது இதுவே முதல் முறை."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"இந்த அழைப்பு ஸ்பேமராக இருக்கக்கூடும் என சந்தேகிக்கிறோம்."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"தடு/ஸ்பேமென புகாரளி"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"தொடர்பைச் சேர்"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"ஸ்பேமில்லை"</string> -</resources> diff --git a/InCallUI/res/values-te/strings.xml b/InCallUI/res/values-te/strings.xml deleted file mode 100644 index 936f1be7c..000000000 --- a/InCallUI/res/values-te/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"ఫోన్"</string> - <string name="onHold" msgid="527593602772521700">"హోల్డ్లో ఉంది"</string> - <string name="unknown" msgid="3646075119047488748">"తెలియదు"</string> - <string name="private_num" msgid="6081418498487514686">"ప్రైవేట్ నంబర్"</string> - <string name="payphone" msgid="5743050584468748607">"పే ఫోన్"</string> - <string name="confCall" msgid="3181961445236675173">"కాన్ఫరెన్స్ కాల్"</string> - <string name="call_lost" msgid="8208184291640961172">"కాల్ కట్ అయింది"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"స్పీకర్"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"హ్యాండ్సెట్ ఇయర్పీస్"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"వైర్ గల హెడ్సెట్"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"బ్లూటూత్"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"కింది టోన్లను పంపాలా?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"టోన్లు పంపుతోంది\n"</string> - <string name="send_button" msgid="4054398309483035794">"పంపు"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"అవును"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"వద్దు"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"దీనితో వైల్డ అక్షరాన్ని భర్తీ చేయండి"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"కాన్ఫరెన్స్ కాల్ <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"వాయిస్ మెయిల్ నంబర్"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"డయల్ చేస్తోంది"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"మళ్లీ డయల్ చేస్తోంది"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"కాన్ఫరెన్స్ కాల్"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"ఇన్కమింగ్ కాల్"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"ఇన్కమింగ్ కార్యాలయ కాల్"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"కాల్ ముగిసింది"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"హోల్డ్లో ఉంది"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"ముగిస్తోంది"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"కాల్లో ఉంది"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"నా నంబర్ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"వీడియోను కనెక్ట్ చేస్తోంది"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"వీడియో కాల్"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"వీడియో కోసం అభ్యర్థిస్తోంది"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"వీడియో కాల్ను కనెక్ట్ చేయలేరు"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"వీడియో అభ్యర్థన తిరస్కరించబడింది"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"మీ కాల్బ్యాక్ నంబర్\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"మీ అత్యవసర కాల్బ్యాక్ నంబర్\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"డయల్ చేస్తోంది"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"సమాధానం ఇవ్వని కాల్"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"సమాధానం ఇవ్వని కాల్లు"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> సమాధానం ఇవ్వని కాల్లు"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> నుండి సమాధానం ఇవ్వని కాల్"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"కాల్ కొనసాగుతోంది"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"కార్యాలయ కాల్ కొనసాగుతోంది"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi కాల్ కొనసాగుతోంది"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Wi-Fi కార్యాలయ కాల్ కొనసాగుతోంది"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"హోల్డ్లో ఉంది"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"ఇన్కమింగ్ కాల్"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"ఇన్కమింగ్ కార్యాలయ కాల్"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"ఇన్కమింగ్ Wi-Fi కాల్"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"ఇన్కమింగ్ Wi-Fi కార్యాలయ కాల్"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"ఇన్కమింగ్ వీడియో కాల్"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"అనుమానాస్పద స్పామ్ కాల్ వస్తోంది"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"ఇన్కమింగ్ వీడియో అభ్యర్థన"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"కొత్త వాయిస్ మెయిల్"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"కొత్త వాయిస్ మెయిల్ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>కు డయల్ చేయండి"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"వాయిస్ మెయిల్ నంబర్ తెలియదు"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"సేవ లేదు"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"ఎంచుకున్న నెట్వర్క్ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) అందుబాటులో లేదు"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"సమాధానం"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"కాల్ ముగించు"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"వీడియో"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"వాయిస్"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ఆమోదిస్తున్నాను"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"తీసివేయి"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"తిరిగి కాల్ చేయి"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"సందేశం పంపు"</string> - <string name="notification_external_call" msgid="5611236780302924816">"మరో పరికరంలో కాల్ జరుగుతోంది"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"కాల్ను బదిలీ చేయి"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"కాల్ చేయడానికి, ముందుగా ఎయిర్ప్లైన్ మోడ్ను ఆపివేయండి."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"నెట్వర్క్లో నమోదు కాలేదు."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"సెల్యులార్ నెట్వర్క్ అందుబాటులో లేదు."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"కాల్ చేయడానికి, చెల్లుబాటు అయ్యే నంబర్ను నమోదు చేయండి."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"కాల్ చేయలేరు."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI శ్రేణిని ప్రారంభిస్తోంది…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"సేవకు మద్దతు లేదు."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"కాల్లను మార్చలేరు."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"కాల్ను వేరు చేయలేరు."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"బదిలీ చేయలేరు."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"కాన్ఫరెన్స్ కాల్ కుదరదు."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"కాల్ను తిరస్కరించలేరు."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"కాల్(ల)ను విడిచిపెట్టలేరు."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP కాల్"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"అత్యవసర కాల్"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"రేడియోను ఆన్ చేస్తోంది…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"సేవ లేదు. మళ్లీ ప్రయత్నిస్తోంది…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"కాల్ చేయలేరు. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> అత్యవసర నంబర్ కాదు."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"కాల్ చేయలేరు. అత్యవసర నంబర్కు డయల్ చేయండి."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"డయల్ చేయడానికి కీబోర్డ్ను ఉపయోగించండి"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"కాల్ను హోల్డ్లో ఉంచు"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"కాల్ను పునఃప్రారంభించు"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"కాల్ని ముగించు"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"డయల్ప్యాడ్ను చూపు"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"డయల్ప్యాడ్ను దాచు"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"మ్యూట్ చేయి"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"అన్మ్యూట్ చేయి"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"కాల్ను జోడించు"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"కాల్లను విలీనం చేయి"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"స్వాప్ చేయి"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"కాల్లను నిర్వహించు"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"కాన్ఫరెన్స్ కాల్ను నిర్వహించు"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"కాన్ఫరెన్స్ కాల్"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"నిర్వహించు"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"ఆడియో"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"వీడియో కాల్"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"వాయిస్ కాల్కి మార్చు"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"కెమెరాను మార్చు"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"కెమెరాను ఆన్ చేయి"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"కెమెరాను ఆఫ్ చేయి"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"మరిన్ని ఎంపికలు"</string> - <string name="player_started" msgid="3478865572468310331">"ప్లేయర్ ప్రారంభమైంది"</string> - <string name="player_stopped" msgid="1278611664986561535">"ప్లేయర్ ఆపివేయబడింది"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"కెమెరా సిద్ధంగా లేదు"</string> - <string name="camera_ready" msgid="2614541247814590887">"కెమెరా సిద్ధంగా ఉంది"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"తెలియని కాల్ సెషన్ ఉదంతం"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"సేవ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"సెటప్ చేయండి"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<సెట్ చేయలేదు>"</string> - <string name="other_settings" msgid="6699076019841942826">"ఇతర కాల్ సెట్టింగ్లు"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా కాల్ చేయబడుతోంది"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా ఇన్కమింగ్"</string> - <string name="contactPhoto" msgid="6028825355597675193">"పరిచయం ఫోటో"</string> - <string name="goPrivate" msgid="3554069451018659483">"ప్రైవేట్గా వెళ్లు"</string> - <string name="selectContact" msgid="92191462970821951">"పరిచయాన్ని ఎంచుకోండి"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"మీ స్వంతంగా వ్రాయండి…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"రద్దు చేయి"</string> - <string name="custom_message_send" msgid="3798076337006735995">"పంపు"</string> - <string name="description_target_answer" msgid="1111945818996518320">"సమాధానం"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMSని పంపుతుంది"</string> - <string name="description_target_decline" msgid="7108154434759234035">"తిరస్కరిస్తుంది"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"వీడియో కాల్ రూపంలో సమాధానం"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"ఆడియో కాల్ రూపంలో సమాధానం"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"వీడియో అభ్యర్థనను ఆమోదిస్తుంది"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"వీడియో అభ్యర్థనను తిరస్కరిస్తుంది"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"వీడియో ప్రసరణ అభ్యర్థనను ఆమోదిస్తుంది"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"వీడియో ప్రసరణ అభ్యర్థనను తిరస్కరిస్తుంది"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"వీడియో స్వీకరణ అభ్యర్థనను ఆమోదిస్తుంది"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"వీడియో స్వీకరణ అభ్యర్థనను తిరస్కరిస్తుంది"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం పైకి స్లైడ్ చేయండి."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం ఎడమవైపుకు స్లైడ్ చేయండి."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం కుడివైపుకు స్లైడ్ చేయండి."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం కిందికి స్లైడ్ చేయండి."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"వైబ్రేట్"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"వైబ్రేట్"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"ధ్వని"</string> - <string name="default_notification_description" msgid="4950807644546509965">"డిఫాల్ట్ ధ్వని (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"ఫోన్ రింగ్టోన్"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"రింగ్ అయ్యేప్పుడు వైబ్రేషన్"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"రింగ్టోన్ & వైబ్రేట్"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"కాన్ఫరెన్స్ కాల్ను నిర్వహించు"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"అత్యవసర నంబర్"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"ప్రొఫైల్ ఫోటో"</string> - <string name="camera_off_description" msgid="4220023868645225790">"కెమెరా ఆఫ్లో ఉంది"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> ద్వారా"</string> - <string name="note_sent" msgid="7623014827902758398">"గమనిక పంపబడింది"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ఇటీవలి సందేశాలు"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"వ్యాపార సంస్థ సమాచారం"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> మై దూరంలో ఉంది"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> కి.మీ దూరంలో ఉంది"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"రేపు <xliff:g id="OPEN_TIME">%s</xliff:g>కి తెరవబడుతుంది"</string> - <string name="opens_today_at" msgid="6281212768937222891">"ఈరోజు <xliff:g id="OPEN_TIME">%s</xliff:g>కి తెరవబడుతుంది"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g>కి మూసివేయబడుతుంది"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ఈరోజు <xliff:g id="CLOSE_TIME">%s</xliff:g>కి మూసివేయబడి ఉంటుంది"</string> - <string name="open_now" msgid="4615706338669555999">"ఇప్పుడు తెరిచి ఉంది"</string> - <string name="closed_now" msgid="2635314668145282080">"ఇప్పుడు మూసివేయబడింది"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"అనుమానిత స్పామ్ కాలర్"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"కాల్ ముగిసింది %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"ఈ నంబర్ నుండి మీకు కాల్ రావడం ఇదే మొదటిసారి."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ఈ కాల్ స్పామర్ కావచ్చని మేము అనుమానిస్తున్నాము."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"బ్లాక్/స్పామ్ నివే."</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"పరిచయాన్ని జోడించు"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"స్పామ్ కాదు"</string> -</resources> diff --git a/InCallUI/res/values-th/strings.xml b/InCallUI/res/values-th/strings.xml deleted file mode 100644 index 69ae44d07..000000000 --- a/InCallUI/res/values-th/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"โทรศัพท์"</string> - <string name="onHold" msgid="527593602772521700">"พักสาย"</string> - <string name="unknown" msgid="3646075119047488748">"ไม่ทราบ"</string> - <string name="private_num" msgid="6081418498487514686">"หมายเลขส่วนตัว"</string> - <string name="payphone" msgid="5743050584468748607">"โทรศัพท์สาธารณะ"</string> - <string name="confCall" msgid="3181961445236675173">"การประชุมสาย"</string> - <string name="call_lost" msgid="8208184291640961172">"สายหลุด"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"ลำโพง"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ชุดหูฟังโทรศัพท์"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"ชุดหูฟังแบบมีสาย"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"บลูทูธ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"ส่งหมายเลขต่อไปไหม\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"กำลังส่งหมายเลข\n"</string> - <string name="send_button" msgid="4054398309483035794">"ส่ง"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ใช่"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"ไม่"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"แทนที่อักขระแทนด้วย"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"การประชุมสาย <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"หมายเลขข้อความเสียง"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"กำลังโทรออก"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"โทรใหม่"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"การประชุมสาย"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"สายเรียกเข้า"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"มีสายเรียกเข้าจากที่ทำงาน"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"วางสายแล้ว"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"พักสาย"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"กำลังวางสาย"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"กำลังใช้สาย"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"หมายเลขของฉันคือ <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"กำลังเชื่อมต่อวิดีโอ"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"แฮงเอาท์วิดีโอ"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"กำลังขอวิดีโอ"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ไม่สามารถเชื่อมต่อแฮงเอาท์วิดีโอได้"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"คำขอวิดีโอถูกปฏิเสธ"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"หมายเลขโทรกลับของคุณ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"หมายเลขโทรกลับฉุกเฉินของคุณ\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"กำลังโทรออก"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"สายที่ไม่ได้รับ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"สายที่ไม่ได้รับ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"ไม่ได้รับ <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> สาย"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"สายที่ไม่ได้รับจาก <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"โทรต่อเนื่อง"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"กำลังอยู่ในสายจากที่ทำงาน"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"กำลังโทรผ่าน Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"กำลังอยู่ในสายจากที่ทำงานผ่าน Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"พักสาย"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"สายเรียกเข้า"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"มีสายเรียกเข้าจากที่ทำงาน"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"สายโทรเข้าผ่าน Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"มีสายเรียกเข้าจากที่ทำงานผ่าน Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"แฮงเอาท์วิดีโอเรียกเข้า"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"สายเรียกเข้าที่สงสัยว่าเป็นสแปม"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"คำขอโทรเข้าเป็นวิดีโอ"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"ข้อความเสียงใหม่"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"ข้อความเสียงใหม่ (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"หมุนหมายเลข <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"ไม่ทราบหมายเลขข้อความเสียง"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"ไม่มีบริการ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"เครือข่ายที่เลือกไว้ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ไม่พร้อมใช้งาน"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"รับสาย"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"วางสาย"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"วิดีโอ"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"เสียง"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"ยอมรับ"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"ปิด"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"โทรกลับ"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"ข้อความ"</string> - <string name="notification_external_call" msgid="5611236780302924816">"กำลังใช้สายบนอุปกรณ์อื่น"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"โอนสาย"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"หากต้องการโทรออก ให้ปิดโหมดบนเครื่องบินก่อน"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"ยังไม่ได้ลงทะเบียนบนเครือข่าย"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"เครือข่ายมือถือใช้งานไม่ได้"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"หากต้องการโทรออก โปรดป้อนหมายเลขที่ถูกต้อง"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"ไม่สามารถโทรได้"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"กำลังเริ่มต้นลำดับ MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"ไม่สนับสนุนบริการนี้"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"ไม่สามารถสลับสายได้"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"ไม่สามารถแยกสายได้"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"ไม่สามารถโอนได้"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"ไม่สามารถประชุมได้"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"ไม่สามารถปฏิเสธสายได้"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"ไม่สามารถเริ่มการโทรได้"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"โทรแบบ SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"หมายเลขฉุกเฉิน"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"กำลังเปิดวิทยุ…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"ไม่มีบริการ โปรดลองอีกครั้ง…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"โทรออกไม่ได้ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ไม่ใช่หมายเลขฉุกเฉิน"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"ไม่สามารถโทรออก โทรหมายเลขฉุกเฉิน"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ใช้แป้นพิมพ์กดหมายเลขโทรศัพท์"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"พักสาย"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"โทรต่อ"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"วางสาย"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"แสดงแป้นหมายเลข"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ซ่อนแป้นหมายเลข"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"ปิดเสียง"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"เปิดเสียง"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"เพิ่มการโทร"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"รวมสาย"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"สลับ"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"จัดการการโทร"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"จัดการการประชุมสาย"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"การประชุมสาย"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"จัดการ"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"เสียง"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"แฮงเอาท์วิดีโอ"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"เปลี่ยนเป็นการโทรด้วยเสียง"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"เปลี่ยนกล้อง"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"เปิดกล้อง"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"ปิดกล้อง"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"ตัวเลือกเพิ่มเติม"</string> - <string name="player_started" msgid="3478865572468310331">"โปรแกรมเล่นเริ่มทำงานแล้ว"</string> - <string name="player_stopped" msgid="1278611664986561535">"โปรแกรมเล่นหยุดแล้ว"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"กล้องไม่พร้อมทำงาน"</string> - <string name="camera_ready" msgid="2614541247814590887">"กล้องพร้อมทำงาน"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"เหตุการณ์เซสชันการโทรที่ไม่รู้จัก"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"บริการ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"ตั้งค่า"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<ไม่ได้ตั้งค่า>"</string> - <string name="other_settings" msgid="6699076019841942826">"การตั้งค่าการโทรอื่นๆ"</string> - <string name="calling_via_template" msgid="3539373093109976255">"โทรผ่าน <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"สายเรียกเข้าผ่าน <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"ภาพของรายชื่อติดต่อ"</string> - <string name="goPrivate" msgid="3554069451018659483">"เข้าสู่โหมดส่วนตัว"</string> - <string name="selectContact" msgid="92191462970821951">"เลือกรายชื่อติดต่อ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"เขียนคำตอบของคุณเอง..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"ยกเลิก"</string> - <string name="custom_message_send" msgid="3798076337006735995">"ส่ง"</string> - <string name="description_target_answer" msgid="1111945818996518320">"รับสาย"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"ส่ง SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"ปฏิเสธ"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"รับสายเป็นแฮงเอาท์วิดีโอ"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"รับสายเป็นการโทรด้วยเสียง"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ยอมรับคำขอวิดีโอ"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ปฏิเสธคำขอวิดีโอ"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ยอมรับคำขอให้ส่งวิดีโอ"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ปฏิเสธคำขอให้ส่งวิดีโอ"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ยอมรับคำขอให้รับวิดีโอ"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ปฏิเสธคำขอให้รับวิดีโอ"</string> - <string name="description_direction_up" msgid="1735018141439291766">"เลื่อนไปข้างบนเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_left" msgid="6811598791620851239">"เลื่อนไปทางซ้ายเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_right" msgid="5461971399586296023">"เลื่อนไปทางขวาเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="description_direction_down" msgid="3331715227997561639">"เลื่อนลงเพื่อ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"สั่น"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"สั่น"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"เสียง"</string> - <string name="default_notification_description" msgid="4950807644546509965">"เสียงเริ่มต้น (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"เสียงเรียกเข้าโทรศัพท์"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"สั่นเมื่อมีสายเข้า"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"เสียงเรียกเข้าและสั่น"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"จัดการการประชุมสาย"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"หมายเลขฉุกเฉิน"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"รูปโปรไฟล์"</string> - <string name="camera_off_description" msgid="4220023868645225790">"ปิดกล้อง"</string> - <string name="child_number" msgid="4469090994612105532">"ผ่านหมายเลข <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"ส่งโน้ตแล้ว"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"ข้อความล่าสุด"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"ข้อมูลธุรกิจ"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"อยู่ห่างออกไป <xliff:g id="DISTANCE">%.1f</xliff:g> ไมล์"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"อยู่ห่างออกไป <xliff:g id="DISTANCE">%.1f</xliff:g> กม."</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"เปิดให้บริการพรุ่งนี้เวลา <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"เปิดให้บริการวันนี้เวลา <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"ปิดให้บริการเวลา <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"ปิดให้บริการแล้ววันนี้เวลา <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"ขณะนี้เปิดทำการ"</string> - <string name="closed_now" msgid="2635314668145282080">"ขณะนี้ปิดทำการ"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"ผู้โทรที่สงสัยว่าเป็นสแปม"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"วางสายแล้ว %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"หมายเลขนี้โทรหาคุณเป็นครั้งแรก"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"เราสงสัยว่าสายนี้จะเป็นนักส่งสแปม"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"บล็อก/รายงานสแปม"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"เพิ่มผู้ติดต่อ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"ไม่ใช่สแปม"</string> -</resources> diff --git a/InCallUI/res/values-tl/strings.xml b/InCallUI/res/values-tl/strings.xml deleted file mode 100644 index b5658d705..000000000 --- a/InCallUI/res/values-tl/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telepono"</string> - <string name="onHold" msgid="527593602772521700">"Naka-hold"</string> - <string name="unknown" msgid="3646075119047488748">"Hindi alam"</string> - <string name="private_num" msgid="6081418498487514686">"Pribadong numero"</string> - <string name="payphone" msgid="5743050584468748607">"Payphone"</string> - <string name="confCall" msgid="3181961445236675173">"Conference call"</string> - <string name="call_lost" msgid="8208184291640961172">"Naputol ang tawag"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Speaker"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Handset earpiece"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Wired na headset"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Ipapadala ba ang mga sumusunod na tono?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Nagpapadala ng mga tono\n"</string> - <string name="send_button" msgid="4054398309483035794">"Ipadala"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Oo"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Hindi"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Palitan ang wild character ng"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Conference call <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Numero ng voicemail"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Dina-dial"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Muling dina-dial"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Conference call"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Papasok na tawag"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Papasok na tawag sa trabaho"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Ibinaba ang tawag"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Naka-hold"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Binababa"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Nasa tawag"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Ang aking numero ay <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Ikinokonekta ang video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Mag-video call"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Humihiling ng video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Hindi makakonekta sa video call"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Tinanggihan ang kahilingan sa video"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Ang iyong numero ng callback\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Ang iyong emergency na numero ng callback\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Dina-dial"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Hindi nasagot na tawag"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Mga hindi nasagot na tawag"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> (na) hindi nasagot na tawag"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Hindi nasagot ang tawag mula kay <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Kasalukuyang tawag"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Kasalukuyang tawag sa trabaho"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Kasalukuyang tawag sa Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Kasalukuyang tawag sa trabaho sa pamamagitan ng Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Naka-hold"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Papasok na tawag"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Papasok na tawag sa trabaho"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Papasok na tawag sa Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Papasok na tawag sa trabaho sa pamamagitan ng Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Papasok na video call"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Papasok na pinaghihinalaang spam na tawag"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Papasok na kahilingan ng video"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Bagong voicemail"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Bagong voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"I-dial ang <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Hindi kilala ang numero ng voicemail"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Walang serbisyo"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Hindi available ang piniling network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>)"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Sagutin"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Ibaba"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Boses"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Tanggapin"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"I-dismiss"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Tawagan"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Mensahe"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Kasalukuyang tawag sa isa pang device"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Ilipat ang Tawag"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Upang tumawag, paki-off muna ang Airplane mode."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Hindi nakarehistro sa network."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Hindi available ang cellular network."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Upang tumawag, maglagay ng wastong numero."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Hindi makatawag."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Sinisimulan ang pagkakasunud-sunod ng MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Hindi sinusuportahan ang serbisyo."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Hindi mailipat ang mga tawag."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Hindi mapaghiwalay ang tawag."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Hindi mailipat."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Hindi makapag-conference."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Hindi matanggihan ang tawag."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Hindi mailabas ang (mga) tawag."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Tawag sa SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Emergency na tawag"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Ino-on ang radyo…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Walang serbisyo. Sinusubukang muli…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Hindi makatawag. Ang <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ay hindi isang pang-emergency na numero."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Hindi makatawag. Mag-dial ng pang-emergency na numero."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Gamitin ang keyboard upang mag-dial"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"I-hold ang Tawag"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Ituloy ang Tawag"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Ibaba ang Tawag"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Ipakita ang Dialpad"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Itago ang Dialpad"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"I-mute"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Alisin sa pagkaka-mute"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Magdagdag ng tawag"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Pagsamahin ang mga tawag"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Pagpalitin"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Pamahalaan ang mga tawag"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Pamahalaan ang conference call"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Conference call"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Pamahalaan"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Mag-video call"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Gawing voice call"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Lumipat ng camera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"I-on ang camera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"I-off ang camera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Higit pang mga opsyon"</string> - <string name="player_started" msgid="3478865572468310331">"Nagsimula na ang Player"</string> - <string name="player_stopped" msgid="1278611664986561535">"Huminto ang Player"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Hindi pa handa ang camera"</string> - <string name="camera_ready" msgid="2614541247814590887">"Handa na ang camera"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Hindi alam na kaganapan ng session ng tawag"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Serbisyo"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"I-setup"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Hindi nakatakda>"</string> - <string name="other_settings" msgid="6699076019841942826">"Iba pang mga setting ng tawag"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Tumatawag sa pamamagitan ng <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Papasok sa pamamagitan ng <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"larawan ng contact"</string> - <string name="goPrivate" msgid="3554069451018659483">"maging pribado"</string> - <string name="selectContact" msgid="92191462970821951">"pumili ng contact"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Sumulat ng sarili mong tugon…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Kanselahin"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Ipadala"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Sagutin"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Magpadala ng SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Tanggihan"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Sagutin bilang video call"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Sagutin bilang audio call"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Tanggapin ang kahilingan sa video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Tanggihan ang kahilingan sa video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Tanggapin ang kahilingan sa pagpapadala ng video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Tanggihan ang kahilingan sa pagpapadala ng video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Tanggapin ang kahilingan sa pagtanggap ng video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Tanggihan ang kahilingan sa pagtanggap ng video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Mag-slide pataas para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Mag-slide pakaliwa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Mag-slide pakanan para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Mag-slide pababa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Mag-vibrate"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Mag-vibrate"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Tunog"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Default na tunog (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ringtone ng telepono"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Mag-vibrate kapag nagri-ring"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ringtone at Pag-vibrate"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Pamahalaan ang conference call"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Pang-emergency na numero"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Larawan sa profile"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Naka-off ang camera"</string> - <string name="child_number" msgid="4469090994612105532">"sa pamamagitan ng <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Naipadala ang tala"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Mga kamakailang mensahe"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Impormasyon ng negosyo"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> (na) milya ang layo"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> (na) kilometro ang layo"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Magbubukas bukas nang <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Magbubukas ngayon nang <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Magsasara nang <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Sarado ngayon nang <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Bukas ngayon"</string> - <string name="closed_now" msgid="2635314668145282080">"Sarado ngayon"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Hinihinalang spam na tumatawag"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Natapos ang tawag %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Ito ang unang beses na tinawagan ka ng numerong ito."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Pinaghihinalaan naming isang spammer ang tawag na ito."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"I-block/iulat na spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Magdagdag ng contact"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Hindi spam"</string> -</resources> diff --git a/InCallUI/res/values-tr/strings.xml b/InCallUI/res/values-tr/strings.xml deleted file mode 100644 index 405bab8db..000000000 --- a/InCallUI/res/values-tr/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Beklemede"</string> - <string name="unknown" msgid="3646075119047488748">"Bilinmiyor"</string> - <string name="private_num" msgid="6081418498487514686">"Gizli numara"</string> - <string name="payphone" msgid="5743050584468748607">"Ankesörlü telefon"</string> - <string name="confCall" msgid="3181961445236675173">"Konferans görüşmesi"</string> - <string name="call_lost" msgid="8208184291640961172">"Çağrı kesildi"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Hoparlör"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Mobil cihaz kulaklığı"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Kablolu kulaklık"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Aşağıdaki zil sesleri gönderilsin mi?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Numara tonları gönderiliyor\n"</string> - <string name="send_button" msgid="4054398309483035794">"Gönder"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Evet"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Hayır"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Joker karakteri şununla değiştir:"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferans görüşmesi <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Sesli mesaj numarası"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Numara çevriliyor"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Yeniden çevriliyor"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferans görüşmesi"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Gelen çağrı"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"İşle ilgili gelen çağrı"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Çağrı sonlandırıldı"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Beklemede"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Sonlandırılıyor"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Görüşmede"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Numaram: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Video bağlanıyor"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video görüşmesi"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Video isteniyor"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Video görüşmesi bağlantısı yapılamıyor"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video isteği reddedildi"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Geri aranacağınız numara\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Acil durumda geri aranacağınız numara\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Numara çevriliyor"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Cevapsız çağrı"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Cevapsız çağrılar"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> cevapsız çağrı"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Cevapsız çağrı: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Devam eden çağrı"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"İşle ilgili devam eden çağrı"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Devam eden kablosuz çağrı"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"İşle ilgili devam eden kablosuz çağrı"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Beklemede"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Gelen çağrı"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"İşle ilgili gelen çağrı"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Gelen kablosuz çağrı"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"İşle ilgili gelen kablosuz çağrı"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Gelen video görüşmesi isteği"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Spam olabilecek gelen arama"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Gelen video isteği"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Yeni sesli mesaj"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Yeni sesli mesaj (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Çevir: <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Sesli mesaj numarası bilinmiyor"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Servis yok"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Seçili ağ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) kullanılamıyor"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Yanıtla"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Kapat"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Ses"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Kabul et"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Yok say"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Geri ara"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"İleti"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Başka bir cihazda devam eden çağrı"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Çağrıyı Aktar"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Çağrı yapmak için öncelikle Uçak modunu kapatın."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ağda kayıtlı değil."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Hücresel ağ kullanılamıyor."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Çağrı yapmak için geçerli bir numara girin."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Çağrı yapılamıyor."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI dizisi başlatılıyor…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Service desteklenmiyor"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Çağrı geçişi yapılamıyor."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Çağrı ayrılamıyor."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Aktarılamıyor."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferans çağrısı yapılamıyor."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Çağrı reddedilemiyor."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Çağrılar bırakılamıyor."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP çağrısı"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Acil durum çağrısı"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Radyo açılıyor…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Servis yok. Tekrar deneniyor…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Çağrı yapılamıyor. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bir acil durum numarası değil."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Çağrı yapılamıyor. Acil durum numarasını çevirin."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Çevirmek için klavyeyi kullan"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Çağrıyı Beklet"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Çağrıyı Devam Ettir"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Çağrıyı Sonlandır"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Tuş Takımını Göster"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Tuş Takımını Gizle"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Sesi kapat"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Sesi aç"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Çağrı ekle"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Çağrıları birleştir"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Değiştir"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Çağrıları yönet"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Konferans çağrısını yönet"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferans çağrısı"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Yönet"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Ses"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Vid. görşm"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Sesli çağrıya geç"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kamerayı değiştir"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamerayı aç"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamerayı kapat"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Diğer seçenekler"</string> - <string name="player_started" msgid="3478865572468310331">"Oynatıcı Başlatıldı"</string> - <string name="player_stopped" msgid="1278611664986561535">"Oynatıcı Durduruldu"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera hazır değil"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera hazır"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Bilinmeyen çağrı oturumu etkinliği"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Hizmet"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Kurulum"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ayarlanmadı>"</string> - <string name="other_settings" msgid="6699076019841942826">"Diğer çağrı ayarları"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> üzerinden çağrı yapılıyor"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> adlı sağlayıcı üzerinden gelen çağrı"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kişi fotoğrafı"</string> - <string name="goPrivate" msgid="3554069451018659483">"özel görüşmeye geç"</string> - <string name="selectContact" msgid="92191462970821951">"kişi seçin"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Kendi yanıtınızı oluşturun…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"İptal"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Gönder"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Yanıtla"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS gönder"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Reddet"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Video görüşmesi olarak yanıtla"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Sesli görüşme olarak yanıtla"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Video isteğini kabul et"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Video isteğini reddet"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Video aktarma isteğini kabul et"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Video aktarma isteğini reddet"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Video alma isteğini kabul et"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Video alma isteğini reddet"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için yukarı kaydırın."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için sola kaydırın."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için sağa kaydırın."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> için aşağı kaydırın."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Titreşim"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Titreşim"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ses"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Varsayılan ses (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefon zil sesi"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Çalarken titret"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Zil Sesi ve Titreşim"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Konferans çağrısını yönetin"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Acil durum numarası"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profil fotoğrafı"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera kapalı"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> üzerinden"</string> - <string name="note_sent" msgid="7623014827902758398">"Not gönderildi"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Son iletiler"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"İşletme bilgileri"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mil uzakta"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km uzakta"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Yarın açılış saati: <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Bugün açılış saati: <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Kapanış saati: <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Bugün kapanış saati: <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Şu an açık"</string> - <string name="closed_now" msgid="2635314668145282080">"Şu an kapalı"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Spam olabilck arayan"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Arama sona erdi %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Bu, bu numaradan ilk aranışınız."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Bu aramanın spam olduğundan şüpheleniliyor."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Engelle/spam bildir"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Kişi ekle"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Spam değil"</string> -</resources> diff --git a/InCallUI/res/values-uk/strings.xml b/InCallUI/res/values-uk/strings.xml deleted file mode 100644 index b323acd04..000000000 --- a/InCallUI/res/values-uk/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Номер телефону"</string> - <string name="onHold" msgid="527593602772521700">"Очікування"</string> - <string name="unknown" msgid="3646075119047488748">"Невідомо"</string> - <string name="private_num" msgid="6081418498487514686">"Приватний номер"</string> - <string name="payphone" msgid="5743050584468748607">"Таксофон"</string> - <string name="confCall" msgid="3181961445236675173">"Конференц-зв’язок"</string> - <string name="call_lost" msgid="8208184291640961172">"Виклик перервано"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Динамік"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Динамік гарнітури"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Дротова гарнітура"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Надіслати вказані нижче сигнали?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Надсилання сигналів\n"</string> - <string name="send_button" msgid="4054398309483035794">"Надіслати"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Так"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Ні"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Замінити довільний символ на"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Конференц-зв’язок <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Номер голосової пошти"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Набір номера"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Повторний набір"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Конференц-зв’язок"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Вхідний виклик"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Вхідний робочий виклик"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Виклик завершено"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Очікування"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Завершення виклику"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Триває виклик"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Мій номер: <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Відеодзвінок: з’єднання"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Відеодзвінок"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Надсилання запиту на відеодзвінок"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Не вдалося здійснити відеодзвінок"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Запрошення на відеодзвінок відхилено"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Номер для зв’язку:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Екстрений номер:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Набір номера"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Пропущений виклик"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Пропущені виклики"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"Пропущено викликів: <xliff:g id="NUM_MISSED_CALLS">%s</xliff:g>"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Пропущений виклик: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Поточний виклик"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Поточний виклик на робочий телефон"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Поточний виклик через Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Поточний виклик на робочий телефон через Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Очікування"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Вхідний виклик"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Вхідний виклик на робочий телефон"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Вхідний виклик через Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Вхідний виклик на робочий телефон через Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Вхідний відеодзвінок"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Цей дзвінок може бути спамом"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Запит на вхідний відеодзвінок"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Нові голосові повідомлення"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Нові голосові повідомлення (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Набрати <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Невідомий номер голосової пошти"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Немає зв’язку"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Вибрана мережа (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) недоступна"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Відповісти"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Завершити"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Відео"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Гол. виклик"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Прийняти"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Відхилити"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Передзвонити"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Написати SMS"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Поточний виклик на іншому пристрої"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Передати виклик"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Щоб зателефонувати, вимкніть режим польоту."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Не зареєстровано в мережі."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Мобільна мережа недоступна."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Щоб зателефонувати, введіть дійсний номер."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Не вдається зателефонувати."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Запуск ряду MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Служба не підтримується."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Неможливо переключитися між викликами."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Неможливо розділити виклик."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Неможливо перенести."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Конференц-зв’язок недоступний."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Неможливо відхилити виклик."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Неможливо телефонувати."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Виклик через протокол SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Екстрений виклик"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Увімкнення радіо…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Немає зв’язку. Повторна спроба…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Не вдається зателефонувати. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не є екстреним номером."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Не вдається зателефонувати. Наберіть екстрений номер."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Використовуйте для набору клавіатуру"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Призупинити виклик"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Відновити виклик"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Завершити виклик"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Показати цифрову клавіатуру"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Сховати цифрову клавіатуру"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Ігнорувати"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Не ігнорувати"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Додати виклик"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Об’єднати виклики"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Поміняти виклики"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Керувати викликами"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Керувати конференц-зв’язком"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Конференц-зв’язок"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Керувати"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Аудіо"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Відеодзвінок"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Перейти в режим голосового виклику"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Вибрати камеру"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Увімкнути камеру"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Вимкнути камеру"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Інші опції"</string> - <string name="player_started" msgid="3478865572468310331">"Програвач запущено"</string> - <string name="player_stopped" msgid="1278611664986561535">"Програвач зупинено"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Камера неготова"</string> - <string name="camera_ready" msgid="2614541247814590887">"Камера готова"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Невідомий сеанс виклику"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Служба"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Налаштування"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Не налаштовано>"</string> - <string name="other_settings" msgid="6699076019841942826">"Інші налаштування виклику"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Виклик здійснюється через оператора <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Вхідні виклики через оператора <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"фото контакта"</string> - <string name="goPrivate" msgid="3554069451018659483">"приватна розмова"</string> - <string name="selectContact" msgid="92191462970821951">"вибрати контакт"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Напишіть власну відповідь…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Скасувати"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Надіслати"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Відповісти"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Надіслати SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Відхилити"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Відповісти в режимі відеодзвінка"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Відповісти в режимі аудіодзвінка"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Прийняти запит на відео"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Відхилити запит на відео"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Прийняти запит на передавання відео"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Відхилити запит на передавання відео"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Прийняти запит на отримання відео"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Відхилити запит на отримання відео"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Проведіть пальцем угору, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Проведіть пальцем ліворуч, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Проведіть пальцем праворуч, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Проведіть пальцем донизу, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Вібросигнал"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Вібросигнал"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Звук"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Звук за умовчанням (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Сигнал дзвінка телефона"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Вібрувати під час виклику"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Сигнал дзвінка та вібросигнал"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Керування конференц-зв’язком"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Екстрений номер"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Фотографія профілю"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Камеру вимкнено"</string> - <string name="child_number" msgid="4469090994612105532">"на номер <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Нотатку надіслано"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Нещодавні повідомлення"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Інформація про компанію"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"За <xliff:g id="DISTANCE">%.1f</xliff:g> мил."</string> - <string name="distance_metric_away" msgid="9021396592464955256">"За <xliff:g id="DISTANCE">%.1f</xliff:g> км"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g>–<xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Відчиняється завтра о <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Відчиняється сьогодні о <xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Зачиняється о <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Зачинено сьогодні о <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Відчинено"</string> - <string name="closed_now" msgid="2635314668145282080">"Зачинено"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Може бути спамом"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Дзвінок завершено %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"З цього номера вам телефонують уперше."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Ми підозрюємо, що телефонував спамер."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Заблокувати/це спам"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Додати контакт"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Не спам"</string> -</resources> diff --git a/InCallUI/res/values-ur/strings.xml b/InCallUI/res/values-ur/strings.xml deleted file mode 100644 index 32e0d45aa..000000000 --- a/InCallUI/res/values-ur/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"فون"</string> - <string name="onHold" msgid="527593602772521700">"ہولڈ پر ہے"</string> - <string name="unknown" msgid="3646075119047488748">"نامعلوم"</string> - <string name="private_num" msgid="6081418498487514686">"نجی نمبر"</string> - <string name="payphone" msgid="5743050584468748607">"پے فون"</string> - <string name="confCall" msgid="3181961445236675173">"کانفرنس کال"</string> - <string name="call_lost" msgid="8208184291640961172">"کال ختم ہو گئی"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"اسپیکر"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"ہینڈسیٹ ایئرپیس"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"تار والا ہیڈسیٹ"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"بلوٹوتھ"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"درج ذیل ٹونز بھیجیں؟\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"ٹونز بھیج رہا ہے\n"</string> - <string name="send_button" msgid="4054398309483035794">"بھیجیں"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"ہاں"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"نہیں"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"وائلڈ کریکٹر کو اس کے ساتھ بدلیں"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"کانفرنس کال <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"صوتی میل نمبر"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"ڈائل ہو رہا ہے"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"دوبارہ ڈائل ہو رہا ہے"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"کانفرنس کال"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"آنے والی کال"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"کام سے متعلق آنے والی کال"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"کال ختم ہوگئی"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"ہولڈ پر ہے"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"کال منقطع ہو رہی ہے"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"کال میں"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"میرا نمبر ہے <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"ویڈیو منسلک ہو رہی ہے"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"ویڈیو کال"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"ویڈیو کی درخواست کی جا رہی ہے"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"ویڈیو کال منسلک نہیں ہو سکتی"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"ویڈیو کی درخواست مسترد ہو گئی"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"آپ کا کال بیک نمبر\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"آپ کا ہنگامی کال بیک نمبر\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"ڈائل ہو رہا ہے"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"چھوٹی ہوئی کال"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"چھوٹی ہوئی کالیں"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> چھوٹی ہوئی کالیں"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> کی جانب سے چھوٹی ہوئی کال"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"جاری کال"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"کام سے متعلق جاری کال"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Wi-Fi کال جاری ہے"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"کام سے متعلق جاری Wi-Fi کال"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"ہولڈ پر ہے"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"آنے والی کال"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"کام سے متعلق آنے والی کال"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"آنے والی Wi-Fi کال"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"کام سے متعلق آنے والی Wi-Fi کال"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"آنے والی ویڈیو کال"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"آنے والی مشتبہ سپام کال"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"آنے والی ویڈیو کی درخواست"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"نیا صوتی میل"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"نیا صوتی میل (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ڈائل کریں"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"صوتی میل نمبر نامعلوم ہے"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"کوئی سروس نہیں ہے"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"منتخب کردہ نیٹ ورک (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) دستیاب نہیں ہے"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"جواب"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"کال منقطع کریں"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"ویڈیو"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"آواز"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"قبول کریں"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"برخاست کریں"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"واپس کال کریں"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"پیغام"</string> - <string name="notification_external_call" msgid="5611236780302924816">"ایک اور آلے پر جاری کال"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"کال منتقل کریں"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"کال کرنے کیلئے، پہلے ہوائی جہاز طرز کو آف کریں۔"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"نیٹ ورک پر رجسٹرڈ نہیں ہے۔"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"سیلولر نیٹ ورک دستیاب نہیں ہے۔"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"کال کرنے کیلئے، ایک درست نمبر درج کریں۔"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"کال نہیں ہو سکتی۔"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI ترتیب شروع ہو رہی ہے…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"سروس تعاون یافتہ نہیں ہے۔"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"کالز سوئچ نہیں ہو سکتیں۔"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"کال الگ نہیں ہو سکتی۔"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"منتقل نہیں ہو سکتی۔"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"کانفرنس نہیں ہو سکتی۔"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"کال مسترد نہیں ہو سکتی۔"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"کال(ز) ریلیز نہیں ہو سکتیں۔"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP کال"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"ہنگامی کال"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"ریڈیو آن ہو رہا ہے…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"کوئی سروس نہیں ہے۔ دوبارہ کوشش کی جا رہی ہے…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"کال نہیں کی جا سکتی۔ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ایک ہنگامی نمبر نہیں ہے۔"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"کال نہیں کی جا سکتی۔ ایک ہنگامی نمبر ڈائل کریں۔"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"ڈائل کرنے کیلئے کی بورڈ استعمال کریں"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"کال کو ہولڈ کریں"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"کال کو دوبارہ شروع کریں"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"کال ختم کریں"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"ڈائل پیڈ دکھائیں"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"ڈائل پیڈ چھپائیں"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"خاموش کریں"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"آواز چالو کریں"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"کال شامل کریں"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"کالز کو ضم کریں"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"تبادلہ کریں"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"کالز کا نظم کریں"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"کانفرنس کال کا نظم کریں"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"کانفرنس کال"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"نظم کریں"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"آڈیو"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"ویڈیو کال"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"صوتی کال میں تبدیل کریں"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"کیمرا سوئچ کریں"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"کیمرا آن کریں"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"کیمرا آف کریں"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"مزید اختیارات"</string> - <string name="player_started" msgid="3478865572468310331">"پلیئر شروع ہوگیا"</string> - <string name="player_stopped" msgid="1278611664986561535">"پلیئر بند ہوگیا"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"کیمرا تیار نہیں ہے"</string> - <string name="camera_ready" msgid="2614541247814590887">"کیمرا تیار ہے"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"نامعلوم کال سیشن ایونٹ"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"سروس"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"ترتیب دیں"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<سیٹ نہیں ہے>"</string> - <string name="other_settings" msgid="6699076019841942826">"کال کی دیگر ترتیبات"</string> - <string name="calling_via_template" msgid="3539373093109976255">"کالنگ بذریعہ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> کے ذریعے آنے والی"</string> - <string name="contactPhoto" msgid="6028825355597675193">"رابطہ کی تصویر"</string> - <string name="goPrivate" msgid="3554069451018659483">"نجی ہوجائیں"</string> - <string name="selectContact" msgid="92191462970821951">"رابطہ منتخب کریں"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"اپنا ذاتی تحریر کریں…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"منسوخ کریں"</string> - <string name="custom_message_send" msgid="3798076337006735995">"بھیجیں"</string> - <string name="description_target_answer" msgid="1111945818996518320">"جواب دیں"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS بھیجیں"</string> - <string name="description_target_decline" msgid="7108154434759234035">"مسترد کریں"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"ویڈیو کال کے بطور جواب دیں"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"آڈیو کال کے بطور جواب دیں"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"ویڈیو کی درخواست قبول کریں"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"ویڈیو کی درخواست مسترد کریں"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"ویڈیو منتقل کرنے کی درخواست قبول کریں"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"ویڈیو منتقل کرنے کی درخواست مسترد کریں"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"ویڈیو موصول کرنے کی درخواست قبول کریں"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"ویڈیو موصول کرنے کی درخواست مسترد کریں"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے اوپر سلائیڈ کریں۔"</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے بائیں سلائیڈ کریں۔"</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے دائیں سلائیڈ کریں۔"</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> کیلئے نیچے سلائیڈ کریں۔"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"ارتعاش"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"ارتعاش"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"آواز"</string> - <string name="default_notification_description" msgid="4950807644546509965">"ڈیفالٹ آواز (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"فون رِنگ ٹون"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"رِنگ کے وقت مرتعش کریں"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"رنگ ٹون اور ارتعاش"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"کانفرنس کال کا نظم کریں"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"ہنگامی نمبر"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"پروفائل کی تصویر"</string> - <string name="camera_off_description" msgid="4220023868645225790">"کیمرا آف ہے"</string> - <string name="child_number" msgid="4469090994612105532">"بذریعہ <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"نوٹ بھیج دیا گیا"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"حالیہ پیغامات"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"کاروباری معلومات"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> میل دور"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> کلومیٹر دور"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>، <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>، <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"کل <xliff:g id="OPEN_TIME">%s</xliff:g> بجے کھلے گا"</string> - <string name="opens_today_at" msgid="6281212768937222891">"آج <xliff:g id="OPEN_TIME">%s</xliff:g> بجے کھلے گا"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> بجے بند ہوگا"</string> - <string name="closed_today_at" msgid="4060072663433467233">"آج <xliff:g id="CLOSE_TIME">%s</xliff:g> بجے بند ہوا"</string> - <string name="open_now" msgid="4615706338669555999">"ابھی کھلا ہے"</string> - <string name="closed_now" msgid="2635314668145282080">"اب بند ہے"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"مشتبہ سپام کالر"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"کال ختم ہو گئی %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"اس نمبر سے پہلی بار آپ کو کال آئی ہے۔"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"ہمیں شک ہے کہ یہ کال سپامر تھی۔"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"مسدود کریں/سپام کی اطلاع دیں"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"رابطہ شامل کریں"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"سپام نہیں ہے"</string> -</resources> diff --git a/InCallUI/res/values-uz/strings.xml b/InCallUI/res/values-uz/strings.xml deleted file mode 100644 index 15d534d25..000000000 --- a/InCallUI/res/values-uz/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Telefon"</string> - <string name="onHold" msgid="527593602772521700">"Kutilmoqda"</string> - <string name="unknown" msgid="3646075119047488748">"Noma’lum"</string> - <string name="private_num" msgid="6081418498487514686">"Maxfiy raqam"</string> - <string name="payphone" msgid="5743050584468748607">"Taksofon"</string> - <string name="confCall" msgid="3181961445236675173">"Konferens-aloqa"</string> - <string name="call_lost" msgid="8208184291640961172">"Chaqiruv uzilib qoldi"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Karnay"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Telefon quloqchini"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Simli garnitura"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Quyidagi tovush signallari yuborilsinmi?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Tovush signallari yuborilmoqda\n"</string> - <string name="send_button" msgid="4054398309483035794">"Yuborish"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Ha"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Yo‘q"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Universal belgini bunga almashtirish"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Konferens-aloqa: <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Ovozli pochta raqami"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Chaqiruv"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Qayta terilmoqda"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Konferens-aloqa"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Kiruvchi qo‘ng‘iroq"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Kiruvchi qo‘ng‘iroq (ish)"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Chaqiruv tugadi"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Kutilmoqda"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Suhbat tugatilmoqda"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Suhbat"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Mening raqamim – <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Videoga ulanmoqda"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Video qo‘ng‘iroq"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Video so‘ralmoqda"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Video qo‘ng‘iroqqa ulanib bo‘lmadi"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Video qo‘ng‘iroq so‘rovi rad etildi"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Teskari qo‘ng‘iroq raqamingiz\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Favqulodda holatlar uchun teskari qo‘ng‘iroq raqamingiz\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Chaqiruv"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Javobsiz qo‘ng‘iroq"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Javobsiz qo‘ng‘iroqlar"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ta javobsiz qo‘ng‘iroq"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> qo‘ng‘irog‘i javobsiz qoldirildi"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Joriy qo‘ng‘iroq"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Joriy qo‘ng‘iroq (ish)"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Joriy Wi-Fi qo‘ng‘iroq"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Joriy Wi-Fi qo‘ng‘iroq (ish)"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Kutilmoqda"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Kiruvchi qo‘ng‘iroq"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Kiruvchi qo‘ng‘iroq (ish)"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Kiruvchi Wi-Fi qo‘ng‘iroq"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Kiruvchi Wi-Fi qo‘ng‘iroq (ish)"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Kiruvchi video qo‘ng‘iroq"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Shubhali kiruvchi qo‘ng‘iroq"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Kiruvchi video qo‘ng‘iroq"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Yangi ovozli xabar"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Yangi ovozli xabar (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> raqamini terish"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Ovozli pochta raqami noma’lum"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Xizmat mavjud emas"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Tanlangan tarmoq (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) mavjud emas"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Javob berish"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Tugatish"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video aloqa"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Ovozli aloqa"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Qabul qilish"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Rad etish"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Telefon qilish"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"SMS yuborish"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Boshqa qurilmada hozir qo‘ng‘iroq amalga oshirilmoqda."</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Qo‘ng‘iroqni o‘tkazish"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Parvoz rejimini o‘chirib qo‘ying."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Tarmoqda ro‘yxatdan o‘tmagan."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Uyali tarmoq mavjud emas."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Raqam noto‘g‘ri."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Qo‘ng‘iroq qilib bo‘lmadi."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"MMI tartibi ishga tushmoqda…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Xizmat qo‘llab-quvvatlanmaydi."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Qo‘ng‘iroqlarni almashtirib bo‘lmadi."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Qo‘ng‘iroqni ajratib bo‘lmadi."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"O‘tkazib bo‘lmadi."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Konferens-aloqa o‘rnatib bo‘lmadi."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Qo‘ng‘iroqni rad qilib bo‘lmadi."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Qo‘ng‘iroq(lar)ni chiqarib bo‘lmadi."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP qo‘ng‘iroq"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Favqulodda chaqiruv"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Radio yoqilmoqda…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Aloqa yo‘q. Qayta urinilmoqda…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Qo‘ng‘iroq qilib bo‘lmadi. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> favqulodda raqam emas."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Qo‘ng‘iroq qilib bo‘lmadi. Favqulodda raqamga tering."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Terish uchun klaviaturadan foydalaning"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Qo‘ng‘iroqni ushlab turish"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Qo‘ng‘iroqni davom ettirish"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Chaqiruvni tugatish"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Raqam terish panelini ochish"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Raqam terish panelini yopish"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Ovozni o‘chirish"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Ovozni yoqish"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Chaqiruv qo‘shish"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Qo‘ng‘iroqlarni birlashtirish"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Almashtirish"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Qo‘ng‘iroqlarni boshqarish"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Konferens-aloqani sozlash"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Konferens-aloqa"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Boshqarish"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Audio"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Video qo‘ng‘iroq"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Ovozli qo‘ng‘iroqqa o‘zgartirish"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Kamerani almashtirish"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Kamerani yoqish"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Kamerani o‘chirish"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Boshqa sozlamalar"</string> - <string name="player_started" msgid="3478865572468310331">"Pleyer ishga tushirildi"</string> - <string name="player_stopped" msgid="1278611664986561535">"Pleyer to‘xtatildi"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Kamera tayyor emas"</string> - <string name="camera_ready" msgid="2614541247814590887">"Kamera tayyor"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Aloqa seansining noma’lum hodisasi"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Xizmat"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Sozlash"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ko‘rsatilmagan>"</string> - <string name="other_settings" msgid="6699076019841942826">"Boshqa qo‘ng‘iroq sozlamalari"</string> - <string name="calling_via_template" msgid="3539373093109976255">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> orqali qo‘ng‘rioq qilinmoqda"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> orqali kiruvchi qo‘ng‘iroqlar"</string> - <string name="contactPhoto" msgid="6028825355597675193">"kontakt rasmi"</string> - <string name="goPrivate" msgid="3554069451018659483">"alohida suhbatga o‘tish"</string> - <string name="selectContact" msgid="92191462970821951">"kontaktni tanlash"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"O‘z javobingizni yozing…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Bekor qilish"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Yuborish"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Javob berish"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"SMS yuborish"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Rad etish"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Video qo‘ng‘iroqqa javob berish"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Ovozli qo‘ng‘iroqqa javob berish"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Video qo‘ng‘iroq so‘rovini qabul qilish"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Video qo‘ng‘iroq so‘rovini rad etish"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Video uzatishga ruxsat berish"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Video uzatishga ruxsat bermaslik"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Kiruvchi video qo‘ng‘iroqni qabul qilish"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Kiruvchi video qo‘ng‘iroqni rad etish"</string> - <string name="description_direction_up" msgid="1735018141439291766">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun tepaga suring."</string> - <string name="description_direction_left" msgid="6811598791620851239">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun chapga suring."</string> - <string name="description_direction_right" msgid="5461971399586296023">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun o‘ngga suring."</string> - <string name="description_direction_down" msgid="3331715227997561639">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun pastga suring."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Tebranish"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Tebranish"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Ovoz"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Standart ovoz (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Telefon ringtoni"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Jiringlash vaqtida tebranish"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Qo‘ng‘iroq ohangi va tebranish"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Konferens-aloqani sozlash"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Favqulodda qo‘ng‘iroq raqami"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Profil rasmi"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Kamera o‘chiq"</string> - <string name="child_number" msgid="4469090994612105532">"<xliff:g id="CHILD_NUMBER">%s</xliff:g> orqali"</string> - <string name="note_sent" msgid="7623014827902758398">"Xabar yuborildi"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"So‘nggi xabarlar"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Kompaniya haqida ma’lumot"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> mil masofada"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> km masofada"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> – <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Ertaga <xliff:g id="OPEN_TIME">%s</xliff:g> da ochiladi"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Bugun <xliff:g id="OPEN_TIME">%s</xliff:g> da ochiladi"</string> - <string name="closes_today_at" msgid="4822369201263491509">"<xliff:g id="CLOSE_TIME">%s</xliff:g> da yopiladi"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Bugun <xliff:g id="CLOSE_TIME">%s</xliff:g> da yopiladi"</string> - <string name="open_now" msgid="4615706338669555999">"Ochiq"</string> - <string name="closed_now" msgid="2635314668145282080">"Yopiq"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Shubhali abonent"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Qo‘ng‘iroq yakunlandi (%1$s)"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Sizga bu raqamdan birinchi marta qo‘ng‘iroq qilishdi."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Bu spam-qo‘ng‘iroqqa o‘xshayapti."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Bloklash/spamga"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Kontaktni qo‘shish"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Spam emas"</string> -</resources> diff --git a/InCallUI/res/values-vi/strings.xml b/InCallUI/res/values-vi/strings.xml deleted file mode 100644 index 58a50c278..000000000 --- a/InCallUI/res/values-vi/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Điện thoại"</string> - <string name="onHold" msgid="527593602772521700">"Đang chờ"</string> - <string name="unknown" msgid="3646075119047488748">"Không xác định"</string> - <string name="private_num" msgid="6081418498487514686">"Số cá nhân"</string> - <string name="payphone" msgid="5743050584468748607">"Điện thoại trả tiền"</string> - <string name="confCall" msgid="3181961445236675173">"Cuộc gọi nhiều bên"</string> - <string name="call_lost" msgid="8208184291640961172">"Cuộc gọi bị gián đoạn"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Loa"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Tai nghe ĐTDĐ"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Tai nghe có dây"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Gửi các âm sau?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Đang gửi âm\n"</string> - <string name="send_button" msgid="4054398309483035794">"Gửi"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Có"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Không"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Thay thế ký tự tự do bằng"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Cuộc gọi nhiều bên <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Số thư thoại"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Đang gọi"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Đang quay số lại"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Cuộc gọi nhiều bên"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Cuộc gọi đến"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Cuộc gọi đến về công việc"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Cuộc gọi đã kết thúc"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Đang chờ"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Kết thúc cuộc gọi"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Trong cuộc gọi"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Số điện thoại của tôi là <xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Đang kết nối video"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Cuộc gọi điện video"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Đang yêu cầu video"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Không kết nối được cuộc gọi điện video"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Đã từ chối yêu cầu video"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Số gọi lại của bạn\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Số gọi lại khẩn cấp của bạn\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Đang gọi"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Cuộc gọi nhỡ"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Cuộc gọi nhỡ"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> cuộc gọi nhỡ"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Cuộc gọi nhỡ từ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Cuộc gọi đang thực hiện"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Cuộc gọi đang diễn ra về công việc"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Cuộc gọi đang diễn ra qua Wi-Fi"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Cuộc gọi đang diễn ra qua Wi-Fi về công việc"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Đang chờ"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Cuộc gọi đến"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Cuộc gọi đến về công việc"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Cuộc gọi đến qua Wi-Fi"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Cuộc gọi đến qua Wi-Fi về công việc"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Cuộc gọi điện video đến"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Cuộc gọi spam đến bị nghi ngờ"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Yêu cầu video đến"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Thư thoại mới"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Thư thoại mới (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Quay số <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Số thư thoại không xác định"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Không có dịch vụ"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Mạng được chọn (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) không khả dụng"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Trả lời"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Gác máy"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Video"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Thoại"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Chấp nhận"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Loại bỏ"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Gọi lại"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Tin nhắn"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Cuộc gọi đang diễn ra trên một thiết bị khác"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Chuyển cuộc gọi"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Để thực hiện cuộc gọi, trước tiên, hãy tắt chế độ trên Máy bay."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Chưa được đăng ký trên mạng."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Không có mạng di động."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Để thực hiện cuộc gọi, hãy nhập một số hợp lệ."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Không thực hiện được cuộc gọi."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Đang khởi động chuỗi MMI…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Dịch vụ không được hỗ trợ."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Không chuyển đổi được cuộc gọi."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Không tách được cuộc gọi."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Không chuyển được cuộc gọi."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Không thực hiện được cuộc gọi nhiều bên."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Không từ chối được cuộc gọi."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Không thực hiện được cuộc gọi."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Cuộc gọi qua SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Cuộc gọi khẩn cấp"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Đang bật radio..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Không có dịch vụ nào. Đang thử lại…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Không thực hiện được cuộc gọi. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> không phải là số khẩn cấp."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Không thực hiện được cuộc gọi. Hãy quay số khẩn cấp."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Sử dụng bàn phím để quay số"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Giữ cuộc gọi"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Tiếp tục cuộc gọi"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Kết thúc cuộc gọi"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Hiển thị bàn phím số"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Ẩn bàn phím số"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Tắt tiếng"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Bật tiếng"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Thêm cuộc gọi"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Hợp nhất cuộc gọi"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Hoán đổi"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Quản lý cuộc gọi"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Quản lý cuộc gọi nhiều bên"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Cuộc gọi nhiều bên"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Quản lý"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Âm thanh"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Cuộc gọi điện video"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Thay đổi thành cuộc gọi thoại"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Chuyển máy ảnh"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Bật máy ảnh"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Tắt máy ảnh"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Tùy chọn khác"</string> - <string name="player_started" msgid="3478865572468310331">"Đã khởi động trình phát"</string> - <string name="player_stopped" msgid="1278611664986561535">"Đã dừng trình phát"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Máy ảnh chưa sẵn sàng"</string> - <string name="camera_ready" msgid="2614541247814590887">"Máy ảnh đã sẵn sàng"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Sự kiện phiên cuộc gọi không xác định"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Dịch vụ"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Thiết lập"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Chưa được đặt>"</string> - <string name="other_settings" msgid="6699076019841942826">"Cài đặt cuộc gọi khác"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Gọi điện qua <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Cuộc gọi đến qua <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"ảnh liên hệ"</string> - <string name="goPrivate" msgid="3554069451018659483">"chuyển thành riêng tư"</string> - <string name="selectContact" msgid="92191462970821951">"chọn địa chỉ liên hệ"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Viết trả lời của riêng bạn..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Hủy"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Gửi"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Trả lời"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Gửi SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Từ chối"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Trả lời là cuộc gọi điện video"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Trả lời là cuộc gọi âm thanh"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Chấp nhận yêu cầu cuộc gọi video"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Từ chối yêu cầu cuộc gọi video"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Chấp nhận yêu cầu truyền video"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Từ chối yêu cầu truyền video"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Chấp nhận yêu cầu nhận video"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Từ chối yêu cầu nhận video"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Trượt lên để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Trượt sang trái để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Trượt sang phải để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Trượt xuống để <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Rung"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Rung"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Âm thanh"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Âm thanh mặc định (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Nhạc chuông điện thoại"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Rung khi đổ chuông"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Nhạc chuông và rung"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Quản lý cuộc gọi nhiều bên"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Số khẩn cấp"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Ảnh hồ sơ"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Tắt máy ảnh"</string> - <string name="child_number" msgid="4469090994612105532">"qua <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Đã gửi ghi chú"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Tin nhắn gần đây"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Thông tin doanh nghiệp"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"Cách <xliff:g id="DISTANCE">%.1f</xliff:g> dặm"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"Cách <xliff:g id="DISTANCE">%.1f</xliff:g> km"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Mở cửa lúc <xliff:g id="OPEN_TIME">%s</xliff:g> ngày mai"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Mở cửa lúc <xliff:g id="OPEN_TIME">%s</xliff:g> hôm nay"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Đóng cửa lúc <xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Đã đóng cửa lúc <xliff:g id="CLOSE_TIME">%s</xliff:g> hôm nay"</string> - <string name="open_now" msgid="4615706338669555999">"Mở ngay bây giờ"</string> - <string name="closed_now" msgid="2635314668145282080">"Hiện đã đóng cửa"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Người gọi spam bị nghi ngờ"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Đã kết thúc cuộc gọi %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Đây là lần đầu tiên số điện thoại này gọi điện cho bạn."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Chúng tôi đã nghi ngờ cuộc gọi này là người gửi spam."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Chặn/báo cáo spam"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Thêm liên hệ"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Không phải là spam"</string> -</resources> diff --git a/InCallUI/res/values-w500dp-land/colors.xml b/InCallUI/res/values-w500dp-land/colors.xml deleted file mode 100644 index 77eea2e68..000000000 --- a/InCallUI/res/values-w500dp-land/colors.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2015 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> - <!-- Background color for status bar. For portrait this will be ignored. --> - <color name="statusbar_background_color">#000000</color> -</resources> diff --git a/InCallUI/res/values-w500dp-land/dimens.xml b/InCallUI/res/values-w500dp-land/dimens.xml deleted file mode 100644 index 112ec5f09..000000000 --- a/InCallUI/res/values-w500dp-land/dimens.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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> - <!-- Whether or not this layout displays a large photo. --> - <bool name="has_large_photo">true</bool> - - <!-- Whether or not the landscape mode layout is currently being used --> - <bool name="is_layout_landscape">true</bool> - - <!-- Height and width of the in-call buttons. --> - <dimen name="in_call_button_dimension">40dp</dimen> - - <!-- Margin underneath the call buttons. This is used only in landscape mode and is sized - so that the call buttons are center aligned with the end call button. --> - <dimen name="call_buttons_bottom_margin">30dp</dimen> - - <dimen name="dialpad_elevation">2dp</dimen> - - <dimen name="video_preview_margin">20dp</dimen> -</resources> diff --git a/InCallUI/res/values-zh-rCN/strings.xml b/InCallUI/res/values-zh-rCN/strings.xml deleted file mode 100644 index f9c43764d..000000000 --- a/InCallUI/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"电话"</string> - <string name="onHold" msgid="527593602772521700">"保持"</string> - <string name="unknown" msgid="3646075119047488748">"未知"</string> - <string name="private_num" msgid="6081418498487514686">"私密号码"</string> - <string name="payphone" msgid="5743050584468748607">"公用电话"</string> - <string name="confCall" msgid="3181961445236675173">"电话会议"</string> - <string name="call_lost" msgid="8208184291640961172">"通话中断"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"扬声器"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"手机听筒"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"有线耳机"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"蓝牙"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"发送以下信号音?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"正在发送信号音\n"</string> - <string name="send_button" msgid="4054398309483035794">"发送"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"是"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"否"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"将通配符替换为"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"电话会议(<xliff:g id="CONF_CALL_TIME">%s</xliff:g>)"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"语音信箱号码"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"正在拨号"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"正在重拨"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"电话会议"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"来电"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"工作来电"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"通话已结束"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"保持"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"正在挂断"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"正在通话"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"我的电话号码:<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"正在接通视频"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"视频通话"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"正在发出视频请求"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"无法接通视频通话"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"视频请求遭拒"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"您的回拨号码如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"您的紧急回拨号码如下:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"正在拨号"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"未接电话"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"未接电话"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 个未接电话"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"来自<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>的未接电话"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"通话进行中"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"工作通话进行中"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"WLAN 通话进行中"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"WLAN 工作通话进行中"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"保持"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"来电"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"工作来电"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"WLAN 来电"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"WLAN 工作来电"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"视频通话来电"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"有疑似骚扰来电"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"收到视频通话请求"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"新语音邮件"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"新语音邮件 (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"拨打 <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"语音信箱号码未知"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"没有服务"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"所选网络(<xliff:g id="OPERATOR_NAME">%s</xliff:g>)不可用"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"接听"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"挂断"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"视频"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"语音"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"接受"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"拒绝"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"回电"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"发短信"</string> - <string name="notification_external_call" msgid="5611236780302924816">"其他设备上有正在进行的通话"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"转接通话"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"要拨打电话,请先关闭飞行模式。"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"尚未注册网络。"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"无法连接到移动网络。"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"要拨打电话,请输入有效的电话号码。"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"无法拨打该电话。"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"正在启动 MMI 序列…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"服务不受支持。"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"无法切换通话。"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"无法单独通话。"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"无法转移呼叫。"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"无法进行电话会议。"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"无法拒接来电。"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"无法挂断。"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP 通话"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"紧急呼救"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"正在开启无线装置…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"找不到服务信号,正在重试…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"无法拨打该电话。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是紧急呼救号码。"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"无法拨打该电话。请拨打紧急呼救号码。"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"使用键盘拨号"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"保持通话"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"恢复通话"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"结束通话"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"显示拨号键盘"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"隐藏拨号键盘"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"静音"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"取消静音"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"添加通话"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"合并通话"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"切换"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"管理通话"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"管理电话会议"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"电话会议"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"管理"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"音频"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"视频通话"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"改为语音通话"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"切换摄像头"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"开启摄像头"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"关闭摄像头"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"更多选项"</string> - <string name="player_started" msgid="3478865572468310331">"播放器已启动"</string> - <string name="player_stopped" msgid="1278611664986561535">"播放器已停止"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"摄像头尚未准备就绪"</string> - <string name="camera_ready" msgid="2614541247814590887">"摄像头已准备就绪"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"未知通话事件"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"服务"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"设置"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<未设置>"</string> - <string name="other_settings" msgid="6699076019841942826">"其他通话设置"</string> - <string name="calling_via_template" msgid="3539373093109976255">"正在通过<xliff:g id="PROVIDER_NAME">%s</xliff:g>进行通话"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"有人通过<xliff:g id="PROVIDER_NAME">%s</xliff:g>来电"</string> - <string name="contactPhoto" msgid="6028825355597675193">"联系人照片"</string> - <string name="goPrivate" msgid="3554069451018659483">"单独通话"</string> - <string name="selectContact" msgid="92191462970821951">"选择联系人"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"自行撰写回复…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"取消"</string> - <string name="custom_message_send" msgid="3798076337006735995">"发送"</string> - <string name="description_target_answer" msgid="1111945818996518320">"接听"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"发送短信"</string> - <string name="description_target_decline" msgid="7108154434759234035">"拒绝"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"以视频通话的形式接听"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"以音频通话的形式接听"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"接受视频请求"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"拒绝视频请求"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"接受视频传输请求"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"拒绝视频传输请求"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"接受视频接收请求"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"拒绝视频接收请求"</string> - <string name="description_direction_up" msgid="1735018141439291766">"向上滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_left" msgid="6811598791620851239">"向左滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_right" msgid="5461971399586296023">"向右滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_down" msgid="3331715227997561639">"向下滑动即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"振动"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"振动"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"提示音"</string> - <string name="default_notification_description" msgid="4950807644546509965">"默认提示音(<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"手机铃声"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"响铃时振动"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"铃声和振动"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"管理电话会议"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"紧急呼救号码"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"个人资料照片"</string> - <string name="camera_off_description" msgid="4220023868645225790">"摄像头已关闭"</string> - <string name="child_number" msgid="4469090994612105532">"通过 <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"已发送备注"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"最近的信息"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"商家信息"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> 英里远"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> 公里远"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="LOCALITY">%2$s</xliff:g><xliff:g id="STREET_ADDRESS">%1$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>,<xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"将于明天<xliff:g id="OPEN_TIME">%s</xliff:g>开始营业"</string> - <string name="opens_today_at" msgid="6281212768937222891">"将于今天<xliff:g id="OPEN_TIME">%s</xliff:g>开始营业"</string> - <string name="closes_today_at" msgid="4822369201263491509">"将于<xliff:g id="CLOSE_TIME">%s</xliff:g>结束营业"</string> - <string name="closed_today_at" msgid="4060072663433467233">"已于今天<xliff:g id="CLOSE_TIME">%s</xliff:g>结束营业"</string> - <string name="open_now" msgid="4615706338669555999">"营业中"</string> - <string name="closed_now" msgid="2635314668145282080">"现已结束营业"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"疑似骚扰电话号码"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"通话已结束 %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"这是此号码的第一次来电。"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"我们怀疑这是骚扰电话。"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"屏蔽/举报骚扰电话号码"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"添加联系人"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"非骚扰电话号码"</string> -</resources> diff --git a/InCallUI/res/values-zh-rHK/strings.xml b/InCallUI/res/values-zh-rHK/strings.xml deleted file mode 100644 index bf6f016cb..000000000 --- a/InCallUI/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"電話"</string> - <string name="onHold" msgid="527593602772521700">"保留通話"</string> - <string name="unknown" msgid="3646075119047488748">"不明"</string> - <string name="private_num" msgid="6081418498487514686">"私人號碼"</string> - <string name="payphone" msgid="5743050584468748607">"公共電話"</string> - <string name="confCall" msgid="3181961445236675173">"會議通話"</string> - <string name="call_lost" msgid="8208184291640961172">"通話已中斷"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"喇叭"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"免提聽筒"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"有線耳機"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"藍牙"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"要傳送以下訊號音嗎?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"正在傳送訊號音\n"</string> - <string name="send_button" msgid="4054398309483035794">"傳送"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"是"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"否"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"將萬用字元改為"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"會議通話:<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"留言號碼"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"正在撥號"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"正在重撥"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"會議通話"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"來電"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"工作來電"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"通話已結束"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"保留通話"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"正在掛斷電話"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"正在通話"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"我的電話號碼:<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"正在建立視像通話連線"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"視像通話"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"正在提出視像通話要求"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"無法建立視像通話連線"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"視像通話要求被拒"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"您的回撥號碼:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"您的緊急回撥號碼:\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"正在撥號"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"未接來電"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"未接來電"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 個未接來電"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"來自 <xliff:g id="MISSED_CALL_FROM">%s</xliff:g> 的未接來電"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"通話中"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"正在進行工作通話"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"正在進行 Wi-Fi 通話"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"正在進行 Wi-Fi 工作通話"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"保留通話"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"來電"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"工作來電"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Wi-Fi 來電"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Wi-Fi 工作來電"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"視像通話來電"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"疑似收到垃圾來電"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"收到視像通話要求"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"新留言"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"新留言 (<xliff:g id="COUNT">%d</xliff:g> 個)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"撥打 <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"留言號碼不明"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"沒有服務"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"您選取的網絡 (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) 無法使用"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"接聽"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"掛斷電話"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"視像通話"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"語音通話"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"接受"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"拒絕"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"回電"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"短訊"</string> - <string name="notification_external_call" msgid="5611236780302924816">"其他裝置上有正在進行的通話"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"轉接來電"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"如要撥打電話,請先關閉飛行模式。"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"未在網絡上註冊。"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"無法連線至流動網絡。"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"如要撥打電話,請輸入有效的號碼。"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"無法通話。"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"開始 MMI 序列…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"不支援此服務。"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"無法切換通話。"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"無法分開通話。"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"無法轉接。"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"無法進行會議通話。"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"無法拒接來電。"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"無法結束通話。"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP 通話"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"緊急電話"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"正在開啟無線電…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"找不到服務,請再試一次…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"無法通話。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是緊急電話號碼。"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"無法通話。請撥打緊急電話號碼。"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"使用鍵盤撥號"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"保留通話"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"恢復通話"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"結束通話"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"顯示撥號鍵盤"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"隱藏撥號鍵盤"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"略過"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"取消靜音"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"新增通話"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"合併通話"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"切換"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"管理通話"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"管理會議通話"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"會議通話"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"管理"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"音訊"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"視像通話"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"變更為語音通話"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"切換鏡頭"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"開啟攝影機"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"關閉攝影機"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"更多選項"</string> - <string name="player_started" msgid="3478865572468310331">"已啟動播放器"</string> - <string name="player_stopped" msgid="1278611664986561535">"已停止播放器"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"相機未準備好"</string> - <string name="camera_ready" msgid="2614541247814590887">"相機已準備就緒"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"不明的通話工作階段活動"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"服務"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"設定"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<未設定>"</string> - <string name="other_settings" msgid="6699076019841942826">"其他通話設定"</string> - <string name="calling_via_template" msgid="3539373093109976255">"正在透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 撥號"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"有人透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 來電"</string> - <string name="contactPhoto" msgid="6028825355597675193">"聯絡人相片"</string> - <string name="goPrivate" msgid="3554069451018659483">"私人通話"</string> - <string name="selectContact" msgid="92191462970821951">"選取聯絡人"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"自行撰寫回覆..."</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"取消"</string> - <string name="custom_message_send" msgid="3798076337006735995">"傳送"</string> - <string name="description_target_answer" msgid="1111945818996518320">"接聽"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"傳送短訊"</string> - <string name="description_target_decline" msgid="7108154434759234035">"拒絕"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"接聽視像通話"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"接聽語音通話"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"接受視像通話要求"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"拒絕視像通話要求"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"接受視像通話轉駁要求"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"拒絕視像通話轉駁要求"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"接受視像接收要求"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"拒絕視像接收要求"</string> - <string name="description_direction_up" msgid="1735018141439291766">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_left" msgid="6811598791620851239">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_right" msgid="5461971399586296023">"向右滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_down" msgid="3331715227997561639">"向下滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"震動"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"震動"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"音效"</string> - <string name="default_notification_description" msgid="4950807644546509965">"預設音效 (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"手機鈴聲"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"響鈴時震動"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"鈴聲和震動"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"管理會議通話"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"緊急電話號碼"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"個人檔案相片"</string> - <string name="camera_off_description" msgid="4220023868645225790">"相機已關閉"</string> - <string name="child_number" msgid="4469090994612105532">"透過 <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"已傳送筆記"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"最近的訊息"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"公司資料"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> 英里外"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> 公里外"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="LOCALITY">%2$s</xliff:g><xliff:g id="STREET_ADDRESS">%1$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>,<xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"將於明天<xliff:g id="OPEN_TIME">%s</xliff:g>開始營業"</string> - <string name="opens_today_at" msgid="6281212768937222891">"將於今天<xliff:g id="OPEN_TIME">%s</xliff:g>開始營業"</string> - <string name="closes_today_at" msgid="4822369201263491509">"將於<xliff:g id="CLOSE_TIME">%s</xliff:g>關門"</string> - <string name="closed_today_at" msgid="4060072663433467233">"已於今天<xliff:g id="CLOSE_TIME">%s</xliff:g>關門"</string> - <string name="open_now" msgid="4615706338669555999">"營業中"</string> - <string name="closed_now" msgid="2635314668145282080">"目前休息"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"疑似垃圾來電者"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"通話結束 %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"這是此號碼的第一次來電。"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"我們懷疑此來電為垃圾來電。"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"封鎖/舉報為垃圾來電"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"新增聯絡人"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"非垃圾來電"</string> -</resources> diff --git a/InCallUI/res/values-zh-rTW/strings.xml b/InCallUI/res/values-zh-rTW/strings.xml deleted file mode 100644 index e316c7d40..000000000 --- a/InCallUI/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"電話"</string> - <string name="onHold" msgid="527593602772521700">"保留"</string> - <string name="unknown" msgid="3646075119047488748">"不明"</string> - <string name="private_num" msgid="6081418498487514686">"私人號碼"</string> - <string name="payphone" msgid="5743050584468748607">"公用電話"</string> - <string name="confCall" msgid="3181961445236675173">"電話會議"</string> - <string name="call_lost" msgid="8208184291640961172">"通話已中斷"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"喇叭"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"手機聽筒"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"有線耳機"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"藍牙"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"要傳送以下的信號音嗎?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"正在傳送信號音\n"</string> - <string name="send_button" msgid="4054398309483035794">"傳送"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"是"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"否"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"將萬用字元替換為"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"電話會議 <xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"語音留言號碼"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"撥號中"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"重撥中"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"電話會議"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"來電"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"公司來電"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"通話已結束"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"保留"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"掛斷中"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"通話中"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"我的電話號碼:<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"正在建立視訊通話連線"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"視訊通話"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"正在提出視訊通話要求"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"無法建立視訊通話連線"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"視訊通話要求遭拒"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"您的回撥號碼如下\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"您的緊急回撥號碼如下\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"撥號中"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"未接來電"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"未接來電"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> 通未接來電"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"來自 <xliff:g id="MISSED_CALL_FROM">%s</xliff:g> 的未接來電"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"進行中的通話"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"進行中的公司通話"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"進行中的通話 (透過 Wi-Fi)"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"進行中的公司通話 (透過 Wi-Fi)"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"保留"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"來電"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"公司來電"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"來電 (透過 Wi-Fi)"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"公司來電 (透過 Wi-Fi)"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"視訊通話來電"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"可疑的騷擾/廣告來電"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"收到視訊通話要求"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"新的語音留言"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"新的語音留言 (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"撥打 <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"語音留言號碼不明"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"沒有服務"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"您所選取的網路 (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) 無法使用"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"接聽"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"掛斷"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"視訊通話"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"語音通話"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"接受"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"拒絕"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"回撥"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"傳送簡訊"</string> - <string name="notification_external_call" msgid="5611236780302924816">"其他裝置上有進行中的通話"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"轉接來電"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"撥號前,請先關閉飛航模式。"</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"尚未註冊網路。"</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"無法連線到行動網路。"</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"如要撥打電話,請輸入有效的號碼。"</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"無法通話。"</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"開始 MMI 序列…"</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"不支援的服務。"</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"無法切換通話。"</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"無法分割通話。"</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"無法轉接。"</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"無法進行電話會議。"</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"無法拒接來電。"</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"無法掛斷電話。"</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"SIP 通話"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"緊急電話"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"正在開啟無線通訊…"</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"找不到服務訊號,重試中…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"無法通話。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是緊急電話號碼。"</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"無法通話。只能撥打緊急號碼。"</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"使用鍵盤撥號"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"保留通話"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"恢復通話"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"結束通話"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"顯示撥號鍵盤"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"隱藏撥號鍵盤"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"忽略"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"取消忽略"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"新增通話"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"合併通話"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"切換"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"管理通話"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"管理電話會議"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"電話會議"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"管理"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"音訊"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"視訊通話"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"變更為語音通話"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"切換鏡頭"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"開啟攝影機"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"關閉攝影機"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"更多選項"</string> - <string name="player_started" msgid="3478865572468310331">"已啟動播放器"</string> - <string name="player_stopped" msgid="1278611664986561535">"已停止播放器"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"相機尚未就緒"</string> - <string name="camera_ready" msgid="2614541247814590887">"相機已準備就緒"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"不明的通話工作階段事件"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"服務"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"設定"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<未設定>"</string> - <string name="other_settings" msgid="6699076019841942826">"其他通話設定"</string> - <string name="calling_via_template" msgid="3539373093109976255">"正在透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 撥號"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"有人透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 來電"</string> - <string name="contactPhoto" msgid="6028825355597675193">"聯絡人相片"</string> - <string name="goPrivate" msgid="3554069451018659483">"私人通話"</string> - <string name="selectContact" msgid="92191462970821951">"選取聯絡人"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"自行撰寫回應…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"取消"</string> - <string name="custom_message_send" msgid="3798076337006735995">"傳送"</string> - <string name="description_target_answer" msgid="1111945818996518320">"接聽"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"傳送簡訊"</string> - <string name="description_target_decline" msgid="7108154434759234035">"拒絕"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"接聽視訊通話"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"接聽語音通話"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"接受視訊通話要求"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"拒絕視訊通話要求"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"接受視訊傳送要求"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"拒絕視訊傳送要求"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"接受視訊接收要求"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"拒絕視訊接收要求"</string> - <string name="description_direction_up" msgid="1735018141439291766">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_left" msgid="6811598791620851239">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_right" msgid="5461971399586296023">"向右滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="description_direction_down" msgid="3331715227997561639">"向下滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"震動"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"震動"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"音效"</string> - <string name="default_notification_description" msgid="4950807644546509965">"預設音效 (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"手機鈴聲"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"鈴響時震動"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"鈴聲與震動"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"管理電話會議"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"緊急電話號碼"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"個人資料相片"</string> - <string name="camera_off_description" msgid="4220023868645225790">"相機已停用"</string> - <string name="child_number" msgid="4469090994612105532">"透過 <xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"備註已送出"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"最近的訊息"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"商家資訊"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> 英里遠"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> 公里遠"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="LOCALITY">%2$s</xliff:g>,<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>,<xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"將於明日<xliff:g id="OPEN_TIME">%s</xliff:g>開始營業"</string> - <string name="opens_today_at" msgid="6281212768937222891">"將於本日<xliff:g id="OPEN_TIME">%s</xliff:g>開始營業"</string> - <string name="closes_today_at" msgid="4822369201263491509">"將於<xliff:g id="CLOSE_TIME">%s</xliff:g>結束營業"</string> - <string name="closed_today_at" msgid="4060072663433467233">"已於本日<xliff:g id="CLOSE_TIME">%s</xliff:g>結束營業"</string> - <string name="open_now" msgid="4615706338669555999">"營業中"</string> - <string name="closed_now" msgid="2635314668145282080">"本日已結束營業"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"可疑的騷擾/廣告來電者"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"通話結束 %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"這組號碼首次致電給您。"</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"我們懷疑這通來電是騷擾/廣告電話。"</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"封鎖/回報為騷擾/廣告電話"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"新增聯絡人"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"非騷擾/廣告電話"</string> -</resources> diff --git a/InCallUI/res/values-zu/strings.xml b/InCallUI/res/values-zu/strings.xml deleted file mode 100644 index 46bf5afbb..000000000 --- a/InCallUI/res/values-zu/strings.xml +++ /dev/null @@ -1,195 +0,0 @@ -<?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 - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="phoneAppLabel" product="default" msgid="4753450867264774000">"Ifoni"</string> - <string name="onHold" msgid="527593602772521700">"Ibanjiwe"</string> - <string name="unknown" msgid="3646075119047488748">"Akwaziwa"</string> - <string name="private_num" msgid="6081418498487514686">"Inombolo eyimfihlo"</string> - <string name="payphone" msgid="5743050584468748607">"Ucingo olufakwa imali"</string> - <string name="confCall" msgid="3181961445236675173">"Ikholi yenkomfa"</string> - <string name="call_lost" msgid="8208184291640961172">"Ikholi ivaliwe"</string> - <string name="audio_mode_speaker" msgid="6160127758732918123">"Isipikha"</string> - <string name="audio_mode_earpiece" msgid="3138677187223932893">"Isipikha sendlebe sama-ear phone"</string> - <string name="audio_mode_wired_headset" msgid="583080366967943196">"Ama-earphone anezintambo"</string> - <string name="audio_mode_bluetooth" msgid="3188504589946495676">"I-Bluetooth"</string> - <string name="wait_prompt_str" msgid="3784275777844586675">"Thumela amathoni alandelayo?\n"</string> - <string name="pause_prompt_str" msgid="4507496811727697620">"Ithumela amathoni\n"</string> - <string name="send_button" msgid="4054398309483035794">"Thumela"</string> - <string name="pause_prompt_yes" msgid="6738588490007499118">"Yebo"</string> - <string name="pause_prompt_no" msgid="417286529736964178">"Cha"</string> - <string name="wild_prompt_str" msgid="8178750766679617355">"Miselela uhlamvu lwasendle nge"</string> - <string name="caller_manage_header" msgid="4036790479287738218">"Ikholi yenkomfa engu-<xliff:g id="CONF_CALL_TIME">%s</xliff:g>"</string> - <string name="voicemail_settings_number_label" msgid="2951965862286532957">"Inombolo yevoyisimeyili"</string> - <string name="card_title_dialing" msgid="5046026076417718916">"Iyadayela"</string> - <string name="card_title_redialing" msgid="8072468059192027844">"Iphinda iyadayela"</string> - <string name="card_title_conf_call" msgid="1747835072739982104">"Ikholi yenkomfa"</string> - <string name="card_title_incoming_call" msgid="4138485434087223132">"Ikholi engenayo"</string> - <string name="card_title_incoming_work_call" msgid="7000583925426981712">"Ikholi engenayo yomsebenzi"</string> - <string name="card_title_call_ended" msgid="5249815286629136486">"Ikholi iqediwe"</string> - <string name="card_title_on_hold" msgid="5633854828341577689">"Ibanjiwe"</string> - <string name="card_title_hanging_up" msgid="3402022578391538671">"Iyavala"</string> - <string name="card_title_in_call" msgid="5029165346952099302">"Ukukholi"</string> - <string name="card_title_my_phone_number" msgid="3749572971322520177">"Inombolo yami ngu-<xliff:g id="MY_PHONE_NUMBER">%s</xliff:g>"</string> - <string name="card_title_video_call_connecting" msgid="9171270899902894036">"Ixhuma ividiyo"</string> - <string name="card_title_video_call" msgid="6519406270853889302">"Ikholi yevidiyo"</string> - <string name="card_title_video_call_requesting" msgid="1611293204379882739">"Icela ividiyo"</string> - <string name="card_title_video_call_error" msgid="8488074823425848193">"Ayikwazi ukuxhuma ikholi yevidiyo"</string> - <string name="card_title_video_call_rejected" msgid="2885215432045215465">"Isicelo sevidiyo sinqatshelwe"</string> - <string name="card_title_callback_number" msgid="7646082782307705748">"Inombolo yakho yokuphinda ushaye\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="card_title_callback_number_emergency" msgid="8916355112472826080">"Inombolo yakho yokuphinda ushayelwe yesimo esiphuthumayo\n<xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string> - <string name="notification_dialing" msgid="8080968169444117163">"Iyadayela"</string> - <string name="notification_missedCallTitle" msgid="2774630248151712215">"Ikholi ephuthelwe"</string> - <string name="notification_missedCallsTitle" msgid="263275811089605859">"Amakholi akuphuthele"</string> - <string name="notification_missedCallsMsg" msgid="69408330370667429">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> amakholi akulahlekele"</string> - <string name="notification_missedCallTicker" msgid="1599269453813734699">"Uphuthelwe ikholi kusukela ku-<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string> - <string name="notification_ongoing_call" msgid="8633734299234807397">"Ikholi eqhubekayo"</string> - <string name="notification_ongoing_work_call" msgid="3465083293325006579">"Ikholi yomsebenzi eqhubekayo"</string> - <string name="notification_ongoing_call_wifi" msgid="4140639349603930166">"Ikholi ye-Wi-Fi eqhubekayo"</string> - <string name="notification_ongoing_work_call_wifi" msgid="8469582753279163976">"Ikholi yomsebenzi eqhubekayo ye-Wi-Fi"</string> - <string name="notification_on_hold" msgid="3151343576023182586">"Ibanjiwe"</string> - <string name="notification_incoming_call" msgid="5904745644632328863">"Ikholi engenayo"</string> - <string name="notification_incoming_work_call" msgid="281305845895342925">"Ikholi engenayo yomsebenzi"</string> - <string name="notification_incoming_call_wifi" msgid="8337740714221114955">"Ikholi ye-Wi-Fi engenayo"</string> - <string name="notification_incoming_work_call_wifi" msgid="3248418394186803763">"Ikholi engenayo yomsebenzi ye-Wi-Fi"</string> - <string name="notification_incoming_video_call" msgid="7814873581838165772">"Ikholi yevidiyo engenayo"</string> - <string name="notification_incoming_spam_call" msgid="4671356711842697266">"Ikholi engenayo osolisayo kagaxekile"</string> - <string name="notification_requesting_video_call" msgid="4844596091477863245">"Isicelo sevidiyo engenayo"</string> - <string name="notification_voicemail_title" msgid="7595628197933709144">"Ivoyisimeyili entsha"</string> - <string name="notification_voicemail_title_count" msgid="1241573926817248239">"Ivoyisimeyili entsha (<xliff:g id="COUNT">%d</xliff:g>)"</string> - <string name="notification_voicemail_text_format" msgid="6496440879085042069">"Dayela u-<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string> - <string name="notification_voicemail_no_vm_number" msgid="5433652017869242375">"Inombolo yevoyisimeyili ayaziwa"</string> - <string name="notification_network_selection_title" msgid="6785177943238085441">"Ayikho isevisi"</string> - <string name="notification_network_selection_text" msgid="9097902390701009591">"Inethiwekhi ekhethiwe (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ayitholakali"</string> - <string name="notification_action_answer" msgid="8418990052527593953">"Phendula"</string> - <string name="notification_action_end_call" msgid="2152010639043225860">"Vala ikholi"</string> - <string name="notification_action_answer_video" msgid="2400233093494856655">"Ividiyo"</string> - <string name="notification_action_answer_voice" msgid="3206168292649273866">"Izwi"</string> - <string name="notification_action_accept" msgid="8595047032790476122">"Yamukela"</string> - <string name="notification_action_dismiss" msgid="1998811618480434300">"Cashisa"</string> - <string name="notification_missedCall_call_back" msgid="7855043480614703539">"Phinda ushayele"</string> - <string name="notification_missedCall_message" msgid="2407410183079324393">"Umlayezo"</string> - <string name="notification_external_call" msgid="5611236780302924816">"Ikholi eqhubekayo kwenye idivayisi"</string> - <string name="notification_transfer_call" msgid="687009078741947505">"Dlulisela ikholi"</string> - <string name="incall_error_power_off" msgid="3626117639377110403">"Ukwenza ikholi, vala kuqala imodi Yendiza."</string> - <string name="incall_error_emergency_only" msgid="8704761887752183855">"Ayibhalisiwe kwinethiwekhi."</string> - <string name="incall_error_out_of_service" msgid="1830319376612608339">"Inethiwekhi yeselula ayitholakali."</string> - <string name="incall_error_no_phone_number_supplied" msgid="3042963797202928322">"Ukuze wenze ikholi, faka inombolo evumelekile."</string> - <string name="incall_error_call_failed" msgid="2213413937257570551">"Ayikwazi ukushaya."</string> - <string name="incall_status_dialed_mmi" msgid="8864341962086874751">"Iqalisa ukulandelana kwe-MMI..."</string> - <string name="incall_error_supp_service_unknown" msgid="3390926762577861268">"Isevisi ayisekelwe."</string> - <string name="incall_error_supp_service_switch" msgid="4893764463854753730">"Ayikwazi ukushintsha amakholi."</string> - <string name="incall_error_supp_service_separate" msgid="5469628699581380277">"Ayikwazi ukuhlukanisa ikholi."</string> - <string name="incall_error_supp_service_transfer" msgid="3220469890457973326">"Ayikwazi ukudlulisela."</string> - <string name="incall_error_supp_service_conference" msgid="3100373998543200356">"Ayikwazi ukwenza inkomfa."</string> - <string name="incall_error_supp_service_reject" msgid="4543915892409365831">"Ayikwazi ukunqabela ikholi."</string> - <string name="incall_error_supp_service_hangup" msgid="101167589969625637">"Ayikwazi ukukhipha amakholi."</string> - <string name="incall_call_type_label_sip" msgid="1327822795765282192">"Ikholi ye-SIP"</string> - <string name="emergency_enable_radio_dialog_title" msgid="7882321703828314787">"Ikholi ephuthumayo"</string> - <string name="emergency_enable_radio_dialog_message" msgid="4382752053654184327">"Ivula irediyo..."</string> - <string name="emergency_enable_radio_dialog_retry" msgid="1672288458940152814">"Ayikho isevisi. Iyazama futhi…"</string> - <string name="dial_emergency_error" msgid="582305854626092376">"Ayikwazi ukushaya. U-<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> akuyona inombolo yesimo esiphuthumayo."</string> - <string name="dial_emergency_empty_error" msgid="199888628163390267">"Ayikwazi ukushaya. Shayela inombolo yesimo esiphuthumayo."</string> - <string name="dialerKeyboardHintText" msgid="8533449463925408141">"Sebenzisa ikhibhodi ukudayela"</string> - <string name="onscreenHoldText_unselected" msgid="4509232821220492533">"Bamba ikholi"</string> - <string name="onscreenHoldText_selected" msgid="2988100347384733032">"Qalisa kabusha ikholi"</string> - <string name="onscreenEndCallText" msgid="1416981593311001074">"Qeda ikholi"</string> - <string name="onscreenShowDialpadText_unselected" msgid="8253784035944284938">"Bonisa iphedi yokudayela"</string> - <string name="onscreenShowDialpadText_selected" msgid="7368390784890311449">"Fihla iphedi yokudayela"</string> - <string name="onscreenMuteText_unselected" msgid="4130269060091842798">"Thulisa"</string> - <string name="onscreenMuteText_selected" msgid="7074763815284369548">"Susa ukuthula"</string> - <string name="onscreenAddCallText" msgid="5577548650466595598">"Engeza ikholi"</string> - <string name="onscreenMergeCallsText" msgid="4946687067221459357">"Hlanganisa amakholi"</string> - <string name="onscreenSwapCallsText" msgid="8272036175646846198">"Shintsha"</string> - <string name="onscreenManageCallsText" msgid="5491297234697209677">"Phatha amakholi"</string> - <string name="onscreenManageConferenceText" msgid="7043499154946980355">"Phatha ucingo lwengqungquthela"</string> - <string name="onscreenConferenceText" msgid="171855677185793827">"Ikholi yenkomfa"</string> - <string name="onscreenManageText" msgid="7625850560625708322">"Phatha"</string> - <string name="onscreenAudioText" msgid="8963459818052898299">"Umsindo"</string> - <string name="onscreenVideoCallText" msgid="1578940167445068369">"Ikholi yevidiyo"</string> - <string name="onscreenChangeToVoiceText" msgid="6249580619992009182">"Shintshela kukholi yezwi"</string> - <string name="onscreenSwitchCameraText" msgid="7141261218152736690">"Shintsha Ikhamera"</string> - <string name="onscreenTurnOnCameraText" msgid="915019986687927588">"Vula ikhamera"</string> - <string name="onscreenTurnOffCameraText" msgid="6225377831394679126">"Vala ikhamera"</string> - <string name="onscreenOverflowText" msgid="7932741239724473887">"Izinketho eziningi"</string> - <string name="player_started" msgid="3478865572468310331">"Umdlali uqalile"</string> - <string name="player_stopped" msgid="1278611664986561535">"Umdlali umisiwe"</string> - <string name="camera_not_ready" msgid="6614469280264241251">"Ikhamera ayilungile"</string> - <string name="camera_ready" msgid="2614541247814590887">"Ikhamera ilungile"</string> - <string name="unknown_call_session_event" msgid="2947023743819984299">"Umcimbi wesikhathi sekholi ongaziwa"</string> - <string name="voicemail_provider" msgid="2878119321474918370">"Isevisi"</string> - <string name="voicemail_settings" msgid="7548868784816068975">"Ukusetha"</string> - <string name="voicemail_number_not_set" msgid="2690477999015436138">"<Ayisethiwe>"</string> - <string name="other_settings" msgid="6699076019841942826">"Ezinye izilungiselelo zekholi"</string> - <string name="calling_via_template" msgid="3539373093109976255">"Ishaya nge-<xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="incoming_via_template" msgid="6281138766370092800">"Ingena nge-<xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string> - <string name="contactPhoto" msgid="6028825355597675193">"isithombe soxhumana naye"</string> - <string name="goPrivate" msgid="3554069451018659483">"yenza kube imfihlo"</string> - <string name="selectContact" msgid="92191462970821951">"khetha othintana naye"</string> - <string name="respond_via_sms_custom_message" msgid="8210393177674619127">"Bhala okwakho…"</string> - <string name="custom_message_cancel" msgid="5920059627508662163">"Khansela"</string> - <string name="custom_message_send" msgid="3798076337006735995">"Thumela"</string> - <string name="description_target_answer" msgid="1111945818996518320">"Phendula"</string> - <string name="description_target_send_sms" msgid="3652217769615310018">"Thumela i-SMS"</string> - <string name="description_target_decline" msgid="7108154434759234035">"Yenqaba"</string> - <string name="description_target_answer_video_call" msgid="4655616461181308405">"Phendula njengekholi yevidiyo"</string> - <string name="description_target_answer_audio_call" msgid="3234714934649708854">"Phendula njengekholi yomsindo"</string> - <string name="description_target_accept_upgrade_to_video_request" msgid="384894008955682630">"Yamukela isicelo sevidiyo"</string> - <string name="description_target_decline_upgrade_to_video_request" msgid="7342968876159189300">"Yenqaba isicelo sevidiyo"</string> - <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="4586773853073826378">"Yamukela isicelo sokudlulisa ividiyo"</string> - <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="1191166008711514234">"Yenqaba isicelo sokudlulisa ividiyo"</string> - <string name="description_target_accept_upgrade_to_video_receive_request" msgid="2224978927364021080">"Yamukela isicelo sokwamukela ividiyo"</string> - <string name="description_target_decline_upgrade_to_video_receive_request" msgid="3151115394424918077">"Yenqaba isicelo sokwamukela ividiyo"</string> - <string name="description_direction_up" msgid="1735018141439291766">"Slayidela phezulu ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_left" msgid="6811598791620851239">"Slayida ngakwesokunxele ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_right" msgid="5461971399586296023">"Slayida ngakwesokudla ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="description_direction_down" msgid="3331715227997561639">"Slayida ngezansi ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <string name="voicemail_notification_vibrate_when_title" msgid="4595145399183729630">"Dlidlizela"</string> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="2390729279972461242">"Dlidlizela"</string> - <string name="voicemail_notification_ringtone_title" msgid="1996920553949534944">"Umsindo"</string> - <string name="default_notification_description" msgid="4950807644546509965">"Umsindo ozenzakalelayo (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string> - <string name="ringtone_title" msgid="835582004693335905">"Ithoni yokukhala yefoni"</string> - <string name="vibrate_on_ring_title" msgid="5019791043398986665">"Dlidlizisa uma ikhala"</string> - <string name="preference_category_ringtone" msgid="6246687516643676729">"Ithoni yokukhala nokudlidliza"</string> - <string name="manageConferenceLabel" msgid="7237614418556336108">"Phatha ucingo lwengqungquthela"</string> - <string name="emergency_call_dialog_number_for_display" msgid="7244995877625769187">"Inombolo ephuthumayo"</string> - <string name="profile_photo_description" msgid="7958198110870319358">"Isithombe sephrofayela"</string> - <string name="camera_off_description" msgid="4220023868645225790">"Ikhamera ivaliwe"</string> - <string name="child_number" msgid="4469090994612105532">"nge-<xliff:g id="CHILD_NUMBER">%s</xliff:g>"</string> - <string name="note_sent" msgid="7623014827902758398">"Inothi lithunyelwe"</string> - <string name="person_contact_context_title" msgid="8490058088809090979">"Imilayezo yakamuva"</string> - <string name="business_contact_context_title" msgid="8448362898576496764">"Ulwazi lwebhizinisi"</string> - <string name="distance_imperial_away" msgid="2083362798225798740">"<xliff:g id="DISTANCE">%.1f</xliff:g> amamitha kude"</string> - <string name="distance_metric_away" msgid="9021396592464955256">"<xliff:g id="DISTANCE">%.1f</xliff:g> amakhilomitha kude"</string> - <string name="display_address" msgid="444235484565491291">"<xliff:g id="STREET_ADDRESS">%1$s</xliff:g>, <xliff:g id="LOCALITY">%2$s</xliff:g>"</string> - <string name="open_time_span" msgid="2762952234657271236">"<xliff:g id="OPEN_TIME">%1$s</xliff:g> - <xliff:g id="CLOSE_TIME">%2$s</xliff:g>"</string> - <string name="opening_hours" msgid="7803506319518398380">"<xliff:g id="EARLIER_TIMES">%1$s</xliff:g>, <xliff:g id="LATER_TIME">%2$s</xliff:g>"</string> - <string name="opens_tomorrow_at" msgid="3567511490448488788">"Kuvulwa kusasa ngo-<xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="opens_today_at" msgid="6281212768937222891">"Kuvulwa namuhla ngo-<xliff:g id="OPEN_TIME">%s</xliff:g>"</string> - <string name="closes_today_at" msgid="4822369201263491509">"Kuvalwa ngo-<xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="closed_today_at" msgid="4060072663433467233">"Kuvalwe namuhla ngo-<xliff:g id="CLOSE_TIME">%s</xliff:g>"</string> - <string name="open_now" msgid="4615706338669555999">"Kuvuliwe manje"</string> - <string name="closed_now" msgid="2635314668145282080">"Kuvaliwe manje"</string> - <string name="label_spam_caller" msgid="8270472297763063585">"Ofonayo osolisayo wogaxekile"</string> - <string name="spam_notification_title" msgid="8681565585547329999">"Ikholi iphelile %1$s"</string> - <string name="spam_notification_non_spam_call_text" msgid="1357729961551033350">"Lesi isikhathi sokuqala le nombolo ikushayela."</string> - <string name="spam_notification_spam_call_text" msgid="5132722997094120379">"Sisolele le kholi ukuthi ugaxekile."</string> - <string name="spam_notification_report_spam_action_text" msgid="2635952482608001896">"Vimba/bika ugaxekile"</string> - <string name="spam_notification_add_contact_action_text" msgid="396934716185343647">"Engeza oxhumana naye"</string> - <string name="spam_notification_not_spam_action_text" msgid="1694637126165301851">"Akusiko okugaxekile"</string> -</resources> diff --git a/InCallUI/res/values/animation_constants.xml b/InCallUI/res/values/animation_constants.xml deleted file mode 100644 index 8df6a7281..000000000 --- a/InCallUI/res/values/animation_constants.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2014 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> - <!-- Duration of the InCallUI reveal and shrink animations after a call is placed --> - <integer name="reveal_animation_duration">333</integer> - <integer name="shrink_animation_duration">333</integer> - <integer name="video_animation_duration">257</integer> -</resources> diff --git a/InCallUI/res/values/array.xml b/InCallUI/res/values/array.xml deleted file mode 100644 index 7877ec8f3..000000000 --- a/InCallUI/res/values/array.xml +++ /dev/null @@ -1,135 +0,0 @@ -<?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 - --> - -<!-- Array resources for the Phone app. --> -<resources> - <!-- "Target" resources for the GlowPadView widget used for incoming calls; - see InCallTouchUi.showIncomingCallWidget() and incall_touch_ui.xml. --> - - <!-- For audio calls, if respond via SMS is disabled: - - Answer (drag right) - - Decline (drag left) --> - <array name="incoming_call_widget_audio_without_sms_targets"> - <item>@drawable/ic_lockscreen_answer</item> - <item>@null</item> - <item>@drawable/ic_lockscreen_decline</item> - <item>@null</item>" - </array> - <array name="incoming_call_widget_audio_without_sms_target_descriptions"> - <item>@string/description_target_answer</item> - <item>@null</item> - <item>@string/description_target_decline</item> - <item>@null</item>" - </array> - <array name="incoming_call_widget_audio_without_sms_direction_descriptions"> - <item>@string/description_direction_right</item> - <item>@null</item> - <item>@string/description_direction_left</item> - <item>@null</item> - </array> - - <!-- For audio calls, if respond via SMS is enabled: - - Answer (drag right) - - Respond via SMS (drag up) - - Decline (drag left) --> - <array name="incoming_call_widget_audio_with_sms_targets"> - <item>@drawable/ic_lockscreen_answer</item> - <item>@drawable/ic_lockscreen_text</item> - <item>@drawable/ic_lockscreen_decline</item> - <item>@null</item>" - </array> - <array name="incoming_call_widget_audio_with_sms_target_descriptions"> - <item>@string/description_target_answer</item> - <item>@string/description_target_send_sms</item> - <item>@string/description_target_decline</item> - <item>@null</item>" - </array> - <array name="incoming_call_widget_audio_with_sms_direction_descriptions"> - <item>@string/description_direction_right</item> - <item>@string/description_direction_up</item> - <item>@string/description_direction_left</item> - <item>@null</item> - </array> - - <!-- For video calls, if respond via SMS is disabled: - - Answer as video call (drag right) - - Decline (drag left) - - Answer as audio call (drag down) --> - <array name="incoming_call_widget_video_without_sms_targets"> - <item>@drawable/ic_lockscreen_answer</item> - <item>@null</item> - <item>@drawable/ic_lockscreen_decline</item> - <item>@drawable/ic_lockscreen_answer_video</item> - </array> - <array name="incoming_call_widget_video_without_sms_target_descriptions"> - <item>@string/description_target_answer_video_call</item> - <item>@null</item> - <item>@string/description_target_decline</item> - <item>@string/description_target_answer_audio_call</item> - </array> - <array name="incoming_call_widget_video_without_sms_direction_descriptions"> - <item>@string/description_direction_right</item> - <item>@null</item> - <item>@string/description_direction_left</item> - <item>@string/description_direction_down</item> - </array> - - <!-- For video calls, if respond via SMS is enabled: - - Answer as video call (drag right) - - Respond via SMS (drag up) - - Decline (drag left) - - Answer as audio call (drag down) --> - <array name="incoming_call_widget_video_with_sms_targets"> - <item>@drawable/ic_lockscreen_answer_video</item> - <item>@drawable/ic_lockscreen_text</item> - <item>@drawable/ic_lockscreen_decline</item> - <item>@drawable/ic_lockscreen_answer</item> - </array> - <array name="incoming_call_widget_video_with_sms_target_descriptions"> - <item>@string/description_target_answer_video_call</item> - <item>@string/description_target_send_sms</item> - <item>@string/description_target_decline</item> - <item>@string/description_target_answer_audio_call</item> - </array> - <array name="incoming_call_widget_video_with_sms_direction_descriptions"> - <item>@string/description_direction_right</item> - <item>@string/description_direction_up</item> - <item>@string/description_direction_left</item> - <item>@string/description_direction_down</item> - </array> - - <!-- For accept/reject upgrade to video in active video call - - Accept upgrade to video request (drag right) - - Decline upgrade to video request (drag left)--> - <array name="incoming_call_widget_video_request_targets"> - <item>@drawable/ic_lockscreen_answer_video</item> - <item>@drawable/ic_lockscreen_decline_video</item> - </array> - - <array name="incoming_call_widget_video_request_target_descriptions"> - <item>@string/description_target_accept_upgrade_to_video_request</item> - <item>@null</item> - <item>@string/description_target_decline_upgrade_to_video_request</item> - <item>@null</item>" - </array> - <array name="incoming_call_widget_video_request_target_direction_descriptions"> - <item>@string/description_direction_right</item> - <item>@null</item> - <item>@string/description_direction_left</item> - <item>@null</item> - </array> -</resources> diff --git a/InCallUI/res/values/attrs.xml b/InCallUI/res/values/attrs.xml deleted file mode 100644 index e135fb72d..000000000 --- a/InCallUI/res/values/attrs.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?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 - --> - -<resources> - <declare-styleable name="GlowPadView"> - <attr name="android:gravity"/> - - <!-- Reference to an array resource that be shown as targets around a circle. --> - <attr name="targetDrawables" format="reference"/> - - <!-- Reference to an array resource that be used as description for the targets around the circle. --> - <attr name="targetDescriptions" format="reference"/> - - <!-- Reference to an array resource that be used to announce the directions with targets around the circle. --> - <attr name="directionDescriptions" format="reference"/> - - <!-- Sets a drawable as the center. --> - <attr name="handleDrawable" format="reference"/> - - <!-- Drawable to use for wave ripple animation. --> - <attr name="outerRingDrawable" format="reference"/> - - <!-- Drawble used for drawing points --> - <attr name="pointDrawable" format="reference"/> - - <!-- Inner radius of glow area. --> - <attr name="innerRadius" format="dimension"/> - - <!-- Outer radius of glow area. Target icons will be drawn on this circle. --> - <attr name="outerRadius" format="dimension"/> - - <!-- Size of target radius. Points within this distance of target center is a "hit". --> - <!-- - <attr name="hitRadius" format="dimension"/> - --> - - <!-- Radius of glow under finger. --> - <attr name="glowRadius" format="dimension"/> - - <!-- Tactile feedback duration for actions. Set to '0' for no vibration. --> - <attr name="vibrationDuration" format="integer"/> - - <!-- How close we need to be before snapping to a target. --> - <attr name="snapMargin" format="dimension"/> - - <!-- Number of waves/chevrons to show in animation. --> - <attr name="feedbackCount" format="integer"/> - - <!-- Used when the handle shouldn't wait to be hit before following the finger --> - <attr name="alwaysTrackFinger" format="boolean"/> - - <!-- Determine whether the glow pad is allowed to scale to fit the bounds indicated - by its parent. If this is set to false, no scaling will occur. If this is set to true - scaling will occur to fit for any axis in which gravity is set to center. --> - <attr name="allowScaling" format="boolean" /> - </declare-styleable> -</resources> diff --git a/InCallUI/res/values/colors.xml b/InCallUI/res/values/colors.xml deleted file mode 100644 index 238d36033..000000000 --- a/InCallUI/res/values/colors.xml +++ /dev/null @@ -1,133 +0,0 @@ -<?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 - --> - -<resources> - - <!-- In-call UI background color. --> - <color name="incall_background_color">@color/dialer_theme_color</color> - <color name="incall_accent_color">#ffffff</color> - - <!-- Background color of main banner. --> - <color name="incall_call_banner_background_color">@color/incall_background_color</color> - <color name="incall_call_banner_text_color">#ffffff</color> - <!-- 100% opacity, white --> - <color name="incall_call_banner_subtext_color">#ffffff</color> - <color name="incall_banner_secondary_background_color">#f5f5f5</color> - <color name="incall_banner_secondary_text_color">#333333</color> - - <color name="incall_action_bar_background_color">@color/incall_background_color</color> - <color name="incall_action_bar_text_color">@color/incall_call_banner_text_color</color> - - <color name="incall_photo_background_color">#545454</color> - - <!-- Put on top of each photo, implying 80% darker than usual. --> - <color name="on_hold_dim_effect">#cc000000</color> - - <color name="conference_call_manager_background_color">#f8f8f8</color> - <color name="conference_call_manager_caller_name_text_color">#4d4d4d</color> - <color name="conference_call_manager_icon_color">#999999</color> - <!-- Used with some smaller texts in manage conference screen. --> - <color name="conference_call_manager_secondary_text_color">#999999</color> - <color name="secondary_call_info_divider_highlight_color">#ffffff</color> - - <color name="end_call_touch_feedback_tint">#dddddd</color> - - <!-- Color of dialpad digits --> - <color name="dialpad_digits_text_color">#333</color> - - <color name="incall_dialpad_background">#ffffff</color> - <color name="incall_dialpad_background_pressed">#ccaaaaaa</color> - - <color name="button_background_color">@color/incall_background_color</color> - <color name="button_selected_color">@color/dialer_theme_color_dark</color> - <!-- 70% opacity, white. --> - <color name="button_default_color">#b3ffffff</color> - <!-- 20% opacity, white. --> - <color name="button_disabled_color">#33ffffff</color> - - <!-- Background color of action bars --> - <color name="actionbar_background_color">@color/dialer_theme_color</color> - <!-- Background color for status bar. For portrait this will be ignored. --> - <color name="statusbar_background_color">@color/dialer_theme_color</color> - - <color name="translucent_shadow">#33999999</color> - - <!-- 70% opacity, black. --> - <color name="glowpad_background_color">#b3000000</color> - <!-- 15% opacity, white. --> - <color name="glowpad_outer_ring_color">#26ffffff</color> - <color name="glowpad_text_widget_ring_color">#ffffff</color> - <color name="glowpad_widget_active_color">#ffffff</color> - <color name="glowpad_text_widget_normal_tint">#cccccc</color> - <color name="glowpad_call_widget_normal_tint">#00c853</color> - <color name="glowpad_end_call_widget_normal_tint">#ff1744</color> - <color name="glowpad_incoming_widget_tint">#a3a3a3</color> - <color name="glowpad_incoming_widget_background_tint">#ffffff</color> - - <!-- 70% opacity, white. --> - <color name="accessible_answer_hint_text_color">#B2FFFFFF</color> - - <!-- 20% opacity, theme color. --> - <color name="incall_dialpad_touch_tint">#330288d1</color> - - <!-- Background colors for InCallUI. This set of colors is a subset of - https://spec.googleplex.com/quantumpalette#extended which pass WCAG AA and all have a - contrast ratio over 5:1. - - These colors are also used by InCallUIMaterialColorMapUtils to generate primary - activity colors. - --> - <array name="background_colors"> - <item>#00796B</item> - <item>#3367D6</item> - <item>#303F9F</item> - <item>#7B1FA2</item> - <item>#C2185B</item> - <item>#C53929</item> - <item>#A52714</item> - </array> - - <!-- Darker versions of background_colors, two shades darker. These colors are used for the - status bar. --> - <array name="background_colors_dark"> - <item>#00695C</item> - <item>#2A56C6</item> - <item>#283593</item> - <item>#6A1B9A</item> - <item>#AD1457</item> - <item>#B93221</item> - <item>#841F10</item> - </array> - - <!-- Background color for spam. This color must match one of background_colors above. --> - <color name="incall_call_spam_background_color">#A52714</color> - - <!-- Ripple color used over light backgrounds. --> - <color name="ripple_light">#40000000</color> - - <color name="contact_context_title_text_color">@color/incall_call_banner_subtext_color</color> - <color name="person_contact_context_message_text_color">@color/dialer_theme_color</color> - <color name="person_contact_context_message_background_color">@color/incall_call_banner_subtext_color</color> - <color name="person_contact_context_detail_text_color">@color/incall_call_banner_subtext_color</color> - <color name="business_contact_context_text_color">@color/incall_call_banner_subtext_color</color> - - <!-- White background for dialer --> - <color name="background_dialer_white">#ffffff</color> - - <!-- Background color for large notification icon in after call from unknown numbers --> - <color name="unknown_number_color">#919191</color> -</resources> diff --git a/InCallUI/res/values/config.xml b/InCallUI/res/values/config.xml deleted file mode 100644 index b81ba3ca0..000000000 --- a/InCallUI/res/values/config.xml +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - ~ Copyright (C) 2015 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> - <!-- Determines the maximum number of buttons visible on the call card. Any buttons over this - count are put into the overflow menu. --> - <integer name="call_card_max_buttons">5</integer> - - <!-- Determines video calls will automatically enter fullscreen mode after the start of the - call. --> - <bool name="video_call_auto_fullscreen">true</bool> - <!-- The number of milliseconds after which a video call will automatically enter fullscreen - mode (requires video_call_auto_fullscreen to be true). --> - <integer name="video_call_auto_fullscreen_timeout">5000</integer> -</resources>
\ No newline at end of file diff --git a/InCallUI/res/values/dimens.xml b/InCallUI/res/values/dimens.xml deleted file mode 100644 index 59da7860a..000000000 --- a/InCallUI/res/values/dimens.xml +++ /dev/null @@ -1,150 +0,0 @@ -<?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 - --> - -<resources> - <!-- Whether or not this layout displays a large photo. --> - <bool name="has_large_photo">false</bool> - - <!-- Whether or not the landscape mode layout is currently being used --> - <bool name="is_layout_landscape">false</bool> - - <!-- Dimensions for CallCard elements (the normal in-call UI) --> - - <dimen name="call_banner_height">0dp</dimen> - <dimen name="call_banner_vertical_margin">20dp</dimen> - - <dimen name="incall_action_bar_elevation">3dp</dimen> - - <!-- Margin between the bottom of the "call card" photo - and the top of the in-call button cluster. --> - <dimen name="in_call_touch_ui_upper_margin">2dp</dimen> - - <!-- Padding at the left and right edges of the "call banner". --> - <dimen name="call_banner_side_padding">24dp</dimen> - <!-- Padding at the top and bottom edges of the "call banner". --> - <dimen name="call_banner_primary_call_container_top_padding">16dp</dimen> - <dimen name="secondary_call_info_horizontal_padding">24dp</dimen> - <dimen name="secondary_call_info_vertical_padding">32dp</dimen> - <dimen name="secondary_call_info_text_size">16sp</dimen> - - <!-- Padding at the top and bottom edges of the "provider information" --> - <dimen name="provider_info_top_bottom_padding">8dp</dimen> - - <!-- Text sizes for information in the call card. - Note: These are the default sizes for small (<600dp height) devices: larger screen sizes - apply the values in values-sw360dp/dimens.xml. --> - <dimen name="call_status_text_size">16sp</dimen> - <dimen name="call_status_text_min_size">12sp</dimen> - <dimen name="call_name_text_size">34dp</dimen> - <dimen name="call_name_text_min_size">28sp</dimen> - <dimen name="call_label_text_size">16sp</dimen> - <!-- Right padding for name and number fields in the call banner. - This padding is used to ensure that ultra-long names or - numbers won't overlap the elapsed time indication. --> - <dimen name="call_banner_name_number_right_padding">50sp</dimen> - - <!-- Height and width of the in-call buttons. --> - <dimen name="in_call_button_dimension">48dp</dimen> - - <dimen name="primary_call_elevation">0dp</dimen> - <dimen name="dialpad_elevation">2dp</dimen> - - <!-- The InCallUI dialpad will sometimes want digits sizes that are different from dialer. - Note: These are the default sizes for small (<600dp height) devices: larger screen sizes - apply the values in values-h600dp/dimens.xml. --> - <dimen name="dialpad_key_number_margin_bottom">1dp</dimen> - <!-- Zero key should have less space between self and text because "+" is smaller --> - <dimen name="dialpad_zero_key_number_margin_bottom">0dp</dimen> - <dimen name="dialpad_digits_adjustable_text_size">20sp</dimen> - <dimen name="dialpad_digits_adjustable_height">50dp</dimen> - <dimen name="dialpad_key_numbers_size">36dp</dimen> - - <dimen name="floating_action_button_vertical_offset">-10dp</dimen> - - <dimen name="call_button_margin_vertical">8dp</dimen> - <dimen name="call_button_margin_horizontal">6dp</dimen> - - <!-- Dimensions for OTA Call Card --> - <dimen name="otaactivate_layout_marginTop">10dp</dimen> - <dimen name="otalistenprogress_layout_marginTop">5dp</dimen> - <dimen name="otasuccessfail_layout_marginTop">10dp</dimen> - - <!-- Dimension used to possibly down-scale high-res photo into what is suitable - for notification's large icon. --> - <dimen name="notification_icon_size">64dp</dimen> - - <!-- Circle size for incoming call widget's each item. --> - <dimen name="incoming_call_widget_circle_size">56dp</dimen> - - <!-- Size of alarm alert outer ring. --> - <dimen name="glowpadview_outerring_diameter">250dp</dimen> - <!-- Default target placement radius for GlowPadView. Should be 1/2 of outerring diameter. --> - <dimen name="glowpadview_target_placement_radius">125dp</dimen> - - <!-- Default glow radius for GlowPadView --> - <dimen name="glowpadview_glow_radius">70dip</dimen> - - <!-- Default distance beyond which GlowPadView snaps to the matching target --> - <dimen name="glowpadview_snap_margin">40dip</dimen> - - <!-- Default distance from each snap target that GlowPadView considers a "hit" --> - <dimen name="glowpadview_inner_radius">15dip</dimen> - - <dimen name="glowpadview_margin_bottom">-48dip</dimen> - <dimen name="glowpadview_margin_right">0dip</dimen> - <!-- Height of translucent shadow effect --> - <dimen name="translucent_shadow_height">2dp</dimen> - - <dimen name="end_call_button_margin_bottom">2dp</dimen> - - <dimen name="call_card_anim_translate_y_offset">50dp</dimen> - - <!-- The smaller dimension of the video preview. When in portrait orientation this is the - width of the preview. When in landscape, this is the height. --> - <dimen name="video_preview_small_dimension">90dp</dimen> - - <dimen name="video_preview_margin">0dp</dimen> - - <dimen name="end_call_floating_action_button_diameter">72dp</dimen> - <dimen name="end_call_floating_action_button_small_diameter">56dp</dimen> - - <dimen name="conference_call_manager_padding_top">64dp</dimen> - <dimen name="conference_call_manager_button_dimension">46dp</dimen> - - <dimen name="contact_context_title_text_size">14sp</dimen> - <dimen name="contact_context_title_image_size">19dp</dimen> - <dimen name="contact_context_title_image_side_padding">23dp</dimen> - <dimen name="contact_context_title_margin_bottom">13dp</dimen> - <dimen name="contact_context_list_item_padding">13dp</dimen> - - <dimen name="person_contact_context_horizontal_padding">30dp</dimen> - <dimen name="person_contact_context_message_text_size">16sp</dimen> - <dimen name="person_contact_context_message_vertical_padding">7dp</dimen> - <dimen name="person_contact_context_message_horizontal_padding">12dp</dimen> - <dimen name="person_contact_context_message_background_main_radius">15dp</dimen> - <dimen name="person_contact_context_message_background_accent_radius">2dp</dimen> - <dimen name="person_contact_context_detail_padding_top">7dp</dimen> - <dimen name="person_contact_context_detail_text_size">14sp</dimen> - - <dimen name="business_contact_context_end_padding">10dp</dimen> - <dimen name="business_contact_context_image_size">25dp</dimen> - <dimen name="business_contact_context_image_padding">20dp</dimen> - <dimen name="business_contact_context_heading_font_size">16sp</dimen> - <dimen name="business_contact_context_detail_font_size">12sp</dimen> - - <dimen name="contact_context_small_photo_size">40dp</dimen> -</resources> diff --git a/InCallUI/res/values/ids.xml b/InCallUI/res/values/ids.xml deleted file mode 100644 index accb8fb73..000000000 --- a/InCallUI/res/values/ids.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 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> - <item type="id" name="fadeState" /> - <item type="id" name="view_tag_callcard_actual_height" /> -</resources> diff --git a/InCallUI/res/values/strings.xml b/InCallUI/res/values/strings.xml deleted file mode 100644 index 92de14042..000000000 --- a/InCallUI/res/values/strings.xml +++ /dev/null @@ -1,540 +0,0 @@ -<?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 - --> - -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - - <!-- Official label of the phone app, as seen in "Manage Applications" - and other settings UIs. --> - <string name="phoneAppLabel" product="default">Phone</string> - - <!-- Official label for the in-call UI. DO NOT TRANSLATE. --> - <string name="inCallLabel" translate="false">InCallUI</string> - - <!-- Call status --> - - <!-- In-call screen: status label for a call that's on hold --> - <string name="onHold">On hold</string> - - <!-- Incoming call screen, name of "unknown" caller --> - <string name="unknown">Unknown</string> - <!-- Incoming call screen, string when number hidden --> - <string name="private_num">Private number</string> - <!-- Incoming call screen, string when called from a pay phone --> - <string name="payphone">Payphone</string> - - <!-- In-call screen: status label for a conference call --> - <string name="confCall">Conference call</string> - <!-- In-call screen: call lost dialog text --> - <string name="call_lost">Call dropped</string> - - <!-- MMI dialog strings --> - <!-- Dialog label when an MMI code starts running --> - - <!-- "Audio mode" popup menu: Item label to select the speakerphone [CHAR LIMIT=25] --> - <string name="audio_mode_speaker">Speaker</string> - <!-- "Audio mode" popup menu: Item label to select the handset earpiece [CHAR LIMIT=25] --> - <string name="audio_mode_earpiece">Handset earpiece</string> - <!-- "Audio mode" popup menu: Item label to select the wired headset [CHAR LIMIT=25] --> - <string name="audio_mode_wired_headset">Wired headset</string> - <!-- "Audio mode" popup menu: Item label to select the bluetooth headset [CHAR LIMIT=25] --> - <string name="audio_mode_bluetooth">Bluetooth</string> - - <!-- post dial --> - <!-- In-call screen: body text of the dialog that appears when we encounter - the "wait" character in a phone number to be dialed; this dialog asks the - user if it's OK to send the numbers following the "wait". --> - <string name="wait_prompt_str">Send the following tones?\n</string> - <!-- In-call screen: body text of the dialog that appears when we encounter - the "PAUSE" character in a phone number to be dialed; this dialog gives - informative message to the user to show the sending numbers following the "Pause". --> - <string name="pause_prompt_str">Sending tones\n</string> - <!-- In-call screen: button label on the "wait" prompt dialog --> - <string name="send_button">Send</string> - <!-- In-call screen: button label on the "wait" prompt dialog in CDMA Mode--> - <string name="pause_prompt_yes">Yes</string> - <!-- In-call screen: button label on the "wait" prompt dialog in CDMA Mode--> - <string name="pause_prompt_no">No</string> - <!-- In-call screen: on the "wild" character dialog, this is the label - for a text widget that lets the user enter the digits that should - replace the "wild" character. --> - <string name="wild_prompt_str">Replace wild character with</string> - - <!-- In-call screen: status label for a conference call --> - <string name="caller_manage_header">Conference call <xliff:g id="conf_call_time">%s</xliff:g></string> - - <!-- Used in FakePhoneActivity test code. DO NOT TRANSLATE. --> - <string name="fake_phone_activity_phoneNumber_text" translatable="false">(650) 555-1234</string> - <!-- Used in FakePhoneActivity test code. DO NOT TRANSLATE. --> - <string name="fake_phone_activity_infoText_text" translatable="false">Incoming phone number</string> - <!-- Used in FakePhoneActivity test code. DO NOT TRANSLATE. --> - <string name="fake_phone_activity_placeCall_text" translatable="false">Fake Incoming Call</string> - - <!-- Call settings screen, Set voicemail dialog title --> - <string name="voicemail_settings_number_label">Voicemail number</string> - - <!-- Card titles --> - <!-- In-call screen: status label for a call in the "dialing" state [CHAR LIMIT=25] --> - <string name="card_title_dialing">Dialing</string> - <!-- In-call screen: status label for a re-dialing call [CHAR LIMIT=25] --> - <string name="card_title_redialing">Redialing</string> - <!-- In-call screen: status label for a conference call [CHAR LIMIT=25] --> - <string name="card_title_conf_call">Conference call</string> - <!-- In-call screen: status label for an incoming call [CHAR LIMIT=25] --> - <string name="card_title_incoming_call">Incoming call</string> - <!-- In-call screen: status label for an incoming work call [CHAR LIMIT=25] --> - <string name="card_title_incoming_work_call">Incoming work call</string> - <!-- In-call screen: status label displayed briefly after a call ends [CHAR LIMIT=25] --> - <string name="card_title_call_ended">Call ended</string> - <!-- In-call screen: status label for call that's on hold [CHAR LIMIT=25] --> - <string name="card_title_on_hold">On hold</string> - <!-- In-call screen: status label for a call that's in the process of hanging up [CHAR LIMIT=25] --> - <string name="card_title_hanging_up">Hanging up</string> - <!-- In-call screen: status label for a call that's in CDMA flash mode [CHAR LIMIT=25] --> - <string name="card_title_in_call">In call</string> - <!-- In-call screen: special status label that shows your own phone - number during emergency callback mode (ECM) [CHAR LIMIT=30] --> - <string name="card_title_my_phone_number">My number is <xliff:g id="my_phone_number">%s</xliff:g></string> - <!-- In-call screen: status label when connecting video. --> - <string name="card_title_video_call_connecting">Connecting video</string> - <!-- In-call screen: status label when in a video call. --> - <string name="card_title_video_call">Video call</string> - <!-- In-call screen: status label when requesting video. --> - <string name="card_title_video_call_requesting">Requesting video</string> - <!-- In-call screen: status label when there is a problem connecting a video call. --> - <string name="card_title_video_call_error">Can\'t connect video call</string> - <!-- In-call screen: status label when the remote party rejects a video call request. --> - <string name="card_title_video_call_rejected">Video request rejected</string> - - <!-- In-call screen: string shown to the user when their outgoing number is different than the - number reported by TelephonyManager#getLine1Number() --> - <string name="card_title_callback_number">Your callback number\n - <xliff:g id="dark_number">%1$s</xliff:g> - </string> - - <!-- In-call screen: string shown to the user when their outgoing number is different than the - number reported by TelephonyManager#getLine1Number() and they're calling emergency - services. --> - <string name="card_title_callback_number_emergency">Your emergency callback number\n - <xliff:g id="dark_number">%1$s</xliff:g> - </string> - - <!-- Notification strings --> - <!-- The "label" of the in-call Notification for a dialing call, used - as the format string for a Chronometer widget. [CHAR LIMIT=60] --> - <string name="notification_dialing">Dialing</string> - <!-- Missed call notification label, used when there's exactly one missed call --> - <string name="notification_missedCallTitle">Missed call</string> - <!-- Missed call notification label, used when there are two or more missed calls --> - <string name="notification_missedCallsTitle">Missed calls</string> - <!-- Missed call notification message used when there are multiple missed calls --> - <string name="notification_missedCallsMsg"><xliff:g id="num_missed_calls">%s</xliff:g> missed calls</string> - <!-- Missed call notification message used for a single missed call, including - the caller-id info from the missed call --> - <string name="notification_missedCallTicker">Missed call from <xliff:g id="missed_call_from">%s</xliff:g></string> - <!-- The "label" of the in-call Notification for an ongoing call. [CHAR LIMIT=60] --> - <string name="notification_ongoing_call">Ongoing call</string> - <!-- The "label" of the in-call Notification for an ongoing work call. [CHAR LIMIT=60] --> - <string name="notification_ongoing_work_call">Ongoing work call</string> - <!-- The "label" of the in-call Notification for an ongoing call, which is being made over - Wi-Fi. [CHAR LIMIT=60] --> - <string name="notification_ongoing_call_wifi">Ongoing Wi-Fi call</string> - <!-- The "label" of the in-call Notification for an ongoing work call, which is being made - over Wi-Fi. [CHAR LIMIT=60] --> - <string name="notification_ongoing_work_call_wifi">Ongoing Wi-Fi work call</string> - <!-- The "label" of the in-call Notification for a call that's on hold --> - <string name="notification_on_hold">On hold</string> - <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=60] --> - <string name="notification_incoming_call">Incoming call</string> - <!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=60] --> - <string name="notification_incoming_work_call">Incoming work call</string> - <!-- The "label" of the in-call Notification for an incoming ringing call, - which is being made over Wi-Fi. [CHAR LIMIT=60] --> - <string name="notification_incoming_call_wifi">Incoming Wi-Fi call</string> - <!-- The "label" of the in-call Notification for an incoming ringing work call, - which is being made over Wi-Fi. [CHAR LIMIT=60] --> - <string name="notification_incoming_work_call_wifi">Incoming Wi-Fi work call</string> - <!-- The "label" of the in-call Notification for an incoming ringing video call. --> - <string name="notification_incoming_video_call">Incoming video call</string> - <!-- The "label" of the in-call Notification for an incoming ringing spam call. --> - <string name="notification_incoming_spam_call">Incoming suspected spam call</string> - <!-- The "label" of the in-call Notification for upgrading an existing call to a video call. --> - <string name="notification_requesting_video_call">Incoming video request</string> - <!-- Label for the "Voicemail" notification item, when expanded. --> - <string name="notification_voicemail_title">New voicemail</string> - <!-- Label for the expanded "Voicemail" notification item, - including a count of messages. --> - <string name="notification_voicemail_title_count">New voicemail (<xliff:g id="count">%d</xliff:g>)</string> - <!-- Message displayed in the "Voicemail" notification item, allowing the user - to dial the indicated number. --> - <string name="notification_voicemail_text_format">Dial <xliff:g id="voicemail_number">%s</xliff:g></string> - <!-- Message displayed in the "Voicemail" notification item, - indicating that there's no voicemail number available --> - <string name="notification_voicemail_no_vm_number">Voicemail number unknown</string> - <!-- Label for the "No service" notification item, when expanded. --> - <string name="notification_network_selection_title">No service</string> - <!-- Label for the expanded "No service" notification item, including the - operator name set by user --> - <string name="notification_network_selection_text">Selected network (<xliff:g id="operator_name">%s</xliff:g>) unavailable</string> - <!-- Label for the "Answer call" action. This is the displayed label for the action that answers - an incoming call. [CHAR LIMIT=12] --> - <string name="notification_action_answer">Answer</string> - <!-- Label for "end call" Action. - It is displayed in the "Ongoing call" notification, which is shown - when the user is outside the in-call screen while the phone call is still - active. [CHAR LIMIT=12] --> - <string name="notification_action_end_call">Hang up</string> - <!-- Label for "Video Call" notification action. This is a displayed on the notification for an - incoming video call, and answers the call as a video call. [CHAR LIMIT=12] --> - <string name="notification_action_answer_video">Video</string> - <!-- Label for "Voice" notification action. This is a displayed on the notification for an - incoming video call, and answers the call as an audio call. [CHAR LIMIT=12] --> - <string name="notification_action_answer_voice">Voice</string> - <!-- Label for "Accept" notification action. This is somewhat generic, and may refer to - scenarios such as accepting an incoming call or accepting a video call request. - [CHAR LIMIT=12] --> - <string name="notification_action_accept">Accept</string> - <!-- Label for "Dismiss" notification action. This is somewhat generic, and may refer to - scenarios such as declining an incoming call or declining a video call request. - [CHAR LIMIT=12] --> - <string name="notification_action_dismiss">Dismiss</string> - - <!-- Message for "call back" Action, which is displayed in the missed call notification. - The user will be able to call back to the person or the phone number. - [CHAR LIMIT=12] --> - <string name="notification_missedCall_call_back">Call back</string> - <!-- Message for "reply via sms" action, which is displayed in the missed call notification. - The user will be able to send text messages using the phone number. - [CHAR LIMIT=12] --> - <string name="notification_missedCall_message">Message</string> - <!-- The "label" of the in-call Notification for an ongoing external call. - External calls are a representation of a call which is in progress on the user's other - device (e.g. another phone or a watch). - [CHAR LIMIT=60] --> - <string name="notification_external_call">Ongoing call on another device</string> - <!-- Notification action displayed for external call notifications. External calls are a - representation of a call which is in progress on the user's other device (e.g. another - phone or a watch). The "transfer call" action initiates the process of transferring an - external call to the current device. - [CHAR LIMIT=30] --> - <string name="notification_transfer_call">Transfer Call</string> - - <!-- In-call screen: call failure message displayed in an error dialog --> - <string name="incall_error_power_off">To place a call, first turn off Airplane mode.</string> - <!-- In-call screen: call failure message displayed in an error dialog. - This string is currently unused (see comments in InCallActivity.java.) --> - <string name="incall_error_emergency_only">Not registered on network.</string> - <!-- In-call screen: call failure message displayed in an error dialog --> - <string name="incall_error_out_of_service">Cellular network not available.</string> - <!-- In-call screen: call failure message displayed in an error dialog --> - <string name="incall_error_no_phone_number_supplied">To place a call, enter a valid number.</string> - <!-- In-call screen: call failure message displayed in an error dialog --> - <string name="incall_error_call_failed">Can\'t call.</string> - <!-- In-call screen: status message displayed in a dialog when starting an MMI --> - <string name="incall_status_dialed_mmi">Starting MMI sequence\u2026</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_unknown">Service not supported.</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_switch">Can\'t switch calls.</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_separate">Can\'t separate call.</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_transfer">Can\'t transfer.</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_conference">Can\'t conference.</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_reject">Can\'t reject call.</string> - <!-- In-call screen: message displayed in an error dialog --> - <string name="incall_error_supp_service_hangup">Can\'t release call(s).</string> - - <!-- In-call screen: "call type" indication for a SIP call [CHAR LIMIT=30] --> - <string name="incall_call_type_label_sip">SIP call</string> - - <!-- Dialog title for the "radio enable" UI for emergency calls --> - <string name="emergency_enable_radio_dialog_title">Emergency call</string> - <!-- Status message for the "radio enable" UI for emergency calls --> - <string name="emergency_enable_radio_dialog_message">Turning on radio\u2026</string> - <!-- Status message for the "radio enable" UI for emergency calls --> - <string name="emergency_enable_radio_dialog_retry">No service. Trying again\u2026</string> - - <!-- Dialer text on Emergency Dialer --> - <!-- Emergency dialer: message displayed in an error dialog --> - <string name="dial_emergency_error">Can\'t call. <xliff:g id="non_emergency_number">%s</xliff:g> is not an emergency number.</string> - <!-- Emergency dialer: message displayed in an error dialog --> - <string name="dial_emergency_empty_error">Can\'t call. Dial an emergency number.</string> - - <!-- Displayed in the text entry box in the dialer when in landscape mode to guide the user - to dial using the physical keyboard --> - <string name="dialerKeyboardHintText">Use keyboard to dial</string> - - <!-- Text for the onscreen "Hold" button when it is not selected. Pressing it will put - the call on hold. --> - <string name="onscreenHoldText_unselected">Hold Call</string> - <!-- Text for the onscreen "Hold" button when it is selected. Pressing it will resume - the call from a previously held state. --> - <string name="onscreenHoldText_selected">Resume Call</string> - <!-- Text for the onscreen "End call" button --> - <string name="onscreenEndCallText">End Call</string> - <!-- Text for the onscreen "Show Dialpad" button when it is not selected. Pressing it will - show the dialpad. --> - <string name="onscreenShowDialpadText_unselected">Show Dialpad</string> - <!-- Text for the onscreen "Show Dialpad" button when it is selected. Pressing it will - hide the dialpad. --> - <string name="onscreenShowDialpadText_selected">Hide Dialpad</string> - <!-- Text for the onscreen "Mute" button when it is not selected. Pressing it will mute - the call. --> - <string name="onscreenMuteText_unselected">Mute</string> - <!-- Text for the onscreen "Mute" button when it is selected. Pressing it will unmute - the call. --> - <string name="onscreenMuteText_selected">Unmute</string> - <!-- Text for the onscreen "Add call" button --> - <string name="onscreenAddCallText">Add call</string> - <!-- Text for the onscreen "Merge calls" button --> - <string name="onscreenMergeCallsText">Merge calls</string> - <!-- Text for the onscreen "Swap calls" button --> - <string name="onscreenSwapCallsText">Swap</string> - <!-- Text for the onscreen "Manage calls" button --> - <string name="onscreenManageCallsText">Manage calls</string> - <!-- Text for the onscreen "Manage conference" button [CHAR LIMIT=30] --> - <string name="onscreenManageConferenceText">Manage conference call</string> - <!-- Text for the first half of the onscreen "Manage conference" button [CHAR LIMIT=30] --> - <string name="onscreenConferenceText">Conference call</string> - <!-- Text for the second half of the onscreen "Manage conference" button [CHAR LIMIT=30] --> - <string name="onscreenManageText">Manage</string> - <!-- Text for the onscreen "Audio" button that lets you switch - between speaker / bluetooth / earpiece [CHAR LIMIT=10] --> - <string name="onscreenAudioText">Audio</string> - <!-- Text for the onscreen "Video call" button used to change a voice call - to a video call. [CHAR LIMIT=10] --> - <string name="onscreenVideoCallText">Video call</string> - <!-- Text for the onscreen "Change to voice" button. When clicked, this downgrades a video call - to a voice call. --> - <string name="onscreenChangeToVoiceText">Change to voice call</string> - <!-- Text for the onscreen "Switch camera" button. When clicked, this switches the user's camera - for video calling between the front-facing camera and the back-facing camera. --> - <string name="onscreenSwitchCameraText">Switch camera</string> - <!-- Text for the onscreen "turn on camera" button. --> - <string name="onscreenTurnOnCameraText">Turn on camera</string> - <!-- Text for the onscreen "turn off camera" button. --> - <string name="onscreenTurnOffCameraText">Turn off camera</string> - <!-- Text for the onscreen overflow button, to see additional actions which can be done. --> - <string name="onscreenOverflowText">More options</string> - - <!-- Message indicating that Video Started flowing for IMS-VT calls --> - <string name="player_started">Player Started</string> - <!-- Message indicating that Video Stopped flowing for IMS-VT calls --> - <string name="player_stopped">Player Stopped</string> - <!-- Message indicating that camera failure has occurred for the selected camera and - as result camera is not ready --> - <string name="camera_not_ready">Camera not ready</string> - <!-- Message indicating that camera is ready/available --> - <string name="camera_ready">Camera ready</string> - <!-- Message indicating unknown call session event --> - <string name="unknown_call_session_event">"Unkown call session event"</string> - - <!-- For incoming calls, this is a string we can get from a CDMA network instead of - the actual phone number, to indicate there's no number present. DO NOT TRANSLATE. --> - <string-array name="absent_num" translatable="false"> - <item>ABSENT NUMBER</item> - <item>ABSENTNUMBER</item> - </string-array> - - <!-- Preference for Voicemail service provider under "Voicemail" settings. - [CHAR LIMIT=40] --> - <string name="voicemail_provider">Service</string> - - <!-- Preference for Voicemail setting of each provider. - [CHAR LIMIT=40] --> - <string name="voicemail_settings">Setup</string> - - <!-- String to display in voicemail number summary when no voicemail num is set --> - <string name="voicemail_number_not_set"><Not set></string> - - <!-- Title displayed above settings coming after voicemail in the call features screen --> - <string name="other_settings">Other call settings</string> - - <!-- Title displayed in the overlay for outgoing calls which include the name of the provider. - [CHAR LIMIT=40] --> - <string name="calling_via_template">Calling via <xliff:g id="provider_name">%s</xliff:g></string> - <!-- Title displayed in the overlay for incoming calls which include the name of the provider. - [CHAR LIMIT=40] --> - <string name="incoming_via_template">Incoming via <xliff:g id="provider_name">%s</xliff:g></string> - - <!-- Use this as a default to describe the contact photo; currently for screen readers through accessibility. --> - <string name="contactPhoto">contact photo</string> - <!-- Use this to describe the separate conference call button; currently for screen readers through accessibility. --> - <string name="goPrivate">go private</string> - <!-- Use this to describe the select contact button in EditPhoneNumberPreference; currently for screen readers through accessibility. --> - <string name="selectContact">select contact</string> - - <!-- "Respond via SMS" option that lets you compose a custom response. [CHAR LIMIT=30] --> - <string name="respond_via_sms_custom_message">Write your own...</string> - <!-- "Custom Message" Cancel alert dialog button --> - <string name="custom_message_cancel">Cancel</string> - <!-- "Custom Message" Send alert dialog button --> - <string name="custom_message_send">Send</string> - - <!-- Description of the answer target in the Slide unlock screen of Phone. [CHAR LIMIT=NONE] --> - <string name="description_target_answer">Answer</string> - <!-- Description of the send_sms target in the Slide unlock screen of Phone. [CHAR LIMIT=NONE] --> - <string name="description_target_send_sms">Send SMS</string> - <!-- Description of the decline target in the Slide unlock screen. [CHAR LIMIT=NONE] --> - <string name="description_target_decline">Decline</string> - <!-- Description of the target to answer a call as a video call in the Slide unlock screen. - [CHAR LIMIT=NONE] --> - <string name="description_target_answer_video_call">Answer as video call</string> - <!-- Description of the target to answer a call as an audio call in the Slide unlock screen. - [CHAR LIMIT=NONE] --> - <string name="description_target_answer_audio_call">Answer as audio call</string> - <!-- Description of the target to accept a request to upgrade from an audio call to a video call. - [CHAR LIMIT=NONE] --> - <string name="description_target_accept_upgrade_to_video_request">Accept video request</string> - <!-- Description of the target to decline a request to upgrade from an audio call to a video call. - [CHAR LIMIT=NONE] --> - <string name="description_target_decline_upgrade_to_video_request">Decline video request</string> - <!-- Description of the target to accept a request to upgrade from any call to a video transmit call. - [CHAR LIMIT=NONE] --> - <string name="description_target_accept_upgrade_to_video_transmit_request">Accept video transmit request</string> - <!-- Description of the target to decline a request to upgrade from any call to a video transmit call. - [CHAR LIMIT=NONE] --> - <string name="description_target_decline_upgrade_to_video_transmit_request">Decline video transmit request</string> - <!-- Description of the target to accept a request to upgrade from any call to a video receive call. - [CHAR LIMIT=NONE] --> - <string name="description_target_accept_upgrade_to_video_receive_request">Accept video receive request</string> - <!-- Description of the target to decline a request to upgrade from any call to a video receive call. - [CHAR LIMIT=NONE] --> - <string name="description_target_decline_upgrade_to_video_receive_request">Decline video receive request</string> - - <!-- Description of the up direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] --> - <string name="description_direction_up">Slide up for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string> - <!-- Description of the left direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] --> - <string name="description_direction_left">"Slide left for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string> - <!-- Description of the right direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] --> - <string name="description_direction_right">Slide right for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string> - <!-- Description of the down direction in which one can to slide the handle in the phone answer screen. [CHAR LIMIT=NONE] --> - <string name="description_direction_down">Slide down for <xliff:g id="target_description" example="Unlock">%s</xliff:g>.</string> - - <!-- Dialog title for the vibration settings for voicemail notifications [CHAR LIMIT=40] --> - <string name="voicemail_notification_vibrate_when_title" msgid="8731372580674292759">Vibrate</string> - <!-- Dialog title for the vibration settings for voice mail notifications [CHAR LIMIT=40]--> - <string name="voicemail_notification_vibarte_when_dialog_title" msgid="8995274609647451109">Vibrate</string> - - <!-- Voicemail ringtone title. The user clicks on this preference to select - which sound to play when a voicemail notification is received. - [CHAR LIMIT=30] --> - <string name="voicemail_notification_ringtone_title">Sound</string> - - <!-- The string used to describe a notification if it is the default one in the system. For - example, if the user selects the default notification, it will appear as something like - Default sound(Capella) in the notification summary. - [CHAR LIMIT=40] --> - <string name="default_notification_description">Default sound (<xliff:g id="default_sound_title">%1$s</xliff:g>)</string> - - <!-- The default value value for voicemail notification. --> - <string name="voicemail_notification_vibrate_when_default" translatable="false">never</string> - - <!-- Actual values used in our code for voicemail notifications. DO NOT TRANSLATE --> - <string-array name="voicemail_notification_vibrate_when_values" translatable="false"> - <item>always</item> - <item>silent</item> - <item>never</item> - </string-array> - - <!-- Setting option name to pick ringtone (a list dialog comes up). [CHAR LIMIT=30] --> - <string name="ringtone_title" msgid="5379026328015343686">Phone ringtone</string> - - <!-- Setting option name to enable or disable vibration when ringing - the phone. - [CHAR LIMIT=30] --> - <string name="vibrate_on_ring_title">Vibrate when ringing</string> - - <!-- Title for the category "ringtone", which is shown above ringtone and vibration - related settings. - [CHAR LIMIT=30] --> - <string name="preference_category_ringtone">Ringtone & Vibrate</string> - - <!-- Label for "Manage conference call" panel [CHAR LIMIT=40] --> - <string name="manageConferenceLabel">Manage conference call</string> - - <!-- This can be used in any application wanting to disable the text "Emergency number" --> - <string name="emergency_call_dialog_number_for_display">Emergency number</string> - - <!-- Description of the profile photo shown when the device's camera is disabled udring a video - call. [CHAR LIMIT=NONE] --> - <string name="profile_photo_description">Profile photo</string> - - <!-- Description of the "camera off" icon displayed when the device's camera is disabled during - a video call. [CHAR LIMIT=NONE] --> - <string name="camera_off_description">Camera off</string> - - <!-- Used to inform the user that a call was received via a number other than the primary - phone number associated with their device. [CHAR LIMIT=16] --> - <string name="child_number">via <xliff:g id="child_number" example="650-555-1212">%s</xliff:g></string> - - <!-- Used to inform the user that the note associated with an outgoing call has been sent. - [CHAR LIMIT=32] --> - <string name="note_sent">Note sent</string> - - <!-- Title for the call context with a person-type contact. [CHAR LIMIT=40] --> - <string name="person_contact_context_title">Recent messages</string> - - <!-- Title for the call context with a business-type contact. [CHAR LIMIT=40] --> - <string name="business_contact_context_title">Business info</string> - - <!-- Distance strings for business caller ID context. --> - - <!-- Used to inform the user how far away a location is in miles. [CHAR LIMIT=NONE] --> - <string name="distance_imperial_away"><xliff:g id="distance">%.1f</xliff:g> mi away</string> - <!-- Used to inform the user how far away a location is in kilometers. [CHAR LIMIT=NONE] --> - <string name="distance_metric_away"><xliff:g id="distance">%.1f</xliff:g> km away</string> - <!-- A shortened way to display a business address. Formatted [street address], [city/locality]. --> - <string name="display_address"><xliff:g id="street_address">%1$s</xliff:g>, <xliff:g id="locality">%2$s</xliff:g></string> - <!-- Used to indicate hours of operation for a location as a time span. e.g. "11 am - 9 pm" [CHAR LIMIT=NONE] --> - <string name="open_time_span"><xliff:g id="open_time">%1$s</xliff:g> - <xliff:g id="close_time">%2$s</xliff:g></string> - <!-- Used to indicate a series of opening hours for a location. - This first argument may be one or more time spans. e.g. "11 am - 9 pm, 9 pm - 11 pm" - The second argument is an additional time span. e.g. "11 pm - 1 am" - The string is used to build a list of opening hours. - [CHAR LIMIT=NONE] --> - <string name="opening_hours"><xliff:g id="earlier_times">%1$s</xliff:g>, <xliff:g id="later_time">%2$s</xliff:g></string> - <!-- Used to express when a location will open the next day. [CHAR LIMIT=NONE] --> - <string name="opens_tomorrow_at">Opens tomorrow at <xliff:g id="open_time">%s</xliff:g></string> - <!-- Used to express the next time at which a location will be open today. [CHAR LIMIT=NONE] --> - <string name="opens_today_at">Opens today at <xliff:g id="open_time">%s</xliff:g></string> - <!-- Used to express the next time at which a location will close today. [CHAR LIMIT=NONE] --> - <string name="closes_today_at">Closes at <xliff:g id="close_time">%s</xliff:g></string> - <!-- Used to express the next time at which a location closed today if it is already closed. [CHAR LIMIT=NONE] --> - <string name="closed_today_at">Closed today at <xliff:g id="close_time">%s</xliff:g></string> - <!-- Displayed when a place is open. --> - <string name="open_now">Open now</string> - <!-- Displayed when a place is closed. --> - <string name="closed_now">Closed now</string> - <!-- Label for spam call in primary info. [CHAR LIMIT=20] --> - <string name="label_spam_caller">Suspected spam caller</string> - - <!-- Title for the notification to the user after a call from an unknown number ends. [CHAR LIMIT=100] --> - <string name="spam_notification_title">Call ended %1$s</string> - <!-- Text displayed in the notification to the user after a non-spam call ends. [CHAR LIMIT=100] --> - <string name="spam_notification_non_spam_call_text">This is the first time this number called you.</string> - <!-- Text displayed in the notification to the user after a spam call ends. [CHAR LIMIT=100] --> - <string name="spam_notification_spam_call_text">We suspected this call to be a spammer.</string> - <!-- Text for the reporting spam action in the after call prompt. [CHAR LIMIT=20] --> - <string name="spam_notification_report_spam_action_text">Block/report spam</string> - <!-- Text for the adding to contacts action in the after call prompt. [CHAR LIMIT=20] --> - <string name="spam_notification_add_contact_action_text">Add contact</string> - <!-- Text for the reporting as not spam action in the after call prompt. [CHAR LIMIT=20] --> - <string name="spam_notification_not_spam_action_text">Not spam</string> -</resources> diff --git a/InCallUI/res/values/styles.xml b/InCallUI/res/values/styles.xml deleted file mode 100644 index 11d636261..000000000 --- a/InCallUI/res/values/styles.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?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 - --> - -<resources> - <drawable name="grayBg">#FF333333</drawable> - - <style name="info_label"> - <item name="android:layout_height">wrap_content</item> - <item name="android:layout_width">wrap_content</item> - <item name="android:textAppearance">@style/TextAppearance.info_label</item> - <item name="android:paddingEnd">4dip</item> - </style> - - <style name="info_layout"> - <item name="android:orientation">vertical</item> - <item name="android:paddingStart">10dip</item> - <item name="android:paddingTop">10dip</item> - <item name="android:paddingEnd">10dip</item> - <item name="android:paddingBottom">10dip</item> - <item name="android:layout_width">match_parent</item> - <item name="android:layout_height">match_parent</item> - </style> - - <style name="entry_layout"> - <item name="android:orientation">vertical</item> - <item name="android:layout_width">wrap_content</item> - <item name="android:layout_height">wrap_content</item> - </style> - - <style name="TextAppearance" parent="android:TextAppearance"> - </style> - - <style name="TextAppearance.info_label"> - <item name="android:textSize">14sp</item> - <item name="android:textStyle">bold</item> - </style> - - - <!-- Buttons in the main "button row" of the in-call onscreen touch UI. --> - <style name="InCallButton"> - <item name="android:layout_width">@dimen/in_call_button_dimension</item> - <item name="android:layout_height">@dimen/in_call_button_dimension</item> - <item name="android:layout_marginBottom">@dimen/call_button_margin_vertical</item> - <item name="android:layout_marginLeft">@dimen/call_button_margin_horizontal</item> - <item name="android:layout_marginRight">@dimen/call_button_margin_horizontal</item> - <item name="android:background">?android:attr/selectableItemBackground</item> - </style> - - <!-- "Compound button" variation of InCallButton. - These buttons have the concept of two states: checked and unchecked. This style is just - like "InCallButton" except that we also clear out android:background, android:textOn, - android:textOff, to avoid the default behavior of the ToggleButton class. --> - <style name="InCallCompoundButton" parent="InCallButton"> - <item name="android:background">@null</item> - <item name="android:textOn">@null</item> - <item name="android:textOff">@null</item> - </style> - - <!-- Theme for the InCallActivity activity. Should have a transparent background for the - circular reveal animation for a new outgoing call to work correctly. We don't just use - Theme.Black.NoTitleBar directly, since we want any popups or dialogs from the - InCallActivity to have the correct Material style. --> - <style name="Theme.InCallScreen" parent="@android:style/Theme.Material.Light"> - <item name="android:windowAnimationStyle">@null</item> - <item name="android:windowIsTranslucent">true</item> - <item name="android:windowBackground">@android:color/transparent</item> - <item name="android:windowContentOverlay">@null</item> - <item name="dialpad_key_button_touch_tint">@color/incall_dialpad_touch_tint</item> - <item name="android:textColorPrimary">@color/incall_call_banner_text_color</item> - <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item> - <item name="android:popupMenuStyle">@style/InCallPopupMenuStyle</item> - <item name="android:actionBarStyle">@style/InCallActionBarStyle</item> - <item name="android:buttonStyleToggle">@style/InCallCompoundButton</item> - <item name="android:alertDialogTheme">@android:style/Theme.Material.Light.Dialog.Alert</item> - </style> - - <style name="InCallPopupMenuStyle" parent="@android:style/Theme.Material.Light"> - <item name="android:textColorPrimary">@color/popup_menu_color</item> - </style> - - <style name="InCallActionBarStyle" parent="@android:style/Widget.Material.Light.ActionBar"> - <item name="android:background">@color/incall_action_bar_background_color</item> - <item name="android:textColor">@color/incall_action_bar_text_color</item> - </style> - -</resources> diff --git a/InCallUI/src/com/android/incallui/AccelerometerListener.java b/InCallUI/src/com/android/incallui/AccelerometerListener.java deleted file mode 100644 index b5ad29675..000000000 --- a/InCallUI/src/com/android/incallui/AccelerometerListener.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (C) 2009 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.content.Context; -import android.hardware.Sensor; -import android.hardware.SensorEvent; -import android.hardware.SensorEventListener; -import android.hardware.SensorManager; -import android.os.Handler; -import android.os.Message; -import android.util.Log; - -/** - * This class is used to listen to the accelerometer to monitor the - * orientation of the phone. The client of this class is notified when - * the orientation changes between horizontal and vertical. - */ -public class AccelerometerListener { - private static final String TAG = "AccelerometerListener"; - private static final boolean DEBUG = true; - private static final boolean VDEBUG = false; - - private SensorManager mSensorManager; - private Sensor mSensor; - - // mOrientation is the orientation value most recently reported to the client. - private int mOrientation; - - // mPendingOrientation is the latest orientation computed based on the sensor value. - // This is sent to the client after a rebounce delay, at which point it is copied to - // mOrientation. - private int mPendingOrientation; - - private OrientationListener mListener; - - // Device orientation - public static final int ORIENTATION_UNKNOWN = 0; - public static final int ORIENTATION_VERTICAL = 1; - public static final int ORIENTATION_HORIZONTAL = 2; - - private static final int ORIENTATION_CHANGED = 1234; - - private static final int VERTICAL_DEBOUNCE = 100; - private static final int HORIZONTAL_DEBOUNCE = 500; - private static final double VERTICAL_ANGLE = 50.0; - - public interface OrientationListener { - public void orientationChanged(int orientation); - } - - public AccelerometerListener(Context context) { - mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); - mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); - } - - public void setListener(OrientationListener listener) { - mListener = listener; - } - - public void enable(boolean enable) { - if (DEBUG) Log.d(TAG, "enable(" + enable + ")"); - synchronized (this) { - if (enable) { - mOrientation = ORIENTATION_UNKNOWN; - mPendingOrientation = ORIENTATION_UNKNOWN; - mSensorManager.registerListener(mSensorListener, mSensor, - SensorManager.SENSOR_DELAY_NORMAL); - } else { - mSensorManager.unregisterListener(mSensorListener); - mHandler.removeMessages(ORIENTATION_CHANGED); - } - } - } - - private void setOrientation(int orientation) { - synchronized (this) { - if (mPendingOrientation == orientation) { - // Pending orientation has not changed, so do nothing. - return; - } - - // Cancel any pending messages. - // We will either start a new timer or cancel alltogether - // if the orientation has not changed. - mHandler.removeMessages(ORIENTATION_CHANGED); - - if (mOrientation != orientation) { - // Set timer to send an event if the orientation has changed since its - // previously reported value. - mPendingOrientation = orientation; - final Message m = mHandler.obtainMessage(ORIENTATION_CHANGED); - // set delay to our debounce timeout - int delay = (orientation == ORIENTATION_VERTICAL ? VERTICAL_DEBOUNCE - : HORIZONTAL_DEBOUNCE); - mHandler.sendMessageDelayed(m, delay); - } else { - // no message is pending - mPendingOrientation = ORIENTATION_UNKNOWN; - } - } - } - - private void onSensorEvent(double x, double y, double z) { - if (VDEBUG) Log.d(TAG, "onSensorEvent(" + x + ", " + y + ", " + z + ")"); - - // If some values are exactly zero, then likely the sensor is not powered up yet. - // ignore these events to avoid false horizontal positives. - if (x == 0.0 || y == 0.0 || z == 0.0) return; - - // magnitude of the acceleration vector projected onto XY plane - final double xy = Math.hypot(x, y); - // compute the vertical angle - double angle = Math.atan2(xy, z); - // convert to degrees - angle = angle * 180.0 / Math.PI; - final int orientation = (angle > VERTICAL_ANGLE ? ORIENTATION_VERTICAL : ORIENTATION_HORIZONTAL); - if (VDEBUG) Log.d(TAG, "angle: " + angle + " orientation: " + orientation); - setOrientation(orientation); - } - - SensorEventListener mSensorListener = new SensorEventListener() { - @Override - public void onSensorChanged(SensorEvent event) { - onSensorEvent(event.values[0], event.values[1], event.values[2]); - } - - @Override - public void onAccuracyChanged(Sensor sensor, int accuracy) { - // ignore - } - }; - - Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case ORIENTATION_CHANGED: - synchronized (this) { - mOrientation = mPendingOrientation; - if (DEBUG) { - Log.d(TAG, "orientation: " + - (mOrientation == ORIENTATION_HORIZONTAL ? "horizontal" - : (mOrientation == ORIENTATION_VERTICAL ? "vertical" - : "unknown"))); - } - if (mListener != null) { - mListener.orientationChanged(mOrientation); - } - } - break; - } - } - }; -} diff --git a/InCallUI/src/com/android/incallui/AccessibleAnswerFragment.java b/InCallUI/src/com/android/incallui/AccessibleAnswerFragment.java deleted file mode 100644 index 89c78ec61..000000000 --- a/InCallUI/src/com/android/incallui/AccessibleAnswerFragment.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * 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()); - } -} diff --git a/InCallUI/src/com/android/incallui/AnswerFragment.java b/InCallUI/src/com/android/incallui/AnswerFragment.java deleted file mode 100644 index 44ddfcd49..000000000 --- a/InCallUI/src/com/android/incallui/AnswerFragment.java +++ /dev/null @@ -1,307 +0,0 @@ -/* - * 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.AlertDialog; -import android.app.Dialog; -import android.content.Context; -import android.content.DialogInterface; -import android.os.Bundle; -import android.text.Editable; -import android.text.TextWatcher; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.EditText; -import android.widget.ListView; - -import com.android.dialer.R; - -import java.util.ArrayList; -import java.util.List; - - -/** - * Provides only common interface and functions. Should be derived to implement the actual UI. - */ -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; - public static final int TARGET_SET_FOR_VIDEO_WITHOUT_SMS = 2; - public static final int TARGET_SET_FOR_VIDEO_WITH_SMS = 3; - public static final int TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST = 4; - - /** - * 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. - * - * This is an AlertDialog containing a ListView showing the possible choices. This may be null - * if the InCallScreen hasn't ever called showRespondViaSmsPopup() yet, or if the popup was - * visible once but then got dismissed. - */ - private Dialog mCannedResponsePopup = null; - - /** - * The popup showing a text field for users to type in their custom message. - */ - private AlertDialog mCustomMessagePopup = null; - - private ArrayAdapter<String> mSmsResponsesAdapter; - - private final List<String> mSmsResponses = new ArrayList<>(); - - @Override - public AnswerPresenter createPresenter() { - return InCallPresenter.getInstance().getAnswerPresenter(); - } - - @Override - public AnswerPresenter.AnswerUi getUi() { - return this; - } - - @Override - public void showMessageDialog() { - final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - - mSmsResponsesAdapter = new ArrayAdapter<>(builder.getContext(), - android.R.layout.simple_list_item_1, android.R.id.text1, mSmsResponses); - - final ListView lv = new ListView(getActivity()); - lv.setAdapter(mSmsResponsesAdapter); - lv.setOnItemClickListener(new RespondViaSmsItemClickListener()); - - builder.setCancelable(true).setView(lv).setOnCancelListener( - new DialogInterface.OnCancelListener() { - @Override - public void onCancel(DialogInterface dialogInterface) { - onMessageDialogCancel(); - dismissCannedResponsePopup(); - getPresenter().onDismissDialog(); - } - }); - mCannedResponsePopup = builder.create(); - mCannedResponsePopup.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); - mCannedResponsePopup.show(); - } - - private boolean isCannedResponsePopupShowing() { - if (mCannedResponsePopup != null) { - return mCannedResponsePopup.isShowing(); - } - return false; - } - - private boolean isCustomMessagePopupShowing() { - if (mCustomMessagePopup != null) { - return mCustomMessagePopup.isShowing(); - } - return false; - } - - /** - * Dismiss the canned response list popup. - * - * This is safe to call even if the popup is already dismissed, and even if you never called - * showRespondViaSmsPopup() in the first place. - */ - protected void dismissCannedResponsePopup() { - if (mCannedResponsePopup != null) { - mCannedResponsePopup.dismiss(); // safe even if already dismissed - mCannedResponsePopup = null; - } - } - - /** - * Dismiss the custom compose message popup. - */ - private void dismissCustomMessagePopup() { - if (mCustomMessagePopup != null) { - mCustomMessagePopup.dismiss(); - mCustomMessagePopup = null; - } - } - - public void dismissPendingDialogs() { - if (isCannedResponsePopupShowing()) { - dismissCannedResponsePopup(); - } - - if (isCustomMessagePopupShowing()) { - dismissCustomMessagePopup(); - } - } - - public boolean hasPendingDialogs() { - return !(mCannedResponsePopup == null && mCustomMessagePopup == null); - } - - /** - * Shows the custom message entry dialog. - */ - public void showCustomMessageDialog() { - // Create an alert dialog containing an EditText - final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - final EditText et = new EditText(builder.getContext()); - builder.setCancelable(true).setView(et) - .setPositiveButton(R.string.custom_message_send, - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // The order is arranged in a way that the popup will be destroyed - // when the InCallActivity is about to finish. - final String textMessage = et.getText().toString().trim(); - dismissCustomMessagePopup(); - getPresenter().rejectCallWithMessage(textMessage); - } - }) - .setNegativeButton(R.string.custom_message_cancel, - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dismissCustomMessagePopup(); - getPresenter().onDismissDialog(); - } - }) - .setOnCancelListener(new DialogInterface.OnCancelListener() { - @Override - public void onCancel(DialogInterface dialogInterface) { - dismissCustomMessagePopup(); - getPresenter().onDismissDialog(); - } - }) - .setTitle(R.string.respond_via_sms_custom_message); - mCustomMessagePopup = builder.create(); - - // Enable/disable the send button based on whether there is a message in the EditText - et.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - } - - @Override - public void afterTextChanged(Editable s) { - final Button sendButton = mCustomMessagePopup.getButton( - DialogInterface.BUTTON_POSITIVE); - sendButton.setEnabled(s != null && s.toString().trim().length() != 0); - } - }); - - // Keyboard up, show the dialog - mCustomMessagePopup.getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); - mCustomMessagePopup.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); - mCustomMessagePopup.show(); - - // Send button starts out disabled - final Button sendButton = mCustomMessagePopup.getButton(DialogInterface.BUTTON_POSITIVE); - sendButton.setEnabled(false); - } - - @Override - public void configureMessageDialog(List<String> textResponses) { - mSmsResponses.clear(); - mSmsResponses.addAll(textResponses); - mSmsResponses.add(getResources().getString( - R.string.respond_via_sms_custom_message)); - if (mSmsResponsesAdapter != null) { - mSmsResponsesAdapter.notifyDataSetChanged(); - } - } - - @Override - public Context getContext() { - return getActivity(); - } - - public void onAnswer(int videoState, Context context) { - Log.d(this, "onAnswer videoState=" + videoState + " context=" + context); - getPresenter().onAnswer(videoState, context); - } - - public void onDecline(Context context) { - getPresenter().onDecline(context); - } - - public void onDeclineUpgradeRequest(Context context) { - InCallPresenter.getInstance().declineUpgradeRequest(context); - } - - public void onText() { - getPresenter().onText(); - } - - /** - * OnItemClickListener for the "Respond via SMS" popup. - */ - public class RespondViaSmsItemClickListener implements AdapterView.OnItemClickListener { - - /** - * Handles the user selecting an item from the popup. - */ - @Override - public void onItemClick(AdapterView<?> parent, // The ListView - View view, // The TextView that was clicked - int position, long id) { - Log.d(this, "RespondViaSmsItemClickListener.onItemClick(" + position + ")..."); - final String message = (String) parent.getItemAtPosition(position); - Log.v(this, "- message: '" + message + "'"); - dismissCannedResponsePopup(); - - // The "Custom" choice is a special case. - // (For now, it's guaranteed to be the last item.) - if (position == (parent.getCount() - 1)) { - // Show the custom message dialog - showCustomMessageDialog(); - } else { - getPresenter().rejectCallWithMessage(message); - } - } - } - - 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. - } -} diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java deleted file mode 100644 index 883b54fed..000000000 --- a/InCallUI/src/com/android/incallui/AnswerPresenter.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * 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.content.Context; - -import com.android.dialer.compat.UserManagerCompat; -import com.android.dialer.util.TelecomUtil; -import com.android.incallui.InCallPresenter.InCallState; - -import java.util.List; - -/** - * Presenter for the Incoming call widget. The {@link AnswerPresenter} handles the logic during - * incoming calls. It is also in charge of responding to incoming calls, so there needs to be - * an instance alive so that it can receive onIncomingCall callbacks. - * - * An instance of {@link AnswerPresenter} is created by InCallPresenter at startup, registers - * for callbacks via InCallPresenter, and shows/hides the {@link AnswerFragment} via IncallActivity. - * - */ -public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> - implements CallList.CallUpdateListener, InCallPresenter.InCallUiListener, - InCallPresenter.IncomingCallListener, - CallList.Listener { - - private static final String TAG = AnswerPresenter.class.getSimpleName(); - - private String mCallId; - private Call mCall = null; - private boolean mHasTextMessages = false; - - @Override - public void onUiShowing(boolean showing) { - if (showing) { - CallList.getInstance().addListener(this); - final CallList calls = CallList.getInstance(); - Call call; - call = calls.getIncomingCall(); - if (call != null) { - processIncomingCall(call); - } - call = calls.getVideoUpgradeRequestCall(); - Log.d(this, "getVideoUpgradeRequestCall call =" + call); - if (call != null) { - showAnswerUi(true); - processVideoUpgradeRequestCall(call); - } - } else { - CallList.getInstance().removeListener(this); - // This is necessary because the activity can be destroyed while an incoming call exists. - // This happens when back button is pressed while incoming call is still being shown. - if (mCallId != null) { - CallList.getInstance().removeCallUpdateListener(mCallId, this); - } - } - } - - @Override - public void onIncomingCall(InCallState oldState, InCallState newState, Call call) { - Log.d(this, "onIncomingCall: " + this); - Call modifyCall = CallList.getInstance().getVideoUpgradeRequestCall(); - if (modifyCall != null) { - showAnswerUi(false); - Log.d(this, "declining upgrade request id: "); - CallList.getInstance().removeCallUpdateListener(mCallId, this); - InCallPresenter.getInstance().declineUpgradeRequest(); - } - if (!call.getId().equals(mCallId)) { - // A new call is coming in. - processIncomingCall(call); - } - } - - @Override - public void onIncomingCall(Call call) { - } - - @Override - public void onCallListChange(CallList list) { - } - - @Override - public void onDisconnect(Call call) { - // no-op - } - - public void onSessionModificationStateChange(int sessionModificationState) { - boolean isUpgradePending = sessionModificationState == - Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST; - - if (!isUpgradePending) { - // Stop listening for updates. - CallList.getInstance().removeCallUpdateListener(mCallId, this); - showAnswerUi(false); - } - } - - @Override - public void onLastForwardedNumberChange() { - // no-op - } - - @Override - public void onChildNumberChange() { - // no-op - } - - private boolean isVideoUpgradePending(Call call) { - return call.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST; - } - - @Override - public void onUpgradeToVideo(Call call) { - Log.d(this, "onUpgradeToVideo: " + this + " call=" + call); - showAnswerUi(true); - boolean isUpgradePending = isVideoUpgradePending(call); - InCallPresenter inCallPresenter = InCallPresenter.getInstance(); - if (isUpgradePending - && inCallPresenter.getInCallState() == InCallPresenter.InCallState.INCOMING) { - Log.d(this, "declining upgrade request"); - //If there is incoming call reject upgrade request - inCallPresenter.declineUpgradeRequest(getUi().getContext()); - } else if (isUpgradePending) { - Log.d(this, "process upgrade request as no MT call"); - processVideoUpgradeRequestCall(call); - } - } - - private void processIncomingCall(Call call) { - mCallId = call.getId(); - mCall = call; - - // Listen for call updates for the current call. - CallList.getInstance().addCallUpdateListener(mCallId, this); - - Log.d(TAG, "Showing incoming for call id: " + mCallId + " " + this); - if (showAnswerUi(true)) { - final List<String> textMsgs = CallList.getInstance().getTextResponses(call.getId()); - configureAnswerTargetsForSms(call, textMsgs); - } - } - - private boolean showAnswerUi(boolean show) { - final InCallActivity activity = InCallPresenter.getInstance().getActivity(); - if (activity != null) { - activity.showAnswerFragment(show); - if (getUi() != null) { - getUi().onShowAnswerUi(show); - } - return true; - } else { - return false; - } - } - - private void processVideoUpgradeRequestCall(Call call) { - Log.d(this, " processVideoUpgradeRequestCall call=" + call); - mCallId = call.getId(); - mCall = call; - - // Listen for call updates for the current call. - CallList.getInstance().addCallUpdateListener(mCallId, this); - - final int currentVideoState = call.getVideoState(); - final int modifyToVideoState = call.getRequestedVideoState(); - - if (currentVideoState == modifyToVideoState) { - Log.w(this, "processVideoUpgradeRequestCall: Video states are same. Return."); - return; - } - - AnswerUi ui = getUi(); - - if (ui == null) { - Log.e(this, "Ui is null. Can't process upgrade request"); - return; - } - showAnswerUi(true); - ui.showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_ACCEPT_REJECT_REQUEST, - modifyToVideoState); - } - - private boolean isEnabled(int videoState, int mask) { - return (videoState & mask) == mask; - } - - @Override - public void onCallChanged(Call call) { - Log.d(this, "onCallStateChange() " + call + " " + this); - if (call.getState() != Call.State.INCOMING) { - boolean isUpgradePending = isVideoUpgradePending(call); - if (!isUpgradePending) { - // Stop listening for updates. - CallList.getInstance().removeCallUpdateListener(mCallId, this); - } - - final Call incall = CallList.getInstance().getIncomingCall(); - if (incall != null || isUpgradePending) { - showAnswerUi(true); - } else { - showAnswerUi(false); - } - - mHasTextMessages = false; - } else if (!mHasTextMessages) { - final List<String> textMsgs = CallList.getInstance().getTextResponses(call.getId()); - if (textMsgs != null) { - configureAnswerTargetsForSms(call, textMsgs); - } - } - } - - public void onAnswer(int videoState, Context context) { - if (mCallId == null) { - return; - } - - if (mCall.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - Log.d(this, "onAnswer (upgradeCall) mCallId=" + mCallId + " videoState=" + videoState); - InCallPresenter.getInstance().acceptUpgradeRequest(videoState, context); - } else { - Log.d(this, "onAnswer (answerCall) mCallId=" + mCallId + " videoState=" + videoState); - TelecomAdapter.getInstance().answerCall(mCall.getId(), videoState); - } - } - - /** - * TODO: We are using reject and decline interchangeably. We should settle on - * reject since it seems to be more prevalent. - */ - public void onDecline(Context context) { - Log.d(this, "onDecline " + mCallId); - if (mCall.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - InCallPresenter.getInstance().declineUpgradeRequest(context); - } else { - TelecomAdapter.getInstance().rejectCall(mCall.getId(), false, null); - } - } - - public void onText() { - if (getUi() != null) { - TelecomUtil.silenceRinger(getUi().getContext()); - getUi().showMessageDialog(); - } - } - - public void rejectCallWithMessage(String message) { - Log.d(this, "sendTextToDefaultActivity()..."); - TelecomAdapter.getInstance().rejectCall(mCall.getId(), true, message); - - onDismissDialog(); - } - - public void onDismissDialog() { - InCallPresenter.getInstance().onDismissDialog(); - } - - private void configureAnswerTargetsForSms(Call call, List<String> textMsgs) { - if (getUi() == null) { - return; - } - mHasTextMessages = textMsgs != null; - boolean withSms = UserManagerCompat.isUserUnlocked(getUi().getContext()) - && call.can(android.telecom.Call.Details.CAPABILITY_RESPOND_VIA_TEXT) - && mHasTextMessages; - - // Only present the user with the option to answer as a video call if the incoming call is - // a bi-directional video call. - if (VideoUtils.isBidirectionalVideoCall(call)) { - if (withSms) { - getUi().showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_WITH_SMS); - getUi().configureMessageDialog(textMsgs); - } else { - getUi().showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_WITHOUT_SMS); - } - } else { - if (withSms) { - getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITH_SMS); - getUi().configureMessageDialog(textMsgs); - } else { - getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITHOUT_SMS); - } - } - } - - interface AnswerUi extends Ui { - public void onShowAnswerUi(boolean shown); - public void showTargets(int targetSet); - public void showTargets(int targetSet, int videoState); - public void showMessageDialog(); - public void configureMessageDialog(List<String> textResponses); - public Context getContext(); - } -} diff --git a/InCallUI/src/com/android/incallui/AudioModeProvider.java b/InCallUI/src/com/android/incallui/AudioModeProvider.java deleted file mode 100644 index ea56dd624..000000000 --- a/InCallUI/src/com/android/incallui/AudioModeProvider.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * 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.telecom.CallAudioState; - -import com.google.common.collect.Lists; - -import java.util.List; - -/** - * Proxy class for getting and setting the audio mode. - */ -public class AudioModeProvider { - - static final int AUDIO_MODE_INVALID = 0; - - private static AudioModeProvider sAudioModeProvider = new AudioModeProvider(); - private int mAudioMode = CallAudioState.ROUTE_EARPIECE; - private boolean mMuted = false; - private int mSupportedModes = CallAudioState.ROUTE_EARPIECE - | CallAudioState.ROUTE_BLUETOOTH | CallAudioState.ROUTE_WIRED_HEADSET - | CallAudioState.ROUTE_SPEAKER; - private final List<AudioModeListener> mListeners = Lists.newArrayList(); - - public static AudioModeProvider getInstance() { - return sAudioModeProvider; - } - - public void onAudioStateChanged(boolean isMuted, int route, int supportedRouteMask) { - onAudioModeChange(route, isMuted); - onSupportedAudioModeChange(supportedRouteMask); - } - - public void onAudioModeChange(int newMode, boolean muted) { - if (mAudioMode != newMode) { - mAudioMode = newMode; - for (AudioModeListener l : mListeners) { - l.onAudioMode(mAudioMode); - } - } - - if (mMuted != muted) { - mMuted = muted; - for (AudioModeListener l : mListeners) { - l.onMute(mMuted); - } - } - } - - public void onSupportedAudioModeChange(int newModeMask) { - mSupportedModes = newModeMask; - - for (AudioModeListener l : mListeners) { - l.onSupportedAudioMode(mSupportedModes); - } - } - - public void addListener(AudioModeListener listener) { - if (!mListeners.contains(listener)) { - mListeners.add(listener); - listener.onSupportedAudioMode(mSupportedModes); - listener.onAudioMode(mAudioMode); - listener.onMute(mMuted); - } - } - - public void removeListener(AudioModeListener listener) { - if (mListeners.contains(listener)) { - mListeners.remove(listener); - } - } - - public int getSupportedModes() { - return mSupportedModes; - } - - public int getAudioMode() { - return mAudioMode; - } - - public boolean getMute() { - return mMuted; - } - - /* package */ interface AudioModeListener { - void onAudioMode(int newMode); - void onMute(boolean muted); - void onSupportedAudioMode(int modeMask); - } -} diff --git a/InCallUI/src/com/android/incallui/BaseFragment.java b/InCallUI/src/com/android/incallui/BaseFragment.java deleted file mode 100644 index 58d991acd..000000000 --- a/InCallUI/src/com/android/incallui/BaseFragment.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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.Activity; -import android.app.Fragment; -import android.os.Bundle; - -/** - * Parent for all fragments that use Presenters and Ui design. - */ -public abstract class BaseFragment<T extends Presenter<U>, U extends Ui> extends Fragment { - - private static final String KEY_FRAGMENT_HIDDEN = "key_fragment_hidden"; - - private T mPresenter; - - public abstract T createPresenter(); - - public abstract U getUi(); - - protected BaseFragment() { - mPresenter = createPresenter(); - } - - /** - * Presenter will be available after onActivityCreated(). - * - * @return The presenter associated with this fragment. - */ - public T getPresenter() { - return mPresenter; - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - mPresenter.onUiReady(getUi()); - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (savedInstanceState != null) { - mPresenter.onRestoreInstanceState(savedInstanceState); - if (savedInstanceState.getBoolean(KEY_FRAGMENT_HIDDEN)) { - getFragmentManager().beginTransaction().hide(this).commit(); - } - } - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - mPresenter.onUiDestroy(getUi()); - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mPresenter.onSaveInstanceState(outState); - outState.putBoolean(KEY_FRAGMENT_HIDDEN, isHidden()); - } - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); - ((FragmentDisplayManager) activity).onFragmentAttached(this); - } -} diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java deleted file mode 100644 index 1ad37e01a..000000000 --- a/InCallUI/src/com/android/incallui/Call.java +++ /dev/null @@ -1,1023 +0,0 @@ -/* - * 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.content.Context; -import android.hardware.camera2.CameraCharacteristics; -import android.net.Uri; -import android.os.Bundle; -import android.os.Trace; -import android.support.annotation.IntDef; -import android.telecom.Call.Details; -import android.telecom.Connection; -import android.telecom.DisconnectCause; -import android.telecom.GatewayInfo; -import android.telecom.InCallService.VideoCall; -import android.telecom.PhoneAccount; -import android.telecom.PhoneAccountHandle; -import android.telecom.TelecomManager; -import android.telecom.VideoProfile; -import android.text.TextUtils; - -import com.android.contacts.common.CallUtil; -import com.android.contacts.common.compat.CallSdkCompat; -import com.android.contacts.common.compat.CompatUtils; -import com.android.contacts.common.compat.SdkVersionOverride; -import com.android.contacts.common.compat.telecom.TelecomManagerCompat; -import com.android.contacts.common.testing.NeededForTesting; -import com.android.dialer.util.IntentUtil; -import com.android.incallui.util.TelecomCallUtil; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; -import java.util.Objects; - -/** - * Describes a single call and its state. - */ -@NeededForTesting -public class Call { - - /** - * Specifies whether a number is in the call history or not. - * {@link #CALL_HISTORY_STATUS_UNKNOWN} means there is no result. - */ - @IntDef({CALL_HISTORY_STATUS_UNKNOWN, CALL_HISTORY_STATUS_PRESENT, - CALL_HISTORY_STATUS_NOT_PRESENT}) - @Retention(RetentionPolicy.SOURCE) - public @interface CallHistoryStatus {} - public static final int CALL_HISTORY_STATUS_UNKNOWN = 0; - public static final int CALL_HISTORY_STATUS_PRESENT = 1; - public static final int CALL_HISTORY_STATUS_NOT_PRESENT = 2; - - /* Defines different states of this call */ - public static class State { - public static final int INVALID = 0; - public static final int NEW = 1; /* The call is new. */ - public static final int IDLE = 2; /* The call is idle. Nothing active */ - public static final int ACTIVE = 3; /* There is an active call */ - public static final int INCOMING = 4; /* A normal incoming phone call */ - public static final int CALL_WAITING = 5; /* Incoming call while another is active */ - public static final int DIALING = 6; /* An outgoing call during dial phase */ - public static final int REDIALING = 7; /* Subsequent dialing attempt after a failure */ - public static final int ONHOLD = 8; /* An active phone call placed on hold */ - public static final int DISCONNECTING = 9; /* A call is being ended. */ - public static final int DISCONNECTED = 10; /* State after a call disconnects */ - public static final int CONFERENCED = 11; /* Call part of a conference call */ - public static final int SELECT_PHONE_ACCOUNT = 12; /* Waiting for account selection */ - public static final int CONNECTING = 13; /* Waiting for Telecom broadcast to finish */ - public static final int BLOCKED = 14; /* The number was found on the block list */ - - - public static boolean isConnectingOrConnected(int state) { - switch(state) { - case ACTIVE: - case INCOMING: - case CALL_WAITING: - case CONNECTING: - case DIALING: - case REDIALING: - case ONHOLD: - case CONFERENCED: - return true; - default: - } - return false; - } - - public static boolean isDialing(int state) { - return state == DIALING || state == REDIALING; - } - - public static String toString(int state) { - switch (state) { - case INVALID: - return "INVALID"; - case NEW: - return "NEW"; - case IDLE: - return "IDLE"; - case ACTIVE: - return "ACTIVE"; - case INCOMING: - return "INCOMING"; - case CALL_WAITING: - return "CALL_WAITING"; - case DIALING: - return "DIALING"; - case REDIALING: - return "REDIALING"; - case ONHOLD: - return "ONHOLD"; - case DISCONNECTING: - return "DISCONNECTING"; - case DISCONNECTED: - return "DISCONNECTED"; - case CONFERENCED: - return "CONFERENCED"; - case SELECT_PHONE_ACCOUNT: - return "SELECT_PHONE_ACCOUNT"; - case CONNECTING: - return "CONNECTING"; - case BLOCKED: - return "BLOCKED"; - default: - return "UNKNOWN"; - } - } - } - - /** - * Defines different states of session modify requests, which are used to upgrade to video, or - * downgrade to audio. - */ - public static class SessionModificationState { - public static final int NO_REQUEST = 0; - public static final int WAITING_FOR_RESPONSE = 1; - public static final int REQUEST_FAILED = 2; - public static final int RECEIVED_UPGRADE_TO_VIDEO_REQUEST = 3; - public static final int UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT = 4; - public static final int REQUEST_REJECTED = 5; - } - - public static class VideoSettings { - public static final int CAMERA_DIRECTION_UNKNOWN = -1; - public static final int CAMERA_DIRECTION_FRONT_FACING = - CameraCharacteristics.LENS_FACING_FRONT; - public static final int CAMERA_DIRECTION_BACK_FACING = - CameraCharacteristics.LENS_FACING_BACK; - - private int mCameraDirection = CAMERA_DIRECTION_UNKNOWN; - - /** - * Sets the camera direction. if camera direction is set to CAMERA_DIRECTION_UNKNOWN, - * the video state of the call should be used to infer the camera direction. - * - * @see {@link CameraCharacteristics#LENS_FACING_FRONT} - * @see {@link CameraCharacteristics#LENS_FACING_BACK} - */ - public void setCameraDir(int cameraDirection) { - if (cameraDirection == CAMERA_DIRECTION_FRONT_FACING - || cameraDirection == CAMERA_DIRECTION_BACK_FACING) { - mCameraDirection = cameraDirection; - } else { - mCameraDirection = CAMERA_DIRECTION_UNKNOWN; - } - } - - /** - * Gets the camera direction. if camera direction is set to CAMERA_DIRECTION_UNKNOWN, - * the video state of the call should be used to infer the camera direction. - * - * @see {@link CameraCharacteristics#LENS_FACING_FRONT} - * @see {@link CameraCharacteristics#LENS_FACING_BACK} - */ - public int getCameraDir() { - return mCameraDirection; - } - - @Override - public String toString() { - return "(CameraDir:" + getCameraDir() + ")"; - } - } - - /** - * Tracks any state variables that is useful for logging. There is some amount of overlap with - * existing call member variables, but this duplication helps to ensure that none of these - * logging variables will interface with/and affect call logic. - */ - public static class LogState { - - // Contact lookup type constants - // Unknown lookup result (lookup not completed yet?) - public static final int LOOKUP_UNKNOWN = 0; - public static final int LOOKUP_NOT_FOUND = 1; - public static final int LOOKUP_LOCAL_CONTACT = 2; - public static final int LOOKUP_LOCAL_CACHE = 3; - public static final int LOOKUP_REMOTE_CONTACT = 4; - public static final int LOOKUP_EMERGENCY = 5; - public static final int LOOKUP_VOICEMAIL = 6; - - // Call initiation type constants - public static final int INITIATION_UNKNOWN = 0; - public static final int INITIATION_INCOMING = 1; - public static final int INITIATION_DIALPAD = 2; - public static final int INITIATION_SPEED_DIAL = 3; - public static final int INITIATION_REMOTE_DIRECTORY = 4; - public static final int INITIATION_SMART_DIAL = 5; - public static final int INITIATION_REGULAR_SEARCH = 6; - public static final int INITIATION_CALL_LOG = 7; - public static final int INITIATION_CALL_LOG_FILTER = 8; - public static final int INITIATION_VOICEMAIL_LOG = 9; - public static final int INITIATION_CALL_DETAILS = 10; - public static final int INITIATION_QUICK_CONTACTS = 11; - public static final int INITIATION_EXTERNAL = 12; - - public DisconnectCause disconnectCause; - public boolean isIncoming = false; - public int contactLookupResult = LOOKUP_UNKNOWN; - public int callInitiationMethod = INITIATION_EXTERNAL; - // If this was a conference call, the total number of calls involved in the conference. - public int conferencedCalls = 0; - public long duration = 0; - public boolean isLogged = false; - - @Override - public String toString() { - return String.format(Locale.US, "[" - + "%s, " // DisconnectCause toString already describes the object type - + "isIncoming: %s, " - + "contactLookup: %s, " - + "callInitiation: %s, " - + "duration: %s" - + "]", - disconnectCause, - isIncoming, - lookupToString(contactLookupResult), - initiationToString(callInitiationMethod), - duration); - } - - private static String lookupToString(int lookupType) { - switch (lookupType) { - case LOOKUP_LOCAL_CONTACT: - return "Local"; - case LOOKUP_LOCAL_CACHE: - return "Cache"; - case LOOKUP_REMOTE_CONTACT: - return "Remote"; - case LOOKUP_EMERGENCY: - return "Emergency"; - case LOOKUP_VOICEMAIL: - return "Voicemail"; - default: - return "Not found"; - } - } - - private static String initiationToString(int initiationType) { - switch (initiationType) { - case INITIATION_INCOMING: - return "Incoming"; - case INITIATION_DIALPAD: - return "Dialpad"; - case INITIATION_SPEED_DIAL: - return "Speed Dial"; - case INITIATION_REMOTE_DIRECTORY: - return "Remote Directory"; - case INITIATION_SMART_DIAL: - return "Smart Dial"; - case INITIATION_REGULAR_SEARCH: - return "Regular Search"; - case INITIATION_CALL_LOG: - return "Call Log"; - case INITIATION_CALL_LOG_FILTER: - return "Call Log Filter"; - case INITIATION_VOICEMAIL_LOG: - return "Voicemail Log"; - case INITIATION_CALL_DETAILS: - return "Call Details"; - case INITIATION_QUICK_CONTACTS: - return "Quick Contacts"; - default: - return "Unknown"; - } - } - } - - - private static final String ID_PREFIX = Call.class.getSimpleName() + "_"; - private static int sIdCounter = 0; - - private final android.telecom.Call.Callback mTelecomCallCallback = - new android.telecom.Call.Callback() { - @Override - public void onStateChanged(android.telecom.Call call, int newState) { - Log.d(this, "TelecomCallCallback onStateChanged call=" + call + " newState=" - + newState); - update(); - } - - @Override - public void onParentChanged(android.telecom.Call call, - android.telecom.Call newParent) { - Log.d(this, "TelecomCallCallback onParentChanged call=" + call + " newParent=" - + newParent); - update(); - } - - @Override - public void onChildrenChanged(android.telecom.Call call, - List<android.telecom.Call> children) { - update(); - } - - @Override - public void onDetailsChanged(android.telecom.Call call, - android.telecom.Call.Details details) { - Log.d(this, "TelecomCallCallback onStateChanged call=" + call + " details=" - + details); - update(); - } - - @Override - public void onCannedTextResponsesLoaded(android.telecom.Call call, - List<String> cannedTextResponses) { - Log.d(this, "TelecomCallCallback onStateChanged call=" + call - + " cannedTextResponses=" + cannedTextResponses); - update(); - } - - @Override - public void onPostDialWait(android.telecom.Call call, - String remainingPostDialSequence) { - Log.d(this, "TelecomCallCallback onStateChanged call=" + call - + " remainingPostDialSequence=" + remainingPostDialSequence); - update(); - } - - @Override - public void onVideoCallChanged(android.telecom.Call call, - VideoCall videoCall) { - Log.d(this, "TelecomCallCallback onStateChanged call=" + call + " videoCall=" - + videoCall); - update(); - } - - @Override - public void onCallDestroyed(android.telecom.Call call) { - Log.d(this, "TelecomCallCallback onStateChanged call=" + call); - call.unregisterCallback(this); - } - - @Override - public void onConferenceableCallsChanged(android.telecom.Call call, - List<android.telecom.Call> conferenceableCalls) { - update(); - } - }; - - private final android.telecom.Call mTelecomCall; - private final LatencyReport mLatencyReport; - private boolean mIsEmergencyCall; - private Uri mHandle; - private final String mId; - private int mState = State.INVALID; - private DisconnectCause mDisconnectCause; - private int mSessionModificationState; - private final List<String> mChildCallIds = new ArrayList<>(); - private final VideoSettings mVideoSettings = new VideoSettings(); - private int mVideoState; - - /** - * mRequestedVideoState is used to store requested upgrade / downgrade video state - */ - private int mRequestedVideoState = VideoProfile.STATE_AUDIO_ONLY; - - private InCallVideoCallCallback mVideoCallCallback; - private boolean mIsVideoCallCallbackRegistered; - private String mChildNumber; - private String mLastForwardedNumber; - private String mCallSubject; - private PhoneAccountHandle mPhoneAccountHandle; - @CallHistoryStatus private int mCallHistoryStatus = CALL_HISTORY_STATUS_UNKNOWN; - private boolean mIsSpam; - - /** - * Indicates whether the phone account associated with this call supports specifying a call - * subject. - */ - private boolean mIsCallSubjectSupported; - - private long mTimeAddedMs; - - private final LogState mLogState = new LogState(); - - /** - * Used only to create mock calls for testing - */ - @NeededForTesting - Call(int state) { - mTelecomCall = null; - mLatencyReport = new LatencyReport(); - mId = ID_PREFIX + Integer.toString(sIdCounter++); - setState(state); - } - - /** - * Creates a new instance of a {@link Call}. Registers a callback for - * {@link android.telecom.Call} events. - */ - public Call(android.telecom.Call telecomCall, LatencyReport latencyReport) { - this(telecomCall, latencyReport, true /* registerCallback */); - } - - /** - * Creates a new instance of a {@link Call}. Optionally registers a callback for - * {@link android.telecom.Call} events. - * - * Intended for use when creating a {@link Call} instance for use with the - * {@link ContactInfoCache}, where we do not want to register callbacks for the new call. - */ - public Call(android.telecom.Call telecomCall, LatencyReport latencyReport, - boolean registerCallback) { - mTelecomCall = telecomCall; - mLatencyReport = latencyReport; - mId = ID_PREFIX + Integer.toString(sIdCounter++); - - updateFromTelecomCall(registerCallback); - - if (registerCallback) { - mTelecomCall.registerCallback(mTelecomCallCallback); - } - - mTimeAddedMs = System.currentTimeMillis(); - } - - public android.telecom.Call getTelecomCall() { - return mTelecomCall; - } - - /** - * @return video settings of the call, null if the call is not a video call. - * @see VideoProfile - */ - public VideoSettings getVideoSettings() { - return mVideoSettings; - } - - private void update() { - Trace.beginSection("Update"); - int oldState = getState(); - // We want to potentially register a video call callback here. - updateFromTelecomCall(true /* registerCallback */); - if (oldState != getState() && getState() == Call.State.DISCONNECTED) { - CallList.getInstance().onDisconnect(this); - } else { - CallList.getInstance().onUpdate(this); - } - Trace.endSection(); - } - - private void updateFromTelecomCall(boolean registerCallback) { - Log.d(this, "updateFromTelecomCall: " + mTelecomCall.toString()); - final int translatedState = translateState(mTelecomCall.getState()); - if (mState != State.BLOCKED) { - setState(translatedState); - setDisconnectCause(mTelecomCall.getDetails().getDisconnectCause()); - maybeCancelVideoUpgrade(mTelecomCall.getDetails().getVideoState()); - } - - if (registerCallback && mTelecomCall.getVideoCall() != null) { - if (mVideoCallCallback == null) { - mVideoCallCallback = new InCallVideoCallCallback(this); - } - mTelecomCall.getVideoCall().registerCallback(mVideoCallCallback); - mIsVideoCallCallbackRegistered = true; - } - - mChildCallIds.clear(); - final int numChildCalls = mTelecomCall.getChildren().size(); - for (int i = 0; i < numChildCalls; i++) { - mChildCallIds.add( - CallList.getInstance().getCallByTelecomCall( - mTelecomCall.getChildren().get(i)).getId()); - } - - // The number of conferenced calls can change over the course of the call, so use the - // maximum number of conferenced child calls as the metric for conference call usage. - mLogState.conferencedCalls = Math.max(numChildCalls, mLogState.conferencedCalls); - - updateFromCallExtras(mTelecomCall.getDetails().getExtras()); - - // If the handle of the call has changed, update state for the call determining if it is an - // emergency call. - Uri newHandle = mTelecomCall.getDetails().getHandle(); - if (!Objects.equals(mHandle, newHandle)) { - mHandle = newHandle; - updateEmergencyCallState(); - } - - // If the phone account handle of the call is set, cache capability bit indicating whether - // the phone account supports call subjects. - PhoneAccountHandle newPhoneAccountHandle = mTelecomCall.getDetails().getAccountHandle(); - if (!Objects.equals(mPhoneAccountHandle, newPhoneAccountHandle)) { - mPhoneAccountHandle = newPhoneAccountHandle; - - if (mPhoneAccountHandle != null) { - TelecomManager mgr = InCallPresenter.getInstance().getTelecomManager(); - PhoneAccount phoneAccount = - TelecomManagerCompat.getPhoneAccount(mgr, mPhoneAccountHandle); - if (phoneAccount != null) { - mIsCallSubjectSupported = phoneAccount.hasCapabilities( - PhoneAccount.CAPABILITY_CALL_SUBJECT); - } - } - } - } - - /** - * Tests corruption of the {@code callExtras} bundle by calling {@link - * Bundle#containsKey(String)}. If the bundle is corrupted a {@link IllegalArgumentException} - * will be thrown and caught by this function. - * - * @param callExtras the bundle to verify - * @returns {@code true} if the bundle is corrupted, {@code false} otherwise. - */ - protected boolean areCallExtrasCorrupted(Bundle callExtras) { - /** - * There's currently a bug in Telephony service (b/25613098) that could corrupt the - * extras bundle, resulting in a IllegalArgumentException while validating data under - * {@link Bundle#containsKey(String)}. - */ - try { - callExtras.containsKey(Connection.EXTRA_CHILD_ADDRESS); - return false; - } catch (IllegalArgumentException e) { - Log.e(this, "CallExtras is corrupted, ignoring exception", e); - return true; - } - } - - protected void updateFromCallExtras(Bundle callExtras) { - if (callExtras == null || areCallExtrasCorrupted(callExtras)) { - /** - * If the bundle is corrupted, abandon information update as a work around. These are - * not critical for the dialer to function. - */ - return; - } - // Check for a change in the child address and notify any listeners. - if (callExtras.containsKey(Connection.EXTRA_CHILD_ADDRESS)) { - String childNumber = callExtras.getString(Connection.EXTRA_CHILD_ADDRESS); - if (!Objects.equals(childNumber, mChildNumber)) { - mChildNumber = childNumber; - CallList.getInstance().onChildNumberChange(this); - } - } - - // Last forwarded number comes in as an array of strings. We want to choose the - // last item in the array. The forwarding numbers arrive independently of when the - // call is originally set up, so we need to notify the the UI of the change. - if (callExtras.containsKey(Connection.EXTRA_LAST_FORWARDED_NUMBER)) { - ArrayList<String> lastForwardedNumbers = - callExtras.getStringArrayList(Connection.EXTRA_LAST_FORWARDED_NUMBER); - - if (lastForwardedNumbers != null) { - String lastForwardedNumber = null; - if (!lastForwardedNumbers.isEmpty()) { - lastForwardedNumber = lastForwardedNumbers.get( - lastForwardedNumbers.size() - 1); - } - - if (!Objects.equals(lastForwardedNumber, mLastForwardedNumber)) { - mLastForwardedNumber = lastForwardedNumber; - CallList.getInstance().onLastForwardedNumberChange(this); - } - } - } - - // Call subject is present in the extras at the start of call, so we do not need to - // notify any other listeners of this. - if (callExtras.containsKey(Connection.EXTRA_CALL_SUBJECT)) { - String callSubject = callExtras.getString(Connection.EXTRA_CALL_SUBJECT); - if (!Objects.equals(mCallSubject, callSubject)) { - mCallSubject = callSubject; - } - } - } - - /** - * Determines if a received upgrade to video request should be cancelled. This can happen if - * another InCall UI responds to the upgrade to video request. - * - * @param newVideoState The new video state. - */ - private void maybeCancelVideoUpgrade(int newVideoState) { - boolean isVideoStateChanged = mVideoState != newVideoState; - - if (mSessionModificationState == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST - && isVideoStateChanged) { - - Log.v(this, "maybeCancelVideoUpgrade : cancelling upgrade notification"); - setSessionModificationState(SessionModificationState.NO_REQUEST); - } - mVideoState = newVideoState; - } - private static int translateState(int state) { - switch (state) { - case android.telecom.Call.STATE_NEW: - case android.telecom.Call.STATE_CONNECTING: - return Call.State.CONNECTING; - case android.telecom.Call.STATE_SELECT_PHONE_ACCOUNT: - return Call.State.SELECT_PHONE_ACCOUNT; - case android.telecom.Call.STATE_DIALING: - return Call.State.DIALING; - case android.telecom.Call.STATE_RINGING: - return Call.State.INCOMING; - case android.telecom.Call.STATE_ACTIVE: - return Call.State.ACTIVE; - case android.telecom.Call.STATE_HOLDING: - return Call.State.ONHOLD; - case android.telecom.Call.STATE_DISCONNECTED: - return Call.State.DISCONNECTED; - case android.telecom.Call.STATE_DISCONNECTING: - return Call.State.DISCONNECTING; - default: - return Call.State.INVALID; - } - } - - public String getId() { - return mId; - } - - public long getTimeAddedMs() { - return mTimeAddedMs; - } - - public String getNumber() { - return TelecomCallUtil.getNumber(mTelecomCall); - } - - public void blockCall() { - mTelecomCall.reject(false, null); - setState(State.BLOCKED); - } - - public Uri getHandle() { - return mTelecomCall == null ? null : mTelecomCall.getDetails().getHandle(); - } - - public boolean isEmergencyCall() { - return mIsEmergencyCall; - } - - public int getState() { - if (mTelecomCall != null && mTelecomCall.getParent() != null) { - return State.CONFERENCED; - } else { - return mState; - } - } - - public void setState(int state) { - mState = state; - if (mState == State.INCOMING) { - mLogState.isIncoming = true; - } else if (mState == State.DISCONNECTED) { - mLogState.duration = getConnectTimeMillis() == 0 ? - 0: System.currentTimeMillis() - getConnectTimeMillis(); - } - } - - public int getNumberPresentation() { - return mTelecomCall == null ? null : mTelecomCall.getDetails().getHandlePresentation(); - } - - public int getCnapNamePresentation() { - return mTelecomCall == null ? null - : mTelecomCall.getDetails().getCallerDisplayNamePresentation(); - } - - public String getCnapName() { - return mTelecomCall == null ? null - : getTelecomCall().getDetails().getCallerDisplayName(); - } - - public Bundle getIntentExtras() { - return mTelecomCall.getDetails().getIntentExtras(); - } - - public Bundle getExtras() { - return mTelecomCall == null ? null : mTelecomCall.getDetails().getExtras(); - } - - /** - * @return The child number for the call, or {@code null} if none specified. - */ - public String getChildNumber() { - return mChildNumber; - } - - /** - * @return The last forwarded number for the call, or {@code null} if none specified. - */ - public String getLastForwardedNumber() { - return mLastForwardedNumber; - } - - /** - * @return The call subject, or {@code null} if none specified. - */ - public String getCallSubject() { - return mCallSubject; - } - - /** - * @return {@code true} if the call's phone account supports call subjects, {@code false} - * otherwise. - */ - public boolean isCallSubjectSupported() { - return mIsCallSubjectSupported; - } - - /** Returns call disconnect cause, defined by {@link DisconnectCause}. */ - public DisconnectCause getDisconnectCause() { - if (mState == State.DISCONNECTED || mState == State.IDLE) { - return mDisconnectCause; - } - - return new DisconnectCause(DisconnectCause.UNKNOWN); - } - - public void setDisconnectCause(DisconnectCause disconnectCause) { - mDisconnectCause = disconnectCause; - mLogState.disconnectCause = mDisconnectCause; - } - - /** Returns the possible text message responses. */ - public List<String> getCannedSmsResponses() { - return mTelecomCall.getCannedTextResponses(); - } - - /** Checks if the call supports the given set of capabilities supplied as a bit mask. */ - public boolean can(int capabilities) { - int supportedCapabilities = mTelecomCall.getDetails().getCallCapabilities(); - - if ((capabilities & android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE) != 0) { - // We allow you to merge if the capabilities allow it or if it is a call with - // conferenceable calls. - if (mTelecomCall.getConferenceableCalls().isEmpty() && - ((android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE - & supportedCapabilities) == 0)) { - // Cannot merge calls if there are no calls to merge with. - return false; - } - capabilities &= ~android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE; - } - return (capabilities == (capabilities & mTelecomCall.getDetails().getCallCapabilities())); - } - - public boolean hasProperty(int property) { - return mTelecomCall.getDetails().hasProperty(property); - } - - /** Gets the time when the call first became active. */ - public long getConnectTimeMillis() { - return mTelecomCall.getDetails().getConnectTimeMillis(); - } - - public boolean isConferenceCall() { - return hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE); - } - - public GatewayInfo getGatewayInfo() { - return mTelecomCall == null ? null : mTelecomCall.getDetails().getGatewayInfo(); - } - - public PhoneAccountHandle getAccountHandle() { - return mTelecomCall == null ? null : mTelecomCall.getDetails().getAccountHandle(); - } - - /** - * @return The {@link VideoCall} instance associated with the {@link android.telecom.Call}. - * Will return {@code null} until {@link #updateFromTelecomCall()} has registered a valid - * callback on the {@link VideoCall}. - */ - public VideoCall getVideoCall() { - return mTelecomCall == null || !mIsVideoCallCallbackRegistered ? null - : mTelecomCall.getVideoCall(); - } - - public List<String> getChildCallIds() { - return mChildCallIds; - } - - public String getParentId() { - android.telecom.Call parentCall = mTelecomCall.getParent(); - if (parentCall != null) { - return CallList.getInstance().getCallByTelecomCall(parentCall).getId(); - } - return null; - } - - public int getVideoState() { - return mTelecomCall.getDetails().getVideoState(); - } - - public boolean isVideoCall(Context context) { - return CallUtil.isVideoEnabled(context) && - VideoUtils.isVideoCall(getVideoState()); - } - - /** - * Handles incoming session modification requests. Stores the pending video request and sets - * the session modification state to - * {@link SessionModificationState#RECEIVED_UPGRADE_TO_VIDEO_REQUEST} so that we can keep track - * of the fact the request was received. Only upgrade requests require user confirmation and - * will be handled by this method. The remote user can turn off their own camera without - * confirmation. - * - * @param videoState The requested video state. - */ - public void setRequestedVideoState(int videoState) { - Log.d(this, "setRequestedVideoState - video state= " + videoState); - if (videoState == getVideoState()) { - mSessionModificationState = Call.SessionModificationState.NO_REQUEST; - Log.w(this,"setRequestedVideoState - Clearing session modification state"); - return; - } - - mSessionModificationState = Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST; - mRequestedVideoState = videoState; - CallList.getInstance().onUpgradeToVideo(this); - - Log.d(this, "setRequestedVideoState - mSessionModificationState=" - + mSessionModificationState + " video state= " + videoState); - update(); - } - - /** - * Set the session modification state. Used to keep track of pending video session modification - * operations and to inform listeners of these changes. - * - * @param state the new session modification state. - */ - public void setSessionModificationState(int state) { - boolean hasChanged = mSessionModificationState != state; - mSessionModificationState = state; - Log.d(this, "setSessionModificationState " + state + " mSessionModificationState=" - + mSessionModificationState); - if (hasChanged) { - CallList.getInstance().onSessionModificationStateChange(this, state); - } - } - - /** - * Determines if the call handle is an emergency number or not and caches the result to avoid - * repeated calls to isEmergencyNumber. - */ - private void updateEmergencyCallState() { - mIsEmergencyCall = TelecomCallUtil.isEmergencyCall(mTelecomCall); - } - - /** - * Gets the video state which was requested via a session modification request. - * - * @return The video state. - */ - public int getRequestedVideoState() { - return mRequestedVideoState; - } - - public static boolean areSame(Call call1, Call call2) { - if (call1 == null && call2 == null) { - return true; - } else if (call1 == null || call2 == null) { - return false; - } - - // otherwise compare call Ids - return call1.getId().equals(call2.getId()); - } - - public static boolean areSameNumber(Call call1, Call call2) { - if (call1 == null && call2 == null) { - return true; - } else if (call1 == null || call2 == null) { - return false; - } - - // otherwise compare call Numbers - return TextUtils.equals(call1.getNumber(), call2.getNumber()); - } - - /** - * Gets the current video session modification state. - * - * @return The session modification state. - */ - public int getSessionModificationState() { - return mSessionModificationState; - } - - public LogState getLogState() { - return mLogState; - } - - /** - * Determines if the call is an external call. - * - * An external call is one which does not exist locally for the - * {@link android.telecom.ConnectionService} it is associated with. - * - * External calls are only supported in N and higher. - * - * @return {@code true} if the call is an external call, {@code false} otherwise. - */ - public boolean isExternalCall() { - return CompatUtils.isNCompatible() && - hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL); - } - - /** - * Determines if the external call is pullable. - * - * An external call is one which does not exist locally for the - * {@link android.telecom.ConnectionService} it is associated with. An external call may be - * "pullable", which means that the user can request it be transferred to the current device. - * - * External calls are only supported in N and higher. - * - * @return {@code true} if the call is an external call, {@code false} otherwise. - */ - public boolean isPullableExternalCall() { - return CompatUtils.isNCompatible() && - (mTelecomCall.getDetails().getCallCapabilities() - & CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL) - == CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL; - } - - /** - * Logging utility methods - */ - public void logCallInitiationType() { - if (isExternalCall()) { - return; - } - - if (getState() == State.INCOMING) { - getLogState().callInitiationMethod = LogState.INITIATION_INCOMING; - } else if (getIntentExtras() != null) { - getLogState().callInitiationMethod = - getIntentExtras().getInt(IntentUtil.EXTRA_CALL_INITIATION_TYPE, - LogState.INITIATION_EXTERNAL); - } - } - - @Override - public String toString() { - if (mTelecomCall == null) { - // This should happen only in testing since otherwise we would never have a null - // Telecom call. - return String.valueOf(mId); - } - - return String.format(Locale.US, "[%s, %s, %s, %s, children:%s, parent:%s, " + - "conferenceable:%s, videoState:%s, mSessionModificationState:%d, VideoSettings:%s]", - mId, - State.toString(getState()), - Details.capabilitiesToString(mTelecomCall.getDetails().getCallCapabilities()), - Details.propertiesToString(mTelecomCall.getDetails().getCallProperties()), - mChildCallIds, - getParentId(), - this.mTelecomCall.getConferenceableCalls(), - VideoProfile.videoStateToString(mTelecomCall.getDetails().getVideoState()), - mSessionModificationState, - getVideoSettings()); - } - - public String toSimpleString() { - return super.toString(); - } - - public void setCallHistoryStatus(@CallHistoryStatus int callHistoryStatus) { - mCallHistoryStatus = callHistoryStatus; - } - - @CallHistoryStatus - public int getCallHistoryStatus() { - return mCallHistoryStatus; - } - - public void setSpam(boolean isSpam) { - mIsSpam = isSpam; - } - - public boolean isSpam() { - return mIsSpam; - } - - public LatencyReport getLatencyReport() { - return mLatencyReport; - } -} diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java deleted file mode 100644 index 6b633eaf3..000000000 --- a/InCallUI/src/com/android/incallui/CallButtonFragment.java +++ /dev/null @@ -1,819 +0,0 @@ -/* - * 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 static com.android.incallui.CallButtonFragment.Buttons.BUTTON_ADD_CALL; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_AUDIO; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_COUNT; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_DIALPAD; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_DOWNGRADE_TO_AUDIO; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_HOLD; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_MANAGE_VIDEO_CONFERENCE; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_MERGE; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_MUTE; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_PAUSE_VIDEO; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_SWAP; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_SWITCH_CAMERA; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_UPGRADE_TO_VIDEO; - -import android.content.Context; -import android.content.res.ColorStateList; -import android.content.res.Resources; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import android.graphics.drawable.LayerDrawable; -import android.graphics.drawable.RippleDrawable; -import android.graphics.drawable.StateListDrawable; -import android.os.Bundle; -import android.telecom.CallAudioState; -import android.util.SparseIntArray; -import android.view.ContextThemeWrapper; -import android.view.HapticFeedbackConstants; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.widget.CompoundButton; -import android.widget.ImageButton; -import android.widget.PopupMenu; -import android.widget.PopupMenu.OnDismissListener; -import android.widget.PopupMenu.OnMenuItemClickListener; - -import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; -import com.android.dialer.R; - -/** - * Fragment for call control buttons - */ -public class CallButtonFragment - extends BaseFragment<CallButtonPresenter, CallButtonPresenter.CallButtonUi> - implements CallButtonPresenter.CallButtonUi, OnMenuItemClickListener, OnDismissListener, - View.OnClickListener { - - private int mButtonMaxVisible; - // The button is currently visible in the UI - private static final int BUTTON_VISIBLE = 1; - // The button is hidden in the UI - private static final int BUTTON_HIDDEN = 2; - // The button has been collapsed into the overflow menu - private static final int BUTTON_MENU = 3; - - public interface Buttons { - - public static final int BUTTON_AUDIO = 0; - public static final int BUTTON_MUTE = 1; - public static final int BUTTON_DIALPAD = 2; - public static final int BUTTON_HOLD = 3; - public static final int BUTTON_SWAP = 4; - public static final int BUTTON_UPGRADE_TO_VIDEO = 5; - public static final int BUTTON_SWITCH_CAMERA = 6; - public static final int BUTTON_DOWNGRADE_TO_AUDIO = 7; - public static final int BUTTON_ADD_CALL = 8; - public static final int BUTTON_MERGE = 9; - public static final int BUTTON_PAUSE_VIDEO = 10; - public static final int BUTTON_MANAGE_VIDEO_CONFERENCE = 11; - public static final int BUTTON_COUNT = 12; - } - - private SparseIntArray mButtonVisibilityMap = new SparseIntArray(BUTTON_COUNT); - - private CompoundButton mAudioButton; - private CompoundButton mMuteButton; - private CompoundButton mShowDialpadButton; - private CompoundButton mHoldButton; - private ImageButton mSwapButton; - private ImageButton mChangeToVideoButton; - private ImageButton mChangeToVoiceButton; - private CompoundButton mSwitchCameraButton; - private ImageButton mAddCallButton; - private ImageButton mMergeButton; - private CompoundButton mPauseVideoButton; - private ImageButton mOverflowButton; - private ImageButton mManageVideoCallConferenceButton; - - private PopupMenu mAudioModePopup; - private boolean mAudioModePopupVisible; - private PopupMenu mOverflowPopup; - - private int mPrevAudioMode = 0; - - // Constants for Drawable.setAlpha() - private static final int HIDDEN = 0; - private static final int VISIBLE = 255; - - private boolean mIsEnabled; - private MaterialPalette mCurrentThemeColors; - - @Override - public CallButtonPresenter createPresenter() { - // TODO: find a cleaner way to include audio mode provider than having a singleton instance. - return new CallButtonPresenter(); - } - - @Override - public CallButtonPresenter.CallButtonUi getUi() { - return this; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - for (int i = 0; i < BUTTON_COUNT; i++) { - mButtonVisibilityMap.put(i, BUTTON_HIDDEN); - } - - mButtonMaxVisible = getResources().getInteger(R.integer.call_card_max_buttons); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - final View parent = inflater.inflate(R.layout.call_button_fragment, container, false); - - mAudioButton = (CompoundButton) parent.findViewById(R.id.audioButton); - mAudioButton.setOnClickListener(this); - mMuteButton = (CompoundButton) parent.findViewById(R.id.muteButton); - mMuteButton.setOnClickListener(this); - mShowDialpadButton = (CompoundButton) parent.findViewById(R.id.dialpadButton); - mShowDialpadButton.setOnClickListener(this); - mHoldButton = (CompoundButton) parent.findViewById(R.id.holdButton); - mHoldButton.setOnClickListener(this); - mSwapButton = (ImageButton) parent.findViewById(R.id.swapButton); - mSwapButton.setOnClickListener(this); - mChangeToVideoButton = (ImageButton) parent.findViewById(R.id.changeToVideoButton); - mChangeToVideoButton.setOnClickListener(this); - mChangeToVoiceButton = (ImageButton) parent.findViewById(R.id.changeToVoiceButton); - mChangeToVoiceButton.setOnClickListener(this); - mSwitchCameraButton = (CompoundButton) parent.findViewById(R.id.switchCameraButton); - mSwitchCameraButton.setOnClickListener(this); - mAddCallButton = (ImageButton) parent.findViewById(R.id.addButton); - mAddCallButton.setOnClickListener(this); - mMergeButton = (ImageButton) parent.findViewById(R.id.mergeButton); - mMergeButton.setOnClickListener(this); - mPauseVideoButton = (CompoundButton) parent.findViewById(R.id.pauseVideoButton); - mPauseVideoButton.setOnClickListener(this); - mOverflowButton = (ImageButton) parent.findViewById(R.id.overflowButton); - mOverflowButton.setOnClickListener(this); - mManageVideoCallConferenceButton = (ImageButton) parent.findViewById( - R.id.manageVideoCallConferenceButton); - mManageVideoCallConferenceButton.setOnClickListener(this); - return parent; - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - - // set the buttons - updateAudioButtons(); - } - - @Override - public void onResume() { - if (getPresenter() != null) { - getPresenter().refreshMuteState(); - } - super.onResume(); - - updateColors(); - } - - @Override - public void onClick(View view) { - int id = view.getId(); - Log.d(this, "onClick(View " + view + ", id " + id + ")..."); - - if (id == R.id.audioButton) { - onAudioButtonClicked(); - } else if (id == R.id.addButton) { - getPresenter().addCallClicked(); - } else if (id == R.id.muteButton) { - getPresenter().muteClicked(!mMuteButton.isSelected()); - } else if (id == R.id.mergeButton) { - getPresenter().mergeClicked(); - mMergeButton.setEnabled(false); - } else if (id == R.id.holdButton) { - getPresenter().holdClicked(!mHoldButton.isSelected()); - } else if (id == R.id.swapButton) { - getPresenter().swapClicked(); - } else if (id == R.id.dialpadButton) { - getPresenter().showDialpadClicked(!mShowDialpadButton.isSelected()); - } else if (id == R.id.changeToVideoButton) { - getPresenter().changeToVideoClicked(); - } else if (id == R.id.changeToVoiceButton) { - getPresenter().changeToVoiceClicked(); - } else if (id == R.id.switchCameraButton) { - getPresenter().switchCameraClicked( - mSwitchCameraButton.isSelected() /* useFrontFacingCamera */); - } else if (id == R.id.pauseVideoButton) { - getPresenter().pauseVideoClicked( - !mPauseVideoButton.isSelected() /* pause */); - } else if (id == R.id.overflowButton) { - if (mOverflowPopup != null) { - mOverflowPopup.show(); - } - } else if (id == R.id.manageVideoCallConferenceButton) { - onManageVideoCallConferenceClicked(); - } else { - Log.wtf(this, "onClick: unexpected"); - return; - } - - view.performHapticFeedback( - HapticFeedbackConstants.VIRTUAL_KEY, - HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING); - } - - public void updateColors() { - MaterialPalette themeColors = InCallPresenter.getInstance().getThemeColors(); - - if (mCurrentThemeColors != null && mCurrentThemeColors.equals(themeColors)) { - return; - } - - View[] compoundButtons = { - mAudioButton, - mMuteButton, - mShowDialpadButton, - mHoldButton, - mSwitchCameraButton, - mPauseVideoButton - }; - - for (View button : compoundButtons) { - final LayerDrawable layers = (LayerDrawable) button.getBackground(); - final RippleDrawable btnCompoundDrawable = compoundBackgroundDrawable(themeColors); - layers.setDrawableByLayerId(R.id.compoundBackgroundItem, btnCompoundDrawable); - } - - ImageButton[] normalButtons = { - mSwapButton, - mChangeToVideoButton, - mChangeToVoiceButton, - mAddCallButton, - mMergeButton, - mOverflowButton - }; - - for (ImageButton button : normalButtons) { - final LayerDrawable layers = (LayerDrawable) button.getBackground(); - final RippleDrawable btnDrawable = backgroundDrawable(themeColors); - layers.setDrawableByLayerId(R.id.backgroundItem, btnDrawable); - } - - mCurrentThemeColors = themeColors; - } - - /** - * Generate a RippleDrawable which will be the background for a compound button, i.e. - * a button with pressed and unpressed states. The unpressed state will be the same color - * as the rest of the call card, the pressed state will be the dark version of that color. - */ - private RippleDrawable compoundBackgroundDrawable(MaterialPalette palette) { - Resources res = getResources(); - ColorStateList rippleColor = - ColorStateList.valueOf(res.getColor(R.color.incall_accent_color)); - - StateListDrawable stateListDrawable = new StateListDrawable(); - addSelectedAndFocused(res, stateListDrawable); - addFocused(res, stateListDrawable); - addSelected(res, stateListDrawable, palette); - addUnselected(res, stateListDrawable, palette); - - return new RippleDrawable(rippleColor, stateListDrawable, null); - } - - /** - * Generate a RippleDrawable which will be the background of a button to ensure it - * is the same color as the rest of the call card. - */ - private RippleDrawable backgroundDrawable(MaterialPalette palette) { - Resources res = getResources(); - ColorStateList rippleColor = - ColorStateList.valueOf(res.getColor(R.color.incall_accent_color)); - - StateListDrawable stateListDrawable = new StateListDrawable(); - addFocused(res, stateListDrawable); - addUnselected(res, stateListDrawable, palette); - - return new RippleDrawable(rippleColor, stateListDrawable, null); - } - - // state_selected and state_focused - private void addSelectedAndFocused(Resources res, StateListDrawable drawable) { - int[] selectedAndFocused = {android.R.attr.state_selected, android.R.attr.state_focused}; - Drawable selectedAndFocusedDrawable = res.getDrawable(R.drawable.btn_selected_focused); - drawable.addState(selectedAndFocused, selectedAndFocusedDrawable); - } - - // state_focused - private void addFocused(Resources res, StateListDrawable drawable) { - int[] focused = {android.R.attr.state_focused}; - Drawable focusedDrawable = res.getDrawable(R.drawable.btn_unselected_focused); - drawable.addState(focused, focusedDrawable); - } - - // state_selected - private void addSelected(Resources res, StateListDrawable drawable, MaterialPalette palette) { - int[] selected = {android.R.attr.state_selected}; - LayerDrawable selectedDrawable = (LayerDrawable) res.getDrawable(R.drawable.btn_selected); - ((GradientDrawable) selectedDrawable.getDrawable(0)).setColor(palette.mSecondaryColor); - drawable.addState(selected, selectedDrawable); - } - - // default - private void addUnselected(Resources res, StateListDrawable drawable, MaterialPalette palette) { - LayerDrawable unselectedDrawable = - (LayerDrawable) res.getDrawable(R.drawable.btn_unselected); - ((GradientDrawable) unselectedDrawable.getDrawable(0)).setColor(palette.mPrimaryColor); - drawable.addState(new int[0], unselectedDrawable); - } - - @Override - public void setEnabled(boolean isEnabled) { - mIsEnabled = isEnabled; - - mAudioButton.setEnabled(isEnabled); - mMuteButton.setEnabled(isEnabled); - mShowDialpadButton.setEnabled(isEnabled); - mHoldButton.setEnabled(isEnabled); - mSwapButton.setEnabled(isEnabled); - mChangeToVideoButton.setEnabled(isEnabled); - mChangeToVoiceButton.setEnabled(isEnabled); - mSwitchCameraButton.setEnabled(isEnabled); - mAddCallButton.setEnabled(isEnabled); - mMergeButton.setEnabled(isEnabled); - mPauseVideoButton.setEnabled(isEnabled); - mOverflowButton.setEnabled(isEnabled); - mManageVideoCallConferenceButton.setEnabled(isEnabled); - } - - @Override - public void showButton(int buttonId, boolean show) { - mButtonVisibilityMap.put(buttonId, show ? BUTTON_VISIBLE : BUTTON_HIDDEN); - } - - @Override - public void enableButton(int buttonId, boolean enable) { - final View button = getButtonById(buttonId); - if (button != null) { - button.setEnabled(enable); - } - } - - private View getButtonById(int id) { - if (id == BUTTON_AUDIO) { - return mAudioButton; - } else if (id == BUTTON_MUTE) { - return mMuteButton; - } else if (id == BUTTON_DIALPAD) { - return mShowDialpadButton; - } else if (id == BUTTON_HOLD) { - return mHoldButton; - } else if (id == BUTTON_SWAP) { - return mSwapButton; - } else if (id == BUTTON_UPGRADE_TO_VIDEO) { - return mChangeToVideoButton; - } else if (id == BUTTON_DOWNGRADE_TO_AUDIO) { - return mChangeToVoiceButton; - } else if (id == BUTTON_SWITCH_CAMERA) { - return mSwitchCameraButton; - } else if (id == BUTTON_ADD_CALL) { - return mAddCallButton; - } else if (id == BUTTON_MERGE) { - return mMergeButton; - } else if (id == BUTTON_PAUSE_VIDEO) { - return mPauseVideoButton; - } else if (id == BUTTON_MANAGE_VIDEO_CONFERENCE) { - return mManageVideoCallConferenceButton; - } else { - Log.w(this, "Invalid button id"); - return null; - } - } - - @Override - public void setHold(boolean value) { - if (mHoldButton.isSelected() != value) { - mHoldButton.setSelected(value); - mHoldButton.setContentDescription(getContext().getString( - value ? R.string.onscreenHoldText_selected - : R.string.onscreenHoldText_unselected)); - } - } - - @Override - public void setCameraSwitched(boolean isBackFacingCamera) { - mSwitchCameraButton.setSelected(isBackFacingCamera); - } - - @Override - public void setVideoPaused(boolean isVideoPaused) { - mPauseVideoButton.setSelected(isVideoPaused); - - if (isVideoPaused) { - mPauseVideoButton.setContentDescription(getText(R.string.onscreenTurnOnCameraText)); - } else { - mPauseVideoButton.setContentDescription(getText(R.string.onscreenTurnOffCameraText)); - } - } - - @Override - public void setMute(boolean value) { - if (mMuteButton.isSelected() != value) { - mMuteButton.setSelected(value); - mMuteButton.setContentDescription(getContext().getString( - value ? R.string.onscreenMuteText_selected - : R.string.onscreenMuteText_unselected)); - } - } - - private void addToOverflowMenu(int id, View button, PopupMenu menu) { - button.setVisibility(View.GONE); - menu.getMenu().add(Menu.NONE, id, Menu.NONE, button.getContentDescription()); - mButtonVisibilityMap.put(id, BUTTON_MENU); - } - - private PopupMenu getPopupMenu() { - return new PopupMenu(new ContextThemeWrapper(getActivity(), R.style.InCallPopupMenuStyle), - mOverflowButton); - } - - /** - * Iterates through the list of buttons and toggles their visibility depending on the - * setting configured by the CallButtonPresenter. If there are more visible buttons than - * the allowed maximum, the excess buttons are collapsed into a single overflow menu. - */ - @Override - public void updateButtonStates() { - View prevVisibleButton = null; - int prevVisibleId = -1; - PopupMenu menu = null; - int visibleCount = 0; - for (int i = 0; i < BUTTON_COUNT; i++) { - final int visibility = mButtonVisibilityMap.get(i); - final View button = getButtonById(i); - if (visibility == BUTTON_VISIBLE) { - visibleCount++; - if (visibleCount <= mButtonMaxVisible) { - button.setVisibility(View.VISIBLE); - prevVisibleButton = button; - prevVisibleId = i; - } else { - if (menu == null) { - menu = getPopupMenu(); - } - // Collapse the current button into the overflow menu. If is the first visible - // button that exceeds the threshold, also collapse the previous visible button - // so that the total number of visible buttons will never exceed the threshold. - if (prevVisibleButton != null) { - addToOverflowMenu(prevVisibleId, prevVisibleButton, menu); - prevVisibleButton = null; - prevVisibleId = -1; - } - addToOverflowMenu(i, button, menu); - } - } else if (visibility == BUTTON_HIDDEN) { - button.setVisibility(View.GONE); - } - } - - mOverflowButton.setVisibility(menu != null ? View.VISIBLE : View.GONE); - if (menu != null) { - mOverflowPopup = menu; - mOverflowPopup.setOnMenuItemClickListener(new OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(MenuItem item) { - final int id = item.getItemId(); - getButtonById(id).performClick(); - return true; - } - }); - } - } - - @Override - public void setAudio(int mode) { - updateAudioButtons(); - refreshAudioModePopup(); - - if (mPrevAudioMode != mode) { - updateAudioButtonContentDescription(mode); - mPrevAudioMode = mode; - } - } - - @Override - public void setSupportedAudio(int modeMask) { - updateAudioButtons(); - refreshAudioModePopup(); - } - - @Override - public boolean onMenuItemClick(MenuItem item) { - Log.d(this, "- onMenuItemClick: " + item); - Log.d(this, " id: " + item.getItemId()); - Log.d(this, " title: '" + item.getTitle() + "'"); - - int mode = CallAudioState.ROUTE_WIRED_OR_EARPIECE; - int resId = item.getItemId(); - - if (resId == R.id.audio_mode_speaker) { - mode = CallAudioState.ROUTE_SPEAKER; - } else if (resId == R.id.audio_mode_earpiece || resId == R.id.audio_mode_wired_headset) { - // InCallCallAudioState.ROUTE_EARPIECE means either the handset earpiece, - // or the wired headset (if connected.) - mode = CallAudioState.ROUTE_WIRED_OR_EARPIECE; - } else if (resId == R.id.audio_mode_bluetooth) { - mode = CallAudioState.ROUTE_BLUETOOTH; - } else { - Log.e(this, "onMenuItemClick: unexpected View ID " + item.getItemId() - + " (MenuItem = '" + item + "')"); - } - - getPresenter().setAudioMode(mode); - - return true; - } - - // PopupMenu.OnDismissListener implementation; see showAudioModePopup(). - // This gets called when the PopupMenu gets dismissed for *any* reason, like - // the user tapping outside its bounds, or pressing Back, or selecting one - // of the menu items. - @Override - public void onDismiss(PopupMenu menu) { - Log.d(this, "- onDismiss: " + menu); - mAudioModePopupVisible = false; - updateAudioButtons(); - } - - /** - * Checks for supporting modes. If bluetooth is supported, it uses the audio - * pop up menu. Otherwise, it toggles the speakerphone. - */ - private void onAudioButtonClicked() { - Log.d(this, "onAudioButtonClicked: " + - CallAudioState.audioRouteToString(getPresenter().getSupportedAudio())); - - if (isSupported(CallAudioState.ROUTE_BLUETOOTH)) { - showAudioModePopup(); - } else { - getPresenter().toggleSpeakerphone(); - } - } - - private void onManageVideoCallConferenceClicked() { - Log.d(this, "onManageVideoCallConferenceClicked"); - InCallPresenter.getInstance().showConferenceCallManager(true); - } - - /** - * Refreshes the "Audio mode" popup if it's visible. This is useful - * (for example) when a wired headset is plugged or unplugged, - * since we need to switch back and forth between the "earpiece" - * and "wired headset" items. - * - * This is safe to call even if the popup is already dismissed, or even if - * you never called showAudioModePopup() in the first place. - */ - public void refreshAudioModePopup() { - if (mAudioModePopup != null && mAudioModePopupVisible) { - // Dismiss the previous one - mAudioModePopup.dismiss(); // safe even if already dismissed - // And bring up a fresh PopupMenu - showAudioModePopup(); - } - } - - /** - * Updates the audio button so that the appriopriate visual layers - * are visible based on the supported audio formats. - */ - private void updateAudioButtons() { - final boolean bluetoothSupported = isSupported(CallAudioState.ROUTE_BLUETOOTH); - final boolean speakerSupported = isSupported(CallAudioState.ROUTE_SPEAKER); - - boolean audioButtonEnabled = false; - boolean audioButtonChecked = false; - boolean showMoreIndicator = false; - - boolean showBluetoothIcon = false; - boolean showSpeakerphoneIcon = false; - boolean showHandsetIcon = false; - - boolean showToggleIndicator = false; - - if (bluetoothSupported) { - Log.d(this, "updateAudioButtons - popup menu mode"); - - audioButtonEnabled = true; - audioButtonChecked = true; - showMoreIndicator = true; - - // Update desired layers: - if (isAudio(CallAudioState.ROUTE_BLUETOOTH)) { - showBluetoothIcon = true; - } else if (isAudio(CallAudioState.ROUTE_SPEAKER)) { - showSpeakerphoneIcon = true; - } else { - showHandsetIcon = true; - // TODO: if a wired headset is plugged in, that takes precedence - // over the handset earpiece. If so, maybe we should show some - // sort of "wired headset" icon here instead of the "handset - // earpiece" icon. (Still need an asset for that, though.) - } - - // The audio button is NOT a toggle in this state, so set selected to false. - mAudioButton.setSelected(false); - } else if (speakerSupported) { - Log.d(this, "updateAudioButtons - speaker toggle mode"); - - audioButtonEnabled = true; - - // The audio button *is* a toggle in this state, and indicated the - // current state of the speakerphone. - audioButtonChecked = isAudio(CallAudioState.ROUTE_SPEAKER); - mAudioButton.setSelected(audioButtonChecked); - - // update desired layers: - showToggleIndicator = true; - showSpeakerphoneIcon = true; - } else { - Log.d(this, "updateAudioButtons - disabled..."); - - // The audio button is a toggle in this state, but that's mostly - // irrelevant since it's always disabled and unchecked. - audioButtonEnabled = false; - audioButtonChecked = false; - mAudioButton.setSelected(false); - - // update desired layers: - showToggleIndicator = true; - showSpeakerphoneIcon = true; - } - - // Finally, update it all! - - Log.v(this, "audioButtonEnabled: " + audioButtonEnabled); - Log.v(this, "audioButtonChecked: " + audioButtonChecked); - Log.v(this, "showMoreIndicator: " + showMoreIndicator); - Log.v(this, "showBluetoothIcon: " + showBluetoothIcon); - Log.v(this, "showSpeakerphoneIcon: " + showSpeakerphoneIcon); - Log.v(this, "showHandsetIcon: " + showHandsetIcon); - - // Only enable the audio button if the fragment is enabled. - mAudioButton.setEnabled(audioButtonEnabled && mIsEnabled); - mAudioButton.setChecked(audioButtonChecked); - - final LayerDrawable layers = (LayerDrawable) mAudioButton.getBackground(); - Log.d(this, "'layers' drawable: " + layers); - - layers.findDrawableByLayerId(R.id.compoundBackgroundItem) - .setAlpha(showToggleIndicator ? VISIBLE : HIDDEN); - - layers.findDrawableByLayerId(R.id.moreIndicatorItem) - .setAlpha(showMoreIndicator ? VISIBLE : HIDDEN); - - layers.findDrawableByLayerId(R.id.bluetoothItem) - .setAlpha(showBluetoothIcon ? VISIBLE : HIDDEN); - - layers.findDrawableByLayerId(R.id.handsetItem) - .setAlpha(showHandsetIcon ? VISIBLE : HIDDEN); - - layers.findDrawableByLayerId(R.id.speakerphoneItem) - .setAlpha(showSpeakerphoneIcon ? VISIBLE : HIDDEN); - - } - - /** - * Update the content description of the audio button. - */ - private void updateAudioButtonContentDescription(int mode) { - int stringId = 0; - - // If bluetooth is not supported, the audio buttion will toggle, so use the label "speaker". - // Otherwise, use the label of the currently selected audio mode. - if (!isSupported(CallAudioState.ROUTE_BLUETOOTH)) { - stringId = R.string.audio_mode_speaker; - } else { - switch (mode) { - case CallAudioState.ROUTE_EARPIECE: - stringId = R.string.audio_mode_earpiece; - break; - case CallAudioState.ROUTE_BLUETOOTH: - stringId = R.string.audio_mode_bluetooth; - break; - case CallAudioState.ROUTE_WIRED_HEADSET: - stringId = R.string.audio_mode_wired_headset; - break; - case CallAudioState.ROUTE_SPEAKER: - stringId = R.string.audio_mode_speaker; - break; - } - } - - if (stringId != 0) { - mAudioButton.setContentDescription(getResources().getString(stringId)); - } - } - - private void showAudioModePopup() { - Log.d(this, "showAudioPopup()..."); - - final ContextThemeWrapper contextWrapper = new ContextThemeWrapper(getActivity(), - R.style.InCallPopupMenuStyle); - mAudioModePopup = new PopupMenu(contextWrapper, mAudioButton /* anchorView */); - mAudioModePopup.getMenuInflater().inflate(R.menu.incall_audio_mode_menu, - mAudioModePopup.getMenu()); - mAudioModePopup.setOnMenuItemClickListener(this); - mAudioModePopup.setOnDismissListener(this); - - final Menu menu = mAudioModePopup.getMenu(); - - // TODO: Still need to have the "currently active" audio mode come - // up pre-selected (or focused?) with a blue highlight. Still - // need exact visual design, and possibly framework support for this. - // See comments below for the exact logic. - - final MenuItem speakerItem = menu.findItem(R.id.audio_mode_speaker); - speakerItem.setEnabled(isSupported(CallAudioState.ROUTE_SPEAKER)); - // TODO: Show speakerItem as initially "selected" if - // speaker is on. - - // We display *either* "earpiece" or "wired headset", never both, - // depending on whether a wired headset is physically plugged in. - final MenuItem earpieceItem = menu.findItem(R.id.audio_mode_earpiece); - final MenuItem wiredHeadsetItem = menu.findItem(R.id.audio_mode_wired_headset); - - final boolean usingHeadset = isSupported(CallAudioState.ROUTE_WIRED_HEADSET); - earpieceItem.setVisible(!usingHeadset); - earpieceItem.setEnabled(!usingHeadset); - wiredHeadsetItem.setVisible(usingHeadset); - wiredHeadsetItem.setEnabled(usingHeadset); - // TODO: Show the above item (either earpieceItem or wiredHeadsetItem) - // as initially "selected" if speakerOn and - // bluetoothIndicatorOn are both false. - - final MenuItem bluetoothItem = menu.findItem(R.id.audio_mode_bluetooth); - bluetoothItem.setEnabled(isSupported(CallAudioState.ROUTE_BLUETOOTH)); - // TODO: Show bluetoothItem as initially "selected" if - // bluetoothIndicatorOn is true. - - mAudioModePopup.show(); - - // Unfortunately we need to manually keep track of the popup menu's - // visiblity, since PopupMenu doesn't have an isShowing() method like - // Dialogs do. - mAudioModePopupVisible = true; - } - - private boolean isSupported(int mode) { - return (mode == (getPresenter().getSupportedAudio() & mode)); - } - - private boolean isAudio(int mode) { - return (mode == getPresenter().getAudioMode()); - } - - @Override - public void displayDialpad(boolean value, boolean animate) { - if (getActivity() != null && getActivity() instanceof InCallActivity) { - boolean changed = ((InCallActivity) getActivity()).showDialpadFragment(value, animate); - if (changed) { - mShowDialpadButton.setSelected(value); - mShowDialpadButton.setContentDescription(getContext().getString( - value /* show */ ? R.string.onscreenShowDialpadText_unselected - : R.string.onscreenShowDialpadText_selected)); - } - } - } - - @Override - public boolean isDialpadVisible() { - if (getActivity() != null && getActivity() instanceof InCallActivity) { - return ((InCallActivity) getActivity()).isDialpadVisible(); - } - return false; - } - - @Override - public Context getContext() { - return getActivity(); - } -} diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java deleted file mode 100644 index defafda99..000000000 --- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java +++ /dev/null @@ -1,486 +0,0 @@ -/* - * 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 static com.android.incallui.CallButtonFragment.Buttons.BUTTON_ADD_CALL; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_AUDIO; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_DIALPAD; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_DOWNGRADE_TO_AUDIO; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_HOLD; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_MERGE; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_MUTE; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_PAUSE_VIDEO; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_SWAP; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_SWITCH_CAMERA; -import static com.android.incallui.CallButtonFragment.Buttons.BUTTON_UPGRADE_TO_VIDEO; - -import android.content.Context; -import android.os.Build; -import android.os.Bundle; -import android.telecom.CallAudioState; -import android.telecom.InCallService.VideoCall; -import android.telecom.VideoProfile; - -import com.android.contacts.common.compat.CallSdkCompat; -import com.android.contacts.common.compat.SdkVersionOverride; -import com.android.dialer.compat.UserManagerCompat; -import com.android.incallui.AudioModeProvider.AudioModeListener; -import com.android.incallui.InCallCameraManager.Listener; -import com.android.incallui.InCallPresenter.CanAddCallListener; -import com.android.incallui.InCallPresenter.InCallDetailsListener; -import com.android.incallui.InCallPresenter.InCallState; -import com.android.incallui.InCallPresenter.InCallStateListener; -import com.android.incallui.InCallPresenter.IncomingCallListener; - -/** - * Logic for call buttons. - */ -public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButtonUi> - implements InCallStateListener, AudioModeListener, IncomingCallListener, - InCallDetailsListener, CanAddCallListener, Listener { - - private static final String KEY_AUTOMATICALLY_MUTED = "incall_key_automatically_muted"; - private static final String KEY_PREVIOUS_MUTE_STATE = "incall_key_previous_mute_state"; - - private Call mCall; - private boolean mAutomaticallyMuted = false; - private boolean mPreviousMuteState = false; - - public CallButtonPresenter() { - } - - @Override - public void onUiReady(CallButtonUi ui) { - super.onUiReady(ui); - - AudioModeProvider.getInstance().addListener(this); - - // register for call state changes last - final InCallPresenter inCallPresenter = InCallPresenter.getInstance(); - inCallPresenter.addListener(this); - inCallPresenter.addIncomingCallListener(this); - inCallPresenter.addDetailsListener(this); - inCallPresenter.addCanAddCallListener(this); - inCallPresenter.getInCallCameraManager().addCameraSelectionListener(this); - - // Update the buttons state immediately for the current call - onStateChange(InCallState.NO_CALLS, inCallPresenter.getInCallState(), - CallList.getInstance()); - } - - @Override - public void onUiUnready(CallButtonUi ui) { - super.onUiUnready(ui); - - InCallPresenter.getInstance().removeListener(this); - AudioModeProvider.getInstance().removeListener(this); - InCallPresenter.getInstance().removeIncomingCallListener(this); - InCallPresenter.getInstance().removeDetailsListener(this); - InCallPresenter.getInstance().getInCallCameraManager().removeCameraSelectionListener(this); - InCallPresenter.getInstance().removeCanAddCallListener(this); - } - - @Override - public void onStateChange(InCallState oldState, InCallState newState, CallList callList) { - CallButtonUi ui = getUi(); - - if (newState == InCallState.OUTGOING) { - mCall = callList.getOutgoingCall(); - } else if (newState == InCallState.INCALL) { - mCall = callList.getActiveOrBackgroundCall(); - - // When connected to voice mail, automatically shows the dialpad. - // (On previous releases we showed it when in-call shows up, before waiting for - // OUTGOING. We may want to do that once we start showing "Voice mail" label on - // the dialpad too.) - if (ui != null) { - if (oldState == InCallState.OUTGOING && mCall != null) { - if (CallerInfoUtils.isVoiceMailNumber(ui.getContext(), mCall)) { - ui.displayDialpad(true /* show */, true /* animate */); - } - } - } - } else if (newState == InCallState.INCOMING) { - if (ui != null) { - ui.displayDialpad(false /* show */, true /* animate */); - } - mCall = callList.getIncomingCall(); - } else { - mCall = null; - } - updateUi(newState, mCall); - } - - /** - * Updates the user interface in response to a change in the details of a call. - * Currently handles changes to the call buttons in response to a change in the details for a - * call. This is important to ensure changes to the active call are reflected in the available - * buttons. - * - * @param call The active call. - * @param details The call details. - */ - @Override - public void onDetailsChanged(Call call, android.telecom.Call.Details details) { - // Only update if the changes are for the currently active call - if (getUi() != null && call != null && call.equals(mCall)) { - updateButtonsState(call); - } - } - - @Override - public void onIncomingCall(InCallState oldState, InCallState newState, Call call) { - onStateChange(oldState, newState, CallList.getInstance()); - } - - @Override - public void onCanAddCallChanged(boolean canAddCall) { - if (getUi() != null && mCall != null) { - updateButtonsState(mCall); - } - } - - @Override - public void onAudioMode(int mode) { - if (getUi() != null) { - getUi().setAudio(mode); - } - } - - @Override - public void onSupportedAudioMode(int mask) { - if (getUi() != null) { - getUi().setSupportedAudio(mask); - } - } - - @Override - public void onMute(boolean muted) { - if (getUi() != null && !mAutomaticallyMuted) { - getUi().setMute(muted); - } - } - - public int getAudioMode() { - return AudioModeProvider.getInstance().getAudioMode(); - } - - public int getSupportedAudio() { - return AudioModeProvider.getInstance().getSupportedModes(); - } - - public void setAudioMode(int mode) { - - // TODO: Set a intermediate state in this presenter until we get - // an update for onAudioMode(). This will make UI response immediate - // if it turns out to be slow - - Log.d(this, "Sending new Audio Mode: " + CallAudioState.audioRouteToString(mode)); - TelecomAdapter.getInstance().setAudioRoute(mode); - } - - /** - * Function assumes that bluetooth is not supported. - */ - public void toggleSpeakerphone() { - // this function should not be called if bluetooth is available - if (0 != (CallAudioState.ROUTE_BLUETOOTH & getSupportedAudio())) { - - // It's clear the UI is wrong, so update the supported mode once again. - Log.e(this, "toggling speakerphone not allowed when bluetooth supported."); - getUi().setSupportedAudio(getSupportedAudio()); - return; - } - - int newMode = CallAudioState.ROUTE_SPEAKER; - - // if speakerphone is already on, change to wired/earpiece - if (getAudioMode() == CallAudioState.ROUTE_SPEAKER) { - newMode = CallAudioState.ROUTE_WIRED_OR_EARPIECE; - } - - setAudioMode(newMode); - } - - public void muteClicked(boolean checked) { - Log.d(this, "turning on mute: " + checked); - TelecomAdapter.getInstance().mute(checked); - } - - public void holdClicked(boolean checked) { - if (mCall == null) { - return; - } - if (checked) { - Log.i(this, "Putting the call on hold: " + mCall); - TelecomAdapter.getInstance().holdCall(mCall.getId()); - } else { - Log.i(this, "Removing the call from hold: " + mCall); - TelecomAdapter.getInstance().unholdCall(mCall.getId()); - } - } - - public void swapClicked() { - if (mCall == null) { - return; - } - - Log.i(this, "Swapping the call: " + mCall); - TelecomAdapter.getInstance().swap(mCall.getId()); - } - - public void mergeClicked() { - TelecomAdapter.getInstance().merge(mCall.getId()); - } - - public void addCallClicked() { - // Automatically mute the current call - mAutomaticallyMuted = true; - mPreviousMuteState = AudioModeProvider.getInstance().getMute(); - // Simulate a click on the mute button - muteClicked(true); - TelecomAdapter.getInstance().addCall(); - } - - public void changeToVoiceClicked() { - VideoCall videoCall = mCall.getVideoCall(); - if (videoCall == null) { - return; - } - - VideoProfile videoProfile = new VideoProfile(VideoProfile.STATE_AUDIO_ONLY); - videoCall.sendSessionModifyRequest(videoProfile); - } - - public void showDialpadClicked(boolean checked) { - Log.v(this, "Show dialpad " + String.valueOf(checked)); - getUi().displayDialpad(checked /* show */, true /* animate */); - } - - public void changeToVideoClicked() { - VideoCall videoCall = mCall.getVideoCall(); - if (videoCall == null) { - return; - } - int currVideoState = mCall.getVideoState(); - int currUnpausedVideoState = VideoUtils.getUnPausedVideoState(currVideoState); - currUnpausedVideoState |= VideoProfile.STATE_BIDIRECTIONAL; - - VideoProfile videoProfile = new VideoProfile(currUnpausedVideoState); - videoCall.sendSessionModifyRequest(videoProfile); - mCall.setSessionModificationState(Call.SessionModificationState.WAITING_FOR_RESPONSE); - } - - /** - * Switches the camera between the front-facing and back-facing camera. - * @param useFrontFacingCamera True if we should switch to using the front-facing camera, or - * false if we should switch to using the back-facing camera. - */ - public void switchCameraClicked(boolean useFrontFacingCamera) { - InCallCameraManager cameraManager = InCallPresenter.getInstance().getInCallCameraManager(); - cameraManager.setUseFrontFacingCamera(useFrontFacingCamera); - - VideoCall videoCall = mCall.getVideoCall(); - if (videoCall == null) { - return; - } - - String cameraId = cameraManager.getActiveCameraId(); - if (cameraId != null) { - final int cameraDir = cameraManager.isUsingFrontFacingCamera() - ? Call.VideoSettings.CAMERA_DIRECTION_FRONT_FACING - : Call.VideoSettings.CAMERA_DIRECTION_BACK_FACING; - mCall.getVideoSettings().setCameraDir(cameraDir); - videoCall.setCamera(cameraId); - videoCall.requestCameraCapabilities(); - } - } - - - /** - * Stop or start client's video transmission. - * @param pause True if pausing the local user's video, or false if starting the local user's - * video. - */ - public void pauseVideoClicked(boolean pause) { - VideoCall videoCall = mCall.getVideoCall(); - if (videoCall == null) { - return; - } - - final int currUnpausedVideoState = VideoUtils.getUnPausedVideoState(mCall.getVideoState()); - if (pause) { - videoCall.setCamera(null); - VideoProfile videoProfile = new VideoProfile(currUnpausedVideoState - & ~VideoProfile.STATE_TX_ENABLED); - videoCall.sendSessionModifyRequest(videoProfile); - } else { - InCallCameraManager cameraManager = InCallPresenter.getInstance(). - getInCallCameraManager(); - videoCall.setCamera(cameraManager.getActiveCameraId()); - VideoProfile videoProfile = new VideoProfile(currUnpausedVideoState - | VideoProfile.STATE_TX_ENABLED); - videoCall.sendSessionModifyRequest(videoProfile); - mCall.setSessionModificationState(Call.SessionModificationState.WAITING_FOR_RESPONSE); - } - getUi().setVideoPaused(pause); - } - - private void updateUi(InCallState state, Call call) { - Log.d(this, "Updating call UI for call: ", call); - - final CallButtonUi ui = getUi(); - if (ui == null) { - return; - } - - final boolean isEnabled = - state.isConnectingOrConnected() &&!state.isIncoming() && call != null; - ui.setEnabled(isEnabled); - - if (call == null) { - return; - } - - updateButtonsState(call); - } - - /** - * Updates the buttons applicable for the UI. - * - * @param call The active call. - */ - private void updateButtonsState(Call call) { - Log.v(this, "updateButtonsState"); - final CallButtonUi ui = getUi(); - final boolean isVideo = VideoUtils.isVideoCall(call); - - // Common functionality (audio, hold, etc). - // Show either HOLD or SWAP, but not both. If neither HOLD or SWAP is available: - // (1) If the device normally can hold, show HOLD in a disabled state. - // (2) If the device doesn't have the concept of hold/swap, remove the button. - final boolean showSwap = call.can( - android.telecom.Call.Details.CAPABILITY_SWAP_CONFERENCE); - final boolean showHold = !showSwap - && call.can(android.telecom.Call.Details.CAPABILITY_SUPPORT_HOLD) - && call.can(android.telecom.Call.Details.CAPABILITY_HOLD); - final boolean isCallOnHold = call.getState() == Call.State.ONHOLD; - - final boolean showAddCall = TelecomAdapter.getInstance().canAddCall() - && UserManagerCompat.isUserUnlocked(ui.getContext()); - final boolean showMerge = call.can( - android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE); - final boolean showUpgradeToVideo = !isVideo && hasVideoCallCapabilities(call); - final boolean showDowngradeToAudio = isVideo && isDowngradeToAudioSupported(call); - final boolean showMute = call.can(android.telecom.Call.Details.CAPABILITY_MUTE); - - ui.showButton(BUTTON_AUDIO, true); - ui.showButton(BUTTON_SWAP, showSwap); - ui.showButton(BUTTON_HOLD, showHold); - ui.setHold(isCallOnHold); - ui.showButton(BUTTON_MUTE, showMute); - ui.showButton(BUTTON_ADD_CALL, showAddCall); - ui.showButton(BUTTON_UPGRADE_TO_VIDEO, showUpgradeToVideo); - ui.showButton(BUTTON_DOWNGRADE_TO_AUDIO, showDowngradeToAudio); - ui.showButton(BUTTON_SWITCH_CAMERA, isVideo); - ui.showButton(BUTTON_PAUSE_VIDEO, isVideo); - if (isVideo) { - getUi().setVideoPaused(!VideoUtils.isTransmissionEnabled(call)); - } - ui.showButton(BUTTON_DIALPAD, true); - ui.showButton(BUTTON_MERGE, showMerge); - - ui.updateButtonStates(); - } - - private boolean hasVideoCallCapabilities(Call call) { - if (SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.M) >= Build.VERSION_CODES.M) { - return call.can(android.telecom.Call.Details.CAPABILITY_SUPPORTS_VT_LOCAL_TX) - && call.can(android.telecom.Call.Details.CAPABILITY_SUPPORTS_VT_REMOTE_RX); - } - // In L, this single flag represents both video transmitting and receiving capabilities - return call.can(android.telecom.Call.Details.CAPABILITY_SUPPORTS_VT_LOCAL_TX); - } - - /** - * Determines if downgrading from a video call to an audio-only call is supported. In order to - * support downgrade to audio, the SDK version must be >= N and the call should NOT have the - * {@link android.telecom.Call.Details#CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO}. - * @param call The call. - * @return {@code true} if downgrading to an audio-only call from a video call is supported. - */ - private boolean isDowngradeToAudioSupported(Call call) { - return !call.can(CallSdkCompat.Details.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO); - } - - public void refreshMuteState() { - // Restore the previous mute state - if (mAutomaticallyMuted && - AudioModeProvider.getInstance().getMute() != mPreviousMuteState) { - if (getUi() == null) { - return; - } - muteClicked(mPreviousMuteState); - } - mAutomaticallyMuted = false; - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putBoolean(KEY_AUTOMATICALLY_MUTED, mAutomaticallyMuted); - outState.putBoolean(KEY_PREVIOUS_MUTE_STATE, mPreviousMuteState); - } - - @Override - public void onRestoreInstanceState(Bundle savedInstanceState) { - mAutomaticallyMuted = - savedInstanceState.getBoolean(KEY_AUTOMATICALLY_MUTED, mAutomaticallyMuted); - mPreviousMuteState = - savedInstanceState.getBoolean(KEY_PREVIOUS_MUTE_STATE, mPreviousMuteState); - super.onRestoreInstanceState(savedInstanceState); - } - - public interface CallButtonUi extends Ui { - void showButton(int buttonId, boolean show); - void enableButton(int buttonId, boolean enable); - void setEnabled(boolean on); - void setMute(boolean on); - void setHold(boolean on); - void setCameraSwitched(boolean isBackFacingCamera); - void setVideoPaused(boolean isPaused); - void setAudio(int mode); - void setSupportedAudio(int mask); - void displayDialpad(boolean on, boolean animate); - boolean isDialpadVisible(); - - /** - * Once showButton() has been called on each of the individual buttons in the UI, call - * this to configure the overflow menu appropriately. - */ - void updateButtonStates(); - Context getContext(); - } - - @Override - public void onActiveCameraSelectionChanged(boolean isUsingFrontFacingCamera) { - if (getUi() == null) { - return; - } - getUi().setCameraSwitched(!isUsingFrontFacingCamera); - } -} diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java deleted file mode 100644 index c2022d18c..000000000 --- a/InCallUI/src/com/android/incallui/CallCardFragment.java +++ /dev/null @@ -1,1510 +0,0 @@ -/* - * 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.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.AnimatorSet; -import android.animation.ObjectAnimator; -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.drawable.AnimationDrawable; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.os.Trace; -import android.support.v4.graphics.drawable.RoundedBitmapDrawable; -import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; -import android.telecom.DisconnectCause; -import android.telephony.PhoneNumberUtils; -import android.text.TextUtils; -import android.text.format.DateUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.View.OnLayoutChangeListener; -import android.view.ViewGroup; -import android.view.ViewPropertyAnimator; -import android.view.ViewTreeObserver; -import android.view.ViewTreeObserver.OnGlobalLayoutListener; -import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityManager; -import android.view.animation.Animation; -import android.view.animation.AnimationUtils; -import android.widget.ImageButton; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ListAdapter; -import android.widget.ListView; -import android.widget.TextView; -import android.widget.Toast; - -import com.android.contacts.common.compat.PhoneNumberUtilsCompat; -import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; -import com.android.contacts.common.widget.FloatingActionButtonController; -import com.android.dialer.R; -import com.android.phone.common.animation.AnimUtils; - -import java.util.List; - -/** - * Fragment for call card. - */ -public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPresenter.CallCardUi> - implements CallCardPresenter.CallCardUi { - private static final String TAG = "CallCardFragment"; - - /** - * Internal class which represents the call state label which is to be applied. - */ - private class CallStateLabel { - private CharSequence mCallStateLabel; - private boolean mIsAutoDismissing; - - public CallStateLabel(CharSequence callStateLabel, boolean isAutoDismissing) { - mCallStateLabel = callStateLabel; - mIsAutoDismissing = isAutoDismissing; - } - - public CharSequence getCallStateLabel() { - return mCallStateLabel; - } - - /** - * Determines if the call state label should auto-dismiss. - * - * @return {@code true} if the call state label should auto-dismiss. - */ - public boolean isAutoDismissing() { - return mIsAutoDismissing; - } - }; - - private static final String IS_DIALPAD_SHOWING_KEY = "is_dialpad_showing"; - - /** - * The duration of time (in milliseconds) a call state label should remain visible before - * resetting to its previous value. - */ - private static final long CALL_STATE_LABEL_RESET_DELAY_MS = 3000; - /** - * Amount of time to wait before sending an announcement via the accessibility manager. - * When the call state changes to an outgoing or incoming state for the first time, the - * UI can often be changing due to call updates or contact lookup. This allows the UI - * to settle to a stable state to ensure that the correct information is announced. - */ - private static final long ACCESSIBILITY_ANNOUNCEMENT_DELAY_MS = 500; - - private AnimatorSet mAnimatorSet; - private int mShrinkAnimationDuration; - private int mFabNormalDiameter; - private int mFabSmallDiameter; - private boolean mIsLandscape; - private boolean mHasLargePhoto; - private boolean mIsDialpadShowing; - - // Primary caller info - private TextView mPhoneNumber; - private TextView mNumberLabel; - private TextView mPrimaryName; - private View mCallStateButton; - private ImageView mCallStateIcon; - private ImageView mCallStateVideoCallIcon; - private TextView mCallStateLabel; - private TextView mCallTypeLabel; - private ImageView mHdAudioIcon; - private ImageView mForwardIcon; - private ImageView mSpamIcon; - private View mCallNumberAndLabel; - private TextView mElapsedTime; - private Drawable mPrimaryPhotoDrawable; - private TextView mCallSubject; - private ImageView mWorkProfileIcon; - - // Container view that houses the entire primary call card, including the call buttons - private View mPrimaryCallCardContainer; - // Container view that houses the primary call information - private ViewGroup mPrimaryCallInfo; - private View mCallButtonsContainer; - private ImageView mPhotoSmall; - - // Secondary caller info - private View mSecondaryCallInfo; - private TextView mSecondaryCallName; - private View mSecondaryCallProviderInfo; - private TextView mSecondaryCallProviderLabel; - private View mSecondaryCallConferenceCallIcon; - private View mSecondaryCallVideoCallIcon; - private View mProgressSpinner; - - // Call card content - private View mCallCardContent; - private ImageView mPhotoLarge; - private View mContactContext; - private TextView mContactContextTitle; - private ListView mContactContextListView; - private LinearLayout mContactContextListHeaders; - - private View mManageConferenceCallButton; - - // Dark number info bar - private TextView mInCallMessageLabel; - - private FloatingActionButtonController mFloatingActionButtonController; - private View mFloatingActionButtonContainer; - private ImageButton mFloatingActionButton; - private int mFloatingActionButtonVerticalOffset; - - private float mTranslationOffset; - private Animation mPulseAnimation; - - private int mVideoAnimationDuration; - // Whether or not the call card is currently in the process of an animation - private boolean mIsAnimating; - - private MaterialPalette mCurrentThemeColors; - - /** - * Call state label to set when an auto-dismissing call state label is dismissed. - */ - private CharSequence mPostResetCallStateLabel; - private boolean mCallStateLabelResetPending = false; - private Handler mHandler; - - /** - * Determines if secondary call info is populated in the secondary call info UI. - */ - private boolean mHasSecondaryCallInfo = false; - - @Override - public CallCardPresenter.CallCardUi getUi() { - return this; - } - - @Override - public CallCardPresenter createPresenter() { - return new CallCardPresenter(); - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - mHandler = new Handler(Looper.getMainLooper()); - mShrinkAnimationDuration = getResources().getInteger(R.integer.shrink_animation_duration); - mVideoAnimationDuration = getResources().getInteger(R.integer.video_animation_duration); - mFloatingActionButtonVerticalOffset = getResources().getDimensionPixelOffset( - R.dimen.floating_action_button_vertical_offset); - mFabNormalDiameter = getResources().getDimensionPixelOffset( - R.dimen.end_call_floating_action_button_diameter); - mFabSmallDiameter = getResources().getDimensionPixelOffset( - R.dimen.end_call_floating_action_button_small_diameter); - - if (savedInstanceState != null) { - mIsDialpadShowing = savedInstanceState.getBoolean(IS_DIALPAD_SHOWING_KEY, false); - } - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - - final CallList calls = CallList.getInstance(); - final Call call = calls.getFirstCall(); - getPresenter().init(getActivity(), call); - } - - @Override - public void onSaveInstanceState(Bundle outState) { - outState.putBoolean(IS_DIALPAD_SHOWING_KEY, mIsDialpadShowing); - super.onSaveInstanceState(outState); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - Trace.beginSection(TAG + " onCreate"); - mTranslationOffset = - getResources().getDimensionPixelSize(R.dimen.call_card_anim_translate_y_offset); - final View view = inflater.inflate(R.layout.call_card_fragment, container, false); - Trace.endSection(); - return view; - } - - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - mPulseAnimation = - AnimationUtils.loadAnimation(view.getContext(), R.anim.call_status_pulse); - - mPhoneNumber = (TextView) view.findViewById(R.id.phoneNumber); - mPrimaryName = (TextView) view.findViewById(R.id.name); - mNumberLabel = (TextView) view.findViewById(R.id.label); - mSecondaryCallInfo = view.findViewById(R.id.secondary_call_info); - mSecondaryCallProviderInfo = view.findViewById(R.id.secondary_call_provider_info); - mCallCardContent = view.findViewById(R.id.call_card_content); - mPhotoLarge = (ImageView) view.findViewById(R.id.photoLarge); - mPhotoLarge.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getPresenter().onContactPhotoClick(); - } - }); - - mContactContext = view.findViewById(R.id.contact_context); - mContactContextTitle = (TextView) view.findViewById(R.id.contactContextTitle); - mContactContextListView = (ListView) view.findViewById(R.id.contactContextInfo); - // This layout stores all the list header layouts so they can be easily removed. - mContactContextListHeaders = new LinearLayout(getView().getContext()); - mContactContextListView.addHeaderView(mContactContextListHeaders); - - mCallStateIcon = (ImageView) view.findViewById(R.id.callStateIcon); - mCallStateVideoCallIcon = (ImageView) view.findViewById(R.id.videoCallIcon); - mWorkProfileIcon = (ImageView) view.findViewById(R.id.workProfileIcon); - mCallStateLabel = (TextView) view.findViewById(R.id.callStateLabel); - mHdAudioIcon = (ImageView) view.findViewById(R.id.hdAudioIcon); - mForwardIcon = (ImageView) view.findViewById(R.id.forwardIcon); - mSpamIcon = (ImageView) view.findViewById(R.id.spamIcon); - mCallNumberAndLabel = view.findViewById(R.id.labelAndNumber); - mCallTypeLabel = (TextView) view.findViewById(R.id.callTypeLabel); - mElapsedTime = (TextView) view.findViewById(R.id.elapsedTime); - mPrimaryCallCardContainer = view.findViewById(R.id.primary_call_info_container); - mPrimaryCallInfo = (ViewGroup) view.findViewById(R.id.primary_call_banner); - mCallButtonsContainer = view.findViewById(R.id.callButtonFragment); - mPhotoSmall = (ImageView) view.findViewById(R.id.photoSmall); - mPhotoSmall.setVisibility(View.GONE); - mInCallMessageLabel = (TextView) view.findViewById(R.id.connectionServiceMessage); - mProgressSpinner = view.findViewById(R.id.progressSpinner); - - mFloatingActionButtonContainer = view.findViewById( - R.id.floating_end_call_action_button_container); - mFloatingActionButton = (ImageButton) view.findViewById( - R.id.floating_end_call_action_button); - mFloatingActionButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getPresenter().endCallClicked(); - } - }); - mFloatingActionButtonController = new FloatingActionButtonController(getActivity(), - mFloatingActionButtonContainer, mFloatingActionButton); - - mSecondaryCallInfo.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getPresenter().secondaryInfoClicked(); - updateFabPositionForSecondaryCallInfo(); - } - }); - - mCallStateButton = view.findViewById(R.id.callStateButton); - mCallStateButton.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - getPresenter().onCallStateButtonTouched(); - return false; - } - }); - - mManageConferenceCallButton = view.findViewById(R.id.manage_conference_call_button); - mManageConferenceCallButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - InCallActivity activity = (InCallActivity) getActivity(); - activity.showConferenceFragment(true); - } - }); - - mPrimaryName.setElegantTextHeight(false); - mCallStateLabel.setElegantTextHeight(false); - mCallSubject = (TextView) view.findViewById(R.id.callSubject); - } - - @Override - public void setVisible(boolean on) { - if (on) { - getView().setVisibility(View.VISIBLE); - } else { - getView().setVisibility(View.INVISIBLE); - } - } - - /** - * Hides or shows the progress spinner. - * - * @param visible {@code True} if the progress spinner should be visible. - */ - @Override - public void setProgressSpinnerVisible(boolean visible) { - mProgressSpinner.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - @Override - public void setContactContextTitle(View headerView) { - mContactContextListHeaders.removeAllViews(); - mContactContextListHeaders.addView(headerView); - } - - @Override - public void setContactContextContent(ListAdapter listAdapter) { - mContactContextListView.setAdapter(listAdapter); - } - - @Override - public void showContactContext(boolean show) { - showImageView(mPhotoLarge, !show); - showImageView(mPhotoSmall, show); - mPrimaryCallCardContainer.setElevation( - show ? 0 : getResources().getDimension(R.dimen.primary_call_elevation)); - mContactContext.setVisibility(show ? View.VISIBLE : View.GONE); - } - - /** - * Sets the visibility of the primary call card. - * Ensures that when the primary call card is hidden, the video surface slides over to fill the - * entire screen. - * - * @param visible {@code True} if the primary call card should be visible. - */ - @Override - public void setCallCardVisible(final boolean visible) { - Log.v(this, "setCallCardVisible : isVisible = " + visible); - // When animating the hide/show of the views in a landscape layout, we need to take into - // account whether we are in a left-to-right locale or a right-to-left locale and adjust - // the animations accordingly. - final boolean isLayoutRtl = InCallPresenter.isRtl(); - - // Retrieve here since at fragment creation time the incoming video view is not inflated. - final View videoView = getView().findViewById(R.id.incomingVideo); - if (videoView == null) { - return; - } - - // Determine how much space there is below or to the side of the call card. - final float spaceBesideCallCard = getSpaceBesideCallCard(); - - // We need to translate the video surface, but we need to know its position after the layout - // has occurred so use a {@code ViewTreeObserver}. - final ViewTreeObserver observer = getView().getViewTreeObserver(); - observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { - @Override - public boolean onPreDraw() { - // We don't want to continue getting called. - getView().getViewTreeObserver().removeOnPreDrawListener(this); - - float videoViewTranslation = 0f; - - // Translate the call card to its pre-animation state. - if (!mIsLandscape) { - mPrimaryCallCardContainer.setTranslationY(visible ? - -mPrimaryCallCardContainer.getHeight() : 0); - - ViewGroup.LayoutParams p = videoView.getLayoutParams(); - videoViewTranslation = p.height / 2 - spaceBesideCallCard / 2; - } - - // Perform animation of video view. - ViewPropertyAnimator videoViewAnimator = videoView.animate() - .setInterpolator(AnimUtils.EASE_OUT_EASE_IN) - .setDuration(mVideoAnimationDuration); - if (mIsLandscape) { - videoViewAnimator - .translationX(visible ? videoViewTranslation : 0); - } else { - videoViewAnimator - .translationY(visible ? videoViewTranslation : 0); - } - videoViewAnimator.start(); - - // Animate the call card sliding. - ViewPropertyAnimator callCardAnimator = mPrimaryCallCardContainer.animate() - .setInterpolator(AnimUtils.EASE_OUT_EASE_IN) - .setDuration(mVideoAnimationDuration) - .setListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - super.onAnimationEnd(animation); - if (!visible) { - mPrimaryCallCardContainer.setVisibility(View.GONE); - } - } - - @Override - public void onAnimationStart(Animator animation) { - super.onAnimationStart(animation); - if (visible) { - mPrimaryCallCardContainer.setVisibility(View.VISIBLE); - } - } - }); - - if (mIsLandscape) { - float translationX = mPrimaryCallCardContainer.getWidth(); - translationX *= isLayoutRtl ? 1 : -1; - callCardAnimator - .translationX(visible ? 0 : translationX) - .start(); - } else { - callCardAnimator - .translationY(visible ? 0 : -mPrimaryCallCardContainer.getHeight()) - .start(); - } - - return true; - } - }); - } - - /** - * Determines the amount of space below the call card for portrait layouts), or beside the - * call card for landscape layouts. - * - * @return The amount of space below or beside the call card. - */ - public float getSpaceBesideCallCard() { - if (mIsLandscape) { - return getView().getWidth() - mPrimaryCallCardContainer.getWidth(); - } else { - final int callCardHeight; - // Retrieve the actual height of the call card, independent of whether or not the - // outgoing call animation is in progress. The animation does not run in landscape mode - // so this only needs to be done for portrait. - if (mPrimaryCallCardContainer.getTag(R.id.view_tag_callcard_actual_height) != null) { - callCardHeight = (int) mPrimaryCallCardContainer.getTag( - R.id.view_tag_callcard_actual_height); - } else { - callCardHeight = mPrimaryCallCardContainer.getHeight(); - } - return getView().getHeight() - callCardHeight; - } - } - - @Override - public void setPrimaryName(String name, boolean nameIsNumber) { - if (TextUtils.isEmpty(name)) { - mPrimaryName.setText(null); - } else { - mPrimaryName.setText(nameIsNumber - ? PhoneNumberUtilsCompat.createTtsSpannable(name) - : name); - - // Set direction of the name field - int nameDirection = View.TEXT_DIRECTION_INHERIT; - if (nameIsNumber) { - nameDirection = View.TEXT_DIRECTION_LTR; - } - mPrimaryName.setTextDirection(nameDirection); - } - } - - /** - * Sets the primary image for the contact photo. - * - * @param image The drawable to set. - * @param isVisible Whether the contact photo should be visible after being set. - */ - @Override - public void setPrimaryImage(Drawable image, boolean isVisible) { - if (image != null) { - setDrawableToImageViews(image); - showImageView(mPhotoLarge, isVisible); - } - } - - @Override - public void setPrimaryPhoneNumber(String number) { - // Set the number - if (TextUtils.isEmpty(number)) { - mPhoneNumber.setText(null); - mPhoneNumber.setVisibility(View.GONE); - } else { - mPhoneNumber.setText(PhoneNumberUtilsCompat.createTtsSpannable(number)); - mPhoneNumber.setVisibility(View.VISIBLE); - mPhoneNumber.setTextDirection(View.TEXT_DIRECTION_LTR); - } - } - - @Override - public void setPrimaryLabel(String label) { - if (!TextUtils.isEmpty(label)) { - mNumberLabel.setText(label); - mNumberLabel.setVisibility(View.VISIBLE); - } else { - mNumberLabel.setVisibility(View.GONE); - } - - } - - /** - * Sets the primary caller information. - * - * @param number The caller phone number. - * @param name The caller name. - * @param nameIsNumber {@code true} if the name should be shown in place of the phone number. - * @param label The label. - * @param photo The contact photo drawable. - * @param isSipCall {@code true} if this is a SIP call. - * @param isContactPhotoShown {@code true} if the contact photo should be shown (it will be - * updated even if it is not shown). - * @param isWorkCall Whether the call is placed through a work phone account or caller is a work - contact. - */ - @Override - public void setPrimary(String number, String name, boolean nameIsNumber, String label, - Drawable photo, boolean isSipCall, boolean isContactPhotoShown, boolean isWorkCall) { - Log.d(this, "Setting primary call"); - // set the name field. - setPrimaryName(name, nameIsNumber); - - if (TextUtils.isEmpty(number) && TextUtils.isEmpty(label)) { - mCallNumberAndLabel.setVisibility(View.GONE); - mElapsedTime.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START); - } else { - mCallNumberAndLabel.setVisibility(View.VISIBLE); - mElapsedTime.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_END); - } - - setPrimaryPhoneNumber(number); - - // Set the label (Mobile, Work, etc) - setPrimaryLabel(label); - - showInternetCallLabel(isSipCall); - - setDrawableToImageViews(photo); - showImageView(mPhotoLarge, isContactPhotoShown); - showImageView(mWorkProfileIcon, isWorkCall); - } - - @Override - public void setSecondary(boolean show, String name, boolean nameIsNumber, String label, - String providerLabel, boolean isConference, boolean isVideoCall, boolean isFullscreen) { - - if (show) { - mHasSecondaryCallInfo = true; - boolean hasProvider = !TextUtils.isEmpty(providerLabel); - initializeSecondaryCallInfo(hasProvider); - - // Do not show the secondary caller info in fullscreen mode, but ensure it is populated - // in case fullscreen mode is exited in the future. - setSecondaryInfoVisible(!isFullscreen); - - mSecondaryCallConferenceCallIcon.setVisibility(isConference ? View.VISIBLE : View.GONE); - mSecondaryCallVideoCallIcon.setVisibility(isVideoCall ? View.VISIBLE : View.GONE); - - mSecondaryCallName.setText(nameIsNumber - ? PhoneNumberUtilsCompat.createTtsSpannable(name) - : name); - if (hasProvider) { - mSecondaryCallProviderLabel.setText(providerLabel); - } - - int nameDirection = View.TEXT_DIRECTION_INHERIT; - if (nameIsNumber) { - nameDirection = View.TEXT_DIRECTION_LTR; - } - mSecondaryCallName.setTextDirection(nameDirection); - } else { - mHasSecondaryCallInfo = false; - setSecondaryInfoVisible(false); - } - } - - /** - * Sets the visibility of the secondary caller info box. Note, if the {@code visible} parameter - * is passed in {@code true}, and there is no secondary caller info populated (as determined by - * {@code mHasSecondaryCallInfo}, the secondary caller info box will not be shown. - * - * @param visible {@code true} if the secondary caller info should be shown, {@code false} - * otherwise. - */ - @Override - public void setSecondaryInfoVisible(final boolean visible) { - boolean wasVisible = mSecondaryCallInfo.isShown(); - final boolean isVisible = visible && mHasSecondaryCallInfo; - Log.v(this, "setSecondaryInfoVisible: wasVisible = " + wasVisible + " isVisible = " - + isVisible); - - // If visibility didn't change, nothing to do. - if (wasVisible == isVisible) { - return; - } - - // If we are showing the secondary info, we need to show it before animating so that its - // height will be determined on layout. - if (isVisible) { - mSecondaryCallInfo.setVisibility(View.VISIBLE); - } else { - mSecondaryCallInfo.setVisibility(View.GONE); - } - - updateFabPositionForSecondaryCallInfo(); - // We need to translate the secondary caller info, but we need to know its position after - // the layout has occurred so use a {@code ViewTreeObserver}. - final ViewTreeObserver observer = getView().getViewTreeObserver(); - - observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { - @Override - public boolean onPreDraw() { - // We don't want to continue getting called. - getView().getViewTreeObserver().removeOnPreDrawListener(this); - - // Get the height of the secondary call info now, and then re-hide the view prior - // to doing the actual animation. - int secondaryHeight = mSecondaryCallInfo.getHeight(); - if (isVisible) { - mSecondaryCallInfo.setVisibility(View.GONE); - } else { - mSecondaryCallInfo.setVisibility(View.VISIBLE); - } - Log.v(this, "setSecondaryInfoVisible: secondaryHeight = " + secondaryHeight); - - // Set the position of the secondary call info card to its starting location. - mSecondaryCallInfo.setTranslationY(visible ? secondaryHeight : 0); - - // Animate the secondary card info slide up/down as it appears and disappears. - ViewPropertyAnimator secondaryInfoAnimator = mSecondaryCallInfo.animate() - .setInterpolator(AnimUtils.EASE_OUT_EASE_IN) - .setDuration(mVideoAnimationDuration) - .translationY(isVisible ? 0 : secondaryHeight) - .setListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - if (!isVisible) { - mSecondaryCallInfo.setVisibility(View.GONE); - } - } - - @Override - public void onAnimationStart(Animator animation) { - if (isVisible) { - mSecondaryCallInfo.setVisibility(View.VISIBLE); - } - } - }); - secondaryInfoAnimator.start(); - - // Notify listeners of a change in the visibility of the secondary info. This is - // important when in a video call so that the video call presenter can shift the - // video preview up or down to accommodate the secondary caller info. - InCallPresenter.getInstance().notifySecondaryCallerInfoVisibilityChanged(visible, - secondaryHeight); - - return true; - } - }); - } - - @Override - public void setCallState( - int state, - int videoState, - int sessionModificationState, - DisconnectCause disconnectCause, - String connectionLabel, - Drawable callStateIcon, - String gatewayNumber, - boolean isWifi, - boolean isConference, - boolean isWorkCall) { - boolean isGatewayCall = !TextUtils.isEmpty(gatewayNumber); - CallStateLabel callStateLabel = getCallStateLabelFromState(state, videoState, - sessionModificationState, disconnectCause, connectionLabel, isGatewayCall, isWifi, - isConference, isWorkCall); - - Log.v(this, "setCallState " + callStateLabel.getCallStateLabel()); - Log.v(this, "AutoDismiss " + callStateLabel.isAutoDismissing()); - Log.v(this, "DisconnectCause " + disconnectCause.toString()); - Log.v(this, "gateway " + connectionLabel + gatewayNumber); - - // Check for video state change and update the visibility of the contact photo. The contact - // photo is hidden when the incoming video surface is shown. - // The contact photo visibility can also change in setPrimary(). - boolean showContactPhoto = !VideoCallPresenter.showIncomingVideo(videoState, state); - mPhotoLarge.setVisibility(showContactPhoto ? View.VISIBLE : View.GONE); - - // Check if the call subject is showing -- if it is, we want to bypass showing the call - // state. - boolean isSubjectShowing = mCallSubject.getVisibility() == View.VISIBLE; - - if (TextUtils.equals(callStateLabel.getCallStateLabel(), mCallStateLabel.getText()) && - !isSubjectShowing) { - // Nothing to do if the labels are the same - if (state == Call.State.ACTIVE || state == Call.State.CONFERENCED) { - mCallStateLabel.clearAnimation(); - mCallStateIcon.clearAnimation(); - } - return; - } - - if (isSubjectShowing) { - changeCallStateLabel(null); - callStateIcon = null; - } else { - // Update the call state label and icon. - setCallStateLabel(callStateLabel); - } - - if (!TextUtils.isEmpty(callStateLabel.getCallStateLabel())) { - if (state == Call.State.ACTIVE || state == Call.State.CONFERENCED) { - mCallStateLabel.clearAnimation(); - } else { - mCallStateLabel.startAnimation(mPulseAnimation); - } - } else { - mCallStateLabel.clearAnimation(); - } - - if (callStateIcon != null) { - mCallStateIcon.setVisibility(View.VISIBLE); - // Invoke setAlpha(float) instead of setAlpha(int) to set the view's alpha. This is - // needed because the pulse animation operates on the view alpha. - mCallStateIcon.setAlpha(1.0f); - mCallStateIcon.setImageDrawable(callStateIcon); - - if (state == Call.State.ACTIVE || state == Call.State.CONFERENCED - || TextUtils.isEmpty(callStateLabel.getCallStateLabel())) { - mCallStateIcon.clearAnimation(); - } else { - mCallStateIcon.startAnimation(mPulseAnimation); - } - - if (callStateIcon instanceof AnimationDrawable) { - ((AnimationDrawable) callStateIcon).start(); - } - } else { - mCallStateIcon.clearAnimation(); - - // Invoke setAlpha(float) instead of setAlpha(int) to set the view's alpha. This is - // needed because the pulse animation operates on the view alpha. - mCallStateIcon.setAlpha(0.0f); - mCallStateIcon.setVisibility(View.GONE); - } - - if (VideoUtils.isVideoCall(videoState) - || (state == Call.State.ACTIVE && sessionModificationState - == Call.SessionModificationState.WAITING_FOR_RESPONSE)) { - mCallStateVideoCallIcon.setVisibility(View.VISIBLE); - } else { - mCallStateVideoCallIcon.setVisibility(View.GONE); - } - } - - private void setCallStateLabel(CallStateLabel callStateLabel) { - Log.v(this, "setCallStateLabel : label = " + callStateLabel.getCallStateLabel()); - - if (callStateLabel.isAutoDismissing()) { - mCallStateLabelResetPending = true; - mHandler.postDelayed(new Runnable() { - @Override - public void run() { - Log.v(this, "restoringCallStateLabel : label = " + - mPostResetCallStateLabel); - changeCallStateLabel(mPostResetCallStateLabel); - mCallStateLabelResetPending = false; - } - }, CALL_STATE_LABEL_RESET_DELAY_MS); - - changeCallStateLabel(callStateLabel.getCallStateLabel()); - } else { - // Keep track of the current call state label; used when resetting auto dismissing - // call state labels. - mPostResetCallStateLabel = callStateLabel.getCallStateLabel(); - - if (!mCallStateLabelResetPending) { - changeCallStateLabel(callStateLabel.getCallStateLabel()); - } - } - } - - private void changeCallStateLabel(CharSequence callStateLabel) { - Log.v(this, "changeCallStateLabel : label = " + callStateLabel); - if (!TextUtils.isEmpty(callStateLabel)) { - mCallStateLabel.setText(callStateLabel); - mCallStateLabel.setAlpha(1); - mCallStateLabel.setVisibility(View.VISIBLE); - } else { - Animation callStateLabelAnimation = mCallStateLabel.getAnimation(); - if (callStateLabelAnimation != null) { - callStateLabelAnimation.cancel(); - } - mCallStateLabel.setText(null); - mCallStateLabel.setAlpha(0); - mCallStateLabel.setVisibility(View.GONE); - } - } - - @Override - public void setCallbackNumber(String callbackNumber, boolean isEmergencyCall) { - if (mInCallMessageLabel == null) { - return; - } - - if (TextUtils.isEmpty(callbackNumber)) { - mInCallMessageLabel.setVisibility(View.GONE); - return; - } - - // TODO: The new Locale-specific methods don't seem to be working. Revisit this. - callbackNumber = PhoneNumberUtils.formatNumber(callbackNumber); - - int stringResourceId = isEmergencyCall ? R.string.card_title_callback_number_emergency - : R.string.card_title_callback_number; - - String text = getString(stringResourceId, callbackNumber); - mInCallMessageLabel.setText(text); - - mInCallMessageLabel.setVisibility(View.VISIBLE); - } - - /** - * Sets and shows the call subject if it is not empty. Hides the call subject otherwise. - * - * @param callSubject The call subject. - */ - @Override - public void setCallSubject(String callSubject) { - boolean showSubject = !TextUtils.isEmpty(callSubject); - - mCallSubject.setVisibility(showSubject ? View.VISIBLE : View.GONE); - if (showSubject) { - mCallSubject.setText(callSubject); - } else { - mCallSubject.setText(null); - } - } - - public boolean isAnimating() { - return mIsAnimating; - } - - private void showInternetCallLabel(boolean show) { - if (show) { - final String label = getView().getContext().getString( - R.string.incall_call_type_label_sip); - mCallTypeLabel.setVisibility(View.VISIBLE); - mCallTypeLabel.setText(label); - } else { - mCallTypeLabel.setVisibility(View.GONE); - } - } - - @Override - public void setPrimaryCallElapsedTime(boolean show, long duration) { - if (show) { - if (mElapsedTime.getVisibility() != View.VISIBLE) { - AnimUtils.fadeIn(mElapsedTime, AnimUtils.DEFAULT_DURATION); - } - String callTimeElapsed = DateUtils.formatElapsedTime(duration / 1000); - mElapsedTime.setText(callTimeElapsed); - - String durationDescription = - InCallDateUtils.formatDuration(duration); - mElapsedTime.setContentDescription( - !TextUtils.isEmpty(durationDescription) ? durationDescription : null); - } else { - // hide() animation has no effect if it is already hidden. - AnimUtils.fadeOut(mElapsedTime, AnimUtils.DEFAULT_DURATION); - } - } - - /** - * Set all the ImageViews to the same photo. Currently there are 2 photo views: the large one - * (which fills about the bottom half of the screen) and the small one, which displays as a - * circle next to the primary contact info. This method does not handle whether the ImageView - * is shown or not. - * - * @param photo The photo to set for the image views. - */ - private void setDrawableToImageViews(Drawable photo) { - if (photo == null) { - photo = ContactInfoCache.getInstance(getView().getContext()) - .getDefaultContactPhotoDrawable(); - } - - if (mPrimaryPhotoDrawable == photo){ - return; - } - mPrimaryPhotoDrawable = photo; - - mPhotoLarge.setImageDrawable(photo); - - // Modify the drawable to be round for the smaller ImageView. - Bitmap bitmap = drawableToBitmap(photo); - if (bitmap != null) { - final RoundedBitmapDrawable drawable = - RoundedBitmapDrawableFactory.create(getResources(), bitmap); - drawable.setAntiAlias(true); - drawable.setCornerRadius(bitmap.getHeight() / 2); - photo = drawable; - } - mPhotoSmall.setImageDrawable(photo); - } - - /** - * Helper method for image view to handle animations. - * - * @param view The image view to show or hide. - * @param isVisible {@code true} if we want to show the image, {@code false} to hide it. - */ - private void showImageView(ImageView view, boolean isVisible) { - if (view.getDrawable() == null) { - if (isVisible) { - AnimUtils.fadeIn(mElapsedTime, AnimUtils.DEFAULT_DURATION); - } - } else { - // Cross fading is buggy and not noticeable due to the multiple calls to this method - // that switch drawables in the middle of the cross-fade animations. Just show the - // photo directly instead. - view.setVisibility(isVisible ? View.VISIBLE : View.GONE); - } - } - - /** - * Converts a drawable into a bitmap. - * - * @param drawable the drawable to be converted. - */ - public static Bitmap drawableToBitmap(Drawable drawable) { - Bitmap bitmap; - if (drawable instanceof BitmapDrawable) { - bitmap = ((BitmapDrawable) drawable).getBitmap(); - } else { - if (drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) { - // Needed for drawables that are just a colour. - bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); - } else { - bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), - drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); - } - - Log.i(TAG, "Created bitmap with width " + bitmap.getWidth() + ", height " - + bitmap.getHeight()); - - Canvas canvas = new Canvas(bitmap); - drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); - drawable.draw(canvas); - } - return bitmap; - } - - /** - * Gets the call state label based on the state of the call or cause of disconnect. - * - * Additional labels are applied as follows: - * 1. All outgoing calls with display "Calling via [Provider]". - * 2. Ongoing calls will display the name of the provider. - * 3. Incoming calls will only display "Incoming via..." for accounts. - * 4. Video calls, and session modification states (eg. requesting video). - * 5. Incoming and active Wi-Fi calls will show label provided by hint. - * - * TODO: Move this to the CallCardPresenter. - */ - private CallStateLabel getCallStateLabelFromState(int state, int videoState, - int sessionModificationState, DisconnectCause disconnectCause, String label, - boolean isGatewayCall, boolean isWifi, boolean isConference, boolean isWorkCall) { - final Context context = getView().getContext(); - CharSequence callStateLabel = null; // Label to display as part of the call banner - - boolean hasSuggestedLabel = label != null; - boolean isAccount = hasSuggestedLabel && !isGatewayCall; - boolean isAutoDismissing = false; - - switch (state) { - case Call.State.IDLE: - // "Call state" is meaningless in this state. - break; - case Call.State.ACTIVE: - // We normally don't show a "call state label" at all in this state - // (but we can use the call state label to display the provider name). - if ((isAccount || isWifi || isConference) && hasSuggestedLabel) { - callStateLabel = label; - } else if (sessionModificationState - == Call.SessionModificationState.REQUEST_REJECTED) { - callStateLabel = context.getString(R.string.card_title_video_call_rejected); - isAutoDismissing = true; - } else if (sessionModificationState - == Call.SessionModificationState.REQUEST_FAILED) { - callStateLabel = context.getString(R.string.card_title_video_call_error); - isAutoDismissing = true; - } else if (sessionModificationState - == Call.SessionModificationState.WAITING_FOR_RESPONSE) { - callStateLabel = context.getString(R.string.card_title_video_call_requesting); - } else if (sessionModificationState - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - callStateLabel = context.getString(R.string.card_title_video_call_requesting); - } else if (VideoUtils.isVideoCall(videoState)) { - callStateLabel = context.getString(R.string.card_title_video_call); - } - break; - case Call.State.ONHOLD: - callStateLabel = context.getString(R.string.card_title_on_hold); - break; - case Call.State.CONNECTING: - case Call.State.DIALING: - if (hasSuggestedLabel && !isWifi) { - callStateLabel = context.getString(R.string.calling_via_template, label); - } else { - callStateLabel = context.getString(R.string.card_title_dialing); - } - break; - case Call.State.REDIALING: - callStateLabel = context.getString(R.string.card_title_redialing); - break; - case Call.State.INCOMING: - case Call.State.CALL_WAITING: - if (isWifi && hasSuggestedLabel) { - callStateLabel = label; - } else if (isAccount) { - callStateLabel = context.getString(R.string.incoming_via_template, label); - } else if (VideoUtils.isVideoCall(videoState)) { - callStateLabel = context.getString(R.string.notification_incoming_video_call); - } else { - callStateLabel = - context.getString(isWorkCall ? R.string.card_title_incoming_work_call - : R.string.card_title_incoming_call); - } - break; - case Call.State.DISCONNECTING: - // While in the DISCONNECTING state we display a "Hanging up" - // message in order to make the UI feel more responsive. (In - // GSM it's normal to see a delay of a couple of seconds while - // negotiating the disconnect with the network, so the "Hanging - // up" state at least lets the user know that we're doing - // something. This state is currently not used with CDMA.) - callStateLabel = context.getString(R.string.card_title_hanging_up); - break; - case Call.State.DISCONNECTED: - callStateLabel = disconnectCause.getLabel(); - if (TextUtils.isEmpty(callStateLabel)) { - callStateLabel = context.getString(R.string.card_title_call_ended); - } - break; - case Call.State.CONFERENCED: - callStateLabel = context.getString(R.string.card_title_conf_call); - break; - default: - Log.wtf(this, "updateCallStateWidgets: unexpected call: " + state); - } - return new CallStateLabel(callStateLabel, isAutoDismissing); - } - - private void initializeSecondaryCallInfo(boolean hasProvider) { - // mSecondaryCallName is initialized here (vs. onViewCreated) because it is inaccessible - // until mSecondaryCallInfo is inflated in the call above. - if (mSecondaryCallName == null) { - mSecondaryCallName = (TextView) getView().findViewById(R.id.secondaryCallName); - mSecondaryCallConferenceCallIcon = - getView().findViewById(R.id.secondaryCallConferenceCallIcon); - mSecondaryCallVideoCallIcon = - getView().findViewById(R.id.secondaryCallVideoCallIcon); - } - - if (mSecondaryCallProviderLabel == null && hasProvider) { - mSecondaryCallProviderInfo.setVisibility(View.VISIBLE); - mSecondaryCallProviderLabel = (TextView) getView() - .findViewById(R.id.secondaryCallProviderLabel); - } - } - - public void dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { - if (event.getEventType() == AccessibilityEvent.TYPE_ANNOUNCEMENT) { - // Indicate this call is in active if no label is provided. The label is empty when - // the call is in active, not in other status such as onhold or dialing etc. - if (!mCallStateLabel.isShown() || TextUtils.isEmpty(mCallStateLabel.getText())) { - event.getText().add( - TextUtils.expandTemplate( - getResources().getText(R.string.accessibility_call_is_active), - mPrimaryName.getText())); - } else { - dispatchPopulateAccessibilityEvent(event, mCallStateLabel); - dispatchPopulateAccessibilityEvent(event, mPrimaryName); - dispatchPopulateAccessibilityEvent(event, mCallTypeLabel); - dispatchPopulateAccessibilityEvent(event, mPhoneNumber); - } - return; - } - dispatchPopulateAccessibilityEvent(event, mCallStateLabel); - dispatchPopulateAccessibilityEvent(event, mPrimaryName); - dispatchPopulateAccessibilityEvent(event, mPhoneNumber); - dispatchPopulateAccessibilityEvent(event, mCallTypeLabel); - dispatchPopulateAccessibilityEvent(event, mSecondaryCallName); - dispatchPopulateAccessibilityEvent(event, mSecondaryCallProviderLabel); - - return; - } - - @Override - public void sendAccessibilityAnnouncement() { - mHandler.postDelayed(new Runnable() { - @Override - public void run() { - if (getView() != null && getView().getParent() != null && - isAccessibilityEnabled(getContext())) { - AccessibilityEvent event = AccessibilityEvent.obtain( - AccessibilityEvent.TYPE_ANNOUNCEMENT); - dispatchPopulateAccessibilityEvent(event); - getView().getParent().requestSendAccessibilityEvent(getView(), event); - } - } - - private boolean isAccessibilityEnabled(Context context) { - AccessibilityManager accessibilityManager = - (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE); - return accessibilityManager != null && accessibilityManager.isEnabled(); - - } - }, ACCESSIBILITY_ANNOUNCEMENT_DELAY_MS); - } - - @Override - public void setEndCallButtonEnabled(boolean enabled, boolean animate) { - if (enabled != mFloatingActionButton.isEnabled()) { - if (animate) { - if (enabled) { - mFloatingActionButtonController.scaleIn(AnimUtils.NO_DELAY); - } else { - mFloatingActionButtonController.scaleOut(); - } - } else { - if (enabled) { - mFloatingActionButtonContainer.setScaleX(1); - mFloatingActionButtonContainer.setScaleY(1); - mFloatingActionButtonContainer.setVisibility(View.VISIBLE); - } else { - mFloatingActionButtonContainer.setVisibility(View.GONE); - } - } - mFloatingActionButton.setEnabled(enabled); - updateFabPosition(); - } - } - - /** - * Changes the visibility of the HD audio icon. - * - * @param visible {@code true} if the UI should show the HD audio icon. - */ - @Override - public void showHdAudioIndicator(boolean visible) { - mHdAudioIcon.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - /** - * Changes the visibility of the forward icon. - * - * @param visible {@code true} if the UI should show the forward icon. - */ - @Override - public void showForwardIndicator(boolean visible) { - mForwardIcon.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - /** - * Changes the visibility of the spam icon. - * - * @param visible {@code true} if the UI should show the spam icon. - */ - @Override - public void showSpamIndicator(boolean visible) { - if (visible) { - mSpamIcon.setVisibility(View.VISIBLE); - mNumberLabel.setText(R.string.label_spam_caller); - mPhoneNumber.setVisibility(View.GONE); - } - } - - /** - * Changes the visibility of the "manage conference call" button. - * - * @param visible Whether to set the button to be visible or not. - */ - @Override - public void showManageConferenceCallButton(boolean visible) { - mManageConferenceCallButton.setVisibility(visible ? View.VISIBLE : View.GONE); - } - - /** - * Determines the current visibility of the manage conference button. - * - * @return {@code true} if the button is visible. - */ - @Override - public boolean isManageConferenceVisible() { - return mManageConferenceCallButton.getVisibility() == View.VISIBLE; - } - - /** - * Determines the current visibility of the call subject. - * - * @return {@code true} if the subject is visible. - */ - @Override - public boolean isCallSubjectVisible() { - return mCallSubject.getVisibility() == View.VISIBLE; - } - - /** - * Get the overall InCallUI background colors and apply to call card. - */ - public void updateColors() { - MaterialPalette themeColors = InCallPresenter.getInstance().getThemeColors(); - - if (mCurrentThemeColors != null && mCurrentThemeColors.equals(themeColors)) { - return; - } - - if (getResources().getBoolean(R.bool.is_layout_landscape)) { - final GradientDrawable drawable = - (GradientDrawable) mPrimaryCallCardContainer.getBackground(); - drawable.setColor(themeColors.mPrimaryColor); - } else { - mPrimaryCallCardContainer.setBackgroundColor(themeColors.mPrimaryColor); - } - mCallButtonsContainer.setBackgroundColor(themeColors.mPrimaryColor); - mCallSubject.setTextColor(themeColors.mPrimaryColor); - mContactContext.setBackgroundColor(themeColors.mPrimaryColor); - //TODO: set color of message text in call context "recent messages" to be the theme color. - - mCurrentThemeColors = themeColors; - } - - private void dispatchPopulateAccessibilityEvent(AccessibilityEvent event, View view) { - if (view == null) return; - final List<CharSequence> eventText = event.getText(); - int size = eventText.size(); - view.dispatchPopulateAccessibilityEvent(event); - // if no text added write null to keep relative position - if (size == eventText.size()) { - eventText.add(null); - } - } - - @Override - public void animateForNewOutgoingCall() { - final ViewGroup parent = (ViewGroup) mPrimaryCallCardContainer.getParent(); - - final ViewTreeObserver observer = getView().getViewTreeObserver(); - - mIsAnimating = true; - - observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - final ViewTreeObserver observer = getView().getViewTreeObserver(); - if (!observer.isAlive()) { - return; - } - observer.removeOnGlobalLayoutListener(this); - - final LayoutIgnoringListener listener = new LayoutIgnoringListener(); - mPrimaryCallCardContainer.addOnLayoutChangeListener(listener); - - // Prepare the state of views before the slide animation - final int originalHeight = mPrimaryCallCardContainer.getHeight(); - mPrimaryCallCardContainer.setTag(R.id.view_tag_callcard_actual_height, - originalHeight); - mPrimaryCallCardContainer.setBottom(parent.getHeight()); - - // Set up FAB. - mFloatingActionButtonContainer.setVisibility(View.GONE); - mFloatingActionButtonController.setScreenWidth(parent.getWidth()); - - mCallButtonsContainer.setAlpha(0); - mCallStateLabel.setAlpha(0); - mPrimaryName.setAlpha(0); - mCallTypeLabel.setAlpha(0); - mCallNumberAndLabel.setAlpha(0); - - assignTranslateAnimation(mCallStateLabel, 1); - assignTranslateAnimation(mCallStateIcon, 1); - assignTranslateAnimation(mPrimaryName, 2); - assignTranslateAnimation(mCallNumberAndLabel, 3); - assignTranslateAnimation(mCallTypeLabel, 4); - assignTranslateAnimation(mCallButtonsContainer, 5); - - final Animator animator = getShrinkAnimator(parent.getHeight(), originalHeight); - - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mPrimaryCallCardContainer.setTag(R.id.view_tag_callcard_actual_height, - null); - setViewStatePostAnimation(listener); - mIsAnimating = false; - InCallPresenter.getInstance().onShrinkAnimationComplete(); - if (animator != null) { - animator.removeListener(this); - } - } - }); - animator.start(); - } - }); - } - - @Override - public void showNoteSentToast() { - Toast.makeText(getContext(), R.string.note_sent, Toast.LENGTH_LONG).show(); - } - - public void onDialpadVisibilityChange(boolean isShown) { - mIsDialpadShowing = isShown; - updateFabPosition(); - } - - private void updateFabPosition() { - int offsetY = 0; - if (!mIsDialpadShowing) { - offsetY = mFloatingActionButtonVerticalOffset; - if (mSecondaryCallInfo.isShown() && mHasLargePhoto) { - offsetY -= mSecondaryCallInfo.getHeight(); - } - } - - mFloatingActionButtonController.align( - FloatingActionButtonController.ALIGN_MIDDLE, - 0 /* offsetX */, - offsetY, - true); - - mFloatingActionButtonController.resize( - mIsDialpadShowing ? mFabSmallDiameter : mFabNormalDiameter, true); - } - - @Override - public Context getContext() { - return getActivity(); - } - - @Override - public void onResume() { - super.onResume(); - // If the previous launch animation is still running, cancel it so that we don't get - // stuck in an intermediate animation state. - if (mAnimatorSet != null && mAnimatorSet.isRunning()) { - mAnimatorSet.cancel(); - } - - mIsLandscape = getResources().getBoolean(R.bool.is_layout_landscape); - mHasLargePhoto = getResources().getBoolean(R.bool.has_large_photo); - - final ViewGroup parent = ((ViewGroup) mPrimaryCallCardContainer.getParent()); - final ViewTreeObserver observer = parent.getViewTreeObserver(); - parent.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - ViewTreeObserver viewTreeObserver = observer; - if (!viewTreeObserver.isAlive()) { - viewTreeObserver = parent.getViewTreeObserver(); - } - viewTreeObserver.removeOnGlobalLayoutListener(this); - mFloatingActionButtonController.setScreenWidth(parent.getWidth()); - updateFabPosition(); - } - }); - - updateColors(); - } - - /** - * Adds a global layout listener to update the FAB's positioning on the next layout. This allows - * us to position the FAB after the secondary call info's height has been calculated. - */ - private void updateFabPositionForSecondaryCallInfo() { - mSecondaryCallInfo.getViewTreeObserver().addOnGlobalLayoutListener( - new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - final ViewTreeObserver observer = mSecondaryCallInfo.getViewTreeObserver(); - if (!observer.isAlive()) { - return; - } - observer.removeOnGlobalLayoutListener(this); - - onDialpadVisibilityChange(mIsDialpadShowing); - } - }); - } - - /** - * Animator that performs the upwards shrinking animation of the blue call card scrim. - * At the start of the animation, each child view is moved downwards by a pre-specified amount - * and then translated upwards together with the scrim. - */ - private Animator getShrinkAnimator(int startHeight, int endHeight) { - final ObjectAnimator shrinkAnimator = - ObjectAnimator.ofInt(mPrimaryCallCardContainer, "bottom", startHeight, endHeight); - shrinkAnimator.setDuration(mShrinkAnimationDuration); - shrinkAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationStart(Animator animation) { - mFloatingActionButton.setEnabled(true); - } - }); - shrinkAnimator.setInterpolator(AnimUtils.EASE_IN); - return shrinkAnimator; - } - - private void assignTranslateAnimation(View view, int offset) { - view.setLayerType(View.LAYER_TYPE_HARDWARE, null); - view.buildLayer(); - view.setTranslationY(mTranslationOffset * offset); - view.animate().translationY(0).alpha(1).withLayer() - .setDuration(mShrinkAnimationDuration).setInterpolator(AnimUtils.EASE_IN); - } - - private void setViewStatePostAnimation(View view) { - view.setTranslationY(0); - view.setAlpha(1); - } - - private void setViewStatePostAnimation(OnLayoutChangeListener layoutChangeListener) { - setViewStatePostAnimation(mCallButtonsContainer); - setViewStatePostAnimation(mCallStateLabel); - setViewStatePostAnimation(mPrimaryName); - setViewStatePostAnimation(mCallTypeLabel); - setViewStatePostAnimation(mCallNumberAndLabel); - setViewStatePostAnimation(mCallStateIcon); - - mPrimaryCallCardContainer.removeOnLayoutChangeListener(layoutChangeListener); - - mFloatingActionButtonController.scaleIn(AnimUtils.NO_DELAY); - } - - private final class LayoutIgnoringListener implements View.OnLayoutChangeListener { - @Override - public void onLayoutChange(View v, - int left, - int top, - int right, - int bottom, - int oldLeft, - int oldTop, - int oldRight, - int oldBottom) { - v.setLeft(oldLeft); - v.setRight(oldRight); - v.setTop(oldTop); - v.setBottom(oldBottom); - } - } -} diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java deleted file mode 100644 index 1ad0c11f1..000000000 --- a/InCallUI/src/com/android/incallui/CallCardPresenter.java +++ /dev/null @@ -1,1181 +0,0 @@ -/* - * 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 com.google.common.base.Preconditions; - -import android.Manifest; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.graphics.drawable.Drawable; -import android.net.Uri; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.telecom.Call.Details; -import android.telecom.DisconnectCause; -import android.telecom.PhoneAccount; -import android.telecom.PhoneAccountHandle; -import android.telecom.StatusHints; -import android.telecom.TelecomManager; -import android.telecom.VideoProfile; -import android.telephony.PhoneNumberUtils; -import android.text.TextUtils; -import android.view.View; -import android.view.accessibility.AccessibilityManager; -import android.widget.ListAdapter; - -import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.compat.telecom.TelecomManagerCompat; -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.testing.NeededForTesting; -import com.android.contacts.common.util.ContactDisplayUtils; -import com.android.dialer.R; -import com.android.incallui.Call.State; -import com.android.incallui.ContactInfoCache.ContactCacheEntry; -import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback; -import com.android.incallui.InCallPresenter.InCallDetailsListener; -import com.android.incallui.InCallPresenter.InCallEventListener; -import com.android.incallui.InCallPresenter.InCallState; -import com.android.incallui.InCallPresenter.InCallStateListener; -import com.android.incallui.InCallPresenter.IncomingCallListener; -import com.android.incalluibind.ObjectFactory; - -import java.lang.ref.WeakReference; - -import static com.android.contacts.common.compat.CallSdkCompat.Details.PROPERTY_ENTERPRISE_CALL; -/** - * Presenter for the Call Card Fragment. - * <p> - * This class listens for changes to InCallState and passes it along to the fragment. - */ -public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> - implements InCallStateListener, IncomingCallListener, InCallDetailsListener, - InCallEventListener, CallList.CallUpdateListener, DistanceHelper.Listener { - - public interface EmergencyCallListener { - public void onCallUpdated(BaseFragment fragment, boolean isEmergency); - } - - private static final String TAG = CallCardPresenter.class.getSimpleName(); - private static final long CALL_TIME_UPDATE_INTERVAL_MS = 1000; - - private final EmergencyCallListener mEmergencyCallListener = - ObjectFactory.newEmergencyCallListener(); - private DistanceHelper mDistanceHelper; - - private Call mPrimary; - private Call mSecondary; - private ContactCacheEntry mPrimaryContactInfo; - private ContactCacheEntry mSecondaryContactInfo; - private CallTimer mCallTimer; - private Context mContext; - @Nullable private ContactsPreferences mContactsPreferences; - private boolean mSpinnerShowing = false; - private boolean mHasShownToast = false; - private InCallContactInteractions mInCallContactInteractions; - private boolean mIsFullscreen = false; - - public static class ContactLookupCallback implements ContactInfoCacheCallback { - private final WeakReference<CallCardPresenter> mCallCardPresenter; - private final boolean mIsPrimary; - - public ContactLookupCallback(CallCardPresenter callCardPresenter, boolean isPrimary) { - mCallCardPresenter = new WeakReference<CallCardPresenter>(callCardPresenter); - mIsPrimary = isPrimary; - } - - @Override - public void onContactInfoComplete(String callId, ContactCacheEntry entry) { - CallCardPresenter presenter = mCallCardPresenter.get(); - if (presenter != null) { - presenter.onContactInfoComplete(callId, entry, mIsPrimary); - } - } - - @Override - public void onImageLoadComplete(String callId, ContactCacheEntry entry) { - CallCardPresenter presenter = mCallCardPresenter.get(); - if (presenter != null) { - presenter.onImageLoadComplete(callId, entry); - } - } - - @Override - public void onContactInteractionsInfoComplete(String callId, ContactCacheEntry entry) { - CallCardPresenter presenter = mCallCardPresenter.get(); - if (presenter != null) { - presenter.onContactInteractionsInfoComplete(callId, entry); - } - } - } - - public CallCardPresenter() { - // create the call timer - mCallTimer = new CallTimer(new Runnable() { - @Override - public void run() { - updateCallTime(); - } - }); - } - - public void init(Context context, Call call) { - mContext = Preconditions.checkNotNull(context); - mDistanceHelper = ObjectFactory.newDistanceHelper(mContext, this); - mContactsPreferences = ContactsPreferencesFactory.newContactsPreferences(mContext); - - // Call may be null if disconnect happened already. - if (call != null) { - mPrimary = call; - if (shouldShowNoteSentToast(mPrimary)) { - final CallCardUi ui = getUi(); - if (ui != null) { - ui.showNoteSentToast(); - } - } - CallList.getInstance().addCallUpdateListener(call.getId(), this); - - // start processing lookups right away. - if (!call.isConferenceCall()) { - startContactInfoSearch(call, true, call.getState() == Call.State.INCOMING); - } else { - updateContactEntry(null, true); - } - } - - onStateChange(null, InCallPresenter.getInstance().getInCallState(), CallList.getInstance()); - } - - @Override - public void onUiReady(CallCardUi ui) { - super.onUiReady(ui); - - if (mContactsPreferences != null) { - mContactsPreferences.refreshValue(ContactsPreferences.DISPLAY_ORDER_KEY); - } - - // Contact search may have completed before ui is ready. - if (mPrimaryContactInfo != null) { - updatePrimaryDisplayInfo(); - } - - // Register for call state changes last - InCallPresenter.getInstance().addListener(this); - InCallPresenter.getInstance().addIncomingCallListener(this); - InCallPresenter.getInstance().addDetailsListener(this); - InCallPresenter.getInstance().addInCallEventListener(this); - } - - @Override - public void onUiUnready(CallCardUi ui) { - super.onUiUnready(ui); - - // stop getting call state changes - InCallPresenter.getInstance().removeListener(this); - InCallPresenter.getInstance().removeIncomingCallListener(this); - InCallPresenter.getInstance().removeDetailsListener(this); - InCallPresenter.getInstance().removeInCallEventListener(this); - if (mPrimary != null) { - CallList.getInstance().removeCallUpdateListener(mPrimary.getId(), this); - } - - if (mDistanceHelper != null) { - mDistanceHelper.cleanUp(); - } - - mPrimary = null; - mPrimaryContactInfo = null; - mSecondaryContactInfo = null; - } - - @Override - public void onIncomingCall(InCallState oldState, InCallState newState, Call call) { - // same logic should happen as with onStateChange() - onStateChange(oldState, newState, CallList.getInstance()); - } - - @Override - public void onStateChange(InCallState oldState, InCallState newState, CallList callList) { - Log.d(this, "onStateChange() " + newState); - final CallCardUi ui = getUi(); - if (ui == null) { - return; - } - - Call primary = null; - Call secondary = null; - - if (newState == InCallState.INCOMING) { - primary = callList.getIncomingCall(); - } else if (newState == InCallState.PENDING_OUTGOING || newState == InCallState.OUTGOING) { - primary = callList.getOutgoingCall(); - if (primary == null) { - primary = callList.getPendingOutgoingCall(); - } - - // getCallToDisplay doesn't go through outgoing or incoming calls. It will return the - // highest priority call to display as the secondary call. - secondary = getCallToDisplay(callList, null, true); - } else if (newState == InCallState.INCALL) { - primary = getCallToDisplay(callList, null, false); - secondary = getCallToDisplay(callList, primary, true); - } - - if (mInCallContactInteractions != null && - (oldState == InCallState.INCOMING || newState == InCallState.INCOMING)) { - ui.showContactContext(newState != InCallState.INCOMING); - } - - Log.d(this, "Primary call: " + primary); - Log.d(this, "Secondary call: " + secondary); - - final boolean primaryChanged = !(Call.areSame(mPrimary, primary) && - Call.areSameNumber(mPrimary, primary)); - final boolean secondaryChanged = !(Call.areSame(mSecondary, secondary) && - Call.areSameNumber(mSecondary, secondary)); - - mSecondary = secondary; - Call previousPrimary = mPrimary; - mPrimary = primary; - - if (primaryChanged && shouldShowNoteSentToast(primary)) { - ui.showNoteSentToast(); - } - - // Refresh primary call information if either: - // 1. Primary call changed. - // 2. The call's ability to manage conference has changed. - // 3. The call subject should be shown or hidden. - if (shouldRefreshPrimaryInfo(primaryChanged, ui, shouldShowCallSubject(mPrimary))) { - // primary call has changed - if (previousPrimary != null) { - //clear progess spinner (if any) related to previous primary call - maybeShowProgressSpinner(previousPrimary.getState(), - Call.SessionModificationState.NO_REQUEST); - CallList.getInstance().removeCallUpdateListener(previousPrimary.getId(), this); - } - CallList.getInstance().addCallUpdateListener(mPrimary.getId(), this); - - mPrimaryContactInfo = ContactInfoCache.buildCacheEntryFromCall(mContext, mPrimary, - mPrimary.getState() == Call.State.INCOMING); - updatePrimaryDisplayInfo(); - maybeStartSearch(mPrimary, true); - maybeClearSessionModificationState(mPrimary); - } - - if (previousPrimary != null && mPrimary == null) { - //clear progess spinner (if any) related to previous primary call - maybeShowProgressSpinner(previousPrimary.getState(), - Call.SessionModificationState.NO_REQUEST); - CallList.getInstance().removeCallUpdateListener(previousPrimary.getId(), this); - } - - if (mSecondary == null) { - // Secondary call may have ended. Update the ui. - mSecondaryContactInfo = null; - updateSecondaryDisplayInfo(); - } else if (secondaryChanged) { - // secondary call has changed - mSecondaryContactInfo = ContactInfoCache.buildCacheEntryFromCall(mContext, mSecondary, - mSecondary.getState() == Call.State.INCOMING); - updateSecondaryDisplayInfo(); - maybeStartSearch(mSecondary, false); - maybeClearSessionModificationState(mSecondary); - } - - // Start/stop timers. - if (isPrimaryCallActive()) { - Log.d(this, "Starting the calltime timer"); - mCallTimer.start(CALL_TIME_UPDATE_INTERVAL_MS); - } else { - Log.d(this, "Canceling the calltime timer"); - mCallTimer.cancel(); - ui.setPrimaryCallElapsedTime(false, 0); - } - - // Set the call state - int callState = Call.State.IDLE; - if (mPrimary != null) { - callState = mPrimary.getState(); - updatePrimaryCallState(); - } else { - getUi().setCallState( - callState, - VideoProfile.STATE_AUDIO_ONLY, - Call.SessionModificationState.NO_REQUEST, - new DisconnectCause(DisconnectCause.UNKNOWN), - null, - null, - null, - false /* isWifi */, - false /* isConference */, - false /* isWorkCall */); - getUi().showHdAudioIndicator(false); - } - - maybeShowManageConferenceCallButton(); - - // Hide the end call button instantly if we're receiving an incoming call. - getUi().setEndCallButtonEnabled(shouldShowEndCallButton(mPrimary, callState), - callState != Call.State.INCOMING /* animate */); - - maybeSendAccessibilityEvent(oldState, newState, primaryChanged); - } - - @Override - public void onDetailsChanged(Call call, Details details) { - updatePrimaryCallState(); - - if (call.can(Details.CAPABILITY_MANAGE_CONFERENCE) != - details.can(Details.CAPABILITY_MANAGE_CONFERENCE)) { - maybeShowManageConferenceCallButton(); - } - } - - @Override - public void onCallChanged(Call call) { - // No-op; specific call updates handled elsewhere. - } - - /** - * Handles a change to the session modification state for a call. Triggers showing the progress - * spinner, as well as updating the call state label. - * - * @param sessionModificationState The new session modification state. - */ - @Override - public void onSessionModificationStateChange(int sessionModificationState) { - Log.d(this, "onSessionModificationStateChange : sessionModificationState = " + - sessionModificationState); - - if (mPrimary == null) { - return; - } - maybeShowProgressSpinner(mPrimary.getState(), sessionModificationState); - getUi().setEndCallButtonEnabled(sessionModificationState != - Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST, - true /* shouldAnimate */); - updatePrimaryCallState(); - } - - /** - * Handles a change to the last forwarding number by refreshing the primary call info. - */ - @Override - public void onLastForwardedNumberChange() { - Log.v(this, "onLastForwardedNumberChange"); - - if (mPrimary == null) { - return; - } - updatePrimaryDisplayInfo(); - } - - /** - * Handles a change to the child number by refreshing the primary call info. - */ - @Override - public void onChildNumberChange() { - Log.v(this, "onChildNumberChange"); - - if (mPrimary == null) { - return; - } - updatePrimaryDisplayInfo(); - } - - private boolean shouldRefreshPrimaryInfo(boolean primaryChanged, CallCardUi ui, - boolean shouldShowCallSubject) { - if (mPrimary == null) { - return false; - } - return primaryChanged || - ui.isManageConferenceVisible() != shouldShowManageConference() || - ui.isCallSubjectVisible() != shouldShowCallSubject; - } - - private String getSubscriptionNumber() { - // If it's an emergency call, and they're not populating the callback number, - // then try to fall back to the phone sub info (to hopefully get the SIM's - // number directly from the telephony layer). - PhoneAccountHandle accountHandle = mPrimary.getAccountHandle(); - if (accountHandle != null) { - TelecomManager mgr = InCallPresenter.getInstance().getTelecomManager(); - PhoneAccount account = TelecomManagerCompat.getPhoneAccount(mgr, accountHandle); - if (account != null) { - return getNumberFromHandle(account.getSubscriptionAddress()); - } - } - return null; - } - - private void updatePrimaryCallState() { - if (getUi() != null && mPrimary != null) { - boolean isWorkCall = mPrimary.hasProperty(PROPERTY_ENTERPRISE_CALL) - || (mPrimaryContactInfo == null ? false - : mPrimaryContactInfo.userType == ContactsUtils.USER_TYPE_WORK); - getUi().setCallState( - mPrimary.getState(), - mPrimary.getVideoState(), - mPrimary.getSessionModificationState(), - mPrimary.getDisconnectCause(), - getConnectionLabel(), - getCallStateIcon(), - getGatewayNumber(), - mPrimary.hasProperty(Details.PROPERTY_WIFI), - mPrimary.isConferenceCall(), - isWorkCall); - - maybeShowHdAudioIcon(); - setCallbackNumber(); - } - } - - /** - * Show the HD icon if the call is active and has {@link Details#PROPERTY_HIGH_DEF_AUDIO}, - * except if the call has a last forwarded number (we will show that icon instead). - */ - private void maybeShowHdAudioIcon() { - boolean showHdAudioIndicator = - isPrimaryCallActive() && mPrimary.hasProperty(Details.PROPERTY_HIGH_DEF_AUDIO) && - TextUtils.isEmpty(mPrimary.getLastForwardedNumber()); - getUi().showHdAudioIndicator(showHdAudioIndicator); - } - - private void maybeShowSpamIconAndLabel() { - getUi().showSpamIndicator(mPrimary.isSpam()); - } - - /** - * Only show the conference call button if we can manage the conference. - */ - private void maybeShowManageConferenceCallButton() { - getUi().showManageConferenceCallButton(shouldShowManageConference()); - } - - /** - * Determines if a pending session modification exists for the current call. If so, the - * progress spinner is shown, and the call state is updated. - * - * @param callState The call state. - * @param sessionModificationState The session modification state. - */ - private void maybeShowProgressSpinner(int callState, int sessionModificationState) { - final boolean show = sessionModificationState == - Call.SessionModificationState.WAITING_FOR_RESPONSE - && callState == Call.State.ACTIVE; - if (show != mSpinnerShowing) { - getUi().setProgressSpinnerVisible(show); - mSpinnerShowing = show; - } - } - - /** - * Determines if the manage conference button should be visible, based on the current primary - * call. - * - * @return {@code True} if the manage conference button should be visible. - */ - private boolean shouldShowManageConference() { - if (mPrimary == null) { - return false; - } - - return mPrimary.can(android.telecom.Call.Details.CAPABILITY_MANAGE_CONFERENCE) - && !mIsFullscreen; - } - - private void setCallbackNumber() { - String callbackNumber = null; - - // Show the emergency callback number if either: - // 1. This is an emergency call. - // 2. The phone is in Emergency Callback Mode, which means we should show the callback - // number. - boolean showCallbackNumber = mPrimary.hasProperty(Details.PROPERTY_EMERGENCY_CALLBACK_MODE); - - if (mPrimary.isEmergencyCall() || showCallbackNumber) { - callbackNumber = getSubscriptionNumber(); - } else { - StatusHints statusHints = mPrimary.getTelecomCall().getDetails().getStatusHints(); - if (statusHints != null) { - Bundle extras = statusHints.getExtras(); - if (extras != null) { - callbackNumber = extras.getString(TelecomManager.EXTRA_CALL_BACK_NUMBER); - } - } - } - - final String simNumber = TelecomManagerCompat.getLine1Number( - InCallPresenter.getInstance().getTelecomManager(), - InCallPresenter.getInstance().getTelephonyManager(), - mPrimary.getAccountHandle()); - if (!showCallbackNumber && PhoneNumberUtils.compare(callbackNumber, simNumber)) { - Log.d(this, "Numbers are the same (and callback number is not being forced to show);" + - " not showing the callback number"); - callbackNumber = null; - } - - getUi().setCallbackNumber(callbackNumber, mPrimary.isEmergencyCall() || showCallbackNumber); - } - - public void updateCallTime() { - final CallCardUi ui = getUi(); - - if (ui == null) { - mCallTimer.cancel(); - } else if (!isPrimaryCallActive()) { - ui.setPrimaryCallElapsedTime(false, 0); - mCallTimer.cancel(); - } else { - final long callStart = mPrimary.getConnectTimeMillis(); - if (callStart > 0) { - final long duration = System.currentTimeMillis() - callStart; - ui.setPrimaryCallElapsedTime(true, duration); - } - } - } - - public void onCallStateButtonTouched() { - Intent broadcastIntent = ObjectFactory.getCallStateButtonBroadcastIntent(mContext); - if (broadcastIntent != null) { - Log.d(this, "Sending call state button broadcast: ", broadcastIntent); - mContext.sendBroadcast(broadcastIntent, Manifest.permission.READ_PHONE_STATE); - } - } - - /** - * Handles click on the contact photo by toggling fullscreen mode if the current call is a video - * call. - */ - public void onContactPhotoClick() { - if (mPrimary != null && mPrimary.isVideoCall(mContext)) { - InCallPresenter.getInstance().toggleFullscreenMode(); - } - } - - private void maybeStartSearch(Call call, boolean isPrimary) { - // no need to start search for conference calls which show generic info. - if (call != null && !call.isConferenceCall()) { - startContactInfoSearch(call, isPrimary, call.getState() == Call.State.INCOMING); - } - } - - private void maybeClearSessionModificationState(Call call) { - if (call.getSessionModificationState() != - Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - call.setSessionModificationState(Call.SessionModificationState.NO_REQUEST); - } - } - - /** - * Starts a query for more contact data for the save primary and secondary calls. - */ - private void startContactInfoSearch(final Call call, final boolean isPrimary, - boolean isIncoming) { - final ContactInfoCache cache = ContactInfoCache.getInstance(mContext); - - cache.findInfo(call, isIncoming, new ContactLookupCallback(this, isPrimary)); - } - - private void onContactInfoComplete(String callId, ContactCacheEntry entry, boolean isPrimary) { - final boolean entryMatchesExistingCall = - (isPrimary && mPrimary != null && TextUtils.equals(callId, mPrimary.getId())) || - (!isPrimary && mSecondary != null && TextUtils.equals(callId, mSecondary.getId())); - if (entryMatchesExistingCall) { - updateContactEntry(entry, isPrimary); - } else { - Log.w(this, "Dropping stale contact lookup info for " + callId); - } - - final Call call = CallList.getInstance().getCallById(callId); - if (call != null) { - call.getLogState().contactLookupResult = entry.contactLookupResult; - } - if (entry.contactUri != null) { - CallerInfoUtils.sendViewNotification(mContext, entry.contactUri); - } - } - - private void onImageLoadComplete(String callId, ContactCacheEntry entry) { - if (getUi() == null) { - return; - } - - if (entry.photo != null) { - if (mPrimary != null && callId.equals(mPrimary.getId())) { - boolean showContactPhoto = !VideoCallPresenter.showIncomingVideo( - mPrimary.getVideoState(), mPrimary.getState()); - getUi().setPrimaryImage(entry.photo, showContactPhoto); - } - } - } - - private void onContactInteractionsInfoComplete(String callId, ContactCacheEntry entry) { - if (getUi() == null) { - return; - } - - if (mPrimary != null && callId.equals(mPrimary.getId())) { - mPrimaryContactInfo.locationAddress = entry.locationAddress; - updateContactInteractions(); - } - } - - @Override - public void onLocationReady() { - // This will only update the contacts interactions data if the location returns after - // the contact information is found. - updateContactInteractions(); - } - - private void updateContactInteractions() { - if (mPrimary != null && mPrimaryContactInfo != null - && (mPrimaryContactInfo.locationAddress != null - || mPrimaryContactInfo.openingHours != null)) { - // TODO: This is hardcoded to "isBusiness" because functionality to differentiate - // between business and personal has not yet been added. - if (setInCallContactInteractionsType(true /* isBusiness */)) { - getUi().setContactContextTitle( - mInCallContactInteractions.getBusinessListHeaderView()); - } - - mInCallContactInteractions.setBusinessInfo( - mPrimaryContactInfo.locationAddress, - mDistanceHelper.calculateDistance(mPrimaryContactInfo.locationAddress), - mPrimaryContactInfo.openingHours); - getUi().setContactContextContent(mInCallContactInteractions.getListAdapter()); - getUi().showContactContext(mPrimary.getState() != State.INCOMING); - } else { - getUi().showContactContext(false); - } - } - - /** - * Update the contact interactions type so that the correct UI is shown. - * - * @param isBusiness {@code true} if the interaction is a business interaction, {@code false} if - * it is a personal contact. - * - * @return {@code true} if this is a new type of contact interaction (business or personal). - * {@code false} if it hasn't changed. - */ - private boolean setInCallContactInteractionsType(boolean isBusiness) { - if (mInCallContactInteractions == null) { - mInCallContactInteractions = - new InCallContactInteractions(mContext, isBusiness); - return true; - } - - return mInCallContactInteractions.switchContactType(isBusiness); - } - - private void updateContactEntry(ContactCacheEntry entry, boolean isPrimary) { - if (isPrimary) { - mPrimaryContactInfo = entry; - updatePrimaryDisplayInfo(); - } else { - mSecondaryContactInfo = entry; - updateSecondaryDisplayInfo(); - } - } - - /** - * Get the highest priority call to display. - * Goes through the calls and chooses which to return based on priority of which type of call - * to display to the user. Callers can use the "ignore" feature to get the second best call - * by passing a previously found primary call as ignore. - * - * @param ignore A call to ignore if found. - */ - private Call getCallToDisplay(CallList callList, Call ignore, boolean skipDisconnected) { - // Active calls come second. An active call always gets precedent. - Call retval = callList.getActiveCall(); - if (retval != null && retval != ignore) { - return retval; - } - - // Sometimes there is intemediate state that two calls are in active even one is about - // to be on hold. - retval = callList.getSecondActiveCall(); - if (retval != null && retval != ignore) { - return retval; - } - - // Disconnected calls get primary position if there are no active calls - // to let user know quickly what call has disconnected. Disconnected - // calls are very short lived. - if (!skipDisconnected) { - retval = callList.getDisconnectingCall(); - if (retval != null && retval != ignore) { - return retval; - } - retval = callList.getDisconnectedCall(); - if (retval != null && retval != ignore) { - return retval; - } - } - - // Then we go to background call (calls on hold) - retval = callList.getBackgroundCall(); - if (retval != null && retval != ignore) { - return retval; - } - - // Lastly, we go to a second background call. - retval = callList.getSecondBackgroundCall(); - - return retval; - } - - private void updatePrimaryDisplayInfo() { - final CallCardUi ui = getUi(); - if (ui == null) { - // TODO: May also occur if search result comes back after ui is destroyed. Look into - // removing that case completely. - Log.d(TAG, "updatePrimaryDisplayInfo called but ui is null!"); - return; - } - - if (mPrimary == null) { - // Clear the primary display info. - ui.setPrimary(null, null, false, null, null, false, false, false); - return; - } - - // Hide the contact photo if we are in a video call and the incoming video surface is - // showing. - boolean showContactPhoto = !VideoCallPresenter - .showIncomingVideo(mPrimary.getVideoState(), mPrimary.getState()); - - // Call placed through a work phone account. - boolean hasWorkCallProperty = mPrimary.hasProperty(PROPERTY_ENTERPRISE_CALL); - - if (mPrimary.isConferenceCall()) { - Log.d(TAG, "Update primary display info for conference call."); - - ui.setPrimary( - null /* number */, - getConferenceString(mPrimary), - false /* nameIsNumber */, - null /* label */, - getConferencePhoto(mPrimary), - false /* isSipCall */, - showContactPhoto, - hasWorkCallProperty); - } else if (mPrimaryContactInfo != null) { - Log.d(TAG, "Update primary display info for " + mPrimaryContactInfo); - - String name = getNameForCall(mPrimaryContactInfo); - String number; - - boolean isChildNumberShown = !TextUtils.isEmpty(mPrimary.getChildNumber()); - boolean isForwardedNumberShown = !TextUtils.isEmpty(mPrimary.getLastForwardedNumber()); - boolean isCallSubjectShown = shouldShowCallSubject(mPrimary); - - if (isCallSubjectShown) { - ui.setCallSubject(mPrimary.getCallSubject()); - } else { - ui.setCallSubject(null); - } - - if (isCallSubjectShown) { - number = null; - } else if (isChildNumberShown) { - number = mContext.getString(R.string.child_number, mPrimary.getChildNumber()); - } else if (isForwardedNumberShown) { - // Use last forwarded number instead of second line, if present. - number = mPrimary.getLastForwardedNumber(); - } else { - number = getNumberForCall(mPrimaryContactInfo); - } - - ui.showForwardIndicator(isForwardedNumberShown); - maybeShowHdAudioIcon(); - - boolean nameIsNumber = name != null && name.equals(mPrimaryContactInfo.number); - // Call with caller that is a work contact. - boolean isWorkContact = (mPrimaryContactInfo.userType == ContactsUtils.USER_TYPE_WORK); - ui.setPrimary( - number, - name, - nameIsNumber, - isChildNumberShown || isCallSubjectShown ? null : mPrimaryContactInfo.label, - mPrimaryContactInfo.photo, - mPrimaryContactInfo.isSipCall, - showContactPhoto, - hasWorkCallProperty || isWorkContact); - - updateContactInteractions(); - } else { - // Clear the primary display info. - ui.setPrimary(null, null, false, null, null, false, false, false); - } - - if (mEmergencyCallListener != null) { - boolean isEmergencyCall = mPrimary.isEmergencyCall(); - mEmergencyCallListener.onCallUpdated((BaseFragment) ui, isEmergencyCall); - } - maybeShowSpamIconAndLabel(); - } - - private void updateSecondaryDisplayInfo() { - final CallCardUi ui = getUi(); - if (ui == null) { - return; - } - - if (mSecondary == null) { - // Clear the secondary display info. - ui.setSecondary(false, null, false, null, null, false /* isConference */, - false /* isVideoCall */, mIsFullscreen); - return; - } - - if (mSecondary.isConferenceCall()) { - ui.setSecondary( - true /* show */, - getConferenceString(mSecondary), - false /* nameIsNumber */, - null /* label */, - getCallProviderLabel(mSecondary), - true /* isConference */, - mSecondary.isVideoCall(mContext), - mIsFullscreen); - } else if (mSecondaryContactInfo != null) { - Log.d(TAG, "updateSecondaryDisplayInfo() " + mSecondaryContactInfo); - String name = getNameForCall(mSecondaryContactInfo); - boolean nameIsNumber = name != null && name.equals(mSecondaryContactInfo.number); - ui.setSecondary( - true /* show */, - name, - nameIsNumber, - mSecondaryContactInfo.label, - getCallProviderLabel(mSecondary), - false /* isConference */, - mSecondary.isVideoCall(mContext), - mIsFullscreen); - } else { - // Clear the secondary display info. - ui.setSecondary(false, null, false, null, null, false /* isConference */, - false /* isVideoCall */, mIsFullscreen); - } - } - - - /** - * Gets the phone account to display for a call. - */ - private PhoneAccount getAccountForCall(Call call) { - PhoneAccountHandle accountHandle = call.getAccountHandle(); - if (accountHandle == null) { - return null; - } - return TelecomManagerCompat.getPhoneAccount( - InCallPresenter.getInstance().getTelecomManager(), - accountHandle); - } - - /** - * Returns the gateway number for any existing outgoing call. - */ - private String getGatewayNumber() { - if (hasOutgoingGatewayCall()) { - return getNumberFromHandle(mPrimary.getGatewayInfo().getGatewayAddress()); - } - return null; - } - - /** - * Return the string label to represent the call provider - */ - private String getCallProviderLabel(Call call) { - PhoneAccount account = getAccountForCall(call); - TelecomManager mgr = InCallPresenter.getInstance().getTelecomManager(); - if (account != null && !TextUtils.isEmpty(account.getLabel()) - && TelecomManagerCompat.getCallCapablePhoneAccounts(mgr).size() > 1) { - return account.getLabel().toString(); - } - return null; - } - - /** - * Returns the label (line of text above the number/name) for any given call. - * For example, "calling via [Account/Google Voice]" for outgoing calls. - */ - private String getConnectionLabel() { - StatusHints statusHints = mPrimary.getTelecomCall().getDetails().getStatusHints(); - if (statusHints != null && !TextUtils.isEmpty(statusHints.getLabel())) { - return statusHints.getLabel().toString(); - } - - if (hasOutgoingGatewayCall() && getUi() != null) { - // Return the label for the gateway app on outgoing calls. - final PackageManager pm = mContext.getPackageManager(); - try { - ApplicationInfo info = pm.getApplicationInfo( - mPrimary.getGatewayInfo().getGatewayProviderPackageName(), 0); - return pm.getApplicationLabel(info).toString(); - } catch (PackageManager.NameNotFoundException e) { - Log.e(this, "Gateway Application Not Found.", e); - return null; - } - } - return getCallProviderLabel(mPrimary); - } - - private Drawable getCallStateIcon() { - // Return connection icon if one exists. - StatusHints statusHints = mPrimary.getTelecomCall().getDetails().getStatusHints(); - if (statusHints != null && statusHints.getIcon() != null) { - Drawable icon = statusHints.getIcon().loadDrawable(mContext); - if (icon != null) { - return icon; - } - } - - return null; - } - - private boolean hasOutgoingGatewayCall() { - // We only display the gateway information while STATE_DIALING so return false for any other - // call state. - // TODO: mPrimary can be null because this is called from updatePrimaryDisplayInfo which - // is also called after a contact search completes (call is not present yet). Split the - // UI update so it can receive independent updates. - if (mPrimary == null) { - return false; - } - return Call.State.isDialing(mPrimary.getState()) && mPrimary.getGatewayInfo() != null && - !mPrimary.getGatewayInfo().isEmpty(); - } - - /** - * Gets the name to display for the call. - */ - @NeededForTesting - String getNameForCall(ContactCacheEntry contactInfo) { - String preferredName = ContactDisplayUtils.getPreferredDisplayName( - contactInfo.namePrimary, - contactInfo.nameAlternative, - mContactsPreferences); - if (TextUtils.isEmpty(preferredName)) { - return contactInfo.number; - } - return preferredName; - } - - /** - * Gets the number to display for a call. - */ - @NeededForTesting - String getNumberForCall(ContactCacheEntry contactInfo) { - // If the name is empty, we use the number for the name...so don't show a second - // number in the number field - String preferredName = ContactDisplayUtils.getPreferredDisplayName( - contactInfo.namePrimary, - contactInfo.nameAlternative, - mContactsPreferences); - if (TextUtils.isEmpty(preferredName)) { - return contactInfo.location; - } - return contactInfo.number; - } - - public void secondaryInfoClicked() { - if (mSecondary == null) { - Log.w(this, "Secondary info clicked but no secondary call."); - return; - } - - Log.i(this, "Swapping call to foreground: " + mSecondary); - TelecomAdapter.getInstance().unholdCall(mSecondary.getId()); - } - - public void endCallClicked() { - if (mPrimary == null) { - return; - } - - Log.i(this, "Disconnecting call: " + mPrimary); - final String callId = mPrimary.getId(); - mPrimary.setState(Call.State.DISCONNECTING); - CallList.getInstance().onUpdate(mPrimary); - TelecomAdapter.getInstance().disconnectCall(callId); - } - - private String getNumberFromHandle(Uri handle) { - return handle == null ? "" : handle.getSchemeSpecificPart(); - } - - /** - * Handles a change to the fullscreen mode of the in-call UI. - * - * @param isFullscreenMode {@code True} if the in-call UI is entering full screen mode. - */ - @Override - public void onFullscreenModeChanged(boolean isFullscreenMode) { - mIsFullscreen = isFullscreenMode; - final CallCardUi ui = getUi(); - if (ui == null) { - return; - } - ui.setCallCardVisible(!isFullscreenMode); - ui.setSecondaryInfoVisible(!isFullscreenMode); - maybeShowManageConferenceCallButton(); - } - - @Override - public void onSecondaryCallerInfoVisibilityChanged(boolean isVisible, int height) { - // No-op - the Call Card is the origin of this event. - } - - private boolean isPrimaryCallActive() { - return mPrimary != null && mPrimary.getState() == Call.State.ACTIVE; - } - - private String getConferenceString(Call call) { - boolean isGenericConference = call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE); - Log.v(this, "getConferenceString: " + isGenericConference); - - final int resId = isGenericConference - ? R.string.card_title_in_call : R.string.card_title_conf_call; - return mContext.getResources().getString(resId); - } - - private Drawable getConferencePhoto(Call call) { - boolean isGenericConference = call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE); - Log.v(this, "getConferencePhoto: " + isGenericConference); - - final int resId = isGenericConference - ? R.drawable.img_phone : R.drawable.img_conference; - Drawable photo = mContext.getResources().getDrawable(resId); - photo.setAutoMirrored(true); - return photo; - } - - private boolean shouldShowEndCallButton(Call primary, int callState) { - if (primary == null) { - return false; - } - if ((!Call.State.isConnectingOrConnected(callState) - && callState != Call.State.DISCONNECTING) || callState == Call.State.INCOMING) { - return false; - } - if (mPrimary.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - return false; - } - return true; - } - - private void maybeSendAccessibilityEvent(InCallState oldState, InCallState newState, - boolean primaryChanged) { - if (mContext == null) { - return; - } - final AccessibilityManager am = (AccessibilityManager) mContext.getSystemService( - Context.ACCESSIBILITY_SERVICE); - if (!am.isEnabled()) { - return; - } - // Announce the current call if it's new incoming/outgoing call or primary call is changed - // due to switching calls between two ongoing calls (one is on hold). - if ((oldState != InCallState.OUTGOING && newState == InCallState.OUTGOING) - || (oldState != InCallState.INCOMING && newState == InCallState.INCOMING) - || primaryChanged) { - if (getUi() != null) { - getUi().sendAccessibilityAnnouncement(); - } - } - } - - /** - * Determines whether the call subject should be visible on the UI. For the call subject to be - * visible, the call has to be in an incoming or waiting state, and the subject must not be - * empty. - * - * @param call The call. - * @return {@code true} if the subject should be shown, {@code false} otherwise. - */ - private boolean shouldShowCallSubject(Call call) { - if (call == null) { - return false; - } - - boolean isIncomingOrWaiting = mPrimary.getState() == Call.State.INCOMING || - mPrimary.getState() == Call.State.CALL_WAITING; - return isIncomingOrWaiting && !TextUtils.isEmpty(call.getCallSubject()) && - call.getNumberPresentation() == TelecomManager.PRESENTATION_ALLOWED && - call.isCallSubjectSupported(); - } - - /** - * Determines whether the "note sent" toast should be shown. It should be shown for a new - * outgoing call with a subject. - * - * @param call The call - * @return {@code true} if the toast should be shown, {@code false} otherwise. - */ - private boolean shouldShowNoteSentToast(Call call) { - return call != null && hasCallSubject(call) && (call.getState() == Call.State.DIALING - || call.getState() == Call.State.CONNECTING); - } - - private static boolean hasCallSubject(Call call) { - return !TextUtils.isEmpty(call.getTelecomCall().getDetails().getIntentExtras() - .getString(TelecomManager.EXTRA_CALL_SUBJECT)); - } - - public interface CallCardUi extends Ui { - void setVisible(boolean on); - void setContactContextTitle(View listHeaderView); - void setContactContextContent(ListAdapter listAdapter); - void showContactContext(boolean show); - void setCallCardVisible(boolean visible); - void setPrimary(String number, String name, boolean nameIsNumber, String label, - Drawable photo, boolean isSipCall, boolean isContactPhotoShown, boolean isWorkCall); - void setSecondary(boolean show, String name, boolean nameIsNumber, String label, - String providerLabel, boolean isConference, boolean isVideoCall, - boolean isFullscreen); - void setSecondaryInfoVisible(boolean visible); - void setCallState(int state, int videoState, int sessionModificationState, - DisconnectCause disconnectCause, String connectionLabel, - Drawable connectionIcon, String gatewayNumber, boolean isWifi, - boolean isConference, boolean isWorkCall); - void setPrimaryCallElapsedTime(boolean show, long duration); - void setPrimaryName(String name, boolean nameIsNumber); - void setPrimaryImage(Drawable image, boolean isVisible); - void setPrimaryPhoneNumber(String phoneNumber); - void setPrimaryLabel(String label); - void setEndCallButtonEnabled(boolean enabled, boolean animate); - void setCallbackNumber(String number, boolean isEmergencyCalls); - void setCallSubject(String callSubject); - void setProgressSpinnerVisible(boolean visible); - void showHdAudioIndicator(boolean visible); - void showForwardIndicator(boolean visible); - void showSpamIndicator(boolean visible); - void showManageConferenceCallButton(boolean visible); - boolean isManageConferenceVisible(); - boolean isCallSubjectVisible(); - void animateForNewOutgoingCall(); - void sendAccessibilityAnnouncement(); - void showNoteSentToast(); - } -} diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java deleted file mode 100644 index 48870f68a..000000000 --- a/InCallUI/src/com/android/incallui/CallList.java +++ /dev/null @@ -1,695 +0,0 @@ -/* - * 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.Handler; -import android.os.Message; -import android.os.Trace; -import android.telecom.DisconnectCause; -import android.telecom.PhoneAccount; - -import com.android.contacts.common.testing.NeededForTesting; -import com.android.dialer.logging.Logger; -import com.android.dialer.service.ExtendedCallInfoService; -import com.android.incallui.util.TelecomCallUtil; - -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * Maintains the list of active calls and notifies interested classes of changes to the call list - * as they are received from the telephony stack. Primary listener of changes to this class is - * InCallPresenter. - */ -public class CallList { - - private static final int DISCONNECTED_CALL_SHORT_TIMEOUT_MS = 200; - private static final int DISCONNECTED_CALL_MEDIUM_TIMEOUT_MS = 2000; - private static final int DISCONNECTED_CALL_LONG_TIMEOUT_MS = 5000; - - private static final int EVENT_DISCONNECTED_TIMEOUT = 1; - private static final long BLOCK_QUERY_TIMEOUT_MS = 1000; - - private static CallList sInstance = new CallList(); - - private final HashMap<String, Call> mCallById = new HashMap<>(); - private final HashMap<android.telecom.Call, Call> mCallByTelecomCall = new HashMap<>(); - private final HashMap<String, List<String>> mCallTextReponsesMap = Maps.newHashMap(); - /** - * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is - * load factor before resizing, 1 means we only expect a single thread to - * access the map so make only a single shard - */ - private final Set<Listener> mListeners = Collections.newSetFromMap( - new ConcurrentHashMap<Listener, Boolean>(8, 0.9f, 1)); - private final HashMap<String, List<CallUpdateListener>> mCallUpdateListenerMap = Maps - .newHashMap(); - private final Set<Call> mPendingDisconnectCalls = Collections.newSetFromMap( - new ConcurrentHashMap<Call, Boolean>(8, 0.9f, 1)); - private ExtendedCallInfoService mExtendedCallInfoService; - - /** - * Static singleton accessor method. - */ - public static CallList getInstance() { - return sInstance; - } - - /** - * USED ONLY FOR TESTING - * Testing-only constructor. Instance should only be acquired through getInstance(). - */ - @NeededForTesting - CallList() { - } - - public void onCallAdded(final android.telecom.Call telecomCall, LatencyReport latencyReport) { - Trace.beginSection("onCallAdded"); - final Call call = new Call(telecomCall, latencyReport); - Log.d(this, "onCallAdded: callState=" + call.getState()); - - if (call.getState() == Call.State.INCOMING || - call.getState() == Call.State.CALL_WAITING) { - onIncoming(call, call.getCannedSmsResponses()); - if (mExtendedCallInfoService != null) { - String number = TelecomCallUtil.getNumber(telecomCall); - mExtendedCallInfoService.getExtendedCallInfo(number, null, - new ExtendedCallInfoService.Listener() { - @Override - public void onComplete(boolean isSpam) { - call.setSpam(isSpam); - onUpdate(call); - } - }); - } - } else { - onUpdate(call); - } - - call.logCallInitiationType(); - Trace.endSection(); - } - - public void onCallRemoved(android.telecom.Call telecomCall) { - if (mCallByTelecomCall.containsKey(telecomCall)) { - Call call = mCallByTelecomCall.get(telecomCall); - Logger.logCall(call); - if (updateCallInMap(call)) { - Log.w(this, "Removing call not previously disconnected " + call.getId()); - } - updateCallTextMap(call, null); - } - } - - /** - * Called when a single call disconnects. - */ - public void onDisconnect(Call call) { - if (updateCallInMap(call)) { - Log.i(this, "onDisconnect: " + call); - // notify those listening for changes on this specific change - notifyCallUpdateListeners(call); - // notify those listening for all disconnects - notifyListenersOfDisconnect(call); - } - } - - /** - * Called when a single call has changed. - */ - public void onIncoming(Call call, List<String> textMessages) { - if (updateCallInMap(call)) { - Log.i(this, "onIncoming - " + call); - } - updateCallTextMap(call, textMessages); - - for (Listener listener : mListeners) { - listener.onIncomingCall(call); - } - } - - public void onUpgradeToVideo(Call call){ - Log.d(this, "onUpgradeToVideo call=" + call); - for (Listener listener : mListeners) { - listener.onUpgradeToVideo(call); - } - } - /** - * Called when a single call has changed. - */ - public void onUpdate(Call call) { - Trace.beginSection("onUpdate"); - onUpdateCall(call); - notifyGenericListeners(); - Trace.endSection(); - } - - /** - * Called when a single call has changed session modification state. - * - * @param call The call. - * @param sessionModificationState The new session modification state. - */ - public void onSessionModificationStateChange(Call call, int sessionModificationState) { - final List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(call.getId()); - if (listeners != null) { - for (CallUpdateListener listener : listeners) { - listener.onSessionModificationStateChange(sessionModificationState); - } - } - } - - /** - * Called when the last forwarded number changes for a call. With IMS, the last forwarded - * number changes due to a supplemental service notification, so it is not pressent at the - * start of the call. - * - * @param call The call. - */ - public void onLastForwardedNumberChange(Call call) { - final List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(call.getId()); - if (listeners != null) { - for (CallUpdateListener listener : listeners) { - listener.onLastForwardedNumberChange(); - } - } - } - - /** - * Called when the child number changes for a call. The child number can be received after a - * call is initially set up, so we need to be able to inform listeners of the change. - * - * @param call The call. - */ - public void onChildNumberChange(Call call) { - final List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(call.getId()); - if (listeners != null) { - for (CallUpdateListener listener : listeners) { - listener.onChildNumberChange(); - } - } - } - - public void notifyCallUpdateListeners(Call call) { - final List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(call.getId()); - if (listeners != null) { - for (CallUpdateListener listener : listeners) { - listener.onCallChanged(call); - } - } - } - - /** - * Add a call update listener for a call id. - * - * @param callId The call id to get updates for. - * @param listener The listener to add. - */ - public void addCallUpdateListener(String callId, CallUpdateListener listener) { - List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(callId); - if (listeners == null) { - listeners = new CopyOnWriteArrayList<CallUpdateListener>(); - mCallUpdateListenerMap.put(callId, listeners); - } - listeners.add(listener); - } - - /** - * Remove a call update listener for a call id. - * - * @param callId The call id to remove the listener for. - * @param listener The listener to remove. - */ - public void removeCallUpdateListener(String callId, CallUpdateListener listener) { - List<CallUpdateListener> listeners = mCallUpdateListenerMap.get(callId); - if (listeners != null) { - listeners.remove(listener); - } - } - - public void addListener(Listener listener) { - Preconditions.checkNotNull(listener); - - mListeners.add(listener); - - // Let the listener know about the active calls immediately. - listener.onCallListChange(this); - } - - public void removeListener(Listener listener) { - if (listener != null) { - mListeners.remove(listener); - } - } - - /** - * TODO: Change so that this function is not needed. Instead of assuming there is an active - * call, the code should rely on the status of a specific Call and allow the presenters to - * update the Call object when the active call changes. - */ - public Call getIncomingOrActive() { - Call retval = getIncomingCall(); - if (retval == null) { - retval = getActiveCall(); - } - return retval; - } - - public Call getOutgoingOrActive() { - Call retval = getOutgoingCall(); - if (retval == null) { - retval = getActiveCall(); - } - return retval; - } - - /** - * A call that is waiting for {@link PhoneAccount} selection - */ - public Call getWaitingForAccountCall() { - return getFirstCallWithState(Call.State.SELECT_PHONE_ACCOUNT); - } - - public Call getPendingOutgoingCall() { - return getFirstCallWithState(Call.State.CONNECTING); - } - - public Call getOutgoingCall() { - Call call = getFirstCallWithState(Call.State.DIALING); - if (call == null) { - call = getFirstCallWithState(Call.State.REDIALING); - } - return call; - } - - public Call getActiveCall() { - return getFirstCallWithState(Call.State.ACTIVE); - } - - public Call getSecondActiveCall() { - return getCallWithState(Call.State.ACTIVE, 1); - } - - public Call getBackgroundCall() { - return getFirstCallWithState(Call.State.ONHOLD); - } - - public Call getDisconnectedCall() { - return getFirstCallWithState(Call.State.DISCONNECTED); - } - - public Call getDisconnectingCall() { - return getFirstCallWithState(Call.State.DISCONNECTING); - } - - public Call getSecondBackgroundCall() { - return getCallWithState(Call.State.ONHOLD, 1); - } - - public Call getActiveOrBackgroundCall() { - Call call = getActiveCall(); - if (call == null) { - call = getBackgroundCall(); - } - return call; - } - - public Call getIncomingCall() { - Call call = getFirstCallWithState(Call.State.INCOMING); - if (call == null) { - call = getFirstCallWithState(Call.State.CALL_WAITING); - } - - return call; - } - - public Call getFirstCall() { - Call result = getIncomingCall(); - if (result == null) { - result = getPendingOutgoingCall(); - } - if (result == null) { - result = getOutgoingCall(); - } - if (result == null) { - result = getFirstCallWithState(Call.State.ACTIVE); - } - if (result == null) { - result = getDisconnectingCall(); - } - if (result == null) { - result = getDisconnectedCall(); - } - return result; - } - - public boolean hasLiveCall() { - Call call = getFirstCall(); - if (call == null) { - return false; - } - return call != getDisconnectingCall() && call != getDisconnectedCall(); - } - - /** - * Returns the first call found in the call map with the specified call modification state. - * @param state The session modification state to search for. - * @return The first call with the specified state. - */ - public Call getVideoUpgradeRequestCall() { - for(Call call : mCallById.values()) { - if (call.getSessionModificationState() == - Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - return call; - } - } - return null; - } - - public Call getCallById(String callId) { - return mCallById.get(callId); - } - - public Call getCallByTelecomCall(android.telecom.Call telecomCall) { - return mCallByTelecomCall.get(telecomCall); - } - - public List<String> getTextResponses(String callId) { - return mCallTextReponsesMap.get(callId); - } - - /** - * Returns first call found in the call map with the specified state. - */ - public Call getFirstCallWithState(int state) { - return getCallWithState(state, 0); - } - - /** - * Returns the [position]th call found in the call map with the specified state. - * TODO: Improve this logic to sort by call time. - */ - public Call getCallWithState(int state, int positionToFind) { - Call retval = null; - int position = 0; - for (Call call : mCallById.values()) { - if (call.getState() == state) { - if (position >= positionToFind) { - retval = call; - break; - } else { - position++; - } - } - } - - return retval; - } - - /** - * This is called when the service disconnects, either expectedly or unexpectedly. - * For the expected case, it's because we have no calls left. For the unexpected case, - * it is likely a crash of phone and we need to clean up our calls manually. Without phone, - * there can be no active calls, so this is relatively safe thing to do. - */ - public void clearOnDisconnect() { - for (Call call : mCallById.values()) { - final int state = call.getState(); - if (state != Call.State.IDLE && - state != Call.State.INVALID && - state != Call.State.DISCONNECTED) { - - call.setState(Call.State.DISCONNECTED); - call.setDisconnectCause(new DisconnectCause(DisconnectCause.UNKNOWN)); - updateCallInMap(call); - } - } - notifyGenericListeners(); - } - - /** - * Called when the user has dismissed an error dialog. This indicates acknowledgement of - * the disconnect cause, and that any pending disconnects should immediately occur. - */ - public void onErrorDialogDismissed() { - final Iterator<Call> iterator = mPendingDisconnectCalls.iterator(); - while (iterator.hasNext()) { - Call call = iterator.next(); - iterator.remove(); - finishDisconnectedCall(call); - } - } - - /** - * Processes an update for a single call. - * - * @param call The call to update. - */ - private void onUpdateCall(Call call) { - Log.d(this, "\t" + call); - if (updateCallInMap(call)) { - Log.i(this, "onUpdate - " + call); - } - updateCallTextMap(call, call.getCannedSmsResponses()); - notifyCallUpdateListeners(call); - } - - /** - * Sends a generic notification to all listeners that something has changed. - * It is up to the listeners to call back to determine what changed. - */ - private void notifyGenericListeners() { - for (Listener listener : mListeners) { - listener.onCallListChange(this); - } - } - - private void notifyListenersOfDisconnect(Call call) { - for (Listener listener : mListeners) { - listener.onDisconnect(call); - } - } - - /** - * Updates the call entry in the local map. - * @return false if no call previously existed and no call was added, otherwise true. - */ - private boolean updateCallInMap(Call call) { - Preconditions.checkNotNull(call); - - boolean updated = false; - - if (call.getState() == Call.State.DISCONNECTED) { - // update existing (but do not add!!) disconnected calls - if (mCallById.containsKey(call.getId())) { - // For disconnected calls, we want to keep them alive for a few seconds so that the - // UI has a chance to display anything it needs when a call is disconnected. - - // Set up a timer to destroy the call after X seconds. - final Message msg = mHandler.obtainMessage(EVENT_DISCONNECTED_TIMEOUT, call); - mHandler.sendMessageDelayed(msg, getDelayForDisconnect(call)); - mPendingDisconnectCalls.add(call); - - mCallById.put(call.getId(), call); - mCallByTelecomCall.put(call.getTelecomCall(), call); - updated = true; - } - } else if (!isCallDead(call)) { - mCallById.put(call.getId(), call); - mCallByTelecomCall.put(call.getTelecomCall(), call); - updated = true; - } else if (mCallById.containsKey(call.getId())) { - mCallById.remove(call.getId()); - mCallByTelecomCall.remove(call.getTelecomCall()); - updated = true; - } - - return updated; - } - - private int getDelayForDisconnect(Call call) { - Preconditions.checkState(call.getState() == Call.State.DISCONNECTED); - - - final int cause = call.getDisconnectCause().getCode(); - final int delay; - switch (cause) { - case DisconnectCause.LOCAL: - delay = DISCONNECTED_CALL_SHORT_TIMEOUT_MS; - break; - case DisconnectCause.REMOTE: - case DisconnectCause.ERROR: - delay = DISCONNECTED_CALL_MEDIUM_TIMEOUT_MS; - break; - case DisconnectCause.REJECTED: - case DisconnectCause.MISSED: - case DisconnectCause.CANCELED: - // no delay for missed/rejected incoming calls and canceled outgoing calls. - delay = 0; - break; - default: - delay = DISCONNECTED_CALL_LONG_TIMEOUT_MS; - break; - } - - return delay; - } - - private void updateCallTextMap(Call call, List<String> textResponses) { - Preconditions.checkNotNull(call); - - if (!isCallDead(call)) { - if (textResponses != null) { - mCallTextReponsesMap.put(call.getId(), textResponses); - } - } else if (mCallById.containsKey(call.getId())) { - mCallTextReponsesMap.remove(call.getId()); - } - } - - private boolean isCallDead(Call call) { - final int state = call.getState(); - return Call.State.IDLE == state || Call.State.INVALID == state; - } - - /** - * Sets up a call for deletion and notifies listeners of change. - */ - private void finishDisconnectedCall(Call call) { - if (mPendingDisconnectCalls.contains(call)) { - mPendingDisconnectCalls.remove(call); - } - call.setState(Call.State.IDLE); - updateCallInMap(call); - notifyGenericListeners(); - } - - /** - * Notifies all video calls of a change in device orientation. - * - * @param rotation The new rotation angle (in degrees). - */ - public void notifyCallsOfDeviceRotation(int rotation) { - for (Call call : mCallById.values()) { - // First, ensure that the call videoState has video enabled (there is no need to set - // device orientation on a voice call which has not yet been upgraded to video). - // Second, ensure a VideoCall is set on the call so that the change can be sent to the - // provider (a VideoCall can be present for a call that does not currently have video, - // but can be upgraded to video). - - // NOTE: is it necessary to use this order because getVideoCall references the class - // VideoProfile which is not available on APIs <23 (M). - if (VideoUtils.isVideoCall(call) && call.getVideoCall() != null) { - call.getVideoCall().setDeviceOrientation(rotation); - } - } - } - - /** - * Handles the timeout for destroying disconnected calls. - */ - private Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case EVENT_DISCONNECTED_TIMEOUT: - Log.d(this, "EVENT_DISCONNECTED_TIMEOUT ", msg.obj); - finishDisconnectedCall((Call) msg.obj); - break; - default: - Log.wtf(this, "Message not expected: " + msg.what); - break; - } - } - }; - - public void setExtendedCallInfoService(ExtendedCallInfoService service) { - mExtendedCallInfoService = service; - } - - public void onInCallUiShown(boolean forFullScreenIntent) { - for (Call call : mCallById.values()) { - call.getLatencyReport().onInCallUiShown(forFullScreenIntent); - } - } - - /** - * Listener interface for any class that wants to be notified of changes - * to the call list. - */ - public interface Listener { - /** - * Called when a new incoming call comes in. - * This is the only method that gets called for incoming calls. Listeners - * that want to perform an action on incoming call should respond in this method - * because {@link #onCallListChange} does not automatically get called for - * incoming calls. - */ - public void onIncomingCall(Call call); - /** - * Called when a new modify call request comes in - * This is the only method that gets called for modify requests. - */ - public void onUpgradeToVideo(Call call); - /** - * Called anytime there are changes to the call list. The change can be switching call - * states, updating information, etc. This method will NOT be called for new incoming - * calls and for calls that switch to disconnected state. Listeners must add actions - * to those method implementations if they want to deal with those actions. - */ - public void onCallListChange(CallList callList); - - /** - * Called when a call switches to the disconnected state. This is the only method - * that will get called upon disconnection. - */ - public void onDisconnect(Call call); - - - } - - public interface CallUpdateListener { - // TODO: refactor and limit arg to be call state. Caller info is not needed. - public void onCallChanged(Call call); - - /** - * Notifies of a change to the session modification state for a call. - * - * @param sessionModificationState The new session modification state. - */ - public void onSessionModificationStateChange(int sessionModificationState); - - /** - * Notifies of a change to the last forwarded number for a call. - */ - public void onLastForwardedNumberChange(); - - /** - * Notifies of a change to the child number for a call. - */ - public void onChildNumberChange(); - } -} diff --git a/InCallUI/src/com/android/incallui/CallTimer.java b/InCallUI/src/com/android/incallui/CallTimer.java deleted file mode 100644 index d65e63373..000000000 --- a/InCallUI/src/com/android/incallui/CallTimer.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * 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 com.google.common.base.Preconditions; - -import android.os.Handler; -import android.os.SystemClock; - -/** - * Helper class used to keep track of events requiring regular intervals. - */ -public class CallTimer extends Handler { - private Runnable mInternalCallback; - private Runnable mCallback; - private long mLastReportedTime; - private long mInterval; - private boolean mRunning; - - public CallTimer(Runnable callback) { - Preconditions.checkNotNull(callback); - - mInterval = 0; - mLastReportedTime = 0; - mRunning = false; - mCallback = callback; - mInternalCallback = new CallTimerCallback(); - } - - public boolean start(long interval) { - if (interval <= 0) { - return false; - } - - // cancel any previous timer - cancel(); - - mInterval = interval; - mLastReportedTime = SystemClock.uptimeMillis(); - - mRunning = true; - periodicUpdateTimer(); - - return true; - } - - public void cancel() { - removeCallbacks(mInternalCallback); - mRunning = false; - } - - private void periodicUpdateTimer() { - if (!mRunning) { - return; - } - - final long now = SystemClock.uptimeMillis(); - long nextReport = mLastReportedTime + mInterval; - while (now >= nextReport) { - nextReport += mInterval; - } - - postAtTime(mInternalCallback, nextReport); - mLastReportedTime = nextReport; - - // Run the callback - mCallback.run(); - } - - private class CallTimerCallback implements Runnable { - @Override - public void run() { - periodicUpdateTimer(); - } - } -} diff --git a/InCallUI/src/com/android/incallui/CallerInfo.java b/InCallUI/src/com/android/incallui/CallerInfo.java deleted file mode 100644 index f3d0e0763..000000000 --- a/InCallUI/src/com/android/incallui/CallerInfo.java +++ /dev/null @@ -1,585 +0,0 @@ -/* - * Copyright (C) 2006 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 com.android.dialer.util.PhoneLookupUtil; -import com.google.common.primitives.Longs; - -import android.content.Context; -import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.drawable.Drawable; -import android.net.Uri; -import android.provider.ContactsContract.CommonDataKinds.Phone; -import android.provider.ContactsContract; -import android.provider.ContactsContract.Contacts; -import android.provider.ContactsContract.Data; -import android.provider.ContactsContract.PhoneLookup; -import android.provider.ContactsContract.RawContacts; -import android.telephony.PhoneNumberUtils; -import android.text.TextUtils; - -import com.android.contacts.common.compat.CompatUtils; -import com.android.contacts.common.compat.PhoneLookupSdkCompat; -import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.ContactsUtils.UserType; -import com.android.contacts.common.util.PhoneNumberHelper; -import com.android.contacts.common.util.TelephonyManagerUtils; -import com.android.dialer.R; -import com.android.dialer.calllog.ContactInfoHelper; - -/** - * Looks up caller information for the given phone number. - */ -public class CallerInfo { - private static final String TAG = "CallerInfo"; - - // We should always use this projection starting from NYC onward. - private static final String[] DEFAULT_PHONELOOKUP_PROJECTION = new String[] { - PhoneLookupSdkCompat.CONTACT_ID, - PhoneLookup.DISPLAY_NAME, - PhoneLookup.LOOKUP_KEY, - PhoneLookup.NUMBER, - PhoneLookup.NORMALIZED_NUMBER, - PhoneLookup.LABEL, - PhoneLookup.TYPE, - PhoneLookup.PHOTO_URI, - PhoneLookup.CUSTOM_RINGTONE, - PhoneLookup.SEND_TO_VOICEMAIL - }; - - // In pre-N, contact id is stored in {@link PhoneLookup._ID} in non-sip query. - private static final String[] BACKWARD_COMPATIBLE_NON_SIP_DEFAULT_PHONELOOKUP_PROJECTION = - new String[] { - PhoneLookup._ID, - PhoneLookup.DISPLAY_NAME, - PhoneLookup.LOOKUP_KEY, - PhoneLookup.NUMBER, - PhoneLookup.NORMALIZED_NUMBER, - PhoneLookup.LABEL, - PhoneLookup.TYPE, - PhoneLookup.PHOTO_URI, - PhoneLookup.CUSTOM_RINGTONE, - PhoneLookup.SEND_TO_VOICEMAIL - }; - - public static String[] getDefaultPhoneLookupProjection(Uri phoneLookupUri) { - if (CompatUtils.isNCompatible()) { - return DEFAULT_PHONELOOKUP_PROJECTION; - } - // Pre-N - boolean isSip = phoneLookupUri.getBooleanQueryParameter( - ContactsContract.PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, false); - return (isSip) ? DEFAULT_PHONELOOKUP_PROJECTION - : BACKWARD_COMPATIBLE_NON_SIP_DEFAULT_PHONELOOKUP_PROJECTION; - } - - /** - * Please note that, any one of these member variables can be null, - * and any accesses to them should be prepared to handle such a case. - * - * Also, it is implied that phoneNumber is more often populated than - * name is, (think of calls being dialed/received using numbers where - * names are not known to the device), so phoneNumber should serve as - * a dependable fallback when name is unavailable. - * - * One other detail here is that this CallerInfo object reflects - * information found on a connection, it is an OUTPUT that serves - * mainly to display information to the user. In no way is this object - * used as input to make a connection, so we can choose to display - * whatever human-readable text makes sense to the user for a - * connection. This is especially relevant for the phone number field, - * since it is the one field that is most likely exposed to the user. - * - * As an example: - * 1. User dials "911" - * 2. Device recognizes that this is an emergency number - * 3. We use the "Emergency Number" string instead of "911" in the - * phoneNumber field. - * - * What we're really doing here is treating phoneNumber as an essential - * field here, NOT name. We're NOT always guaranteed to have a name - * for a connection, but the number should be displayable. - */ - public String name; - public String nameAlternative; - public String phoneNumber; - public String normalizedNumber; - public String forwardingNumber; - public String geoDescription; - - public String cnapName; - public int numberPresentation; - public int namePresentation; - public boolean contactExists; - - public String phoneLabel; - /* Split up the phoneLabel into number type and label name */ - public int numberType; - public String numberLabel; - - public int photoResource; - - // Contact ID, which will be 0 if a contact comes from the corp CP2. - public long contactIdOrZero; - public String lookupKeyOrNull; - public boolean needUpdate; - public Uri contactRefUri; - public @UserType long userType; - - /** - * Contact display photo URI. If a contact has no display photo but a thumbnail, it'll be - * the thumbnail URI instead. - */ - public Uri contactDisplayPhotoUri; - - // fields to hold individual contact preference data, - // including the send to voicemail flag and the ringtone - // uri reference. - public Uri contactRingtoneUri; - public boolean shouldSendToVoicemail; - - /** - * Drawable representing the caller image. This is essentially - * a cache for the image data tied into the connection / - * callerinfo object. - * - * This might be a high resolution picture which is more suitable - * for full-screen image view than for smaller icons used in some - * kinds of notifications. - * - * The {@link #isCachedPhotoCurrent} flag indicates if the image - * data needs to be reloaded. - */ - public Drawable cachedPhoto; - /** - * Bitmap representing the caller image which has possibly lower - * resolution than {@link #cachedPhoto} and thus more suitable for - * icons (like notification icons). - * - * In usual cases this is just down-scaled image of {@link #cachedPhoto}. - * If the down-scaling fails, this will just become null. - * - * The {@link #isCachedPhotoCurrent} flag indicates if the image - * data needs to be reloaded. - */ - public Bitmap cachedPhotoIcon; - /** - * Boolean which indicates if {@link #cachedPhoto} and - * {@link #cachedPhotoIcon} is fresh enough. If it is false, - * those images aren't pointing to valid objects. - */ - public boolean isCachedPhotoCurrent; - - /** - * String which holds the call subject sent as extra from the lower layers for this call. This - * is used to display the no-caller ID reason for restricted/unknown number presentation. - */ - public String callSubject; - - private boolean mIsEmergency; - private boolean mIsVoiceMail; - - public CallerInfo() { - // TODO: Move all the basic initialization here? - mIsEmergency = false; - mIsVoiceMail = false; - userType = ContactsUtils.USER_TYPE_CURRENT; - } - - /** - * getCallerInfo given a Cursor. - * @param context the context used to retrieve string constants - * @param contactRef the URI to attach to this CallerInfo object - * @param cursor the first object in the cursor is used to build the CallerInfo object. - * @return the CallerInfo which contains the caller id for the given - * number. The returned CallerInfo is null if no number is supplied. - */ - public static CallerInfo getCallerInfo(Context context, Uri contactRef, Cursor cursor) { - CallerInfo info = new CallerInfo(); - info.photoResource = 0; - info.phoneLabel = null; - info.numberType = 0; - info.numberLabel = null; - info.cachedPhoto = null; - info.isCachedPhotoCurrent = false; - info.contactExists = false; - info.userType = ContactsUtils.USER_TYPE_CURRENT; - - Log.v(TAG, "getCallerInfo() based on cursor..."); - - if (cursor != null) { - if (cursor.moveToFirst()) { - // TODO: photo_id is always available but not taken - // care of here. Maybe we should store it in the - // CallerInfo object as well. - - long contactId = 0L; - int columnIndex; - - // Look for the name - columnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME); - if (columnIndex != -1) { - info.name = cursor.getString(columnIndex); - } - - // Look for the number - columnIndex = cursor.getColumnIndex(PhoneLookup.NUMBER); - if (columnIndex != -1) { - info.phoneNumber = cursor.getString(columnIndex); - } - - // Look for the normalized number - columnIndex = cursor.getColumnIndex(PhoneLookup.NORMALIZED_NUMBER); - if (columnIndex != -1) { - info.normalizedNumber = cursor.getString(columnIndex); - } - - // Look for the label/type combo - columnIndex = cursor.getColumnIndex(PhoneLookup.LABEL); - if (columnIndex != -1) { - int typeColumnIndex = cursor.getColumnIndex(PhoneLookup.TYPE); - if (typeColumnIndex != -1) { - info.numberType = cursor.getInt(typeColumnIndex); - info.numberLabel = cursor.getString(columnIndex); - info.phoneLabel = Phone.getTypeLabel(context.getResources(), - info.numberType, info.numberLabel) - .toString(); - } - } - - // Look for the person_id. - columnIndex = getColumnIndexForPersonId(contactRef, cursor); - if (columnIndex != -1) { - contactId = cursor.getLong(columnIndex); - // QuickContacts in M doesn't support enterprise contact id - if (contactId != 0 && (ContactsUtils.FLAG_N_FEATURE - || !Contacts.isEnterpriseContactId(contactId))) { - info.contactIdOrZero = contactId; - Log.v(TAG, "==> got info.contactIdOrZero: " + info.contactIdOrZero); - - // cache the lookup key for later use with person_id to create lookup URIs - columnIndex = cursor.getColumnIndex(PhoneLookup.LOOKUP_KEY); - if (columnIndex != -1) { - info.lookupKeyOrNull = cursor.getString(columnIndex); - } - } - } else { - // No valid columnIndex, so we can't look up person_id. - Log.v(TAG, "Couldn't find contactId column for " + contactRef); - // Watch out: this means that anything that depends on - // person_id will be broken (like contact photo lookups in - // the in-call UI, for example.) - } - - // Display photo URI. - columnIndex = cursor.getColumnIndex(PhoneLookup.PHOTO_URI); - if ((columnIndex != -1) && (cursor.getString(columnIndex) != null)) { - info.contactDisplayPhotoUri = Uri.parse(cursor.getString(columnIndex)); - } else { - info.contactDisplayPhotoUri = null; - } - - // look for the custom ringtone, create from the string stored - // in the database. - columnIndex = cursor.getColumnIndex(PhoneLookup.CUSTOM_RINGTONE); - if ((columnIndex != -1) && (cursor.getString(columnIndex) != null)) { - if (TextUtils.isEmpty(cursor.getString(columnIndex))) { - // make it consistent with frameworks/base/.../CallerInfo.java - info.contactRingtoneUri = Uri.EMPTY; - } else { - info.contactRingtoneUri = Uri.parse(cursor.getString(columnIndex)); - } - } else { - info.contactRingtoneUri = null; - } - - // look for the send to voicemail flag, set it to true only - // under certain circumstances. - columnIndex = cursor.getColumnIndex(PhoneLookup.SEND_TO_VOICEMAIL); - info.shouldSendToVoicemail = (columnIndex != -1) && - ((cursor.getInt(columnIndex)) == 1); - info.contactExists = true; - - // Determine userType by directoryId and contactId - final String directory = contactRef == null ? null - : contactRef.getQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY); - final Long directoryId = directory == null ? null : Longs.tryParse(directory); - info.userType = ContactsUtils.determineUserType(directoryId, contactId); - - info.nameAlternative = ContactInfoHelper.lookUpDisplayNameAlternative( - context, info.lookupKeyOrNull, info.userType, directoryId); - } - cursor.close(); - } - - info.needUpdate = false; - info.name = normalize(info.name); - info.contactRefUri = contactRef; - - return info; - } - - /** - * getCallerInfo given a URI, look up in the call-log database - * for the uri unique key. - * @param context the context used to get the ContentResolver - * @param contactRef the URI used to lookup caller id - * @return the CallerInfo which contains the caller id for the given - * number. The returned CallerInfo is null if no number is supplied. - */ - private static CallerInfo getCallerInfo(Context context, Uri contactRef) { - - return getCallerInfo(context, contactRef, - context.getContentResolver().query(contactRef, null, null, null, null)); - } - - /** - * Performs another lookup if previous lookup fails and it's a SIP call - * and the peer's username is all numeric. Look up the username as it - * could be a PSTN number in the contact database. - * - * @param context the query context - * @param number the original phone number, could be a SIP URI - * @param previousResult the result of previous lookup - * @return previousResult if it's not the case - */ - static CallerInfo doSecondaryLookupIfNecessary(Context context, - String number, CallerInfo previousResult) { - if (!previousResult.contactExists - && PhoneNumberHelper.isUriNumber(number)) { - String username = PhoneNumberHelper.getUsernameFromUriNumber(number); - if (PhoneNumberUtils.isGlobalPhoneNumber(username)) { - previousResult = getCallerInfo(context, - Uri.withAppendedPath(PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI, - Uri.encode(username))); - } - } - return previousResult; - } - - // Accessors - - /** - * @return true if the caller info is an emergency number. - */ - public boolean isEmergencyNumber() { - return mIsEmergency; - } - - /** - * @return true if the caller info is a voicemail number. - */ - public boolean isVoiceMailNumber() { - return mIsVoiceMail; - } - - /** - * Mark this CallerInfo as an emergency call. - * @param context To lookup the localized 'Emergency Number' string. - * @return this instance. - */ - /* package */ CallerInfo markAsEmergency(Context context) { - name = context.getString(R.string.emergency_call_dialog_number_for_display); - phoneNumber = null; - - photoResource = R.drawable.img_phone; - mIsEmergency = true; - return this; - } - - - /** - * Mark this CallerInfo as a voicemail call. The voicemail label - * is obtained from the telephony manager. Caller must hold the - * READ_PHONE_STATE permission otherwise the phoneNumber will be - * set to null. - * @return this instance. - */ - /* package */ CallerInfo markAsVoiceMail(Context context) { - mIsVoiceMail = true; - - try { - // For voicemail calls, we display the voice mail tag - // instead of the real phone number in the "number" - // field. - name = TelephonyManagerUtils.getVoiceMailAlphaTag(context); - phoneNumber = null; - } catch (SecurityException se) { - // Should never happen: if this process does not have - // permission to retrieve VM tag, it should not have - // permission to retrieve VM number and would not call - // this method. - // Leave phoneNumber untouched. - Log.e(TAG, "Cannot access VoiceMail.", se); - } - // TODO: There is no voicemail picture? - // FIXME: FIND ANOTHER ICON - // photoResource = android.R.drawable.badge_voicemail; - return this; - } - - private static String normalize(String s) { - if (s == null || s.length() > 0) { - return s; - } else { - return null; - } - } - - /** - * Returns the column index to use to find the "person_id" field in - * the specified cursor, based on the contact URI that was originally - * queried. - * - * This is a helper function for the getCallerInfo() method that takes - * a Cursor. Looking up the person_id is nontrivial (compared to all - * the other CallerInfo fields) since the column we need to use - * depends on what query we originally ran. - * - * Watch out: be sure to not do any database access in this method, since - * it's run from the UI thread (see comments below for more info.) - * - * @return the columnIndex to use (with cursor.getLong()) to get the - * person_id, or -1 if we couldn't figure out what colum to use. - * - * TODO: Add a unittest for this method. (This is a little tricky to - * test, since we'll need a live contacts database to test against, - * preloaded with at least some phone numbers and SIP addresses. And - * we'll probably have to hardcode the column indexes we expect, so - * the test might break whenever the contacts schema changes. But we - * can at least make sure we handle all the URI patterns we claim to, - * and that the mime types match what we expect...) - */ - private static int getColumnIndexForPersonId(Uri contactRef, Cursor cursor) { - // TODO: This is pretty ugly now, see bug 2269240 for - // more details. The column to use depends upon the type of URL: - // - content://com.android.contacts/data/phones ==> use the "contact_id" column - // - content://com.android.contacts/phone_lookup ==> use the "_ID" column - // - content://com.android.contacts/data ==> use the "contact_id" column - // If it's none of the above, we leave columnIndex=-1 which means - // that the person_id field will be left unset. - // - // The logic here *used* to be based on the mime type of contactRef - // (for example Phone.CONTENT_ITEM_TYPE would tell us to use the - // RawContacts.CONTACT_ID column). But looking up the mime type requires - // a call to context.getContentResolver().getType(contactRef), which - // isn't safe to do from the UI thread since it can cause an ANR if - // the contacts provider is slow or blocked (like during a sync.) - // - // So instead, figure out the column to use for person_id by just - // looking at the URI itself. - - Log.v(TAG, "- getColumnIndexForPersonId: contactRef URI = '" - + contactRef + "'..."); - // Warning: Do not enable the following logging (due to ANR risk.) - // if (VDBG) Rlog.v(TAG, "- MIME type: " - // + context.getContentResolver().getType(contactRef)); - - String url = contactRef.toString(); - String columnName = null; - if (url.startsWith("content://com.android.contacts/data/phones")) { - // Direct lookup in the Phone table. - // MIME type: Phone.CONTENT_ITEM_TYPE (= "vnd.android.cursor.item/phone_v2") - Log.v(TAG, "'data/phones' URI; using RawContacts.CONTACT_ID"); - columnName = RawContacts.CONTACT_ID; - } else if (url.startsWith("content://com.android.contacts/data")) { - // Direct lookup in the Data table. - // MIME type: Data.CONTENT_TYPE (= "vnd.android.cursor.dir/data") - Log.v(TAG, "'data' URI; using Data.CONTACT_ID"); - // (Note Data.CONTACT_ID and RawContacts.CONTACT_ID are equivalent.) - columnName = Data.CONTACT_ID; - } else if (url.startsWith("content://com.android.contacts/phone_lookup")) { - // Lookup in the PhoneLookup table, which provides "fuzzy matching" - // for phone numbers. - // MIME type: PhoneLookup.CONTENT_TYPE (= "vnd.android.cursor.dir/phone_lookup") - Log.v(TAG, "'phone_lookup' URI; using PhoneLookup._ID"); - columnName = PhoneLookupUtil.getContactIdColumnNameForUri(contactRef); - } else { - Log.v(TAG, "Unexpected prefix for contactRef '" + url + "'"); - } - int columnIndex = (columnName != null) ? cursor.getColumnIndex(columnName) : -1; - Log.v(TAG, "==> Using column '" + columnName - + "' (columnIndex = " + columnIndex + ") for person_id lookup..."); - return columnIndex; - } - - /** - * Updates this CallerInfo's geoDescription field, based on the raw - * phone number in the phoneNumber field. - * - * (Note that the various getCallerInfo() methods do *not* set the - * geoDescription automatically; you need to call this method - * explicitly to get it.) - * - * @param context the context used to look up the current locale / country - * @param fallbackNumber if this CallerInfo's phoneNumber field is empty, - * this specifies a fallback number to use instead. - */ - public void updateGeoDescription(Context context, String fallbackNumber) { - String number = TextUtils.isEmpty(phoneNumber) ? fallbackNumber : phoneNumber; - geoDescription = com.android.dialer.util.PhoneNumberUtil.getGeoDescription(context, number); - } - - /** - * @return a string debug representation of this instance. - */ - @Override - public String toString() { - // Warning: never check in this file with VERBOSE_DEBUG = true - // because that will result in PII in the system log. - final boolean VERBOSE_DEBUG = false; - - if (VERBOSE_DEBUG) { - return new StringBuilder(384) - .append(super.toString() + " { ") - .append("\nname: " + name) - .append("\nphoneNumber: " + phoneNumber) - .append("\nnormalizedNumber: " + normalizedNumber) - .append("\forwardingNumber: " + forwardingNumber) - .append("\ngeoDescription: " + geoDescription) - .append("\ncnapName: " + cnapName) - .append("\nnumberPresentation: " + numberPresentation) - .append("\nnamePresentation: " + namePresentation) - .append("\ncontactExists: " + contactExists) - .append("\nphoneLabel: " + phoneLabel) - .append("\nnumberType: " + numberType) - .append("\nnumberLabel: " + numberLabel) - .append("\nphotoResource: " + photoResource) - .append("\ncontactIdOrZero: " + contactIdOrZero) - .append("\nneedUpdate: " + needUpdate) - .append("\ncontactRefUri: " + contactRefUri) - .append("\ncontactRingtoneUri: " + contactRingtoneUri) - .append("\ncontactDisplayPhotoUri: " + contactDisplayPhotoUri) - .append("\nshouldSendToVoicemail: " + shouldSendToVoicemail) - .append("\ncachedPhoto: " + cachedPhoto) - .append("\nisCachedPhotoCurrent: " + isCachedPhotoCurrent) - .append("\nemergency: " + mIsEmergency) - .append("\nvoicemail: " + mIsVoiceMail) - .append("\nuserType: " + userType) - .append(" }") - .toString(); - } else { - return new StringBuilder(128) - .append(super.toString() + " { ") - .append("name " + ((name == null) ? "null" : "non-null")) - .append(", phoneNumber " + ((phoneNumber == null) ? "null" : "non-null")) - .append(" }") - .toString(); - } - } -} diff --git a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java deleted file mode 100644 index f7f0cbb5d..000000000 --- a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java +++ /dev/null @@ -1,599 +0,0 @@ -/* - * Copyright (C) 2006 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 com.google.common.primitives.Longs; - -import android.Manifest; -import android.content.AsyncQueryHandler; -import android.content.ContentResolver; -import android.content.Context; -import android.database.Cursor; -import android.database.SQLException; -import android.net.Uri; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; -import android.provider.ContactsContract; -import android.provider.ContactsContract.Directory; -import android.telephony.PhoneNumberUtils; -import android.text.TextUtils; - -import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.compat.DirectoryCompat; -import com.android.contacts.common.util.PermissionsUtil; -import com.android.contacts.common.util.TelephonyManagerUtils; -import com.android.dialer.R; -import com.android.dialer.calllog.ContactInfoHelper; -import com.android.dialer.service.CachedNumberLookupService; -import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo; -import com.android.dialerbind.ObjectFactory; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Locale; - -/** - * Helper class to make it easier to run asynchronous caller-id lookup queries. - * @see CallerInfo - * - */ -public class CallerInfoAsyncQuery { - private static final boolean DBG = false; - private static final String LOG_TAG = "CallerInfoAsyncQuery"; - - private static final int EVENT_NEW_QUERY = 1; - private static final int EVENT_ADD_LISTENER = 2; - private static final int EVENT_END_OF_QUEUE = 3; - private static final int EVENT_EMERGENCY_NUMBER = 4; - private static final int EVENT_VOICEMAIL_NUMBER = 5; - - private CallerInfoAsyncQueryHandler mHandler; - - // If the CallerInfo query finds no contacts, should we use the - // PhoneNumberOfflineGeocoder to look up a "geo description"? - // (TODO: This could become a flag in config.xml if it ever needs to be - // configured on a per-product basis.) - private static final boolean ENABLE_UNKNOWN_NUMBER_GEO_DESCRIPTION = true; - - /** - * Interface for a CallerInfoAsyncQueryHandler result return. - */ - public interface OnQueryCompleteListener { - /** - * Called when the query is complete. - */ - public void onQueryComplete(int token, Object cookie, CallerInfo ci); - } - - - /** - * Wrap the cookie from the WorkerArgs with additional information needed by our - * classes. - */ - private static final class CookieWrapper { - public OnQueryCompleteListener listener; - public Object cookie; - public int event; - public String number; - } - - /** - * Simple exception used to communicate problems with the query pool. - */ - public static class QueryPoolException extends SQLException { - public QueryPoolException(String error) { - super(error); - } - } - - /** - * Our own implementation of the AsyncQueryHandler. - */ - private class CallerInfoAsyncQueryHandler extends AsyncQueryHandler { - - @Override - public void startQuery(int token, Object cookie, Uri uri, String[] projection, - String selection, String[] selectionArgs, String orderBy) { - if (DBG) { - // Show stack trace with the arguments. - android.util.Log.d(LOG_TAG, "InCall: startQuery: url=" + uri + - " projection=[" + Arrays.toString(projection) + "]" + - " selection=" + selection + " " + - " args=[" + Arrays.toString(selectionArgs) + "]", - new RuntimeException("STACKTRACE")); - } - super.startQuery(token, cookie, uri, projection, selection, selectionArgs, orderBy); - } - - /** - * The information relevant to each CallerInfo query. Each query may have multiple - * listeners, so each AsyncCursorInfo is associated with 2 or more CookieWrapper - * objects in the queue (one with a new query event, and one with a end event, with - * 0 or more additional listeners in between). - */ - private Context mQueryContext; - private Uri mQueryUri; - private CallerInfo mCallerInfo; - - /** - * Our own query worker thread. - * - * This thread handles the messages enqueued in the looper. The normal sequence - * of events is that a new query shows up in the looper queue, followed by 0 or - * more add listener requests, and then an end request. Of course, these requests - * can be interlaced with requests from other tokens, but is irrelevant to this - * handler since the handler has no state. - * - * Note that we depend on the queue to keep things in order; in other words, the - * looper queue must be FIFO with respect to input from the synchronous startQuery - * calls and output to this handleMessage call. - * - * This use of the queue is required because CallerInfo objects may be accessed - * multiple times before the query is complete. All accesses (listeners) must be - * queued up and informed in order when the query is complete. - */ - protected class CallerInfoWorkerHandler extends WorkerHandler { - public CallerInfoWorkerHandler(Looper looper) { - super(looper); - } - - @Override - public void handleMessage(Message msg) { - WorkerArgs args = (WorkerArgs) msg.obj; - CookieWrapper cw = (CookieWrapper) args.cookie; - - if (cw == null) { - // Normally, this should never be the case for calls originating - // from within this code. - // However, if there is any code that this Handler calls (such as in - // super.handleMessage) that DOES place unexpected messages on the - // queue, then we need pass these messages on. - Log.d(this, "Unexpected command (CookieWrapper is null): " + msg.what + - " ignored by CallerInfoWorkerHandler, passing onto parent."); - - super.handleMessage(msg); - } else { - Log.d(this, "Processing event: " + cw.event + " token (arg1): " + msg.arg1 + - " command: " + msg.what + " query URI: " + - sanitizeUriToString(args.uri)); - - switch (cw.event) { - case EVENT_NEW_QUERY: - //start the sql command. - super.handleMessage(msg); - break; - - // shortcuts to avoid query for recognized numbers. - case EVENT_EMERGENCY_NUMBER: - case EVENT_VOICEMAIL_NUMBER: - - case EVENT_ADD_LISTENER: - case EVENT_END_OF_QUEUE: - // query was already completed, so just send the reply. - // passing the original token value back to the caller - // on top of the event values in arg1. - Message reply = args.handler.obtainMessage(msg.what); - reply.obj = args; - reply.arg1 = msg.arg1; - - reply.sendToTarget(); - - break; - default: - } - } - } - } - - - /** - * Asynchronous query handler class for the contact / callerinfo object. - */ - private CallerInfoAsyncQueryHandler(Context context) { - super(context.getContentResolver()); - } - - @Override - protected Handler createHandler(Looper looper) { - return new CallerInfoWorkerHandler(looper); - } - - /** - * Overrides onQueryComplete from AsyncQueryHandler. - * - * This method takes into account the state of this class; we construct the CallerInfo - * object only once for each set of listeners. When the query thread has done its work - * and calls this method, we inform the remaining listeners in the queue, until we're - * out of listeners. Once we get the message indicating that we should expect no new - * listeners for this CallerInfo object, we release the AsyncCursorInfo back into the - * pool. - */ - @Override - protected void onQueryComplete(int token, Object cookie, Cursor cursor) { - try { - Log.d(this, "##### onQueryComplete() ##### query complete for token: " + token); - - //get the cookie and notify the listener. - CookieWrapper cw = (CookieWrapper) cookie; - if (cw == null) { - // Normally, this should never be the case for calls originating - // from within this code. - // However, if there is any code that calls this method, we should - // check the parameters to make sure they're viable. - Log.d(this, "Cookie is null, ignoring onQueryComplete() request."); - return; - } - - if (cw.event == EVENT_END_OF_QUEUE) { - release(); - return; - } - - // check the token and if needed, create the callerinfo object. - if (mCallerInfo == null) { - if ((mQueryContext == null) || (mQueryUri == null)) { - throw new QueryPoolException - ("Bad context or query uri, or CallerInfoAsyncQuery already released."); - } - - // adjust the callerInfo data as needed, and only if it was set from the - // initial query request. - // Change the callerInfo number ONLY if it is an emergency number or the - // voicemail number, and adjust other data (including photoResource) - // accordingly. - if (cw.event == EVENT_EMERGENCY_NUMBER) { - // Note we're setting the phone number here (refer to javadoc - // comments at the top of CallerInfo class). - mCallerInfo = new CallerInfo().markAsEmergency(mQueryContext); - } else if (cw.event == EVENT_VOICEMAIL_NUMBER) { - mCallerInfo = new CallerInfo().markAsVoiceMail(mQueryContext); - } else { - mCallerInfo = CallerInfo.getCallerInfo(mQueryContext, mQueryUri, cursor); - Log.d(this, "==> Got mCallerInfo: " + mCallerInfo); - - CallerInfo newCallerInfo = CallerInfo.doSecondaryLookupIfNecessary( - mQueryContext, cw.number, mCallerInfo); - if (newCallerInfo != mCallerInfo) { - mCallerInfo = newCallerInfo; - Log.d(this, "#####async contact look up with numeric username" - + mCallerInfo); - } - - // Final step: look up the geocoded description. - if (ENABLE_UNKNOWN_NUMBER_GEO_DESCRIPTION) { - // Note we do this only if we *don't* have a valid name (i.e. if - // no contacts matched the phone number of the incoming call), - // since that's the only case where the incoming-call UI cares - // about this field. - // - // (TODO: But if we ever want the UI to show the geoDescription - // even when we *do* match a contact, we'll need to either call - // updateGeoDescription() unconditionally here, or possibly add a - // new parameter to CallerInfoAsyncQuery.startQuery() to force - // the geoDescription field to be populated.) - - if (TextUtils.isEmpty(mCallerInfo.name)) { - // Actually when no contacts match the incoming phone number, - // the CallerInfo object is totally blank here (i.e. no name - // *or* phoneNumber). So we need to pass in cw.number as - // a fallback number. - mCallerInfo.updateGeoDescription(mQueryContext, cw.number); - } - } - - // Use the number entered by the user for display. - if (!TextUtils.isEmpty(cw.number)) { - mCallerInfo.phoneNumber = PhoneNumberUtils.formatNumber(cw.number, - mCallerInfo.normalizedNumber, - TelephonyManagerUtils.getCurrentCountryIso(mQueryContext, - Locale.getDefault())); - } - } - - Log.d(this, "constructing CallerInfo object for token: " + token); - - //notify that we can clean up the queue after this. - CookieWrapper endMarker = new CookieWrapper(); - endMarker.event = EVENT_END_OF_QUEUE; - startQuery(token, endMarker, null, null, null, null, null); - } - - //notify the listener that the query is complete. - if (cw.listener != null) { - Log.d(this, "notifying listener: " + cw.listener.getClass().toString() + - " for token: " + token + mCallerInfo); - cw.listener.onQueryComplete(token, cw.cookie, mCallerInfo); - } - } finally { - // The cursor may have been closed in CallerInfo.getCallerInfo() - if (cursor != null && !cursor.isClosed()) { - cursor.close(); - } - } - } - } - - /** - * Private constructor for factory methods. - */ - private CallerInfoAsyncQuery() { - } - - public static void startQuery(final int token, final Context context, final CallerInfo info, - final OnQueryCompleteListener listener, final Object cookie) { - Log.d(LOG_TAG, "##### CallerInfoAsyncQuery startContactProviderQuery()... #####"); - Log.d(LOG_TAG, "- number: " + info.phoneNumber); - Log.d(LOG_TAG, "- cookie: " + cookie); - if (!PermissionsUtil.hasPermission(context, Manifest.permission.READ_CONTACTS)) { - Log.w(LOG_TAG, "Dialer doesn't have permission to read contacts."); - listener.onQueryComplete(token, cookie, info); - return; - } - - OnQueryCompleteListener contactsProviderQueryCompleteListener = - new OnQueryCompleteListener() { - @Override - public void onQueryComplete(int token, Object cookie, CallerInfo ci) { - Log.d(LOG_TAG, "contactsProviderQueryCompleteListener done"); - // If there are no other directory queries, make sure that the listener is - // notified of this result. see b/27621628 - if ((ci != null && ci.contactExists) || - !startOtherDirectoriesQuery(token, context, info, listener, cookie)) { - if (listener != null && ci != null) { - listener.onQueryComplete(token, cookie, ci); - } - } - } - }; - startDefaultDirectoryQuery(token, context, info, contactsProviderQueryCompleteListener, - cookie); - } - - // Private methods - private static CallerInfoAsyncQuery startDefaultDirectoryQuery(int token, Context context, - CallerInfo info, OnQueryCompleteListener listener, Object cookie) { - // Construct the URI object and query params, and start the query. - Uri uri = ContactInfoHelper.getContactInfoLookupUri(info.phoneNumber); - return startQueryInternal(token, context, info, listener, cookie, uri); - } - - /** - * Factory method to start the query based on a CallerInfo object. - * - * Note: if the number contains an "@" character we treat it - * as a SIP address, and look it up directly in the Data table - * rather than using the PhoneLookup table. - * TODO: But eventually we should expose two separate methods, one for - * numbers and one for SIP addresses, and then have - * PhoneUtils.startGetCallerInfo() decide which one to call based on - * the phone type of the incoming connection. - */ - private static CallerInfoAsyncQuery startQueryInternal(int token, Context context, - CallerInfo info, OnQueryCompleteListener listener, Object cookie, Uri contactRef) { - if (DBG) { - Log.d(LOG_TAG, "==> contactRef: " + sanitizeUriToString(contactRef)); - } - - CallerInfoAsyncQuery c = new CallerInfoAsyncQuery(); - c.allocate(context, contactRef); - - //create cookieWrapper, start query - CookieWrapper cw = new CookieWrapper(); - cw.listener = listener; - cw.cookie = cookie; - cw.number = info.phoneNumber; - - // check to see if these are recognized numbers, and use shortcuts if we can. - if (PhoneNumberUtils.isLocalEmergencyNumber(context, info.phoneNumber)) { - cw.event = EVENT_EMERGENCY_NUMBER; - } else if (info.isVoiceMailNumber()) { - cw.event = EVENT_VOICEMAIL_NUMBER; - } else { - cw.event = EVENT_NEW_QUERY; - } - - - String[] proejection = CallerInfo.getDefaultPhoneLookupProjection(contactRef); - c.mHandler.startQuery(token, - cw, // cookie - contactRef, // uri - proejection, // projection - null, // selection - null, // selectionArgs - null); // orderBy - return c; - } - - // Return value indicates if listener was notified. - private static boolean startOtherDirectoriesQuery(int token, Context context, CallerInfo info, - OnQueryCompleteListener listener, Object cookie) { - long[] directoryIds = getDirectoryIds(context); - int size = directoryIds.length; - if (size == 0) { - return false; - } - - DirectoryQueryCompleteListenerFactory listenerFactory = - new DirectoryQueryCompleteListenerFactory(context, size, listener); - - // The current implementation of multiple async query runs in single handler thread - // in AsyncQueryHandler. - // intermediateListener.onQueryComplete is also called from the same caller thread. - // TODO(b/26019872): use thread pool instead of single thread. - for (int i = 0; i < size; i++) { - long directoryId = directoryIds[i]; - Uri uri = ContactInfoHelper.getContactInfoLookupUri(info.phoneNumber, directoryId); - if (DBG) { - Log.d(LOG_TAG, "directoryId: " + directoryId + " uri: " + uri); - } - OnQueryCompleteListener intermediateListener = - listenerFactory.newListener(directoryId); - startQueryInternal(token, context, info, intermediateListener, cookie, uri); - } - return true; - } - - /* Directory lookup related code - START */ - private static final String[] DIRECTORY_PROJECTION = new String[] {Directory._ID}; - - private static long[] getDirectoryIds(Context context) { - ArrayList<Long> results = new ArrayList<>(); - - Uri uri = Directory.CONTENT_URI; - if (ContactsUtils.FLAG_N_FEATURE) { - uri = Uri.withAppendedPath(ContactsContract.AUTHORITY_URI, "directories_enterprise"); - } - - ContentResolver cr = context.getContentResolver(); - Cursor cursor = cr.query(uri, DIRECTORY_PROJECTION, null, null, null); - addDirectoryIdsFromCursor(cursor, results); - - return Longs.toArray(results); - } - - private static void addDirectoryIdsFromCursor(Cursor cursor, ArrayList<Long> results) { - if (cursor != null) { - int idIndex = cursor.getColumnIndex(Directory._ID); - while (cursor.moveToNext()) { - long id = cursor.getLong(idIndex); - if (DirectoryCompat.isRemoteDirectoryId(id)) { - results.add(id); - } - } - cursor.close(); - } - } - - private static final class DirectoryQueryCompleteListenerFactory { - // Make sure listener to be called once and only once - private int mCount; - private boolean mIsListenerCalled; - private final OnQueryCompleteListener mListener; - private final Context mContext; - private final CachedNumberLookupService mCachedNumberLookupService = - ObjectFactory.newCachedNumberLookupService(); - - private class DirectoryQueryCompleteListener implements OnQueryCompleteListener { - private final long mDirectoryId; - - DirectoryQueryCompleteListener(long directoryId) { - mDirectoryId = directoryId; - } - - @Override - public void onQueryComplete(int token, Object cookie, CallerInfo ci) { - onDirectoryQueryComplete(token, cookie, ci, mDirectoryId); - } - } - - DirectoryQueryCompleteListenerFactory(Context context, int size, - OnQueryCompleteListener listener) { - mCount = size; - mListener = listener; - mIsListenerCalled = false; - mContext = context; - } - - private void onDirectoryQueryComplete(int token, Object cookie, CallerInfo ci, - long directoryId) { - boolean shouldCallListener = false; - synchronized (this) { - mCount = mCount - 1; - if (!mIsListenerCalled && (ci.contactExists || mCount == 0)) { - mIsListenerCalled = true; - shouldCallListener = true; - } - } - - // Don't call callback in synchronized block because mListener.onQueryComplete may - // take long time to complete - if (shouldCallListener && mListener != null) { - addCallerInfoIntoCache(ci, directoryId); - mListener.onQueryComplete(token, cookie, ci); - } - } - - private void addCallerInfoIntoCache(CallerInfo ci, long directoryId) { - if (ci.contactExists && mCachedNumberLookupService != null) { - // 1. Cache caller info - CachedContactInfo cachedContactInfo = CallerInfoUtils - .buildCachedContactInfo(mCachedNumberLookupService, ci); - String directoryLabel = mContext.getString(R.string.directory_search_label); - cachedContactInfo.setDirectorySource(directoryLabel, directoryId); - mCachedNumberLookupService.addContact(mContext, cachedContactInfo); - - // 2. Cache photo - if (ci.contactDisplayPhotoUri != null && ci.normalizedNumber != null) { - try (InputStream in = mContext.getContentResolver() - .openInputStream(ci.contactDisplayPhotoUri)) { - if (in != null) { - mCachedNumberLookupService.addPhoto(mContext, ci.normalizedNumber, in); - } - } catch (IOException e) { - Log.e(LOG_TAG, "failed to fetch directory contact photo", e); - } - - } - } - } - - public OnQueryCompleteListener newListener(long directoryId) { - return new DirectoryQueryCompleteListener(directoryId); - } - } - /* Directory lookup related code - END */ - - /** - * Method to create a new CallerInfoAsyncQueryHandler object, ensuring correct - * state of context and uri. - */ - private void allocate(Context context, Uri contactRef) { - if ((context == null) || (contactRef == null)){ - throw new QueryPoolException("Bad context or query uri."); - } - mHandler = new CallerInfoAsyncQueryHandler(context); - mHandler.mQueryContext = context; - mHandler.mQueryUri = contactRef; - } - - /** - * Releases the relevant data. - */ - private void release() { - mHandler.mQueryContext = null; - mHandler.mQueryUri = null; - mHandler.mCallerInfo = null; - mHandler = null; - } - - private static String sanitizeUriToString(Uri uri) { - if (uri != null) { - String uriString = uri.toString(); - int indexOfLastSlash = uriString.lastIndexOf('/'); - if (indexOfLastSlash > 0) { - return uriString.substring(0, indexOfLastSlash) + "/xxxxxxx"; - } else { - return uriString; - } - } else { - return ""; - } - } -} diff --git a/InCallUI/src/com/android/incallui/CallerInfoUtils.java b/InCallUI/src/com/android/incallui/CallerInfoUtils.java deleted file mode 100644 index 289b652fc..000000000 --- a/InCallUI/src/com/android/incallui/CallerInfoUtils.java +++ /dev/null @@ -1,234 +0,0 @@ -package com.android.incallui; - -import android.content.Context; -import android.content.Loader; -import android.content.Loader.OnLoadCompleteListener; -import android.net.Uri; -import android.telecom.PhoneAccount; -import android.telecom.TelecomManager; -import android.text.TextUtils; -import android.util.Log; - -import com.android.contacts.common.model.Contact; -import com.android.contacts.common.model.ContactLoader; -import com.android.dialer.R; -import com.android.dialer.calllog.ContactInfo; -import com.android.dialer.service.CachedNumberLookupService; -import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo; -import com.android.dialer.util.TelecomUtil; - -import java.util.Arrays; - -/** - * Utility methods for contact and caller info related functionality - */ -public class CallerInfoUtils { - - private static final String TAG = CallerInfoUtils.class.getSimpleName(); - - /** Define for not a special CNAP string */ - private static final int CNAP_SPECIAL_CASE_NO = -1; - - public CallerInfoUtils() { - } - - private static final int QUERY_TOKEN = -1; - - /** - * This is called to get caller info for a call. This will return a CallerInfo - * object immediately based off information in the call, but - * more information is returned to the OnQueryCompleteListener (which contains - * information about the phone number label, user's name, etc). - */ - public static CallerInfo getCallerInfoForCall(Context context, Call call, - CallerInfoAsyncQuery.OnQueryCompleteListener listener) { - CallerInfo info = buildCallerInfo(context, call); - - // TODO: Have phoneapp send a Uri when it knows the contact that triggered this call. - - if (info.numberPresentation == TelecomManager.PRESENTATION_ALLOWED) { - // Start the query with the number provided from the call. - Log.d(TAG, "==> Actually starting CallerInfoAsyncQuery.startQuery()..."); - CallerInfoAsyncQuery.startQuery(QUERY_TOKEN, context, info, listener, call); - } - return info; - } - - public static CallerInfo buildCallerInfo(Context context, Call call) { - CallerInfo info = new CallerInfo(); - - // Store CNAP information retrieved from the Connection (we want to do this - // here regardless of whether the number is empty or not). - info.cnapName = call.getCnapName(); - info.name = info.cnapName; - info.numberPresentation = call.getNumberPresentation(); - info.namePresentation = call.getCnapNamePresentation(); - info.callSubject = call.getCallSubject(); - - String number = call.getNumber(); - if (!TextUtils.isEmpty(number)) { - final String[] numbers = number.split("&"); - number = numbers[0]; - if (numbers.length > 1) { - info.forwardingNumber = numbers[1]; - } - - number = modifyForSpecialCnapCases(context, info, number, info.numberPresentation); - info.phoneNumber = number; - } - - // Because the InCallUI is immediately launched before the call is connected, occasionally - // a voicemail call will be passed to InCallUI as a "voicemail:" URI without a number. - // This call should still be handled as a voicemail call. - if ((call.getHandle() != null && - PhoneAccount.SCHEME_VOICEMAIL.equals(call.getHandle().getScheme())) || - isVoiceMailNumber(context, call)) { - info.markAsVoiceMail(context); - } - - ContactInfoCache.getInstance(context).maybeInsertCnapInformationIntoCache(context, call, - info); - - return info; - } - - /** - * Creates a new {@link CachedContactInfo} from a {@link CallerInfo} - * - * @param lookupService the {@link CachedNumberLookupService} used to build a - * new {@link CachedContactInfo} - * @param {@link CallerInfo} object - * @return a CachedContactInfo object created from this CallerInfo - * @throws NullPointerException if lookupService or ci are null - */ - public static CachedContactInfo buildCachedContactInfo(CachedNumberLookupService lookupService, - CallerInfo ci) { - ContactInfo info = new ContactInfo(); - info.name = ci.name; - info.type = ci.numberType; - info.label = ci.phoneLabel; - info.number = ci.phoneNumber; - info.normalizedNumber = ci.normalizedNumber; - info.photoUri = ci.contactDisplayPhotoUri; - info.userType = ci.userType; - - CachedContactInfo cacheInfo = lookupService.buildCachedContactInfo(info); - cacheInfo.setLookupKey(ci.lookupKeyOrNull); - return cacheInfo; - } - - public static boolean isVoiceMailNumber(Context context, Call call) { - return TelecomUtil.isVoicemailNumber(context, - call.getTelecomCall().getDetails().getAccountHandle(), - call.getNumber()); - } - - /** - * Handles certain "corner cases" for CNAP. When we receive weird phone numbers - * from the network to indicate different number presentations, convert them to - * expected number and presentation values within the CallerInfo object. - * @param number number we use to verify if we are in a corner case - * @param presentation presentation value used to verify if we are in a corner case - * @return the new String that should be used for the phone number - */ - /* package */static String modifyForSpecialCnapCases(Context context, CallerInfo ci, - String number, int presentation) { - // Obviously we return number if ci == null, but still return number if - // number == null, because in these cases the correct string will still be - // displayed/logged after this function returns based on the presentation value. - if (ci == null || number == null) return number; - - Log.d(TAG, "modifyForSpecialCnapCases: initially, number=" - + toLogSafePhoneNumber(number) - + ", presentation=" + presentation + " ci " + ci); - - // "ABSENT NUMBER" is a possible value we could get from the network as the - // phone number, so if this happens, change it to "Unknown" in the CallerInfo - // and fix the presentation to be the same. - final String[] absentNumberValues = - context.getResources().getStringArray(R.array.absent_num); - if (Arrays.asList(absentNumberValues).contains(number) - && presentation == TelecomManager.PRESENTATION_ALLOWED) { - number = context.getString(R.string.unknown); - ci.numberPresentation = TelecomManager.PRESENTATION_UNKNOWN; - } - - // Check for other special "corner cases" for CNAP and fix them similarly. Corner - // cases only apply if we received an allowed presentation from the network, so check - // if we think we have an allowed presentation, or if the CallerInfo presentation doesn't - // match the presentation passed in for verification (meaning we changed it previously - // because it's a corner case and we're being called from a different entry point). - if (ci.numberPresentation == TelecomManager.PRESENTATION_ALLOWED - || (ci.numberPresentation != presentation - && presentation == TelecomManager.PRESENTATION_ALLOWED)) { - // For all special strings, change number & numberPrentation. - if (isCnapSpecialCaseRestricted(number)) { - number = context.getString(R.string.private_num); - ci.numberPresentation = TelecomManager.PRESENTATION_RESTRICTED; - } else if (isCnapSpecialCaseUnknown(number)) { - number = context.getString(R.string.unknown); - ci.numberPresentation = TelecomManager.PRESENTATION_UNKNOWN; - } - Log.d(TAG, "SpecialCnap: number=" + toLogSafePhoneNumber(number) - + "; presentation now=" + ci.numberPresentation); - } - Log.d(TAG, "modifyForSpecialCnapCases: returning number string=" - + toLogSafePhoneNumber(number)); - return number; - } - - private static boolean isCnapSpecialCaseRestricted(String n) { - return n.equals("PRIVATE") || n.equals("P") || n.equals("RES"); - } - - private static boolean isCnapSpecialCaseUnknown(String n) { - return n.equals("UNAVAILABLE") || n.equals("UNKNOWN") || n.equals("UNA") || n.equals("U"); - } - - /* package */static String toLogSafePhoneNumber(String number) { - // For unknown number, log empty string. - if (number == null) { - return ""; - } - - // Todo: Figure out an equivalent for VDBG - if (false) { - // When VDBG is true we emit PII. - return number; - } - - // Do exactly same thing as Uri#toSafeString() does, which will enable us to compare - // sanitized phone numbers. - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < number.length(); i++) { - char c = number.charAt(i); - if (c == '-' || c == '@' || c == '.' || c == '&') { - builder.append(c); - } else { - builder.append('x'); - } - } - return builder.toString(); - } - - /** - * Send a notification using a {@link ContactLoader} to inform the sync adapter that we are - * viewing a particular contact, so that it can download the high-res photo. - */ - public static void sendViewNotification(Context context, Uri contactUri) { - final ContactLoader loader = new ContactLoader(context, contactUri, - true /* postViewNotification */); - loader.registerListener(0, new OnLoadCompleteListener<Contact>() { - @Override - public void onLoadComplete( - Loader<Contact> loader, Contact contact) { - try { - loader.reset(); - } catch (RuntimeException e) { - Log.e(TAG, "Error resetting loader", e); - } - } - }); - loader.startLoading(); - } -} diff --git a/InCallUI/src/com/android/incallui/CircularRevealFragment.java b/InCallUI/src/com/android/incallui/CircularRevealFragment.java deleted file mode 100644 index 01bd253ec..000000000 --- a/InCallUI/src/com/android/incallui/CircularRevealFragment.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2014 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.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.app.Activity; -import android.app.Fragment; -import android.app.FragmentManager; -import android.graphics.Outline; -import android.graphics.Point; -import android.os.Bundle; -import android.view.Display; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewAnimationUtils; -import android.view.ViewGroup; -import android.view.ViewOutlineProvider; -import android.view.ViewTreeObserver; -import android.view.ViewTreeObserver.OnPreDrawListener; - -import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; -import com.android.dialer.R; - -public class CircularRevealFragment extends Fragment { - static final String TAG = "CircularRevealFragment"; - - private Point mTouchPoint; - private OnCircularRevealCompleteListener mListener; - private boolean mAnimationStarted; - - interface OnCircularRevealCompleteListener { - public void onCircularRevealComplete(FragmentManager fm); - } - - public static void startCircularReveal(FragmentManager fm, Point touchPoint, - OnCircularRevealCompleteListener listener) { - if (fm.findFragmentByTag(TAG) == null) { - fm.beginTransaction().add(R.id.main, - new CircularRevealFragment(touchPoint, listener), TAG) - .commitAllowingStateLoss(); - } else { - Log.w(TAG, "An instance of CircularRevealFragment already exists"); - } - } - - public static void endCircularReveal(FragmentManager fm) { - final Fragment fragment = fm.findFragmentByTag(TAG); - if (fragment != null) { - fm.beginTransaction().remove(fragment).commitAllowingStateLoss(); - } - } - - /** - * Empty constructor used only by the {@link FragmentManager}. - */ - public CircularRevealFragment() {} - - public CircularRevealFragment(Point touchPoint, OnCircularRevealCompleteListener listener) { - mTouchPoint = touchPoint; - mListener = listener; - } - - @Override - public void onResume() { - super.onResume(); - if (!mAnimationStarted) { - // Only run the animation once for each instance of the fragment - startOutgoingAnimation(InCallPresenter.getInstance().getThemeColors()); - } - mAnimationStarted = true; - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - return inflater.inflate(R.layout.outgoing_call_animation, container, false); - } - - public void startOutgoingAnimation(MaterialPalette palette) { - final Activity activity = getActivity(); - if (activity == null) { - Log.w(this, "Asked to do outgoing call animation when not attached"); - return; - } - - final View view = activity.getWindow().getDecorView(); - - // The circle starts from an initial size of 0 so clip it such that it is invisible. - // Otherwise the first frame is drawn with a fully opaque screen which causes jank. When - // the animation later starts, this clip will be clobbered by the circular reveal clip. - // See ViewAnimationUtils.createCircularReveal. - view.setOutlineProvider(new ViewOutlineProvider() { - @Override - public void getOutline(View view, Outline outline) { - // Using (0, 0, 0, 0) will not work since the outline will simply be treated as - // an empty outline. - outline.setOval(-1, -1, 0, 0); - } - }); - view.setClipToOutline(true); - - if (palette != null) { - view.findViewById(R.id.outgoing_call_animation_circle).setBackgroundColor( - palette.mPrimaryColor); - activity.getWindow().setStatusBarColor(palette.mSecondaryColor); - } - - view.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() { - @Override - public boolean onPreDraw() { - final ViewTreeObserver vto = view.getViewTreeObserver(); - if (vto.isAlive()) { - vto.removeOnPreDrawListener(this); - } - final Animator animator = getRevealAnimator(mTouchPoint); - if (animator != null) { - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - view.setClipToOutline(false); - if (mListener != null) { - mListener.onCircularRevealComplete(getFragmentManager()); - } - } - }); - animator.start(); - } - return false; - } - }); - } - - private Animator getRevealAnimator(Point touchPoint) { - final Activity activity = getActivity(); - if (activity == null) { - return null; - } - final View view = activity.getWindow().getDecorView(); - final Display display = activity.getWindowManager().getDefaultDisplay(); - final Point size = new Point(); - display.getSize(size); - - int startX = size.x / 2; - int startY = size.y / 2; - if (touchPoint != null) { - startX = touchPoint.x; - startY = touchPoint.y; - } - - final Animator valueAnimator = ViewAnimationUtils.createCircularReveal(view, - startX, startY, 0, Math.max(size.x, size.y)); - valueAnimator.setDuration(getResources().getInteger(R.integer.reveal_animation_duration)); - return valueAnimator; - } -} diff --git a/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java b/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java deleted file mode 100644 index fe941c8c5..000000000 --- a/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * 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.ActionBar; -import android.content.Context; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ListView; - -import com.android.contacts.common.ContactPhotoManager; -import com.android.dialer.R; - -import java.util.List; - -/** - * Fragment that allows the user to manage a conference call. - */ -public class ConferenceManagerFragment - extends BaseFragment<ConferenceManagerPresenter, - ConferenceManagerPresenter.ConferenceManagerUi> - implements ConferenceManagerPresenter.ConferenceManagerUi { - - private static final String KEY_IS_VISIBLE = "key_conference_is_visible"; - - private ListView mConferenceParticipantList; - private int mActionBarElevation; - private ContactPhotoManager mContactPhotoManager; - private LayoutInflater mInflater; - private ConferenceParticipantListAdapter mConferenceParticipantListAdapter; - private boolean mIsVisible; - private boolean mIsRecreating; - - @Override - public ConferenceManagerPresenter createPresenter() { - return new ConferenceManagerPresenter(); - } - - @Override - public ConferenceManagerPresenter.ConferenceManagerUi getUi() { - return this; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (savedInstanceState != null) { - mIsRecreating = true; - mIsVisible = savedInstanceState.getBoolean(KEY_IS_VISIBLE); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - final View parent = - inflater.inflate(R.layout.conference_manager_fragment, container, false); - - mConferenceParticipantList = (ListView) parent.findViewById(R.id.participantList); - mContactPhotoManager = - ContactPhotoManager.getInstance(getActivity().getApplicationContext()); - mActionBarElevation = - (int) getResources().getDimension(R.dimen.incall_action_bar_elevation); - mInflater = LayoutInflater.from(getActivity().getApplicationContext()); - - return parent; - } - - @Override - public void onResume() { - super.onResume(); - if (mIsRecreating) { - onVisibilityChanged(mIsVisible); - } - } - - @Override - public void onSaveInstanceState(Bundle outState) { - outState.putBoolean(KEY_IS_VISIBLE, mIsVisible); - super.onSaveInstanceState(outState); - } - - public void onVisibilityChanged(boolean isVisible) { - mIsVisible = isVisible; - ActionBar actionBar = getActivity().getActionBar(); - if (isVisible) { - actionBar.setTitle(R.string.manageConferenceLabel); - actionBar.setElevation(mActionBarElevation); - actionBar.setHideOffset(0); - actionBar.show(); - - final CallList calls = CallList.getInstance(); - getPresenter().init(getActivity(), calls); - // Request focus on the list of participants for accessibility purposes. This ensures - // that once the list of participants is shown, the first participant is announced. - mConferenceParticipantList.requestFocus(); - } else { - actionBar.setElevation(0); - actionBar.setHideOffset(actionBar.getHeight()); - } - } - - @Override - public boolean isFragmentVisible() { - return isVisible(); - } - - @Override - public void update(Context context, List<Call> participants, boolean parentCanSeparate) { - if (mConferenceParticipantListAdapter == null) { - mConferenceParticipantListAdapter = new ConferenceParticipantListAdapter( - mConferenceParticipantList, context, mInflater, mContactPhotoManager); - - mConferenceParticipantList.setAdapter(mConferenceParticipantListAdapter); - } - mConferenceParticipantListAdapter.updateParticipants(participants, parentCanSeparate); - } - - @Override - public void refreshCall(Call call) { - mConferenceParticipantListAdapter.refreshCall(call); - } -} diff --git a/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java b/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java deleted file mode 100644 index 6fb6e5dda..000000000 --- a/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * 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.content.Context; - -import com.android.incallui.InCallPresenter.InCallDetailsListener; -import com.android.incallui.InCallPresenter.InCallState; -import com.android.incallui.InCallPresenter.InCallStateListener; -import com.android.incallui.InCallPresenter.IncomingCallListener; - -import com.google.common.base.Preconditions; - -import java.util.ArrayList; -import java.util.List; - -/** - * Logic for call buttons. - */ -public class ConferenceManagerPresenter - extends Presenter<ConferenceManagerPresenter.ConferenceManagerUi> - implements InCallStateListener, InCallDetailsListener, IncomingCallListener { - - private Context mContext; - - @Override - public void onUiReady(ConferenceManagerUi ui) { - super.onUiReady(ui); - - // register for call state changes last - InCallPresenter.getInstance().addListener(this); - InCallPresenter.getInstance().addIncomingCallListener(this); - } - - @Override - public void onUiUnready(ConferenceManagerUi ui) { - super.onUiUnready(ui); - - InCallPresenter.getInstance().removeListener(this); - InCallPresenter.getInstance().removeIncomingCallListener(this); - } - - @Override - public void onStateChange(InCallState oldState, InCallState newState, CallList callList) { - if (getUi().isFragmentVisible()) { - Log.v(this, "onStateChange" + newState); - if (newState == InCallState.INCALL) { - final Call call = callList.getActiveOrBackgroundCall(); - if (call != null && call.isConferenceCall()) { - Log.v(this, "Number of existing calls is " + - String.valueOf(call.getChildCallIds().size())); - update(callList); - } else { - InCallPresenter.getInstance().showConferenceCallManager(false); - } - } else { - InCallPresenter.getInstance().showConferenceCallManager(false); - } - } - } - - @Override - public void onDetailsChanged(Call call, android.telecom.Call.Details details) { - boolean canDisconnect = details.can( - android.telecom.Call.Details.CAPABILITY_DISCONNECT_FROM_CONFERENCE); - boolean canSeparate = details.can( - android.telecom.Call.Details.CAPABILITY_SEPARATE_FROM_CONFERENCE); - - if (call.can(android.telecom.Call.Details.CAPABILITY_DISCONNECT_FROM_CONFERENCE) - != canDisconnect - || call.can(android.telecom.Call.Details.CAPABILITY_SEPARATE_FROM_CONFERENCE) - != canSeparate) { - getUi().refreshCall(call); - } - - if (!details.can( - android.telecom.Call.Details.CAPABILITY_MANAGE_CONFERENCE)) { - InCallPresenter.getInstance().showConferenceCallManager(false); - } - } - - @Override - public void onIncomingCall(InCallState oldState, InCallState newState, Call call) { - // When incoming call exists, set conference ui invisible. - if (getUi().isFragmentVisible()) { - Log.d(this, "onIncomingCall()... Conference ui is showing, hide it."); - InCallPresenter.getInstance().showConferenceCallManager(false); - } - } - - public void init(Context context, CallList callList) { - mContext = Preconditions.checkNotNull(context); - mContext = context; - update(callList); - } - - /** - * Updates the conference participant adapter. - * - * @param callList The callList. - */ - private void update(CallList callList) { - // callList is non null, but getActiveOrBackgroundCall() may return null - final Call currentCall = callList.getActiveOrBackgroundCall(); - if (currentCall == null) { - return; - } - - ArrayList<Call> calls = new ArrayList<>(currentCall.getChildCallIds().size()); - for (String callerId : currentCall.getChildCallIds()) { - calls.add(callList.getCallById(callerId)); - } - - Log.d(this, "Number of calls is " + String.valueOf(calls.size())); - - // Users can split out a call from the conference call if either the active call or the - // holding call is empty. If both are filled, users can not split out another call. - final boolean hasActiveCall = (callList.getActiveCall() != null); - final boolean hasHoldingCall = (callList.getBackgroundCall() != null); - boolean canSeparate = !(hasActiveCall && hasHoldingCall); - - getUi().update(mContext, calls, canSeparate); - } - - public interface ConferenceManagerUi extends Ui { - boolean isFragmentVisible(); - void update(Context context, List<Call> participants, boolean parentCanSeparate); - void refreshCall(Call call); - } -} diff --git a/InCallUI/src/com/android/incallui/ConferenceParticipantListAdapter.java b/InCallUI/src/com/android/incallui/ConferenceParticipantListAdapter.java deleted file mode 100644 index d68ae1f6f..000000000 --- a/InCallUI/src/com/android/incallui/ConferenceParticipantListAdapter.java +++ /dev/null @@ -1,533 +0,0 @@ -/* - * Copyright (C) 2014 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 com.google.common.base.MoreObjects; - -import android.content.Context; -import android.net.Uri; -import android.support.annotation.Nullable; -import android.text.BidiFormatter; -import android.text.TextDirectionHeuristics; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.ImageView; -import android.widget.ListView; -import android.widget.TextView; - -import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; -import com.android.contacts.common.compat.PhoneNumberUtilsCompat; -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.util.ContactDisplayUtils; -import com.android.dialer.R; -import com.android.incallui.ContactInfoCache.ContactCacheEntry; - -import java.lang.ref.WeakReference; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * Adapter for a ListView containing conference call participant information. - */ -public class ConferenceParticipantListAdapter extends BaseAdapter { - - /** - * Internal class which represents a participant. Includes a reference to the {@link Call} and - * the corresponding {@link ContactCacheEntry} for the participant. - */ - private class ParticipantInfo { - private Call mCall; - private ContactCacheEntry mContactCacheEntry; - private boolean mCacheLookupComplete = false; - - public ParticipantInfo(Call call, ContactCacheEntry contactCacheEntry) { - mCall = call; - mContactCacheEntry = contactCacheEntry; - } - - public Call getCall() { - return mCall; - } - - public void setCall(Call call) { - mCall = call; - } - - public ContactCacheEntry getContactCacheEntry() { - return mContactCacheEntry; - } - - public void setContactCacheEntry(ContactCacheEntry entry) { - mContactCacheEntry = entry; - } - - public boolean isCacheLookupComplete() { - return mCacheLookupComplete; - } - - public void setCacheLookupComplete(boolean cacheLookupComplete) { - mCacheLookupComplete = cacheLookupComplete; - } - - @Override - public boolean equals(Object o) { - if (o instanceof ParticipantInfo) { - ParticipantInfo p = (ParticipantInfo) o; - return - Objects.equals(p.getCall().getId(), mCall.getId()); - } - return false; - } - - @Override - public int hashCode() { - return mCall.getId().hashCode(); - } - } - - /** - * Callback class used when making requests to the {@link ContactInfoCache} to resolve contact - * info and contact photos for conference participants. - */ - public static class ContactLookupCallback implements ContactInfoCache.ContactInfoCacheCallback { - private final WeakReference<ConferenceParticipantListAdapter> mListAdapter; - - public ContactLookupCallback(ConferenceParticipantListAdapter listAdapter) { - mListAdapter = new WeakReference<ConferenceParticipantListAdapter>(listAdapter); - } - - /** - * Called when contact info has been resolved. - * - * @param callId The call id. - * @param entry The new contact information. - */ - @Override - public void onContactInfoComplete(String callId, ContactCacheEntry entry) { - update(callId, entry); - } - - /** - * Called when contact photo has been loaded into the cache. - * - * @param callId The call id. - * @param entry The new contact information. - */ - @Override - public void onImageLoadComplete(String callId, ContactCacheEntry entry) { - update(callId, entry); - } - - @Override - public void onContactInteractionsInfoComplete(String callId, ContactCacheEntry entry) {} - - /** - * Updates the contact information for a participant. - * - * @param callId The call id. - * @param entry The new contact information. - */ - private void update(String callId, ContactCacheEntry entry) { - ConferenceParticipantListAdapter listAdapter = mListAdapter.get(); - if (listAdapter != null) { - listAdapter.updateContactInfo(callId, entry); - } - } - } - - /** - * Listener used to handle tap of the "disconnect' button for a participant. - */ - private View.OnClickListener mDisconnectListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - View parent = (View) v.getParent(); - String callId = (String) parent.getTag(); - TelecomAdapter.getInstance().disconnectCall(callId); - } - }; - - /** - * Listener used to handle tap of the "separate' button for a participant. - */ - private View.OnClickListener mSeparateListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - View parent = (View) v.getParent(); - String callId = (String) parent.getTag(); - TelecomAdapter.getInstance().separateCall(callId); - } - }; - - /** - * The ListView containing the participant information. - */ - private final ListView mListView; - - /** - * The conference participants to show in the ListView. - */ - private List<ParticipantInfo> mConferenceParticipants = new ArrayList<>(); - - /** - * Hashmap to make accessing participant info by call Id faster. - */ - private final HashMap<String, ParticipantInfo> mParticipantsByCallId = new HashMap<>(); - - /** - * The context. - */ - private final Context mContext; - - /** - * ContactsPreferences used to lookup displayName preferences - */ - @Nullable private final ContactsPreferences mContactsPreferences; - - /** - * The layout inflater used to inflate new views. - */ - private final LayoutInflater mLayoutInflater; - - /** - * Contact photo manager to retrieve cached contact photo information. - */ - private final ContactPhotoManager mContactPhotoManager; - - /** - * {@code True} if the conference parent supports separating calls from the conference. - */ - private boolean mParentCanSeparate; - - /** - * Creates an instance of the ConferenceParticipantListAdapter. - * - * @param listView The listview. - * @param context The context. - * @param layoutInflater The layout inflater. - * @param contactPhotoManager The contact photo manager, used to load contact photos. - */ - public ConferenceParticipantListAdapter(ListView listView, Context context, - LayoutInflater layoutInflater, ContactPhotoManager contactPhotoManager) { - - mListView = listView; - mContext = context; - mContactsPreferences = ContactsPreferencesFactory.newContactsPreferences(mContext); - mLayoutInflater = layoutInflater; - mContactPhotoManager = contactPhotoManager; - } - - /** - * Updates the adapter with the new conference participant information provided. - * - * @param conferenceParticipants The list of conference participants. - * @param parentCanSeparate {@code True} if the parent supports separating calls from the - * conference. - */ - public void updateParticipants(List<Call> conferenceParticipants, boolean parentCanSeparate) { - if (mContactsPreferences != null) { - mContactsPreferences.refreshValue(ContactsPreferences.DISPLAY_ORDER_KEY); - mContactsPreferences.refreshValue(ContactsPreferences.SORT_ORDER_KEY); - } - mParentCanSeparate = parentCanSeparate; - updateParticipantInfo(conferenceParticipants); - } - - /** - * Determines the number of participants in the conference. - * - * @return The number of participants. - */ - @Override - public int getCount() { - return mConferenceParticipants.size(); - } - - /** - * Retrieves an item from the list of participants. - * - * @param position Position of the item whose data we want within the adapter's - * data set. - * @return The {@link ParticipantInfo}. - */ - @Override - public Object getItem(int position) { - return mConferenceParticipants.get(position); - } - - /** - * Retreives the adapter-specific item id for an item at a specified position. - * - * @param position The position of the item within the adapter's data set whose row id we want. - * @return The item id. - */ - @Override - public long getItemId(int position) { - return position; - } - - /** - * Refreshes call information for the call passed in. - * - * @param call The new call information. - */ - public void refreshCall(Call call) { - String callId = call.getId(); - - if (mParticipantsByCallId.containsKey(callId)) { - ParticipantInfo participantInfo = mParticipantsByCallId.get(callId); - participantInfo.setCall(call); - refreshView(callId); - } - } - - /** - * Attempts to refresh the view for the specified call ID. This ensures the contact info and - * photo loaded from cache are updated. - * - * @param callId The call id. - */ - private void refreshView(String callId) { - int first = mListView.getFirstVisiblePosition(); - int last = mListView.getLastVisiblePosition(); - - for (int position = 0; position <= last - first; position++) { - View view = mListView.getChildAt(position); - String rowCallId = (String) view.getTag(); - if (rowCallId.equals(callId)) { - getView(position+first, view, mListView); - break; - } - } - } - - /** - * Creates or populates an existing conference participant row. - * - * @param position The position of the item within the adapter's data set of the item whose view - * we want. - * @param convertView The old view to reuse, if possible. - * @param parent The parent that this view will eventually be attached to - * @return The populated view. - */ - @Override - public View getView(int position, View convertView, ViewGroup parent) { - // Make sure we have a valid convertView to start with - final View result = convertView == null - ? mLayoutInflater.inflate(R.layout.caller_in_conference, parent, false) - : convertView; - - ParticipantInfo participantInfo = mConferenceParticipants.get(position); - Call call = participantInfo.getCall(); - ContactCacheEntry contactCache = participantInfo.getContactCacheEntry(); - - final ContactInfoCache cache = ContactInfoCache.getInstance(mContext); - - // If a cache lookup has not yet been performed to retrieve the contact information and - // photo, do it now. - if (!participantInfo.isCacheLookupComplete()) { - cache.findInfo(participantInfo.getCall(), - participantInfo.getCall().getState() == Call.State.INCOMING, - new ContactLookupCallback(this)); - } - - boolean thisRowCanSeparate = mParentCanSeparate && call.getTelecomCall().getDetails().can( - android.telecom.Call.Details.CAPABILITY_SEPARATE_FROM_CONFERENCE); - boolean thisRowCanDisconnect = call.getTelecomCall().getDetails().can( - android.telecom.Call.Details.CAPABILITY_DISCONNECT_FROM_CONFERENCE); - - setCallerInfoForRow(result, contactCache.namePrimary, - ContactDisplayUtils.getPreferredDisplayName(contactCache.namePrimary, - contactCache.nameAlternative, mContactsPreferences), - contactCache.number, contactCache.label, - contactCache.lookupKey, contactCache.displayPhotoUri, thisRowCanSeparate, - thisRowCanDisconnect); - - // Tag the row in the conference participant list with the call id to make it easier to - // find calls when contact cache information is loaded. - result.setTag(call.getId()); - - return result; - } - - /** - * Replaces the contact info for a participant and triggers a refresh of the UI. - * - * @param callId The call id. - * @param entry The new contact info. - */ - /* package */ void updateContactInfo(String callId, ContactCacheEntry entry) { - if (mParticipantsByCallId.containsKey(callId)) { - ParticipantInfo participantInfo = mParticipantsByCallId.get(callId); - participantInfo.setContactCacheEntry(entry); - participantInfo.setCacheLookupComplete(true); - refreshView(callId); - } - } - - /** - * Sets the caller information for a row in the conference participant list. - * - * @param view The view to set the details on. - * @param callerName The participant's name. - * @param callerNumber The participant's phone number. - * @param callerNumberType The participant's phone number typ.e - * @param lookupKey The lookup key for the participant (for photo lookup). - * @param photoUri The URI of the contact photo. - * @param thisRowCanSeparate {@code True} if this participant can separate from the conference. - * @param thisRowCanDisconnect {@code True} if this participant can be disconnected. - */ - private final void setCallerInfoForRow(View view, String callerName, String preferredName, - String callerNumber, String callerNumberType, String lookupKey, Uri photoUri, - boolean thisRowCanSeparate, boolean thisRowCanDisconnect) { - - final ImageView photoView = (ImageView) view.findViewById(R.id.callerPhoto); - final TextView nameTextView = (TextView) view.findViewById(R.id.conferenceCallerName); - final TextView numberTextView = (TextView) view.findViewById(R.id.conferenceCallerNumber); - final TextView numberTypeTextView = (TextView) view.findViewById( - R.id.conferenceCallerNumberType); - final View endButton = view.findViewById(R.id.conferenceCallerDisconnect); - final View separateButton = view.findViewById(R.id.conferenceCallerSeparate); - - endButton.setVisibility(thisRowCanDisconnect ? View.VISIBLE : View.GONE); - if (thisRowCanDisconnect) { - endButton.setOnClickListener(mDisconnectListener); - } else { - endButton.setOnClickListener(null); - } - - separateButton.setVisibility(thisRowCanSeparate ? View.VISIBLE : View.GONE); - if (thisRowCanSeparate) { - separateButton.setOnClickListener(mSeparateListener); - } else { - separateButton.setOnClickListener(null); - } - - DefaultImageRequest imageRequest = (photoUri != null) ? null : - new DefaultImageRequest(callerName, lookupKey, true /* isCircularPhoto */); - - mContactPhotoManager.loadDirectoryPhoto(photoView, photoUri, false, true, imageRequest); - - // set the caller name - nameTextView.setText(preferredName); - - // set the caller number in subscript, or make the field disappear. - if (TextUtils.isEmpty(callerNumber)) { - numberTextView.setVisibility(View.GONE); - numberTypeTextView.setVisibility(View.GONE); - } else { - numberTextView.setVisibility(View.VISIBLE); - numberTextView.setText(PhoneNumberUtilsCompat.createTtsSpannable( - BidiFormatter.getInstance().unicodeWrap( - callerNumber, TextDirectionHeuristics.LTR))); - numberTypeTextView.setVisibility(View.VISIBLE); - numberTypeTextView.setText(callerNumberType); - } - } - - /** - * Updates the participant info list which is bound to the ListView. Stores the call and - * contact info for all entries. The list is sorted alphabetically by participant name. - * - * @param conferenceParticipants The calls which make up the conference participants. - */ - private void updateParticipantInfo(List<Call> conferenceParticipants) { - final ContactInfoCache cache = ContactInfoCache.getInstance(mContext); - boolean newParticipantAdded = false; - HashSet<String> newCallIds = new HashSet<>(conferenceParticipants.size()); - - // Update or add conference participant info. - for (Call call : conferenceParticipants) { - String callId = call.getId(); - newCallIds.add(callId); - ContactCacheEntry contactCache = cache.getInfo(callId); - if (contactCache == null) { - contactCache = ContactInfoCache.buildCacheEntryFromCall(mContext, call, - call.getState() == Call.State.INCOMING); - } - - if (mParticipantsByCallId.containsKey(callId)) { - ParticipantInfo participantInfo = mParticipantsByCallId.get(callId); - participantInfo.setCall(call); - participantInfo.setContactCacheEntry(contactCache); - } else { - newParticipantAdded = true; - ParticipantInfo participantInfo = new ParticipantInfo(call, contactCache); - mConferenceParticipants.add(participantInfo); - mParticipantsByCallId.put(call.getId(), participantInfo); - } - } - - // Remove any participants that no longer exist. - Iterator<Map.Entry<String, ParticipantInfo>> it = - mParticipantsByCallId.entrySet().iterator(); - while (it.hasNext()) { - Map.Entry<String, ParticipantInfo> entry = it.next(); - String existingCallId = entry.getKey(); - if (!newCallIds.contains(existingCallId)) { - ParticipantInfo existingInfo = entry.getValue(); - mConferenceParticipants.remove(existingInfo); - it.remove(); - } - } - - if (newParticipantAdded) { - // Sort the list of participants by contact name. - sortParticipantList(); - } - notifyDataSetChanged(); - } - - /** - * Sorts the participant list by contact name. - */ - private void sortParticipantList() { - Collections.sort(mConferenceParticipants, new Comparator<ParticipantInfo>() { - public int compare(ParticipantInfo p1, ParticipantInfo p2) { - // Contact names might be null, so replace with empty string. - ContactCacheEntry c1 = p1.getContactCacheEntry(); - String p1Name = MoreObjects.firstNonNull( - ContactDisplayUtils.getPreferredSortName( - c1.namePrimary, - c1.nameAlternative, - mContactsPreferences), - ""); - - ContactCacheEntry c2 = p2.getContactCacheEntry(); - String p2Name = MoreObjects.firstNonNull( - ContactDisplayUtils.getPreferredSortName( - c2.namePrimary, - c2.nameAlternative, - mContactsPreferences), - ""); - - return p1Name.compareToIgnoreCase(p2Name); - } - }); - } -} diff --git a/InCallUI/src/com/android/incallui/ContactInfoCache.java b/InCallUI/src/com/android/incallui/ContactInfoCache.java deleted file mode 100644 index 9d6fc4627..000000000 --- a/InCallUI/src/com/android/incallui/ContactInfoCache.java +++ /dev/null @@ -1,699 +0,0 @@ -/* - * 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 com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.location.Address; -import android.media.RingtoneManager; -import android.net.Uri; -import android.os.AsyncTask; -import android.os.Looper; -import android.provider.ContactsContract; -import android.provider.ContactsContract.CommonDataKinds.Phone; -import android.provider.ContactsContract.Contacts; -import android.provider.ContactsContract.DisplayNameSources; -import android.telecom.TelecomManager; -import android.text.TextUtils; -import android.util.Pair; - -import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.util.PhoneNumberHelper; -import com.android.dialer.R; -import com.android.dialer.calllog.ContactInfo; -import com.android.dialer.service.CachedNumberLookupService; -import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo; -import com.android.dialer.util.MoreStrings; -import com.android.incallui.Call.LogState; -import com.android.incallui.service.PhoneNumberService; -import com.android.incalluibind.ObjectFactory; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.Calendar; -import java.util.HashMap; -import java.util.List; -import java.util.Set; - -/** - * Class responsible for querying Contact Information for Call objects. Can perform asynchronous - * requests to the Contact Provider for information as well as respond synchronously for any data - * that it currently has cached from previous queries. This class always gets called from the UI - * thread so it does not need thread protection. - */ -public class ContactInfoCache implements ContactsAsyncHelper.OnImageLoadCompleteListener { - - private static final String TAG = ContactInfoCache.class.getSimpleName(); - private static final int TOKEN_UPDATE_PHOTO_FOR_CALL_STATE = 0; - - private final Context mContext; - private final PhoneNumberService mPhoneNumberService; - private final CachedNumberLookupService mCachedNumberLookupService; - private final HashMap<String, ContactCacheEntry> mInfoMap = Maps.newHashMap(); - private final HashMap<String, Set<ContactInfoCacheCallback>> mCallBacks = Maps.newHashMap(); - - private static ContactInfoCache sCache = null; - - private Drawable mDefaultContactPhotoDrawable; - private Drawable mConferencePhotoDrawable; - private ContactUtils mContactUtils; - - public static synchronized ContactInfoCache getInstance(Context mContext) { - if (sCache == null) { - sCache = new ContactInfoCache(mContext.getApplicationContext()); - } - return sCache; - } - - private ContactInfoCache(Context context) { - mContext = context; - mPhoneNumberService = ObjectFactory.newPhoneNumberService(context); - mCachedNumberLookupService = - com.android.dialerbind.ObjectFactory.newCachedNumberLookupService(); - mContactUtils = ObjectFactory.getContactUtilsInstance(context); - - } - - public ContactCacheEntry getInfo(String callId) { - return mInfoMap.get(callId); - } - - public static ContactCacheEntry buildCacheEntryFromCall(Context context, Call call, - boolean isIncoming) { - final ContactCacheEntry entry = new ContactCacheEntry(); - - // TODO: get rid of caller info. - final CallerInfo info = CallerInfoUtils.buildCallerInfo(context, call); - ContactInfoCache.populateCacheEntry(context, info, entry, call.getNumberPresentation(), - isIncoming); - return entry; - } - - public void maybeInsertCnapInformationIntoCache(Context context, final Call call, - final CallerInfo info) { - if (mCachedNumberLookupService == null || TextUtils.isEmpty(info.cnapName) - || mInfoMap.get(call.getId()) != null) { - return; - } - final Context applicationContext = context.getApplicationContext(); - Log.i(TAG, "Found contact with CNAP name - inserting into cache"); - new AsyncTask<Void, Void, Void>() { - @Override - protected Void doInBackground(Void... params) { - ContactInfo contactInfo = new ContactInfo(); - CachedContactInfo cacheInfo = mCachedNumberLookupService.buildCachedContactInfo( - contactInfo); - cacheInfo.setSource(CachedContactInfo.SOURCE_TYPE_CNAP, "CNAP", 0); - contactInfo.name = info.cnapName; - contactInfo.number = call.getNumber(); - contactInfo.type = ContactsContract.CommonDataKinds.Phone.TYPE_MAIN; - try { - final JSONObject contactRows = new JSONObject().put(Phone.CONTENT_ITEM_TYPE, - new JSONObject() - .put(Phone.NUMBER, contactInfo.number) - .put(Phone.TYPE, Phone.TYPE_MAIN)); - final String jsonString = new JSONObject() - .put(Contacts.DISPLAY_NAME, contactInfo.name) - .put(Contacts.DISPLAY_NAME_SOURCE, DisplayNameSources.STRUCTURED_NAME) - .put(Contacts.CONTENT_ITEM_TYPE, contactRows).toString(); - cacheInfo.setLookupKey(jsonString); - } catch (JSONException e) { - Log.w(TAG, "Creation of lookup key failed when caching CNAP information"); - } - mCachedNumberLookupService.addContact(applicationContext, cacheInfo); - return null; - } - }.execute(); - } - - private class FindInfoCallback implements CallerInfoAsyncQuery.OnQueryCompleteListener { - private final boolean mIsIncoming; - - public FindInfoCallback(boolean isIncoming) { - mIsIncoming = isIncoming; - } - - @Override - public void onQueryComplete(int token, Object cookie, CallerInfo callerInfo) { - findInfoQueryComplete((Call) cookie, callerInfo, mIsIncoming, true); - } - } - - /** - * Requests contact data for the Call object passed in. - * Returns the data through callback. If callback is null, no response is made, however the - * query is still performed and cached. - * - * @param callback The function to call back when the call is found. Can be null. - */ - public void findInfo(final Call call, final boolean isIncoming, - ContactInfoCacheCallback callback) { - Preconditions.checkState(Looper.getMainLooper().getThread() == Thread.currentThread()); - Preconditions.checkNotNull(callback); - - final String callId = call.getId(); - final ContactCacheEntry cacheEntry = mInfoMap.get(callId); - Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId); - - // If we have a previously obtained intermediate result return that now - if (cacheEntry != null) { - Log.d(TAG, "Contact lookup. In memory cache hit; lookup " - + (callBacks == null ? "complete" : "still running")); - callback.onContactInfoComplete(callId, cacheEntry); - // If no other callbacks are in flight, we're done. - if (callBacks == null) { - return; - } - } - - // If the entry already exists, add callback - if (callBacks != null) { - callBacks.add(callback); - return; - } - Log.d(TAG, "Contact lookup. In memory cache miss; searching provider."); - // New lookup - callBacks = Sets.newHashSet(); - callBacks.add(callback); - mCallBacks.put(callId, callBacks); - - /** - * Performs a query for caller information. - * Save any immediate data we get from the query. An asynchronous query may also be made - * for any data that we do not already have. Some queries, such as those for voicemail and - * emergency call information, will not perform an additional asynchronous query. - */ - final CallerInfo callerInfo = CallerInfoUtils.getCallerInfoForCall( - mContext, call, new FindInfoCallback(isIncoming)); - - findInfoQueryComplete(call, callerInfo, isIncoming, false); - } - - private void findInfoQueryComplete(Call call, CallerInfo callerInfo, boolean isIncoming, - boolean didLocalLookup) { - final String callId = call.getId(); - int presentationMode = call.getNumberPresentation(); - if (callerInfo.contactExists || callerInfo.isEmergencyNumber() || - callerInfo.isVoiceMailNumber()) { - presentationMode = TelecomManager.PRESENTATION_ALLOWED; - } - - ContactCacheEntry cacheEntry = mInfoMap.get(callId); - // Ensure we always have a cacheEntry. Replace the existing entry if - // it has no name or if we found a local contact. - if (cacheEntry == null || TextUtils.isEmpty(cacheEntry.namePrimary) || - callerInfo.contactExists) { - cacheEntry = buildEntry(mContext, callId, callerInfo, presentationMode, isIncoming); - mInfoMap.put(callId, cacheEntry); - } - - sendInfoNotifications(callId, cacheEntry); - - if (didLocalLookup) { - // Before issuing a request for more data from other services, we only check that the - // contact wasn't found in the local DB. We don't check the if the cache entry already - // has a name because we allow overriding cnap data with data from other services. - if (!callerInfo.contactExists && mPhoneNumberService != null) { - Log.d(TAG, "Contact lookup. Local contacts miss, checking remote"); - final PhoneNumberServiceListener listener = new PhoneNumberServiceListener(callId); - mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener, - isIncoming); - } else if (cacheEntry.displayPhotoUri != null) { - Log.d(TAG, "Contact lookup. Local contact found, starting image load"); - // Load the image with a callback to update the image state. - // When the load is finished, onImageLoadComplete() will be called. - cacheEntry.isLoadingPhoto = true; - ContactsAsyncHelper.startObtainPhotoAsync(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE, - mContext, cacheEntry.displayPhotoUri, ContactInfoCache.this, callId); - } else { - if (callerInfo.contactExists) { - Log.d(TAG, "Contact lookup done. Local contact found, no image."); - } else { - Log.d(TAG, "Contact lookup done. Local contact not found and" - + " no remote lookup service available."); - } - clearCallbacks(callId); - } - } - } - - class PhoneNumberServiceListener implements PhoneNumberService.NumberLookupListener, - PhoneNumberService.ImageLookupListener, ContactUtils.Listener { - private final String mCallId; - - PhoneNumberServiceListener(String callId) { - mCallId = callId; - } - - @Override - public void onPhoneNumberInfoComplete( - final PhoneNumberService.PhoneNumberInfo info) { - // If we got a miss, this is the end of the lookup pipeline, - // so clear the callbacks and return. - if (info == null) { - Log.d(TAG, "Contact lookup done. Remote contact not found."); - clearCallbacks(mCallId); - return; - } - - ContactCacheEntry entry = new ContactCacheEntry(); - entry.namePrimary = info.getDisplayName(); - entry.number = info.getNumber(); - entry.contactLookupResult = info.getLookupSource(); - final int type = info.getPhoneType(); - final String label = info.getPhoneLabel(); - if (type == Phone.TYPE_CUSTOM) { - entry.label = label; - } else { - final CharSequence typeStr = Phone.getTypeLabel( - mContext.getResources(), type, label); - entry.label = typeStr == null ? null : typeStr.toString(); - } - final ContactCacheEntry oldEntry = mInfoMap.get(mCallId); - if (oldEntry != null) { - // Location is only obtained from local lookup so persist - // the value for remote lookups. Once we have a name this - // field is no longer used; it is persisted here in case - // the UI is ever changed to use it. - entry.location = oldEntry.location; - // Contact specific ringtone is obtained from local lookup. - entry.contactRingtoneUri = oldEntry.contactRingtoneUri; - } - - // If no image and it's a business, switch to using the default business avatar. - if (info.getImageUrl() == null && info.isBusiness()) { - Log.d(TAG, "Business has no image. Using default."); - entry.photo = mContext.getResources().getDrawable(R.drawable.img_business); - } - - mInfoMap.put(mCallId, entry); - sendInfoNotifications(mCallId, entry); - - if (mContactUtils != null) { - // This method will callback "onContactInteractionsFound". - entry.isLoadingContactInteractions = - mContactUtils.retrieveContactInteractionsFromLookupKey( - info.getLookupKey(), this); - } - - entry.isLoadingPhoto = info.getImageUrl() != null; - - // If there is no image or contact interactions then we should not expect another - // callback. - if (!entry.isLoadingPhoto && !entry.isLoadingContactInteractions) { - // We're done, so clear callbacks - clearCallbacks(mCallId); - } - } - - @Override - public void onImageFetchComplete(Bitmap bitmap) { - onImageLoadComplete(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE, null, bitmap, mCallId); - } - - @Override - public void onContactInteractionsFound(Address address, - List<Pair<Calendar, Calendar>> openingHours) { - final ContactCacheEntry entry = mInfoMap.get(mCallId); - if (entry == null) { - Log.e(this, "Contact context received for empty search entry."); - clearCallbacks(mCallId); - return; - } - - entry.isLoadingContactInteractions = false; - - Log.v(ContactInfoCache.this, "Setting contact interactions for entry: ", entry); - - entry.locationAddress = address; - entry.openingHours = openingHours; - sendContactInteractionsNotifications(mCallId, entry); - - if (!entry.isLoadingPhoto) { - clearCallbacks(mCallId); - } - } - } - - /** - * Implemented for ContactsAsyncHelper.OnImageLoadCompleteListener interface. - * make sure that the call state is reflected after the image is loaded. - */ - @Override - public void onImageLoadComplete(int token, Drawable photo, Bitmap photoIcon, Object cookie) { - Log.d(this, "Image load complete with context: ", mContext); - // TODO: may be nice to update the image view again once the newer one - // is available on contacts database. - - final String callId = (String) cookie; - final ContactCacheEntry entry = mInfoMap.get(callId); - - if (entry == null) { - Log.e(this, "Image Load received for empty search entry."); - clearCallbacks(callId); - return; - } - - entry.isLoadingPhoto = false; - - Log.d(this, "setting photo for entry: ", entry); - - // Conference call icons are being handled in CallCardPresenter. - if (photo != null) { - Log.v(this, "direct drawable: ", photo); - entry.photo = photo; - } else if (photoIcon != null) { - Log.v(this, "photo icon: ", photoIcon); - entry.photo = new BitmapDrawable(mContext.getResources(), photoIcon); - } else { - Log.v(this, "unknown photo"); - entry.photo = null; - } - - sendImageNotifications(callId, entry); - - if (!entry.isLoadingContactInteractions) { - clearCallbacks(callId); - } - } - - /** - * Blows away the stored cache values. - */ - public void clearCache() { - mInfoMap.clear(); - mCallBacks.clear(); - } - - private ContactCacheEntry buildEntry(Context context, String callId, - CallerInfo info, int presentation, boolean isIncoming) { - // The actual strings we're going to display onscreen: - Drawable photo = null; - - final ContactCacheEntry cce = new ContactCacheEntry(); - populateCacheEntry(context, info, cce, presentation, isIncoming); - - // This will only be true for emergency numbers - if (info.photoResource != 0) { - photo = context.getResources().getDrawable(info.photoResource); - } else if (info.isCachedPhotoCurrent) { - if (info.cachedPhoto != null) { - photo = info.cachedPhoto; - } else { - photo = getDefaultContactPhotoDrawable(); - } - } else if (info.contactDisplayPhotoUri == null) { - photo = getDefaultContactPhotoDrawable(); - } else { - cce.displayPhotoUri = info.contactDisplayPhotoUri; - } - - // Support any contact id in N because QuickContacts in N starts supporting enterprise - // contact id - if (info.lookupKeyOrNull != null - && (ContactsUtils.FLAG_N_FEATURE || info.contactIdOrZero != 0)) { - cce.lookupUri = Contacts.getLookupUri(info.contactIdOrZero, info.lookupKeyOrNull); - } else { - Log.v(TAG, "lookup key is null or contact ID is 0 on M. Don't create a lookup uri."); - cce.lookupUri = null; - } - - cce.photo = photo; - cce.lookupKey = info.lookupKeyOrNull; - cce.contactRingtoneUri = info.contactRingtoneUri; - if (cce.contactRingtoneUri == null || cce.contactRingtoneUri == Uri.EMPTY) { - cce.contactRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); - } - - return cce; - } - - /** - * Populate a cache entry from a call (which got converted into a caller info). - */ - public static void populateCacheEntry(Context context, CallerInfo info, ContactCacheEntry cce, - int presentation, boolean isIncoming) { - Preconditions.checkNotNull(info); - String displayName = null; - String displayNumber = null; - String displayLocation = null; - String label = null; - boolean isSipCall = false; - - // It appears that there is a small change in behaviour with the - // PhoneUtils' startGetCallerInfo whereby if we query with an - // empty number, we will get a valid CallerInfo object, but with - // fields that are all null, and the isTemporary boolean input - // parameter as true. - - // In the past, we would see a NULL callerinfo object, but this - // ends up causing null pointer exceptions elsewhere down the - // line in other cases, so we need to make this fix instead. It - // appears that this was the ONLY call to PhoneUtils - // .getCallerInfo() that relied on a NULL CallerInfo to indicate - // an unknown contact. - - // Currently, infi.phoneNumber may actually be a SIP address, and - // if so, it might sometimes include the "sip:" prefix. That - // prefix isn't really useful to the user, though, so strip it off - // if present. (For any other URI scheme, though, leave the - // prefix alone.) - // TODO: It would be cleaner for CallerInfo to explicitly support - // SIP addresses instead of overloading the "phoneNumber" field. - // Then we could remove this hack, and instead ask the CallerInfo - // for a "user visible" form of the SIP address. - String number = info.phoneNumber; - - if (!TextUtils.isEmpty(number)) { - isSipCall = PhoneNumberHelper.isUriNumber(number); - if (number.startsWith("sip:")) { - number = number.substring(4); - } - } - - if (TextUtils.isEmpty(info.name)) { - // No valid "name" in the CallerInfo, so fall back to - // something else. - // (Typically, we promote the phone number up to the "name" slot - // onscreen, and possibly display a descriptive string in the - // "number" slot.) - if (TextUtils.isEmpty(number)) { - // No name *or* number! Display a generic "unknown" string - // (or potentially some other default based on the presentation.) - displayName = getPresentationString(context, presentation, info.callSubject); - Log.d(TAG, " ==> no name *or* number! displayName = " + displayName); - } else if (presentation != TelecomManager.PRESENTATION_ALLOWED) { - // This case should never happen since the network should never send a phone # - // AND a restricted presentation. However we leave it here in case of weird - // network behavior - displayName = getPresentationString(context, presentation, info.callSubject); - Log.d(TAG, " ==> presentation not allowed! displayName = " + displayName); - } else if (!TextUtils.isEmpty(info.cnapName)) { - // No name, but we do have a valid CNAP name, so use that. - displayName = info.cnapName; - info.name = info.cnapName; - displayNumber = number; - Log.d(TAG, " ==> cnapName available: displayName '" + displayName + - "', displayNumber '" + displayNumber + "'"); - } else { - // No name; all we have is a number. This is the typical - // case when an incoming call doesn't match any contact, - // or if you manually dial an outgoing number using the - // dialpad. - displayNumber = number; - - // Display a geographical description string if available - // (but only for incoming calls.) - if (isIncoming) { - // TODO (CallerInfoAsyncQuery cleanup): Fix the CallerInfo - // query to only do the geoDescription lookup in the first - // place for incoming calls. - displayLocation = info.geoDescription; // may be null - Log.d(TAG, "Geodescrption: " + info.geoDescription); - } - - Log.d(TAG, " ==> no name; falling back to number:" - + " displayNumber '" + Log.pii(displayNumber) - + "', displayLocation '" + displayLocation + "'"); - } - } else { - // We do have a valid "name" in the CallerInfo. Display that - // in the "name" slot, and the phone number in the "number" slot. - if (presentation != TelecomManager.PRESENTATION_ALLOWED) { - // This case should never happen since the network should never send a name - // AND a restricted presentation. However we leave it here in case of weird - // network behavior - displayName = getPresentationString(context, presentation, info.callSubject); - Log.d(TAG, " ==> valid name, but presentation not allowed!" + - " displayName = " + displayName); - } else { - // Causes cce.namePrimary to be set as info.name below. CallCardPresenter will - // later determine whether to use the name or nameAlternative when presenting - displayName = info.name; - cce.nameAlternative = info.nameAlternative; - displayNumber = number; - label = info.phoneLabel; - Log.d(TAG, " ==> name is present in CallerInfo: displayName '" + displayName - + "', displayNumber '" + displayNumber + "'"); - } - } - - cce.namePrimary = displayName; - cce.number = displayNumber; - cce.location = displayLocation; - cce.label = label; - cce.isSipCall = isSipCall; - cce.userType = info.userType; - - if (info.contactExists) { - cce.contactLookupResult = LogState.LOOKUP_LOCAL_CONTACT; - } - } - - /** - * Sends the updated information to call the callbacks for the entry. - */ - private void sendInfoNotifications(String callId, ContactCacheEntry entry) { - final Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId); - if (callBacks != null) { - for (ContactInfoCacheCallback callBack : callBacks) { - callBack.onContactInfoComplete(callId, entry); - } - } - } - - private void sendImageNotifications(String callId, ContactCacheEntry entry) { - final Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId); - if (callBacks != null && entry.photo != null) { - for (ContactInfoCacheCallback callBack : callBacks) { - callBack.onImageLoadComplete(callId, entry); - } - } - } - - private void sendContactInteractionsNotifications(String callId, ContactCacheEntry entry) { - final Set<ContactInfoCacheCallback> callBacks = mCallBacks.get(callId); - if (callBacks != null) { - for (ContactInfoCacheCallback callBack : callBacks) { - callBack.onContactInteractionsInfoComplete(callId, entry); - } - } - } - - private void clearCallbacks(String callId) { - mCallBacks.remove(callId); - } - - /** - * Gets name strings based on some special presentation modes and the associated custom label. - */ - private static String getPresentationString(Context context, int presentation, - String customLabel) { - String name = context.getString(R.string.unknown); - if (!TextUtils.isEmpty(customLabel) && - ((presentation == TelecomManager.PRESENTATION_UNKNOWN) || - (presentation == TelecomManager.PRESENTATION_RESTRICTED))) { - name = customLabel; - return name; - } else { - if (presentation == TelecomManager.PRESENTATION_RESTRICTED) { - name = context.getString(R.string.private_num); - } else if (presentation == TelecomManager.PRESENTATION_PAYPHONE) { - name = context.getString(R.string.payphone); - } - } - return name; - } - - public Drawable getDefaultContactPhotoDrawable() { - if (mDefaultContactPhotoDrawable == null) { - mDefaultContactPhotoDrawable = - mContext.getResources().getDrawable(R.drawable.img_no_image_automirrored); - } - return mDefaultContactPhotoDrawable; - } - - public Drawable getConferenceDrawable() { - if (mConferencePhotoDrawable == null) { - mConferencePhotoDrawable = - mContext.getResources().getDrawable(R.drawable.img_conference_automirrored); - } - return mConferencePhotoDrawable; - } - - /** - * Callback interface for the contact query. - */ - public interface ContactInfoCacheCallback { - public void onContactInfoComplete(String callId, ContactCacheEntry entry); - public void onImageLoadComplete(String callId, ContactCacheEntry entry); - public void onContactInteractionsInfoComplete(String callId, ContactCacheEntry entry); - } - - public static class ContactCacheEntry { - public String namePrimary; - public String nameAlternative; - public String number; - public String location; - public String label; - public Drawable photo; - public boolean isSipCall; - // Note in cache entry whether this is a pending async loading action to know whether to - // wait for its callback or not. - public boolean isLoadingPhoto; - public boolean isLoadingContactInteractions; - /** This will be used for the "view" notification. */ - public Uri contactUri; - /** Either a display photo or a thumbnail URI. */ - public Uri displayPhotoUri; - public Uri lookupUri; // Sent to NotificationMananger - public String lookupKey; - public Address locationAddress; - public List<Pair<Calendar, Calendar>> openingHours; - public int contactLookupResult = LogState.LOOKUP_NOT_FOUND; - public long userType = ContactsUtils.USER_TYPE_CURRENT; - public Uri contactRingtoneUri; - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("name", MoreStrings.toSafeString(namePrimary)) - .add("nameAlternative", MoreStrings.toSafeString(nameAlternative)) - .add("number", MoreStrings.toSafeString(number)) - .add("location", MoreStrings.toSafeString(location)) - .add("label", label) - .add("photo", photo) - .add("isSipCall", isSipCall) - .add("contactUri", contactUri) - .add("displayPhotoUri", displayPhotoUri) - .add("locationAddress", locationAddress) - .add("openingHours", openingHours) - .add("contactLookupResult", contactLookupResult) - .add("userType", userType) - .add("contactRingtoneUri", contactRingtoneUri) - .toString(); - } - } -} diff --git a/InCallUI/src/com/android/incallui/ContactUtils.java b/InCallUI/src/com/android/incallui/ContactUtils.java deleted file mode 100644 index 0750af731..000000000 --- a/InCallUI/src/com/android/incallui/ContactUtils.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2015 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.content.Context; -import android.location.Address; -import android.util.Pair; - -import com.android.incalluibind.ObjectFactory; - -import java.util.Calendar; -import java.util.List; - -/** - * Utility functions to help manipulate contact data. - */ -public abstract class ContactUtils { - protected Context mContext; - - public static ContactUtils getInstance(Context context) { - return ObjectFactory.getContactUtilsInstance(context); - } - - protected ContactUtils(Context context) { - mContext = context; - } - - public interface Listener { - public void onContactInteractionsFound(Address address, - List<Pair<Calendar, Calendar>> openingHours); - } - - public abstract boolean retrieveContactInteractionsFromLookupKey(String lookupKey, - Listener listener); -} diff --git a/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java b/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java deleted file mode 100644 index d959fadd4..000000000 --- a/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright (C) 2008 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.Notification; -import android.content.ContentUris; -import android.content.Context; -import android.content.res.AssetFileDescriptor; -import android.graphics.Bitmap; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Looper; -import android.os.Message; -import android.provider.ContactsContract.Contacts; - -import com.android.dialer.R; - -import java.io.IOException; -import java.io.InputStream; - -/** - * Helper class for loading contacts photo asynchronously. - */ -public class ContactsAsyncHelper { - - /** - * Interface for a WorkerHandler result return. - */ - public interface OnImageLoadCompleteListener { - /** - * Called when the image load is complete. - * - * @param token Integer passed in {@link ContactsAsyncHelper#startObtainPhotoAsync(int, - * Context, Uri, OnImageLoadCompleteListener, Object)}. - * @param photo Drawable object obtained by the async load. - * @param photoIcon Bitmap object obtained by the async load. - * @param cookie Object passed in {@link ContactsAsyncHelper#startObtainPhotoAsync(int, - * Context, Uri, OnImageLoadCompleteListener, Object)}. Can be null iff. the original - * cookie is null. - */ - public void onImageLoadComplete(int token, Drawable photo, Bitmap photoIcon, - Object cookie); - } - - // constants - private static final int EVENT_LOAD_IMAGE = 1; - - private final Handler mResultHandler = new Handler() { - /** Called when loading is done. */ - @Override - public void handleMessage(Message msg) { - WorkerArgs args = (WorkerArgs) msg.obj; - switch (msg.arg1) { - case EVENT_LOAD_IMAGE: - if (args.listener != null) { - Log.d(this, "Notifying listener: " + args.listener.toString() + - " image: " + args.displayPhotoUri + " completed"); - args.listener.onImageLoadComplete(msg.what, args.photo, args.photoIcon, - args.cookie); - } - break; - default: - } - } - }; - - /** Handler run on a worker thread to load photo asynchronously. */ - private static Handler sThreadHandler; - - /** For forcing the system to call its constructor */ - @SuppressWarnings("unused") - private static ContactsAsyncHelper sInstance; - - static { - sInstance = new ContactsAsyncHelper(); - } - - private static final class WorkerArgs { - public Context context; - public Uri displayPhotoUri; - public Drawable photo; - public Bitmap photoIcon; - public Object cookie; - public OnImageLoadCompleteListener listener; - } - - /** - * Thread worker class that handles the task of opening the stream and loading - * the images. - */ - private class WorkerHandler extends Handler { - public WorkerHandler(Looper looper) { - super(looper); - } - - @Override - public void handleMessage(Message msg) { - WorkerArgs args = (WorkerArgs) msg.obj; - - switch (msg.arg1) { - case EVENT_LOAD_IMAGE: - InputStream inputStream = null; - try { - try { - inputStream = args.context.getContentResolver() - .openInputStream(args.displayPhotoUri); - } catch (Exception e) { - Log.e(this, "Error opening photo input stream", e); - } - - if (inputStream != null) { - args.photo = Drawable.createFromStream(inputStream, - args.displayPhotoUri.toString()); - - // This assumes Drawable coming from contact database is usually - // BitmapDrawable and thus we can have (down)scaled version of it. - args.photoIcon = getPhotoIconWhenAppropriate(args.context, args.photo); - - Log.d(ContactsAsyncHelper.this, "Loading image: " + msg.arg1 + - " token: " + msg.what + " image URI: " + args.displayPhotoUri); - } else { - args.photo = null; - args.photoIcon = null; - Log.d(ContactsAsyncHelper.this, "Problem with image: " + msg.arg1 + - " token: " + msg.what + " image URI: " + args.displayPhotoUri + - ", using default image."); - } - } finally { - if (inputStream != null) { - try { - inputStream.close(); - } catch (IOException e) { - Log.e(this, "Unable to close input stream.", e); - } - } - } - break; - default: - } - - // send the reply to the enclosing class. - Message reply = ContactsAsyncHelper.this.mResultHandler.obtainMessage(msg.what); - reply.arg1 = msg.arg1; - reply.obj = msg.obj; - reply.sendToTarget(); - } - - /** - * Returns a Bitmap object suitable for {@link Notification}'s large icon. This might - * return null when the given Drawable isn't BitmapDrawable, or if the system fails to - * create a scaled Bitmap for the Drawable. - */ - private Bitmap getPhotoIconWhenAppropriate(Context context, Drawable photo) { - if (!(photo instanceof BitmapDrawable)) { - return null; - } - int iconSize = context.getResources() - .getDimensionPixelSize(R.dimen.notification_icon_size); - Bitmap orgBitmap = ((BitmapDrawable) photo).getBitmap(); - int orgWidth = orgBitmap.getWidth(); - int orgHeight = orgBitmap.getHeight(); - int longerEdge = orgWidth > orgHeight ? orgWidth : orgHeight; - // We want downscaled one only when the original icon is too big. - if (longerEdge > iconSize) { - float ratio = ((float) longerEdge) / iconSize; - int newWidth = (int) (orgWidth / ratio); - int newHeight = (int) (orgHeight / ratio); - // If the longer edge is much longer than the shorter edge, the latter may - // become 0 which will cause a crash. - if (newWidth <= 0 || newHeight <= 0) { - Log.w(this, "Photo icon's width or height become 0."); - return null; - } - - // It is sure ratio >= 1.0f in any case and thus the newly created Bitmap - // should be smaller than the original. - return Bitmap.createScaledBitmap(orgBitmap, newWidth, newHeight, true); - } else { - return orgBitmap; - } - } - } - - /** - * Private constructor for static class - */ - private ContactsAsyncHelper() { - HandlerThread thread = new HandlerThread("ContactsAsyncWorker"); - thread.start(); - sThreadHandler = new WorkerHandler(thread.getLooper()); - } - - /** - * Starts an asynchronous image load. After finishing the load, - * {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable, Bitmap, Object)} - * will be called. - * - * @param token Arbitrary integer which will be returned as the first argument of - * {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable, Bitmap, Object)} - * @param context Context object used to do the time-consuming operation. - * @param displayPhotoUri Uri to be used to fetch the photo - * @param listener Callback object which will be used when the asynchronous load is done. - * Can be null, which means only the asynchronous load is done while there's no way to - * obtain the loaded photos. - * @param cookie Arbitrary object the caller wants to remember, which will become the - * fourth argument of {@link OnImageLoadCompleteListener#onImageLoadComplete(int, Drawable, - * Bitmap, Object)}. Can be null, at which the callback will also has null for the argument. - */ - public static final void startObtainPhotoAsync(int token, Context context, Uri displayPhotoUri, - OnImageLoadCompleteListener listener, Object cookie) { - // in case the source caller info is null, the URI will be null as well. - // just update using the placeholder image in this case. - if (displayPhotoUri == null) { - Log.wtf("startObjectPhotoAsync", "Uri is missing"); - return; - } - - // Added additional Cookie field in the callee to handle arguments - // sent to the callback function. - - // setup arguments - WorkerArgs args = new WorkerArgs(); - args.cookie = cookie; - args.context = context; - args.displayPhotoUri = displayPhotoUri; - args.listener = listener; - - // setup message arguments - Message msg = sThreadHandler.obtainMessage(token); - msg.arg1 = EVENT_LOAD_IMAGE; - msg.obj = args; - - Log.d("startObjectPhotoAsync", "Begin loading image: " + args.displayPhotoUri + - ", displaying default image for now."); - - // notify the thread to begin working - sThreadHandler.sendMessage(msg); - } - - -} diff --git a/InCallUI/src/com/android/incallui/ContactsPreferencesFactory.java b/InCallUI/src/com/android/incallui/ContactsPreferencesFactory.java deleted file mode 100644 index a9cc93bda..000000000 --- a/InCallUI/src/com/android/incallui/ContactsPreferencesFactory.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2016 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.content.Context; -import android.support.annotation.Nullable; -import com.android.dialer.compat.UserManagerCompat; - -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.testing.NeededForTesting; - -/** - * Factory class for {@link ContactsPreferences}. - */ -public class ContactsPreferencesFactory { - - private static boolean sUseTestInstance; - private static ContactsPreferences sTestInstance; - - /** - * Creates a new {@link ContactsPreferences} object if possible. - * - * @param context the context to use when creating the ContactsPreferences. - * @return a new ContactsPreferences object or {@code null} if the user is locked. - */ - @Nullable - public static ContactsPreferences newContactsPreferences(Context context) { - if (sUseTestInstance) { - return sTestInstance; - } - if (UserManagerCompat.isUserUnlocked(context)) { - return new ContactsPreferences(context); - } - return null; - } - - /** - * Sets the instance to be returned by all calls to {@link #newContactsPreferences(Context)}. - * - * @param testInstance the instance to return. - */ - @NeededForTesting - static void setTestInstance(ContactsPreferences testInstance) { - sUseTestInstance = true; - sTestInstance = testInstance; - } -} diff --git a/InCallUI/src/com/android/incallui/DialpadFragment.java b/InCallUI/src/com/android/incallui/DialpadFragment.java deleted file mode 100644 index ad288bdc6..000000000 --- a/InCallUI/src/com/android/incallui/DialpadFragment.java +++ /dev/null @@ -1,563 +0,0 @@ -/* - * 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.content.Context; -import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.text.Editable; -import android.text.method.DialerKeyListener; -import android.util.AttributeSet; -import android.view.KeyEvent; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.accessibility.AccessibilityManager; -import android.widget.EditText; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.android.contacts.common.compat.PhoneNumberUtilsCompat; -import com.android.dialer.R; -import com.android.phone.common.dialpad.DialpadKeyButton; -import com.android.phone.common.dialpad.DialpadView; - -import java.util.HashMap; - -/** - * Fragment for call control buttons - */ -public class DialpadFragment extends BaseFragment<DialpadPresenter, DialpadPresenter.DialpadUi> - implements DialpadPresenter.DialpadUi, View.OnTouchListener, View.OnKeyListener, - View.OnHoverListener, View.OnClickListener { - - private static final int ACCESSIBILITY_DTMF_STOP_DELAY_MILLIS = 50; - - private final int[] mButtonIds = new int[] {R.id.zero, R.id.one, R.id.two, R.id.three, - R.id.four, R.id.five, R.id.six, R.id.seven, R.id.eight, R.id.nine, R.id.star, - R.id.pound}; - - /** - * LinearLayout with getter and setter methods for the translationY property using floats, - * for animation purposes. - */ - public static class DialpadSlidingLinearLayout extends LinearLayout { - - public DialpadSlidingLinearLayout(Context context) { - super(context); - } - - public DialpadSlidingLinearLayout(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public DialpadSlidingLinearLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - public float getYFraction() { - final int height = getHeight(); - if (height == 0) return 0; - return getTranslationY() / height; - } - - public void setYFraction(float yFraction) { - setTranslationY(yFraction * getHeight()); - } - } - - private EditText mDtmfDialerField; - - /** Hash Map to map a view id to a character*/ - private static final HashMap<Integer, Character> mDisplayMap = - new HashMap<Integer, Character>(); - - private static final Handler sHandler = new Handler(Looper.getMainLooper()); - - - /** Set up the static maps*/ - static { - // Map the buttons to the display characters - mDisplayMap.put(R.id.one, '1'); - mDisplayMap.put(R.id.two, '2'); - mDisplayMap.put(R.id.three, '3'); - mDisplayMap.put(R.id.four, '4'); - mDisplayMap.put(R.id.five, '5'); - mDisplayMap.put(R.id.six, '6'); - mDisplayMap.put(R.id.seven, '7'); - mDisplayMap.put(R.id.eight, '8'); - mDisplayMap.put(R.id.nine, '9'); - mDisplayMap.put(R.id.zero, '0'); - mDisplayMap.put(R.id.pound, '#'); - mDisplayMap.put(R.id.star, '*'); - } - - // KeyListener used with the "dialpad digits" EditText widget. - private DTMFKeyListener mDialerKeyListener; - - private DialpadView mDialpadView; - - private int mCurrentTextColor; - - /** - * Our own key listener, specialized for dealing with DTMF codes. - * 1. Ignore the backspace since it is irrelevant. - * 2. Allow ONLY valid DTMF characters to generate a tone and be - * sent as a DTMF code. - * 3. All other remaining characters are handled by the superclass. - * - * This code is purely here to handle events from the hardware keyboard - * while the DTMF dialpad is up. - */ - private class DTMFKeyListener extends DialerKeyListener { - - private DTMFKeyListener() { - super(); - } - - /** - * Overriden to return correct DTMF-dialable characters. - */ - @Override - protected char[] getAcceptedChars(){ - return DTMF_CHARACTERS; - } - - /** special key listener ignores backspace. */ - @Override - public boolean backspace(View view, Editable content, int keyCode, - KeyEvent event) { - return false; - } - - /** - * Return true if the keyCode is an accepted modifier key for the - * dialer (ALT or SHIFT). - */ - private boolean isAcceptableModifierKey(int keyCode) { - switch (keyCode) { - case KeyEvent.KEYCODE_ALT_LEFT: - case KeyEvent.KEYCODE_ALT_RIGHT: - case KeyEvent.KEYCODE_SHIFT_LEFT: - case KeyEvent.KEYCODE_SHIFT_RIGHT: - return true; - default: - return false; - } - } - - /** - * Overriden so that with each valid button press, we start sending - * a dtmf code and play a local dtmf tone. - */ - @Override - public boolean onKeyDown(View view, Editable content, - int keyCode, KeyEvent event) { - // if (DBG) log("DTMFKeyListener.onKeyDown, keyCode " + keyCode + ", view " + view); - - // find the character - char c = (char) lookup(event, content); - - // if not a long press, and parent onKeyDown accepts the input - if (event.getRepeatCount() == 0 && super.onKeyDown(view, content, keyCode, event)) { - - boolean keyOK = ok(getAcceptedChars(), c); - - // if the character is a valid dtmf code, start playing the tone and send the - // code. - if (keyOK) { - Log.d(this, "DTMFKeyListener reading '" + c + "' from input."); - getPresenter().processDtmf(c); - } else { - Log.d(this, "DTMFKeyListener rejecting '" + c + "' from input."); - } - return true; - } - return false; - } - - /** - * Overriden so that with each valid button up, we stop sending - * a dtmf code and the dtmf tone. - */ - @Override - public boolean onKeyUp(View view, Editable content, - int keyCode, KeyEvent event) { - // if (DBG) log("DTMFKeyListener.onKeyUp, keyCode " + keyCode + ", view " + view); - - super.onKeyUp(view, content, keyCode, event); - - // find the character - char c = (char) lookup(event, content); - - boolean keyOK = ok(getAcceptedChars(), c); - - if (keyOK) { - Log.d(this, "Stopping the tone for '" + c + "'"); - getPresenter().stopDtmf(); - return true; - } - - return false; - } - - /** - * Handle individual keydown events when we DO NOT have an Editable handy. - */ - public boolean onKeyDown(KeyEvent event) { - char c = lookup(event); - Log.d(this, "DTMFKeyListener.onKeyDown: event '" + c + "'"); - - // if not a long press, and parent onKeyDown accepts the input - if (event.getRepeatCount() == 0 && c != 0) { - // if the character is a valid dtmf code, start playing the tone and send the - // code. - if (ok(getAcceptedChars(), c)) { - Log.d(this, "DTMFKeyListener reading '" + c + "' from input."); - getPresenter().processDtmf(c); - return true; - } else { - Log.d(this, "DTMFKeyListener rejecting '" + c + "' from input."); - } - } - return false; - } - - /** - * Handle individual keyup events. - * - * @param event is the event we are trying to stop. If this is null, - * then we just force-stop the last tone without checking if the event - * is an acceptable dialer event. - */ - public boolean onKeyUp(KeyEvent event) { - if (event == null) { - //the below piece of code sends stopDTMF event unnecessarily even when a null event - //is received, hence commenting it. - /*if (DBG) log("Stopping the last played tone."); - stopTone();*/ - return true; - } - - char c = lookup(event); - Log.d(this, "DTMFKeyListener.onKeyUp: event '" + c + "'"); - - // TODO: stopTone does not take in character input, we may want to - // consider checking for this ourselves. - if (ok(getAcceptedChars(), c)) { - Log.d(this, "Stopping the tone for '" + c + "'"); - getPresenter().stopDtmf(); - return true; - } - - return false; - } - - /** - * Find the Dialer Key mapped to this event. - * - * @return The char value of the input event, otherwise - * 0 if no matching character was found. - */ - private char lookup(KeyEvent event) { - // This code is similar to {@link DialerKeyListener#lookup(KeyEvent, Spannable) lookup} - int meta = event.getMetaState(); - int number = event.getNumber(); - - if (!((meta & (KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON)) == 0) || (number == 0)) { - int match = event.getMatch(getAcceptedChars(), meta); - number = (match != 0) ? match : number; - } - - return (char) number; - } - - /** - * Check to see if the keyEvent is dialable. - */ - boolean isKeyEventAcceptable (KeyEvent event) { - return (ok(getAcceptedChars(), lookup(event))); - } - - /** - * Overrides the characters used in {@link DialerKeyListener#CHARACTERS} - * These are the valid dtmf characters. - */ - public final char[] DTMF_CHARACTERS = new char[] { - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '#', '*' - }; - } - - @Override - public void onClick(View v) { - final AccessibilityManager accessibilityManager = (AccessibilityManager) - v.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE); - // When accessibility is on, simulate press and release to preserve the - // semantic meaning of performClick(). Required for Braille support. - if (accessibilityManager.isEnabled()) { - final int id = v.getId(); - // Checking the press state prevents double activation. - if (!v.isPressed() && mDisplayMap.containsKey(id)) { - getPresenter().processDtmf(mDisplayMap.get(id)); - sHandler.postDelayed(new Runnable() { - @Override - public void run() { - getPresenter().stopDtmf(); - } - }, ACCESSIBILITY_DTMF_STOP_DELAY_MILLIS); - } - } - if (v.getId() == R.id.dialpad_back) { - getActivity().onBackPressed(); - } - } - - @Override - public boolean onHover(View v, MotionEvent event) { - // When touch exploration is turned on, lifting a finger while inside - // the button's hover target bounds should perform a click action. - final AccessibilityManager accessibilityManager = (AccessibilityManager) - v.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE); - - if (accessibilityManager.isEnabled() - && accessibilityManager.isTouchExplorationEnabled()) { - final int left = v.getPaddingLeft(); - final int right = (v.getWidth() - v.getPaddingRight()); - final int top = v.getPaddingTop(); - final int bottom = (v.getHeight() - v.getPaddingBottom()); - - switch (event.getActionMasked()) { - case MotionEvent.ACTION_HOVER_ENTER: - // Lift-to-type temporarily disables double-tap activation. - v.setClickable(false); - break; - case MotionEvent.ACTION_HOVER_EXIT: - final int x = (int) event.getX(); - final int y = (int) event.getY(); - if ((x > left) && (x < right) && (y > top) && (y < bottom)) { - v.performClick(); - } - v.setClickable(true); - break; - } - } - - return false; - } - - @Override - public boolean onKey(View v, int keyCode, KeyEvent event) { - Log.d(this, "onKey: keyCode " + keyCode + ", view " + v); - - if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER) { - int viewId = v.getId(); - if (mDisplayMap.containsKey(viewId)) { - switch (event.getAction()) { - case KeyEvent.ACTION_DOWN: - if (event.getRepeatCount() == 0) { - getPresenter().processDtmf(mDisplayMap.get(viewId)); - } - break; - case KeyEvent.ACTION_UP: - getPresenter().stopDtmf(); - break; - } - // do not return true [handled] here, since we want the - // press / click animation to be handled by the framework. - } - } - return false; - } - - @Override - public boolean onTouch(View v, MotionEvent event) { - Log.d(this, "onTouch"); - int viewId = v.getId(); - - // if the button is recognized - if (mDisplayMap.containsKey(viewId)) { - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - // Append the character mapped to this button, to the display. - // start the tone - getPresenter().processDtmf(mDisplayMap.get(viewId)); - break; - case MotionEvent.ACTION_UP: - case MotionEvent.ACTION_CANCEL: - // stop the tone on ANY other event, except for MOVE. - getPresenter().stopDtmf(); - break; - } - // do not return true [handled] here, since we want the - // press / click animation to be handled by the framework. - } - return false; - } - - // TODO(klp) Adds hardware keyboard listener - - @Override - public DialpadPresenter createPresenter() { - return new DialpadPresenter(); - } - - @Override - public DialpadPresenter.DialpadUi getUi() { - return this; - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - final View parent = inflater.inflate( - R.layout.incall_dialpad_fragment, container, false); - mDialpadView = (DialpadView) parent.findViewById(R.id.dialpad_view); - mDialpadView.setCanDigitsBeEdited(false); - mDialpadView.setBackgroundResource(R.color.incall_dialpad_background); - mDtmfDialerField = (EditText) parent.findViewById(R.id.digits); - if (mDtmfDialerField != null) { - mDialerKeyListener = new DTMFKeyListener(); - mDtmfDialerField.setKeyListener(mDialerKeyListener); - // remove the long-press context menus that support - // the edit (copy / paste / select) functions. - mDtmfDialerField.setLongClickable(false); - mDtmfDialerField.setElegantTextHeight(false); - configureKeypadListeners(); - } - View backButton = mDialpadView.findViewById(R.id.dialpad_back); - backButton.setVisibility(View.VISIBLE); - backButton.setOnClickListener(this); - - return parent; - } - - @Override - public void onResume() { - super.onResume(); - updateColors(); - } - - public void updateColors() { - int textColor = InCallPresenter.getInstance().getThemeColors().mPrimaryColor; - - if (mCurrentTextColor == textColor) { - return; - } - - DialpadKeyButton dialpadKey; - for (int i = 0; i < mButtonIds.length; i++) { - dialpadKey = (DialpadKeyButton) mDialpadView.findViewById(mButtonIds[i]); - ((TextView) dialpadKey.findViewById(R.id.dialpad_key_number)).setTextColor(textColor); - } - - mCurrentTextColor = textColor; - } - - @Override - public void onDestroyView() { - mDialerKeyListener = null; - super.onDestroyView(); - } - - /** - * Getter for Dialpad text. - * - * @return String containing current Dialpad EditText text. - */ - public String getDtmfText() { - return mDtmfDialerField.getText().toString(); - } - - /** - * Sets the Dialpad text field with some text. - * - * @param text Text to set Dialpad EditText to. - */ - public void setDtmfText(String text) { - mDtmfDialerField.setText(PhoneNumberUtilsCompat.createTtsSpannable(text)); - } - - @Override - public void setVisible(boolean on) { - if (on) { - getView().setVisibility(View.VISIBLE); - } else { - getView().setVisibility(View.INVISIBLE); - } - } - - /** - * Starts the slide up animation for the Dialpad keys when the Dialpad is revealed. - */ - public void animateShowDialpad() { - final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view); - dialpadView.animateShow(); - } - - @Override - public void appendDigitsToField(char digit) { - if (mDtmfDialerField != null) { - // TODO: maybe *don't* manually append this digit if - // mDialpadDigits is focused and this key came from the HW - // keyboard, since in that case the EditText field will - // get the key event directly and automatically appends - // whetever the user types. - // (Or, a cleaner fix would be to just make mDialpadDigits - // *not* handle HW key presses. That seems to be more - // complicated than just setting focusable="false" on it, - // though.) - mDtmfDialerField.getText().append(digit); - } - } - - /** - * Called externally (from InCallScreen) to play a DTMF Tone. - */ - /* package */ boolean onDialerKeyDown(KeyEvent event) { - Log.d(this, "Notifying dtmf key down."); - if (mDialerKeyListener != null) { - return mDialerKeyListener.onKeyDown(event); - } else { - return false; - } - } - - /** - * Called externally (from InCallScreen) to cancel the last DTMF Tone played. - */ - public boolean onDialerKeyUp(KeyEvent event) { - Log.d(this, "Notifying dtmf key up."); - if (mDialerKeyListener != null) { - return mDialerKeyListener.onKeyUp(event); - } else { - return false; - } - } - - private void configureKeypadListeners() { - DialpadKeyButton dialpadKey; - for (int i = 0; i < mButtonIds.length; i++) { - dialpadKey = (DialpadKeyButton) mDialpadView.findViewById(mButtonIds[i]); - dialpadKey.setOnTouchListener(this); - dialpadKey.setOnKeyListener(this); - dialpadKey.setOnHoverListener(this); - dialpadKey.setOnClickListener(this); - } - } -} diff --git a/InCallUI/src/com/android/incallui/DialpadPresenter.java b/InCallUI/src/com/android/incallui/DialpadPresenter.java deleted file mode 100644 index 5e24bedef..000000000 --- a/InCallUI/src/com/android/incallui/DialpadPresenter.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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.telephony.PhoneNumberUtils; - -/** - * Logic for call buttons. - */ -public class DialpadPresenter extends Presenter<DialpadPresenter.DialpadUi> - implements InCallPresenter.InCallStateListener { - - private Call mCall; - - @Override - public void onUiReady(DialpadUi ui) { - super.onUiReady(ui); - InCallPresenter.getInstance().addListener(this); - mCall = CallList.getInstance().getOutgoingOrActive(); - } - - @Override - public void onUiUnready(DialpadUi ui) { - super.onUiUnready(ui); - InCallPresenter.getInstance().removeListener(this); - } - - @Override - public void onStateChange(InCallPresenter.InCallState oldState, - InCallPresenter.InCallState newState, CallList callList) { - mCall = callList.getOutgoingOrActive(); - Log.d(this, "DialpadPresenter mCall = " + mCall); - } - - /** - * Processes the specified digit as a DTMF key, by playing the - * appropriate DTMF tone, and appending the digit to the EditText - * field that displays the DTMF digits sent so far. - * - */ - public final void processDtmf(char c) { - Log.d(this, "Processing dtmf key " + c); - // if it is a valid key, then update the display and send the dtmf tone. - if (PhoneNumberUtils.is12Key(c) && mCall != null) { - Log.d(this, "updating display and sending dtmf tone for '" + c + "'"); - - // Append this key to the "digits" widget. - getUi().appendDigitsToField(c); - // Plays the tone through Telecom. - TelecomAdapter.getInstance().playDtmfTone(mCall.getId(), c); - } else { - Log.d(this, "ignoring dtmf request for '" + c + "'"); - } - } - - /** - * Stops the local tone based on the phone type. - */ - public void stopDtmf() { - if (mCall != null) { - Log.d(this, "stopping remote tone"); - TelecomAdapter.getInstance().stopDtmfTone(mCall.getId()); - } - } - - public interface DialpadUi extends Ui { - void setVisible(boolean on); - void appendDigitsToField(char digit); - } -} diff --git a/InCallUI/src/com/android/incallui/DistanceHelper.java b/InCallUI/src/com/android/incallui/DistanceHelper.java deleted file mode 100644 index a4db5fed3..000000000 --- a/InCallUI/src/com/android/incallui/DistanceHelper.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2015 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.location.Address; - -/** - * Superclass for a helper class to get the current location and distance to other locations. - */ -public abstract class DistanceHelper { - public static final float DISTANCE_NOT_FOUND = -1; - public static final float MILES_PER_METER = (float) 0.000621371192; - public static final float KILOMETERS_PER_METER = (float) 0.001; - - public interface Listener { - public void onLocationReady(); - } - - public void cleanUp() {} - - public float calculateDistance(Address address) { - return DISTANCE_NOT_FOUND; - } -} diff --git a/InCallUI/src/com/android/incallui/ExternalCallList.java b/InCallUI/src/com/android/incallui/ExternalCallList.java deleted file mode 100644 index 06e0bb975..000000000 --- a/InCallUI/src/com/android/incallui/ExternalCallList.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.android.incallui; - -import com.google.common.base.Preconditions; - -import com.android.contacts.common.compat.CallSdkCompat; - -import android.os.Handler; -import android.os.Looper; -import android.telecom.Call; -import android.util.ArraySet; - -import java.util.Collections; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Tracks the external calls known to the InCall UI. - * - * External calls are those with {@link android.telecom.Call.Details#PROPERTY_IS_EXTERNAL_CALL}. - */ -public class ExternalCallList { - - public interface ExternalCallListener { - void onExternalCallAdded(Call call); - void onExternalCallRemoved(Call call); - void onExternalCallUpdated(Call call); - } - - /** - * Handles {@link android.telecom.Call.Callback} callbacks. - */ - private final Call.Callback mTelecomCallCallback = new Call.Callback() { - @Override - public void onDetailsChanged(Call call, Call.Details details) { - notifyExternalCallUpdated(call); - } - }; - - private final Set<Call> mExternalCalls = new ArraySet<>(); - private final Set<ExternalCallListener> mExternalCallListeners = Collections.newSetFromMap( - new ConcurrentHashMap<ExternalCallListener, Boolean>(8, 0.9f, 1)); - - /** - * Begins tracking an external call and notifies listeners of the new call. - */ - public void onCallAdded(Call telecomCall) { - Preconditions.checkArgument(telecomCall.getDetails() - .hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL)); - mExternalCalls.add(telecomCall); - telecomCall.registerCallback(mTelecomCallCallback, new Handler(Looper.getMainLooper())); - notifyExternalCallAdded(telecomCall); - } - - /** - * Stops tracking an external call and notifies listeners of the removal of the call. - */ - public void onCallRemoved(Call telecomCall) { - Preconditions.checkArgument(mExternalCalls.contains(telecomCall)); - mExternalCalls.remove(telecomCall); - telecomCall.unregisterCallback(mTelecomCallCallback); - notifyExternalCallRemoved(telecomCall); - } - - /** - * Adds a new listener to external call events. - */ - public void addExternalCallListener(ExternalCallListener listener) { - mExternalCallListeners.add(Preconditions.checkNotNull(listener)); - } - - /** - * Removes a listener to external call events. - */ - public void removeExternalCallListener(ExternalCallListener listener) { - Preconditions.checkArgument(mExternalCallListeners.contains(listener)); - mExternalCallListeners.remove(Preconditions.checkNotNull(listener)); - } - - /** - * Notifies listeners of the addition of a new external call. - */ - private void notifyExternalCallAdded(Call call) { - for (ExternalCallListener listener : mExternalCallListeners) { - listener.onExternalCallAdded(call); - } - } - - /** - * Notifies listeners of the removal of an external call. - */ - private void notifyExternalCallRemoved(Call call) { - for (ExternalCallListener listener : mExternalCallListeners) { - listener.onExternalCallRemoved(call); - } - } - - /** - * Notifies listeners of changes to an external call. - */ - private void notifyExternalCallUpdated(Call call) { - for (ExternalCallListener listener : mExternalCallListeners) { - listener.onExternalCallUpdated(call); - } - } -} diff --git a/InCallUI/src/com/android/incallui/ExternalCallNotifier.java b/InCallUI/src/com/android/incallui/ExternalCallNotifier.java deleted file mode 100644 index 639a46da0..000000000 --- a/InCallUI/src/com/android/incallui/ExternalCallNotifier.java +++ /dev/null @@ -1,406 +0,0 @@ -/* - * Copyright (C) 2016 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 com.google.common.base.Preconditions; - -import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.compat.CallSdkCompat; -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.util.BitmapUtil; -import com.android.contacts.common.util.ContactDisplayUtils; -import com.android.dialer.R; -import com.android.incallui.util.TelecomCallUtil; - -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.drawable.BitmapDrawable; -import android.net.Uri; -import android.support.annotation.Nullable; -import android.telecom.Call; -import android.telecom.PhoneAccount; -import android.text.BidiFormatter; -import android.text.TextDirectionHeuristics; -import android.text.TextUtils; -import android.util.ArrayMap; - -import java.util.Map; - -/** - * Handles the display of notifications for "external calls". - * - * External calls are a representation of a call which is in progress on the user's other device - * (e.g. another phone, or a watch). - */ -public class ExternalCallNotifier implements ExternalCallList.ExternalCallListener { - - /** - * Tag used with the notification manager to uniquely identify external call notifications. - */ - private static final String NOTIFICATION_TAG = "EXTERNAL_CALL"; - - /** - * Represents a call and associated cached notification data. - */ - private static class NotificationInfo { - private final Call mCall; - private final int mNotificationId; - @Nullable private String mContentTitle; - @Nullable private Bitmap mLargeIcon; - @Nullable private String mPersonReference; - - public NotificationInfo(Call call, int notificationId) { - Preconditions.checkNotNull(call); - mCall = call; - mNotificationId = notificationId; - } - - public Call getCall() { - return mCall; - } - - public int getNotificationId() { - return mNotificationId; - } - - public @Nullable String getContentTitle() { - return mContentTitle; - } - - public @Nullable Bitmap getLargeIcon() { - return mLargeIcon; - } - - public @Nullable String getPersonReference() { - return mPersonReference; - } - - public void setContentTitle(@Nullable String contentTitle) { - mContentTitle = contentTitle; - } - - public void setLargeIcon(@Nullable Bitmap largeIcon) { - mLargeIcon = largeIcon; - } - - public void setPersonReference(@Nullable String personReference) { - mPersonReference = personReference; - } - } - - private final Context mContext; - private final ContactInfoCache mContactInfoCache; - private Map<Call, NotificationInfo> mNotifications = new ArrayMap<>(); - private int mNextUniqueNotificationId; - private ContactsPreferences mContactsPreferences; - - /** - * Initializes a new instance of the external call notifier. - */ - public ExternalCallNotifier(Context context, ContactInfoCache contactInfoCache) { - mContext = Preconditions.checkNotNull(context); - mContactsPreferences = ContactsPreferencesFactory.newContactsPreferences(mContext); - mContactInfoCache = Preconditions.checkNotNull(contactInfoCache); - } - - /** - * Handles the addition of a new external call by showing a new notification. - * Triggered by {@link CallList#onCallAdded(android.telecom.Call)}. - */ - @Override - public void onExternalCallAdded(android.telecom.Call call) { - Log.i(this, "onExternalCallAdded " + call); - Preconditions.checkArgument(!mNotifications.containsKey(call)); - NotificationInfo info = new NotificationInfo(call, mNextUniqueNotificationId++); - mNotifications.put(call, info); - - showNotifcation(info); - } - - /** - * Handles the removal of an external call by hiding its associated notification. - * Triggered by {@link CallList#onCallRemoved(android.telecom.Call)}. - */ - @Override - public void onExternalCallRemoved(android.telecom.Call call) { - Log.i(this, "onExternalCallRemoved " + call); - - dismissNotification(call); - } - - /** - * Handles updates to an external call. - */ - @Override - public void onExternalCallUpdated(Call call) { - Preconditions.checkArgument(mNotifications.containsKey(call)); - postNotification(mNotifications.get(call)); - } - - /** - * Initiates a call pull given a notification ID. - * - * @param notificationId The notification ID associated with the external call which is to be - * pulled. - */ - public void pullExternalCall(int notificationId) { - for (NotificationInfo info : mNotifications.values()) { - if (info.getNotificationId() == notificationId) { - CallSdkCompat.pullExternalCall(info.getCall()); - return; - } - } - } - - /** - * Shows a notification for a new external call. Performs a contact cache lookup to find any - * associated photo and information for the call. - */ - private void showNotifcation(final NotificationInfo info) { - // We make a call to the contact info cache to query for supplemental data to what the - // call provides. This includes the contact name and photo. - // This callback will always get called immediately and synchronously with whatever data - // it has available, and may make a subsequent call later (same thread) if it had to - // call into the contacts provider for more data. - com.android.incallui.Call incallCall = new com.android.incallui.Call(info.getCall(), - new LatencyReport(), false /* registerCallback */); - - mContactInfoCache.findInfo(incallCall, false /* isIncoming */, - new ContactInfoCache.ContactInfoCacheCallback() { - @Override - public void onContactInfoComplete(String callId, - ContactInfoCache.ContactCacheEntry entry) { - - // Ensure notification still exists as the external call could have been - // removed during async contact info lookup. - if (mNotifications.containsKey(info.getCall())) { - saveContactInfo(info, entry); - } - } - - @Override - public void onImageLoadComplete(String callId, - ContactInfoCache.ContactCacheEntry entry) { - - // Ensure notification still exists as the external call could have been - // removed during async contact info lookup. - if (mNotifications.containsKey(info.getCall())) { - savePhoto(info, entry); - } - } - - @Override - public void onContactInteractionsInfoComplete(String callId, - ContactInfoCache.ContactCacheEntry entry) { - } - }); - } - - /** - * Dismisses a notification for an external call. - */ - private void dismissNotification(Call call) { - Preconditions.checkArgument(mNotifications.containsKey(call)); - - NotificationManager notificationManager = - (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); - notificationManager.cancel(NOTIFICATION_TAG, mNotifications.get(call).getNotificationId()); - - mNotifications.remove(call); - } - - /** - * Attempts to build a large icon to use for the notification based on the contact info and - * post the updated notification to the notification manager. - */ - private void savePhoto(NotificationInfo info, ContactInfoCache.ContactCacheEntry entry) { - Bitmap largeIcon = getLargeIconToDisplay(mContext, entry, info.getCall()); - if (largeIcon != null) { - largeIcon = getRoundedIcon(mContext, largeIcon); - } - info.setLargeIcon(largeIcon); - postNotification(info); - } - - /** - * Builds and stores the contact information the notification will display and posts the updated - * notification to the notification manager. - */ - private void saveContactInfo(NotificationInfo info, ContactInfoCache.ContactCacheEntry entry) { - info.setContentTitle(getContentTitle(mContext, mContactsPreferences, - entry, info.getCall())); - info.setPersonReference(getPersonReference(entry, info.getCall())); - postNotification(info); - } - - /** - * Rebuild an existing or show a new notification given {@link NotificationInfo}. - */ - private void postNotification(NotificationInfo info) { - Log.i(this, "postNotification : " + info.getContentTitle()); - Notification.Builder builder = new Notification.Builder(mContext); - // Set notification as ongoing since calls are long-running versus a point-in-time notice. - builder.setOngoing(true); - // Make the notification prioritized over the other normal notifications. - builder.setPriority(Notification.PRIORITY_HIGH); - // Set the content ("Ongoing call on another device") - builder.setContentText(mContext.getString(R.string.notification_external_call)); - builder.setSmallIcon(R.drawable.ic_call_white_24dp); - builder.setContentTitle(info.getContentTitle()); - builder.setLargeIcon(info.getLargeIcon()); - builder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color)); - builder.addPerson(info.getPersonReference()); - - // Where the external call supports being transferred to the local device, add an action - // to the notification to initiate the call pull process. - if ((info.getCall().getDetails().getCallCapabilities() - & CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL) - == CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL) { - - Intent intent = new Intent( - NotificationBroadcastReceiver.ACTION_PULL_EXTERNAL_CALL, null, mContext, - NotificationBroadcastReceiver.class); - intent.putExtra(NotificationBroadcastReceiver.EXTRA_NOTIFICATION_ID, - info.getNotificationId()); - - builder.addAction(new Notification.Action.Builder(R.drawable.ic_call_white_24dp, - mContext.getText(R.string.notification_transfer_call), - PendingIntent.getBroadcast(mContext, 0, intent, 0)).build()); - } - - /** - * This builder is used for the notification shown when the device is locked and the user - * has set their notification settings to 'hide sensitive content' - * {@see Notification.Builder#setPublicVersion}. - */ - Notification.Builder publicBuilder = new Notification.Builder(mContext); - publicBuilder.setSmallIcon(R.drawable.ic_call_white_24dp); - publicBuilder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color)); - - builder.setPublicVersion(publicBuilder.build()); - Notification notification = builder.build(); - - NotificationManager notificationManager = - (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); - notificationManager.notify(NOTIFICATION_TAG, info.getNotificationId(), notification); - } - - /** - * Finds a large icon to display in a notification for a call. For conference calls, a - * conference call icon is used, otherwise if contact info is specified, the user's contact - * photo or avatar is used. - * - * @param context The context. - * @param contactInfo The contact cache info. - * @param call The call. - * @return The large icon to use for the notification. - */ - private @Nullable Bitmap getLargeIconToDisplay(Context context, - ContactInfoCache.ContactCacheEntry contactInfo, android.telecom.Call call) { - - Bitmap largeIcon = null; - if (call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE) && - !call.getDetails() - .hasProperty(android.telecom.Call.Details.PROPERTY_GENERIC_CONFERENCE)) { - - largeIcon = BitmapFactory.decodeResource(context.getResources(), - R.drawable.img_conference); - } - if (contactInfo.photo != null && (contactInfo.photo instanceof BitmapDrawable)) { - largeIcon = ((BitmapDrawable) contactInfo.photo).getBitmap(); - } - return largeIcon; - } - - /** - * Given a bitmap, returns a rounded version of the icon suitable for display in a notification. - * - * @param context The context. - * @param bitmap The bitmap to round. - * @return The rounded bitmap. - */ - private @Nullable Bitmap getRoundedIcon(Context context, @Nullable Bitmap bitmap) { - if (bitmap == null) { - return null; - } - final int height = (int) context.getResources().getDimension( - android.R.dimen.notification_large_icon_height); - final int width = (int) context.getResources().getDimension( - android.R.dimen.notification_large_icon_width); - return BitmapUtil.getRoundedBitmap(bitmap, width, height); - } - - /** - * Builds a notification content title for a call. If the call is a conference call, it is - * identified as such. Otherwise an attempt is made to show an associated contact name or - * phone number. - * - * @param context The context. - * @param contactsPreferences Contacts preferences, used to determine the preferred formatting - * for contact names. - * @param contactInfo The contact info which was looked up in the contact cache. - * @param call The call to generate a title for. - * @return The content title. - */ - private @Nullable String getContentTitle(Context context, - @Nullable ContactsPreferences contactsPreferences, - ContactInfoCache.ContactCacheEntry contactInfo, android.telecom.Call call) { - - if (call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE) && - !call.getDetails() - .hasProperty(android.telecom.Call.Details.PROPERTY_GENERIC_CONFERENCE)) { - - return context.getResources().getString(R.string.card_title_conf_call); - } - - String preferredName = ContactDisplayUtils.getPreferredDisplayName(contactInfo.namePrimary, - contactInfo.nameAlternative, contactsPreferences); - if (TextUtils.isEmpty(preferredName)) { - return TextUtils.isEmpty(contactInfo.number) ? null : BidiFormatter.getInstance() - .unicodeWrap(contactInfo.number, TextDirectionHeuristics.LTR); - } - return preferredName; - } - - /** - * Gets a "person reference" for a notification, used by the system to determine whether the - * notification should be allowed past notification interruption filters. - * - * @param contactInfo The contact info from cache. - * @param call The call. - * @return the person reference. - */ - private String getPersonReference(ContactInfoCache.ContactCacheEntry contactInfo, - Call call) { - - String number = TelecomCallUtil.getNumber(call); - // Query {@link Contacts#CONTENT_LOOKUP_URI} directly with work lookup key is not allowed. - // So, do not pass {@link Contacts#CONTENT_LOOKUP_URI} to NotificationManager to avoid - // NotificationManager using it. - if (contactInfo.lookupUri != null && contactInfo.userType != ContactsUtils.USER_TYPE_WORK) { - return contactInfo.lookupUri.toString(); - } else if (!TextUtils.isEmpty(number)) { - return Uri.fromParts(PhoneAccount.SCHEME_TEL, number, null).toString(); - } - return ""; - } -} diff --git a/InCallUI/src/com/android/incallui/FragmentDisplayManager.java b/InCallUI/src/com/android/incallui/FragmentDisplayManager.java deleted file mode 100644 index 045d999a0..000000000 --- a/InCallUI/src/com/android/incallui/FragmentDisplayManager.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2015 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; - -interface FragmentDisplayManager { - public void onFragmentAttached(Fragment fragment); -} diff --git a/InCallUI/src/com/android/incallui/GlowPadAnswerFragment.java b/InCallUI/src/com/android/incallui/GlowPadAnswerFragment.java deleted file mode 100644 index 62a8e7829..000000000 --- a/InCallUI/src/com/android/incallui/GlowPadAnswerFragment.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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(); - } - } -} diff --git a/InCallUI/src/com/android/incallui/GlowPadWrapper.java b/InCallUI/src/com/android/incallui/GlowPadWrapper.java deleted file mode 100644 index 342f6b4fd..000000000 --- a/InCallUI/src/com/android/incallui/GlowPadWrapper.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * 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.content.Context; -import android.os.Handler; -import android.os.Message; -import android.telecom.VideoProfile; -import android.util.AttributeSet; -import android.view.View; - -import com.android.dialer.R; -import com.android.incallui.widget.multiwaveview.GlowPadView; - -/** - * - */ -public class GlowPadWrapper extends GlowPadView implements GlowPadView.OnTriggerListener { - - // Parameters for the GlowPadView "ping" animation; see triggerPing(). - private static final int PING_MESSAGE_WHAT = 101; - private static final boolean ENABLE_PING_AUTO_REPEAT = true; - private static final long PING_REPEAT_DELAY_MS = 1200; - - private final Handler mPingHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case PING_MESSAGE_WHAT: - triggerPing(); - break; - } - } - }; - - private AnswerFragment mAnswerFragment; - private boolean mPingEnabled = true; - private boolean mTargetTriggered = false; - private int mVideoState = VideoProfile.STATE_BIDIRECTIONAL; - - public GlowPadWrapper(Context context) { - super(context); - Log.d(this, "class created " + this + " "); - } - - public GlowPadWrapper(Context context, AttributeSet attrs) { - super(context, attrs); - Log.d(this, "class created " + this); - } - - @Override - protected void onFinishInflate() { - Log.d(this, "onFinishInflate()"); - super.onFinishInflate(); - setOnTriggerListener(this); - } - - public void startPing() { - Log.d(this, "startPing"); - mPingEnabled = true; - triggerPing(); - } - - public void stopPing() { - Log.d(this, "stopPing"); - mPingEnabled = false; - mPingHandler.removeMessages(PING_MESSAGE_WHAT); - } - - private void triggerPing() { - Log.d(this, "triggerPing(): " + mPingEnabled + " " + this); - if (mPingEnabled && !mPingHandler.hasMessages(PING_MESSAGE_WHAT)) { - ping(); - - if (ENABLE_PING_AUTO_REPEAT) { - mPingHandler.sendEmptyMessageDelayed(PING_MESSAGE_WHAT, PING_REPEAT_DELAY_MS); - } - } - } - - @Override - public void onGrabbed(View v, int handle) { - Log.d(this, "onGrabbed()"); - stopPing(); - } - - @Override - public void onReleased(View v, int handle) { - Log.d(this, "onReleased()"); - if (mTargetTriggered) { - mTargetTriggered = false; - } else { - startPing(); - } - } - - @Override - public void onTrigger(View v, int target) { - Log.d(this, "onTrigger() view=" + v + " target=" + target); - final int resId = getResourceIdForTarget(target); - if (resId == R.drawable.ic_lockscreen_answer) { - mAnswerFragment.onAnswer(VideoProfile.STATE_AUDIO_ONLY, getContext()); - mTargetTriggered = true; - } else if (resId == R.drawable.ic_lockscreen_decline) { - mAnswerFragment.onDecline(getContext()); - mTargetTriggered = true; - } else if (resId == R.drawable.ic_lockscreen_text) { - mAnswerFragment.onText(); - mTargetTriggered = true; - } else if (resId == R.drawable.ic_videocam || resId == R.drawable.ic_lockscreen_answer_video) { - mAnswerFragment.onAnswer(mVideoState, getContext()); - mTargetTriggered = true; - } else if (resId == R.drawable.ic_lockscreen_decline_video) { - mAnswerFragment.onDeclineUpgradeRequest(getContext()); - mTargetTriggered = true; - } else { - // Code should never reach here. - Log.e(this, "Trigger detected on unhandled resource. Skipping."); - } - } - - @Override - public void onGrabbedStateChange(View v, int handle) { - - } - - @Override - public void onFinishFinalAnimation() { - - } - - public void setAnswerFragment(AnswerFragment fragment) { - mAnswerFragment = fragment; - } - - /** - * Sets the video state represented by the "video" icon on the glow pad. - * - * @param videoState The new video state. - */ - public void setVideoState(int videoState) { - mVideoState = videoState; - } -} diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java deleted file mode 100644 index eaaedff2c..000000000 --- a/InCallUI/src/com/android/incallui/InCallActivity.java +++ /dev/null @@ -1,980 +0,0 @@ -/* - * Copyright (C) 2006 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.ActionBar; -import android.app.Activity; -import android.app.ActivityManager; -import android.app.AlertDialog; -import android.app.DialogFragment; -import android.app.Fragment; -import android.app.FragmentManager; -import android.app.FragmentTransaction; -import android.content.Context; -import android.content.DialogInterface; -import android.content.DialogInterface.OnCancelListener; -import android.content.DialogInterface.OnClickListener; -import android.content.Intent; -import android.content.res.Configuration; -import android.graphics.Point; -import android.hardware.SensorManager; -import android.os.Bundle; -import android.os.Trace; -import android.telecom.DisconnectCause; -import android.telecom.PhoneAccountHandle; -import android.text.TextUtils; -import android.view.KeyEvent; -import android.view.MenuItem; -import android.view.MotionEvent; -import android.view.OrientationEventListener; -import android.view.Surface; -import android.view.View; -import android.view.View.OnTouchListener; -import android.view.Window; -import android.view.WindowManager; -import android.view.accessibility.AccessibilityEvent; -import android.view.animation.Animation; -import android.view.animation.AnimationUtils; - -import com.android.contacts.common.activity.TransactionSafeActivity; -import com.android.contacts.common.compat.CompatUtils; -import com.android.contacts.common.interactions.TouchPointManager; -import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment; -import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment.SelectPhoneAccountListener; -import com.android.dialer.R; -import com.android.dialer.logging.Logger; -import com.android.dialer.logging.ScreenEvent; -import com.android.incallui.Call.State; -import com.android.incallui.util.AccessibilityUtil; -import com.android.phone.common.animation.AnimUtils; -import com.android.phone.common.animation.AnimationListenerAdapter; - -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -/** - * Main activity that the user interacts with while in a live call. - */ -public class InCallActivity extends TransactionSafeActivity implements FragmentDisplayManager { - - public static final String TAG = InCallActivity.class.getSimpleName(); - - public static final String SHOW_DIALPAD_EXTRA = "InCallActivity.show_dialpad"; - public static final String DIALPAD_TEXT_EXTRA = "InCallActivity.dialpad_text"; - public static final String NEW_OUTGOING_CALL_EXTRA = "InCallActivity.new_outgoing_call"; - public static final String FOR_FULL_SCREEN_INTENT = "InCallActivity.for_full_screen_intent"; - - private static final String TAG_DIALPAD_FRAGMENT = "tag_dialpad_fragment"; - private static final String TAG_CONFERENCE_FRAGMENT = "tag_conference_manager_fragment"; - private static final String TAG_CALLCARD_FRAGMENT = "tag_callcard_fragment"; - private static final String TAG_ANSWER_FRAGMENT = "tag_answer_fragment"; - private static final String TAG_SELECT_ACCT_FRAGMENT = "tag_select_acct_fragment"; - - private static final int DIALPAD_REQUEST_NONE = 1; - private static final int DIALPAD_REQUEST_SHOW = 2; - private static final int DIALPAD_REQUEST_HIDE = 3; - - /** - * This is used to relaunch the activity if resizing beyond which it needs to load different - * layout file. - */ - private static final int SCREEN_HEIGHT_RESIZE_THRESHOLD = 500; - - private CallButtonFragment mCallButtonFragment; - private CallCardFragment mCallCardFragment; - private AnswerFragment mAnswerFragment; - private DialpadFragment mDialpadFragment; - private ConferenceManagerFragment mConferenceManagerFragment; - private FragmentManager mChildFragmentManager; - - private AlertDialog mDialog; - private InCallOrientationEventListener mInCallOrientationEventListener; - - /** - * Used to indicate whether the dialpad should be hidden or shown {@link #onResume}. - * {@code #DIALPAD_REQUEST_SHOW} indicates that the dialpad should be shown. - * {@code #DIALPAD_REQUEST_HIDE} indicates that the dialpad should be hidden. - * {@code #DIALPAD_REQUEST_NONE} indicates no change should be made to dialpad visibility. - */ - private int mShowDialpadRequest = DIALPAD_REQUEST_NONE; - - /** - * Use to determine if the dialpad should be animated on show. - */ - private boolean mAnimateDialpadOnShow; - - /** - * Use to determine the DTMF Text which should be pre-populated in the dialpad. - */ - private String mDtmfText; - - /** - * Use to pass parameters for showing the PostCharDialog to {@link #onResume} - */ - private boolean mShowPostCharWaitDialogOnResume; - private String mShowPostCharWaitDialogCallId; - private String mShowPostCharWaitDialogChars; - - private boolean mIsLandscape; - private Animation mSlideIn; - private Animation mSlideOut; - private boolean mDismissKeyguard = false; - - AnimationListenerAdapter mSlideOutListener = new AnimationListenerAdapter() { - @Override - public void onAnimationEnd(Animation animation) { - showFragment(TAG_DIALPAD_FRAGMENT, false, true); - } - }; - - private OnTouchListener mDispatchTouchEventListener; - - private SelectPhoneAccountListener mSelectAcctListener = new SelectPhoneAccountListener() { - @Override - public void onPhoneAccountSelected(PhoneAccountHandle selectedAccountHandle, - boolean setDefault) { - InCallPresenter.getInstance().handleAccountSelection(selectedAccountHandle, - setDefault); - } - - @Override - public void onDialogDismissed() { - InCallPresenter.getInstance().cancelAccountSelection(); - } - }; - - @Override - protected void onCreate(Bundle icicle) { - Log.d(this, "onCreate()... this = " + this); - - super.onCreate(icicle); - - // set this flag so this activity will stay in front of the keyguard - // Have the WindowManager filter out touch events that are "too fat". - int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED - | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON - | WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES; - - getWindow().addFlags(flags); - - // Setup action bar for the conference call manager. - requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); - ActionBar actionBar = getActionBar(); - if (actionBar != null) { - actionBar.setDisplayHomeAsUpEnabled(true); - actionBar.setDisplayShowTitleEnabled(true); - actionBar.hide(); - } - - // TODO(klp): Do we need to add this back when prox sensor is not available? - // lp.inputFeatures |= WindowManager.LayoutParams.INPUT_FEATURE_DISABLE_USER_ACTIVITY; - - setContentView(R.layout.incall_screen); - - internalResolveIntent(getIntent()); - - mIsLandscape = getResources().getConfiguration().orientation == - Configuration.ORIENTATION_LANDSCAPE; - - final boolean isRtl = TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()) == - View.LAYOUT_DIRECTION_RTL; - - if (mIsLandscape) { - mSlideIn = AnimationUtils.loadAnimation(this, - isRtl ? R.anim.dialpad_slide_in_left : R.anim.dialpad_slide_in_right); - mSlideOut = AnimationUtils.loadAnimation(this, - isRtl ? R.anim.dialpad_slide_out_left : R.anim.dialpad_slide_out_right); - } else { - mSlideIn = AnimationUtils.loadAnimation(this, R.anim.dialpad_slide_in_bottom); - mSlideOut = AnimationUtils.loadAnimation(this, R.anim.dialpad_slide_out_bottom); - } - - mSlideIn.setInterpolator(AnimUtils.EASE_IN); - mSlideOut.setInterpolator(AnimUtils.EASE_OUT); - - mSlideOut.setAnimationListener(mSlideOutListener); - - // If the dialpad fragment already exists, retrieve it. This is important when rotating as - // we will not be able to hide or show the dialpad after the rotation otherwise. - Fragment existingFragment = - getFragmentManager().findFragmentByTag(DialpadFragment.class.getName()); - if (existingFragment != null) { - mDialpadFragment = (DialpadFragment) existingFragment; - } - - if (icicle != null) { - // If the dialpad was shown before, set variables indicating it should be shown and - // populated with the previous DTMF text. The dialpad is actually shown and populated - // in onResume() to ensure the hosting CallCardFragment has been inflated and is ready - // to receive it. - if (icicle.containsKey(SHOW_DIALPAD_EXTRA)) { - boolean showDialpad = icicle.getBoolean(SHOW_DIALPAD_EXTRA); - mShowDialpadRequest = showDialpad ? DIALPAD_REQUEST_SHOW : DIALPAD_REQUEST_HIDE; - mAnimateDialpadOnShow = false; - } - mDtmfText = icicle.getString(DIALPAD_TEXT_EXTRA); - - SelectPhoneAccountDialogFragment dialogFragment = (SelectPhoneAccountDialogFragment) - getFragmentManager().findFragmentByTag(TAG_SELECT_ACCT_FRAGMENT); - if (dialogFragment != null) { - dialogFragment.setListener(mSelectAcctListener); - } - } - mInCallOrientationEventListener = new InCallOrientationEventListener(this); - - Log.d(this, "onCreate(): exit"); - } - - @Override - protected void onSaveInstanceState(Bundle out) { - // TODO: The dialpad fragment should handle this as part of its own state - out.putBoolean(SHOW_DIALPAD_EXTRA, - mCallButtonFragment != null && mCallButtonFragment.isDialpadVisible()); - if (mDialpadFragment != null) { - out.putString(DIALPAD_TEXT_EXTRA, mDialpadFragment.getDtmfText()); - } - super.onSaveInstanceState(out); - } - - @Override - protected void onStart() { - Log.d(this, "onStart()..."); - super.onStart(); - - // setting activity should be last thing in setup process - InCallPresenter.getInstance().setActivity(this); - enableInCallOrientationEventListener(getRequestedOrientation() == - InCallOrientationEventListener.FULL_SENSOR_SCREEN_ORIENTATION); - - InCallPresenter.getInstance().onActivityStarted(); - } - - @Override - protected void onResume() { - Log.i(this, "onResume()..."); - super.onResume(); - - InCallPresenter.getInstance().setThemeColors(); - InCallPresenter.getInstance().onUiShowing(true); - - // Clear fullscreen state onResume; the stored value may not match reality. - InCallPresenter.getInstance().clearFullscreen(); - - // If there is a pending request to show or hide the dialpad, handle that now. - if (mShowDialpadRequest != DIALPAD_REQUEST_NONE) { - if (mShowDialpadRequest == DIALPAD_REQUEST_SHOW) { - // Exit fullscreen so that the user has access to the dialpad hide/show button and - // can hide the dialpad. Important when showing the dialpad from within dialer. - InCallPresenter.getInstance().setFullScreen(false, true /* force */); - - mCallButtonFragment.displayDialpad(true /* show */, - mAnimateDialpadOnShow /* animate */); - mAnimateDialpadOnShow = false; - - if (mDialpadFragment != null) { - mDialpadFragment.setDtmfText(mDtmfText); - mDtmfText = null; - } - } else { - Log.v(this, "onResume : force hide dialpad"); - if (mDialpadFragment != null) { - mCallButtonFragment.displayDialpad(false /* show */, false /* animate */); - } - } - mShowDialpadRequest = DIALPAD_REQUEST_NONE; - } - - if (mShowPostCharWaitDialogOnResume) { - showPostCharWaitDialog(mShowPostCharWaitDialogCallId, mShowPostCharWaitDialogChars); - } - - CallList.getInstance().onInCallUiShown( - getIntent().getBooleanExtra(FOR_FULL_SCREEN_INTENT, false)); - } - - // onPause is guaranteed to be called when the InCallActivity goes - // in the background. - @Override - protected void onPause() { - Log.d(this, "onPause()..."); - if (mDialpadFragment != null) { - mDialpadFragment.onDialerKeyUp(null); - } - - InCallPresenter.getInstance().onUiShowing(false); - if (isFinishing()) { - InCallPresenter.getInstance().unsetActivity(this); - } - super.onPause(); - } - - @Override - protected void onStop() { - Log.d(this, "onStop()..."); - enableInCallOrientationEventListener(false); - InCallPresenter.getInstance().updateIsChangingConfigurations(); - InCallPresenter.getInstance().onActivityStopped(); - super.onStop(); - } - - @Override - protected void onDestroy() { - Log.d(this, "onDestroy()... this = " + this); - InCallPresenter.getInstance().unsetActivity(this); - InCallPresenter.getInstance().updateIsChangingConfigurations(); - super.onDestroy(); - } - - /** - * When fragments have a parent fragment, onAttachFragment is not called on the parent - * activity. To fix this, register our own callback instead that is always called for - * all fragments. - * - * @see {@link BaseFragment#onAttach(Activity)} - */ - @Override - public void onFragmentAttached(Fragment fragment) { - if (fragment instanceof DialpadFragment) { - mDialpadFragment = (DialpadFragment) fragment; - } else if (fragment instanceof AnswerFragment) { - mAnswerFragment = (AnswerFragment) fragment; - } else if (fragment instanceof CallCardFragment) { - mCallCardFragment = (CallCardFragment) fragment; - mChildFragmentManager = mCallCardFragment.getChildFragmentManager(); - } else if (fragment instanceof ConferenceManagerFragment) { - mConferenceManagerFragment = (ConferenceManagerFragment) fragment; - } else if (fragment instanceof CallButtonFragment) { - mCallButtonFragment = (CallButtonFragment) fragment; - } - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - Configuration oldConfig = getResources().getConfiguration(); - Log.v(this, String.format( - "incallui config changed, screen size: w%ddp x h%ddp old:w%ddp x h%ddp", - newConfig.screenWidthDp, newConfig.screenHeightDp, - oldConfig.screenWidthDp, oldConfig.screenHeightDp)); - // Recreate this activity if height is changing beyond the threshold to load different - // layout file. - if (oldConfig.screenHeightDp < SCREEN_HEIGHT_RESIZE_THRESHOLD && - newConfig.screenHeightDp > SCREEN_HEIGHT_RESIZE_THRESHOLD || - oldConfig.screenHeightDp > SCREEN_HEIGHT_RESIZE_THRESHOLD && - newConfig.screenHeightDp < SCREEN_HEIGHT_RESIZE_THRESHOLD) { - Log.i(this, String.format( - "Recreate activity due to resize beyond threshold: %d dp", - SCREEN_HEIGHT_RESIZE_THRESHOLD)); - recreate(); - } - } - - /** - * Returns true when the Activity is currently visible. - */ - /* package */ boolean isVisible() { - return isSafeToCommitTransactions(); - } - - private boolean hasPendingDialogs() { - return mDialog != null || (mAnswerFragment != null && mAnswerFragment.hasPendingDialogs()); - } - - @Override - public void finish() { - Log.i(this, "finish(). Dialog showing: " + (mDialog != null)); - - // skip finish if we are still showing a dialog. - if (!hasPendingDialogs()) { - super.finish(); - } - } - - @Override - protected void onNewIntent(Intent intent) { - Log.d(this, "onNewIntent: intent = " + intent); - - // We're being re-launched with a new Intent. Since it's possible for a - // single InCallActivity instance to persist indefinitely (even if we - // finish() ourselves), this sequence can potentially happen any time - // the InCallActivity needs to be displayed. - - // Stash away the new intent so that we can get it in the future - // by calling getIntent(). (Otherwise getIntent() will return the - // original Intent from when we first got created!) - setIntent(intent); - - // Activities are always paused before receiving a new intent, so - // we can count on our onResume() method being called next. - - // Just like in onCreate(), handle the intent. - internalResolveIntent(intent); - } - - @Override - public void onBackPressed() { - Log.i(this, "onBackPressed"); - - // BACK is also used to exit out of any "special modes" of the - // in-call UI: - if (!isVisible()) { - return; - } - - if ((mConferenceManagerFragment == null || !mConferenceManagerFragment.isVisible()) - && (mCallCardFragment == null || !mCallCardFragment.isVisible())) { - return; - } - - if (mDialpadFragment != null && mDialpadFragment.isVisible()) { - mCallButtonFragment.displayDialpad(false /* show */, true /* animate */); - return; - } else if (mConferenceManagerFragment != null && mConferenceManagerFragment.isVisible()) { - showConferenceFragment(false); - return; - } - - // Always disable the Back key while an incoming call is ringing - final Call call = CallList.getInstance().getIncomingCall(); - if (call != null) { - Log.i(this, "Consume Back press for an incoming call"); - return; - } - - // Nothing special to do. Fall back to the default behavior. - super.onBackPressed(); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - final int itemId = item.getItemId(); - if (itemId == android.R.id.home) { - onBackPressed(); - return true; - } - return super.onOptionsItemSelected(item); - } - - @Override - public boolean onKeyUp(int keyCode, KeyEvent event) { - // push input to the dialer. - if (mDialpadFragment != null && (mDialpadFragment.isVisible()) && - (mDialpadFragment.onDialerKeyUp(event))) { - return true; - } else if (keyCode == KeyEvent.KEYCODE_CALL) { - // Always consume CALL to be sure the PhoneWindow won't do anything with it - return true; - } - return super.onKeyUp(keyCode, event); - } - - @Override - public boolean dispatchTouchEvent(MotionEvent ev) { - if (mDispatchTouchEventListener != null) { - boolean handled = mDispatchTouchEventListener.onTouch(null, ev); - if (handled) { - return true; - } - } - return super.dispatchTouchEvent(ev); - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - switch (keyCode) { - case KeyEvent.KEYCODE_CALL: - boolean handled = InCallPresenter.getInstance().handleCallKey(); - if (!handled) { - Log.w(this, "InCallActivity should always handle KEYCODE_CALL in onKeyDown"); - } - // Always consume CALL to be sure the PhoneWindow won't do anything with it - return true; - - // Note there's no KeyEvent.KEYCODE_ENDCALL case here. - // The standard system-wide handling of the ENDCALL key - // (see PhoneWindowManager's handling of KEYCODE_ENDCALL) - // already implements exactly what the UI spec wants, - // namely (1) "hang up" if there's a current active call, - // or (2) "don't answer" if there's a current ringing call. - - case KeyEvent.KEYCODE_CAMERA: - // Disable the CAMERA button while in-call since it's too - // easy to press accidentally. - return true; - - case KeyEvent.KEYCODE_VOLUME_UP: - case KeyEvent.KEYCODE_VOLUME_DOWN: - case KeyEvent.KEYCODE_VOLUME_MUTE: - // Ringer silencing handled by PhoneWindowManager. - break; - - case KeyEvent.KEYCODE_MUTE: - // toggle mute - TelecomAdapter.getInstance().mute(!AudioModeProvider.getInstance().getMute()); - return true; - - // Various testing/debugging features, enabled ONLY when VERBOSE == true. - case KeyEvent.KEYCODE_SLASH: - if (Log.VERBOSE) { - Log.v(this, "----------- InCallActivity View dump --------------"); - // Dump starting from the top-level view of the entire activity: - Window w = this.getWindow(); - View decorView = w.getDecorView(); - Log.d(this, "View dump:" + decorView); - return true; - } - break; - case KeyEvent.KEYCODE_EQUALS: - // TODO: Dump phone state? - break; - } - - if (event.getRepeatCount() == 0 && handleDialerKeyDown(keyCode, event)) { - return true; - } - return super.onKeyDown(keyCode, event); - } - - private boolean handleDialerKeyDown(int keyCode, KeyEvent event) { - Log.v(this, "handleDialerKeyDown: keyCode " + keyCode + ", event " + event + "..."); - - // As soon as the user starts typing valid dialable keys on the - // keyboard (presumably to type DTMF tones) we start passing the - // key events to the DTMFDialer's onDialerKeyDown. - if (mDialpadFragment != null && mDialpadFragment.isVisible()) { - return mDialpadFragment.onDialerKeyDown(event); - } - - return false; - } - - public CallButtonFragment getCallButtonFragment() { - return mCallButtonFragment; - } - - public CallCardFragment getCallCardFragment() { - return mCallCardFragment; - } - - public AnswerFragment getAnswerFragment() { - return mAnswerFragment; - } - - private void internalResolveIntent(Intent intent) { - final String action = intent.getAction(); - if (action.equals(Intent.ACTION_MAIN)) { - // This action is the normal way to bring up the in-call UI. - // - // But we do check here for one extra that can come along with the - // ACTION_MAIN intent: - - if (intent.hasExtra(SHOW_DIALPAD_EXTRA)) { - // SHOW_DIALPAD_EXTRA can be used here to specify whether the DTMF - // dialpad should be initially visible. If the extra isn't - // present at all, we just leave the dialpad in its previous state. - - final boolean showDialpad = intent.getBooleanExtra(SHOW_DIALPAD_EXTRA, false); - Log.d(this, "- internalResolveIntent: SHOW_DIALPAD_EXTRA: " + showDialpad); - - relaunchedFromDialer(showDialpad); - } - - boolean newOutgoingCall = false; - if (intent.getBooleanExtra(NEW_OUTGOING_CALL_EXTRA, false)) { - intent.removeExtra(NEW_OUTGOING_CALL_EXTRA); - Call call = CallList.getInstance().getOutgoingCall(); - if (call == null) { - call = CallList.getInstance().getPendingOutgoingCall(); - } - - Bundle extras = null; - if (call != null) { - extras = call.getTelecomCall().getDetails().getIntentExtras(); - } - if (extras == null) { - // Initialize the extras bundle to avoid NPE - extras = new Bundle(); - } - - Point touchPoint = null; - 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 - if (call != null) { - touchPoint = (Point) extras.getParcelable(TouchPointManager.TOUCH_POINT); - } - } - - // Start animation for new outgoing call - CircularRevealFragment.startCircularReveal(getFragmentManager(), touchPoint, - InCallPresenter.getInstance()); - - // InCallActivity is responsible for disconnecting a new outgoing call if there - // is no way of making it (i.e. no valid call capable accounts). - // If the version is not MSIM compatible, then ignore this code. - if (CompatUtils.isMSIMCompatible() - && InCallPresenter.isCallWithNoValidAccounts(call)) { - TelecomAdapter.getInstance().disconnectCall(call.getId()); - } - - dismissKeyguard(true); - newOutgoingCall = true; - } - - Call pendingAccountSelectionCall = CallList.getInstance().getWaitingForAccountCall(); - if (pendingAccountSelectionCall != null) { - showCallCardFragment(false); - Bundle extras = - pendingAccountSelectionCall.getTelecomCall().getDetails().getIntentExtras(); - - final List<PhoneAccountHandle> phoneAccountHandles; - if (extras != null) { - phoneAccountHandles = extras.getParcelableArrayList( - android.telecom.Call.AVAILABLE_PHONE_ACCOUNTS); - } else { - phoneAccountHandles = new ArrayList<>(); - } - - DialogFragment dialogFragment = SelectPhoneAccountDialogFragment.newInstance( - R.string.select_phone_account_for_calls, true, phoneAccountHandles, - mSelectAcctListener); - dialogFragment.show(getFragmentManager(), TAG_SELECT_ACCT_FRAGMENT); - } else if (!newOutgoingCall) { - showCallCardFragment(true); - } - return; - } - } - - /** - * When relaunching from the dialer app, {@code showDialpad} indicates whether the dialpad - * should be shown on launch. - * - * @param showDialpad {@code true} to indicate the dialpad should be shown on launch, and - * {@code false} to indicate no change should be made to the - * dialpad visibility. - */ - private void relaunchedFromDialer(boolean showDialpad) { - mShowDialpadRequest = showDialpad ? DIALPAD_REQUEST_SHOW : DIALPAD_REQUEST_NONE; - mAnimateDialpadOnShow = true; - - if (mShowDialpadRequest == DIALPAD_REQUEST_SHOW) { - // If there's only one line in use, AND it's on hold, then we're sure the user - // wants to use the dialpad toward the exact line, so un-hold the holding line. - final Call call = CallList.getInstance().getActiveOrBackgroundCall(); - if (call != null && call.getState() == State.ONHOLD) { - TelecomAdapter.getInstance().unholdCall(call.getId()); - } - } - } - - public void dismissKeyguard(boolean dismiss) { - if (mDismissKeyguard == dismiss) { - return; - } - mDismissKeyguard = dismiss; - if (dismiss) { - getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); - } else { - getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); - } - } - - private void showFragment(String tag, boolean show, boolean executeImmediately) { - Trace.beginSection("showFragment - " + tag); - final FragmentManager fm = getFragmentManagerForTag(tag); - - if (fm == null) { - Log.w(TAG, "Fragment manager is null for : " + tag); - return; - } - - Fragment fragment = fm.findFragmentByTag(tag); - if (!show && fragment == null) { - // Nothing to show, so bail early. - return; - } - - final FragmentTransaction transaction = fm.beginTransaction(); - if (show) { - if (fragment == null) { - fragment = createNewFragmentForTag(tag); - transaction.add(getContainerIdForFragment(tag), fragment, tag); - } else { - transaction.show(fragment); - } - Logger.logScreenView(getScreenTypeForTag(tag), this); - } else { - transaction.hide(fragment); - } - - transaction.commitAllowingStateLoss(); - if (executeImmediately) { - fm.executePendingTransactions(); - } - Trace.endSection(); - } - - private Fragment createNewFragmentForTag(String tag) { - if (TAG_DIALPAD_FRAGMENT.equals(tag)) { - mDialpadFragment = new DialpadFragment(); - return mDialpadFragment; - } else if (TAG_ANSWER_FRAGMENT.equals(tag)) { - if (AccessibilityUtil.isTalkBackEnabled(this)) { - mAnswerFragment = new AccessibleAnswerFragment(); - } else { - mAnswerFragment = new GlowPadAnswerFragment(); - } - return mAnswerFragment; - } else if (TAG_CONFERENCE_FRAGMENT.equals(tag)) { - mConferenceManagerFragment = new ConferenceManagerFragment(); - return mConferenceManagerFragment; - } else if (TAG_CALLCARD_FRAGMENT.equals(tag)) { - mCallCardFragment = new CallCardFragment(); - return mCallCardFragment; - } - throw new IllegalStateException("Unexpected fragment: " + tag); - } - - private FragmentManager getFragmentManagerForTag(String tag) { - if (TAG_DIALPAD_FRAGMENT.equals(tag)) { - return mChildFragmentManager; - } else if (TAG_ANSWER_FRAGMENT.equals(tag)) { - return mChildFragmentManager; - } else if (TAG_CONFERENCE_FRAGMENT.equals(tag)) { - return getFragmentManager(); - } else if (TAG_CALLCARD_FRAGMENT.equals(tag)) { - return getFragmentManager(); - } - throw new IllegalStateException("Unexpected fragment: " + tag); - } - - private int getScreenTypeForTag(String tag) { - switch (tag) { - case TAG_DIALPAD_FRAGMENT: - return ScreenEvent.INCALL_DIALPAD; - case TAG_CALLCARD_FRAGMENT: - return ScreenEvent.INCALL; - case TAG_CONFERENCE_FRAGMENT: - return ScreenEvent.CONFERENCE_MANAGEMENT; - case TAG_ANSWER_FRAGMENT: - return ScreenEvent.INCOMING_CALL; - default: - return ScreenEvent.UNKNOWN; - } - } - - private int getContainerIdForFragment(String tag) { - if (TAG_DIALPAD_FRAGMENT.equals(tag)) { - return R.id.answer_and_dialpad_container; - } else if (TAG_ANSWER_FRAGMENT.equals(tag)) { - return R.id.answer_and_dialpad_container; - } else if (TAG_CONFERENCE_FRAGMENT.equals(tag)) { - return R.id.main; - } else if (TAG_CALLCARD_FRAGMENT.equals(tag)) { - return R.id.main; - } - throw new IllegalStateException("Unexpected fragment: " + tag); - } - - /** - * @return {@code true} while the visibility of the dialpad has actually changed. - */ - public boolean showDialpadFragment(boolean show, boolean animate) { - // If the dialpad is already visible, don't animate in. If it's gone, don't animate out. - if ((show && isDialpadVisible()) || (!show && !isDialpadVisible())) { - return false; - } - // We don't do a FragmentTransaction on the hide case because it will be dealt with when - // the listener is fired after an animation finishes. - if (!animate) { - showFragment(TAG_DIALPAD_FRAGMENT, show, true); - } else { - if (show) { - showFragment(TAG_DIALPAD_FRAGMENT, true, true); - mDialpadFragment.animateShowDialpad(); - } - mDialpadFragment.getView().startAnimation(show ? mSlideIn : mSlideOut); - } - // Note: onDialpadVisibilityChange is called here to ensure that the dialpad FAB - // repositions itself. - mCallCardFragment.onDialpadVisibilityChange(show); - - final ProximitySensor sensor = InCallPresenter.getInstance().getProximitySensor(); - if (sensor != null) { - sensor.onDialpadVisible(show); - } - return true; - } - - public boolean isDialpadVisible() { - return mDialpadFragment != null && mDialpadFragment.isVisible(); - } - - public void showCallCardFragment(boolean show) { - showFragment(TAG_CALLCARD_FRAGMENT, show, true); - } - - /** - * Hides or shows the conference manager fragment. - * - * @param show {@code true} if the conference manager should be shown, {@code false} if it - * should be hidden. - */ - public void showConferenceFragment(boolean show) { - showFragment(TAG_CONFERENCE_FRAGMENT, show, true); - mConferenceManagerFragment.onVisibilityChanged(show); - - // Need to hide the call card fragment to ensure that accessibility service does not try to - // give focus to the call card when the conference manager is visible. - mCallCardFragment.getView().setVisibility(show ? View.GONE : View.VISIBLE); - } - - public void showAnswerFragment(boolean show) { - // CallCardFragment is the parent fragment of AnswerFragment. - // Must create the CallCardFragment first before creating - // AnswerFragment if CallCardFragment is null. - if (show && getCallCardFragment() == null) { - showCallCardFragment(true); - } - showFragment(TAG_ANSWER_FRAGMENT, show, true); - } - - public void showPostCharWaitDialog(String callId, String chars) { - if (isVisible()) { - final PostCharDialogFragment fragment = new PostCharDialogFragment(callId, chars); - fragment.show(getFragmentManager(), "postCharWait"); - - mShowPostCharWaitDialogOnResume = false; - mShowPostCharWaitDialogCallId = null; - mShowPostCharWaitDialogChars = null; - } else { - mShowPostCharWaitDialogOnResume = true; - mShowPostCharWaitDialogCallId = callId; - mShowPostCharWaitDialogChars = chars; - } - } - - @Override - public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { - if (mCallCardFragment != null) { - mCallCardFragment.dispatchPopulateAccessibilityEvent(event); - } - return super.dispatchPopulateAccessibilityEvent(event); - } - - public void maybeShowErrorDialogOnDisconnect(DisconnectCause disconnectCause) { - Log.d(this, "maybeShowErrorDialogOnDisconnect"); - - if (!isFinishing() && !TextUtils.isEmpty(disconnectCause.getDescription()) - && (disconnectCause.getCode() == DisconnectCause.ERROR || - disconnectCause.getCode() == DisconnectCause.RESTRICTED)) { - showErrorDialog(disconnectCause.getDescription()); - } - } - - public void dismissPendingDialogs() { - if (mDialog != null) { - mDialog.dismiss(); - mDialog = null; - } - if (mAnswerFragment != null) { - mAnswerFragment.dismissPendingDialogs(); - } - - SelectPhoneAccountDialogFragment dialogFragment = (SelectPhoneAccountDialogFragment) - getFragmentManager().findFragmentByTag(TAG_SELECT_ACCT_FRAGMENT); - if (dialogFragment != null) { - dialogFragment.dismiss(); - } - } - - /** - * Utility function to bring up a generic "error" dialog. - */ - private void showErrorDialog(CharSequence msg) { - Log.i(this, "Show Dialog: " + msg); - - dismissPendingDialogs(); - - mDialog = new AlertDialog.Builder(this) - .setMessage(msg) - .setPositiveButton(android.R.string.ok, new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - onDialogDismissed(); - } - }) - .setOnCancelListener(new OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - onDialogDismissed(); - } - }) - .create(); - - mDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); - mDialog.show(); - } - - private void onDialogDismissed() { - mDialog = null; - CallList.getInstance().onErrorDialogDismissed(); - InCallPresenter.getInstance().onDismissDialog(); - } - - public void setExcludeFromRecents(boolean exclude) { - ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); - List<ActivityManager.AppTask> tasks = am.getAppTasks(); - int taskId = getTaskId(); - for (int i = 0; i < tasks.size(); i++) { - ActivityManager.AppTask task = tasks.get(i); - if (task.getTaskInfo().id == taskId) { - try { - task.setExcludeFromRecents(exclude); - } catch (RuntimeException e) { - Log.e(TAG, "RuntimeException when excluding task from recents.", e); - } - } - } - } - - - public OnTouchListener getDispatchTouchEventListener() { - return mDispatchTouchEventListener; - } - - public void setDispatchTouchEventListener(OnTouchListener mDispatchTouchEventListener) { - this.mDispatchTouchEventListener = mDispatchTouchEventListener; - } - - /** - * Enables the OrientationEventListener if enable flag is true. Disables it if enable is - * false - * @param enable true or false. - */ - public void enableInCallOrientationEventListener(boolean enable) { - if (enable) { - mInCallOrientationEventListener.enable(enable); - } else { - mInCallOrientationEventListener.disable(); - } - } -} diff --git a/InCallUI/src/com/android/incallui/InCallAnimationUtils.java b/InCallUI/src/com/android/incallui/InCallAnimationUtils.java deleted file mode 100644 index 44bb369e6..000000000 --- a/InCallUI/src/com/android/incallui/InCallAnimationUtils.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2012 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.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.graphics.Canvas; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.LayerDrawable; -import android.view.ViewPropertyAnimator; -import android.widget.ImageView; - -/** - * Utilities for Animation. - */ -public class InCallAnimationUtils { - private static final String LOG_TAG = InCallAnimationUtils.class.getSimpleName(); - /** - * Turn on when you're interested in fading animation. Intentionally untied from other debug - * settings. - */ - private static final boolean FADE_DBG = false; - - /** - * Duration for animations in msec, which can be used with - * {@link ViewPropertyAnimator#setDuration(long)} for example. - */ - public static final int ANIMATION_DURATION = 250; - - private InCallAnimationUtils() { - } - - /** - * Drawable achieving cross-fade, just like TransitionDrawable. We can have - * call-backs via animator object (see also {@link CrossFadeDrawable#getAnimator()}). - */ - private static class CrossFadeDrawable extends LayerDrawable { - private final ObjectAnimator mAnimator; - - public CrossFadeDrawable(Drawable[] layers) { - super(layers); - mAnimator = ObjectAnimator.ofInt(this, "crossFadeAlpha", 0xff, 0); - } - - private int mCrossFadeAlpha; - - /** - * This will be used from ObjectAnimator. - * Note: this method is protected by proguard.flags so that it won't be removed - * automatically. - */ - @SuppressWarnings("unused") - public void setCrossFadeAlpha(int alpha) { - mCrossFadeAlpha = alpha; - invalidateSelf(); - } - - public ObjectAnimator getAnimator() { - return mAnimator; - } - - @Override - public void draw(Canvas canvas) { - Drawable first = getDrawable(0); - Drawable second = getDrawable(1); - - if (mCrossFadeAlpha > 0) { - first.setAlpha(mCrossFadeAlpha); - first.draw(canvas); - first.setAlpha(255); - } - - if (mCrossFadeAlpha < 0xff) { - second.setAlpha(0xff - mCrossFadeAlpha); - second.draw(canvas); - second.setAlpha(0xff); - } - } - } - - private static CrossFadeDrawable newCrossFadeDrawable(Drawable first, Drawable second) { - Drawable[] layers = new Drawable[2]; - layers[0] = first; - layers[1] = second; - return new CrossFadeDrawable(layers); - } - - /** - * Starts cross-fade animation using TransitionDrawable. Nothing will happen if "from" and "to" - * are the same. - */ - public static void startCrossFade( - final ImageView imageView, final Drawable from, final Drawable to) { - // We skip the cross-fade when those two Drawables are equal, or they are BitmapDrawables - // pointing to the same Bitmap. - final boolean drawableIsEqual = (from != null && to != null && from.equals(to)); - final boolean hasFromImage = ((from instanceof BitmapDrawable) && - ((BitmapDrawable) from).getBitmap() != null); - final boolean hasToImage = ((to instanceof BitmapDrawable) && - ((BitmapDrawable) to).getBitmap() != null); - final boolean areSameImage = drawableIsEqual || (hasFromImage && hasToImage && - ((BitmapDrawable) from).getBitmap().equals(((BitmapDrawable) to).getBitmap())); - - if (!areSameImage) { - if (FADE_DBG) { - log("Start cross-fade animation for " + imageView - + "(" + Integer.toHexString(from.hashCode()) + " -> " - + Integer.toHexString(to.hashCode()) + ")"); - } - - CrossFadeDrawable crossFadeDrawable = newCrossFadeDrawable(from, to); - ObjectAnimator animator = crossFadeDrawable.getAnimator(); - imageView.setImageDrawable(crossFadeDrawable); - animator.setDuration(ANIMATION_DURATION); - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationStart(Animator animation) { - if (FADE_DBG) { - log("cross-fade animation start (" - + Integer.toHexString(from.hashCode()) + " -> " - + Integer.toHexString(to.hashCode()) + ")"); - } - } - - @Override - public void onAnimationEnd(Animator animation) { - if (FADE_DBG) { - log("cross-fade animation ended (" - + Integer.toHexString(from.hashCode()) + " -> " - + Integer.toHexString(to.hashCode()) + ")"); - } - animation.removeAllListeners(); - // Workaround for issue 6300562; this will force the drawable to the - // resultant one regardless of animation glitch. - imageView.setImageDrawable(to); - } - }); - animator.start(); - - /* We could use TransitionDrawable here, but it may cause some weird animation in - * some corner cases. See issue 6300562 - * TODO: decide which to be used in the long run. TransitionDrawable is old but system - * one. Ours uses new animation framework and thus have callback (great for testing), - * while no framework support for the exact class. - - Drawable[] layers = new Drawable[2]; - layers[0] = from; - layers[1] = to; - TransitionDrawable transitionDrawable = new TransitionDrawable(layers); - imageView.setImageDrawable(transitionDrawable); - transitionDrawable.startTransition(ANIMATION_DURATION); */ - imageView.setTag(to); - } else if (!hasFromImage && hasToImage) { - imageView.setImageDrawable(to); - imageView.setTag(to); - } else { - if (FADE_DBG) { - log("*Not* start cross-fade. " + imageView); - } - } - } - - // Debugging / testing code - - private static void log(String msg) { - Log.d(LOG_TAG, msg); - } -}
\ No newline at end of file diff --git a/InCallUI/src/com/android/incallui/InCallCameraManager.java b/InCallUI/src/com/android/incallui/InCallCameraManager.java deleted file mode 100644 index 53000f1dd..000000000 --- a/InCallUI/src/com/android/incallui/InCallCameraManager.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2014 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.content.Context; -import android.graphics.SurfaceTexture; -import android.hardware.camera2.CameraAccessException; -import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraManager; -import android.hardware.camera2.params.StreamConfigurationMap; -import android.util.Size; - -import java.lang.String; -import java.util.Collections; -import java.util.concurrent.ConcurrentHashMap; -import java.util.Set; - -/** - * Used to track which camera is used for outgoing video. - */ -public class InCallCameraManager { - - public interface Listener { - void onActiveCameraSelectionChanged(boolean isUsingFrontFacingCamera); - } - - private final Set<Listener> mCameraSelectionListeners = Collections. - newSetFromMap(new ConcurrentHashMap<Listener, Boolean>(8,0.9f,1)); - - /** - * The camera ID for the front facing camera. - */ - private String mFrontFacingCameraId; - - /** - * The camera ID for the rear facing camera. - */ - private String mRearFacingCameraId; - - /** - * The currently active camera. - */ - private boolean mUseFrontFacingCamera; - - /** - * Indicates whether the list of cameras has been initialized yet. Initialization is delayed - * until a video call is present. - */ - private boolean mIsInitialized = false; - - /** - * The context. - */ - private Context mContext; - - /** - * Initializes the InCall CameraManager. - * - * @param context The current context. - */ - public InCallCameraManager(Context context) { - mUseFrontFacingCamera = true; - mContext = context; - } - - /** - * Sets whether the front facing camera should be used or not. - * - * @param useFrontFacingCamera {@code True} if the front facing camera is to be used. - */ - public void setUseFrontFacingCamera(boolean useFrontFacingCamera) { - mUseFrontFacingCamera = useFrontFacingCamera; - for (Listener listener : mCameraSelectionListeners) { - listener.onActiveCameraSelectionChanged(mUseFrontFacingCamera); - } - } - - /** - * Determines whether the front facing camera is currently in use. - * - * @return {@code True} if the front facing camera is in use. - */ - public boolean isUsingFrontFacingCamera() { - return mUseFrontFacingCamera; - } - - /** - * Determines the active camera ID. - * - * @return The active camera ID. - */ - public String getActiveCameraId() { - maybeInitializeCameraList(mContext); - - if (mUseFrontFacingCamera) { - return mFrontFacingCameraId; - } else { - return mRearFacingCameraId; - } - } - - /** - * Get the list of cameras available for use. - * - * @param context The context. - */ - private void maybeInitializeCameraList(Context context) { - if (mIsInitialized || context == null) { - return; - } - - Log.v(this, "initializeCameraList"); - - CameraManager cameraManager = null; - try { - cameraManager = (CameraManager) context.getSystemService( - Context.CAMERA_SERVICE); - } catch (Exception e) { - Log.e(this, "Could not get camera service."); - return; - } - - if (cameraManager == null) { - return; - } - - String[] cameraIds = {}; - try { - cameraIds = cameraManager.getCameraIdList(); - } catch (CameraAccessException e) { - Log.d(this, "Could not access camera: "+e); - // Camera disabled by device policy. - return; - } - - for (int i = 0; i < cameraIds.length; i++) { - CameraCharacteristics c = null; - try { - c = cameraManager.getCameraCharacteristics(cameraIds[i]); - } catch (IllegalArgumentException e) { - // Device Id is unknown. - } catch (CameraAccessException e) { - // Camera disabled by device policy. - } - if (c != null) { - int facingCharacteristic = c.get(CameraCharacteristics.LENS_FACING); - if (facingCharacteristic == CameraCharacteristics.LENS_FACING_FRONT) { - mFrontFacingCameraId = cameraIds[i]; - } else if (facingCharacteristic == CameraCharacteristics.LENS_FACING_BACK) { - mRearFacingCameraId = cameraIds[i]; - } - } - } - - mIsInitialized = true; - Log.v(this, "initializeCameraList : done"); - } - - public void addCameraSelectionListener(Listener listener) { - if (listener != null) { - mCameraSelectionListeners.add(listener); - } - } - - public void removeCameraSelectionListener(Listener listener) { - if (listener != null) { - mCameraSelectionListeners.remove(listener); - } - } -} diff --git a/InCallUI/src/com/android/incallui/InCallContactInteractions.java b/InCallUI/src/com/android/incallui/InCallContactInteractions.java deleted file mode 100644 index 88070fe37..000000000 --- a/InCallUI/src/com/android/incallui/InCallContactInteractions.java +++ /dev/null @@ -1,399 +0,0 @@ -/* - * Copyright (C) 2015 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 com.google.common.annotations.VisibleForTesting; - -import android.content.Context; -import android.location.Address; -import android.text.TextUtils; -import android.text.format.DateFormat; -import android.util.Pair; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.ImageView; -import android.widget.ListAdapter; -import android.widget.RelativeLayout; -import android.widget.RelativeLayout.LayoutParams; -import android.widget.TextView; - -import com.android.dialer.R; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.Locale; - -/** - * Wrapper class for objects that are used in generating the context about the contact in the InCall - * screen. - * - * This handles generating the appropriate resource for the ListAdapter based on whether the contact - * is a business contact or not and logic for the manipulation of data for the call context. - */ -public class InCallContactInteractions { - private static final String TAG = InCallContactInteractions.class.getSimpleName(); - - private Context mContext; - private InCallContactInteractionsListAdapter mListAdapter; - private boolean mIsBusiness; - private View mBusinessHeaderView; - private LayoutInflater mInflater; - - public InCallContactInteractions(Context context, boolean isBusiness) { - mContext = context; - mInflater = (LayoutInflater) - context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - switchContactType(isBusiness); - } - - public InCallContactInteractionsListAdapter getListAdapter() { - return mListAdapter; - } - - /** - * Switches the "isBusiness" value, if applicable. Recreates the list adapter with the resource - * corresponding to the new isBusiness value if the "isBusiness" value is switched. - * - * @param isBusiness Whether or not the contact is a business. - * - * @return {@code true} if a new list adapter was created, {@code} otherwise. - */ - public boolean switchContactType(boolean isBusiness) { - if (mIsBusiness != isBusiness || mListAdapter == null) { - mIsBusiness = isBusiness; - mListAdapter = new InCallContactInteractionsListAdapter(mContext, - mIsBusiness ? R.layout.business_context_info_list_item - : R.layout.person_context_info_list_item); - return true; - } - return false; - } - - public View getBusinessListHeaderView() { - if (mBusinessHeaderView == null) { - mBusinessHeaderView = mInflater.inflate( - R.layout.business_contact_context_list_header, null); - } - return mBusinessHeaderView; - } - - public void setBusinessInfo(Address address, float distance, - List<Pair<Calendar, Calendar>> openingHours) { - mListAdapter.clear(); - List<ContactContextInfo> info = new ArrayList<ContactContextInfo>(); - - // Hours of operation - if (openingHours != null) { - BusinessContextInfo hoursInfo = constructHoursInfo(openingHours); - if (hoursInfo != null) { - info.add(hoursInfo); - } - } - - // Location information - if (address != null) { - BusinessContextInfo locationInfo = constructLocationInfo(address, distance); - info.add(locationInfo); - } - - mListAdapter.addAll(info); - } - - /** - * Construct a BusinessContextInfo object containing hours of operation information. - * The format is: - * [Open now/Closed now] - * [Hours] - * - * @param openingHours - * @return BusinessContextInfo object with the schedule icon, the heading set to whether the - * business is open or not and the details set to the hours of operation. - */ - private BusinessContextInfo constructHoursInfo(List<Pair<Calendar, Calendar>> openingHours) { - try { - return constructHoursInfo(Calendar.getInstance(), openingHours); - } catch (Exception e) { - // Catch all exceptions here because we don't want any crashes if something goes wrong. - Log.e(TAG, "Error constructing hours info: ", e); - } - return null; - } - - /** - * Pass in arbitrary current calendar time. - */ - @VisibleForTesting - BusinessContextInfo constructHoursInfo(Calendar currentTime, - List<Pair<Calendar, Calendar>> openingHours) { - if (currentTime == null || openingHours == null || openingHours.size() == 0) { - return null; - } - - BusinessContextInfo hoursInfo = new BusinessContextInfo(); - hoursInfo.iconId = R.drawable.ic_schedule_white_24dp; - - boolean isOpenNow = false; - // This variable records which interval the current time is after. 0 denotes none of the - // intervals, 1 after the first interval, etc. It is also the index of the interval the - // current time is in (if open) or the next interval (if closed). - int afterInterval = 0; - // This variable counts the number of time intervals in today's opening hours. - int todaysIntervalCount = 0; - - for (Pair<Calendar, Calendar> hours : openingHours) { - if (hours.first.compareTo(currentTime) <= 0 - && currentTime.compareTo(hours.second) < 0) { - // If the current time is on or after the opening time and strictly before the - // closing time, then this business is open. - isOpenNow = true; - } - - if (currentTime.get(Calendar.DAY_OF_YEAR) == hours.first.get(Calendar.DAY_OF_YEAR)) { - todaysIntervalCount += 1; - } - - if (currentTime.compareTo(hours.second) > 0) { - // This assumes that the list of intervals is sorted by time. - afterInterval += 1; - } - } - - hoursInfo.heading = isOpenNow ? mContext.getString(R.string.open_now) - : mContext.getString(R.string.closed_now); - - /* - * The following logic determines what to display in various cases for hours of operation. - * - * - Display all intervals if open now and number of intervals is <=2. - * - Display next closing time if open now and number of intervals is >2. - * - Display next opening time if currently closed but opens later today. - * - Display last time it closed today if closed now and tomorrow's hours are unknown. - * - Display tomorrow's first open time if closed today and tomorrow's hours are known. - * - * NOTE: The logic below assumes that the intervals are sorted by ascending time. Possible - * TODO to modify the logic above and ensure this is true. - */ - if (isOpenNow) { - if (todaysIntervalCount == 1) { - hoursInfo.detail = getTimeSpanStringForHours(openingHours.get(0)); - } else if (todaysIntervalCount == 2) { - hoursInfo.detail = mContext.getString( - R.string.opening_hours, - getTimeSpanStringForHours(openingHours.get(0)), - getTimeSpanStringForHours(openingHours.get(1))); - } else if (afterInterval < openingHours.size()) { - // This check should not be necessary since if it is currently open, we should not - // be after the last interval, but just in case, we don't want to crash. - hoursInfo.detail = mContext.getString( - R.string.closes_today_at, - getFormattedTimeForCalendar(openingHours.get(afterInterval).second)); - } - } else { // Currently closed - final int lastIntervalToday = todaysIntervalCount - 1; - if (todaysIntervalCount == 0) { // closed today - hoursInfo.detail = mContext.getString( - R.string.opens_tomorrow_at, - getFormattedTimeForCalendar(openingHours.get(0).first)); - } else if (currentTime.after(openingHours.get(lastIntervalToday).second)) { - // Passed hours for today - if (todaysIntervalCount < openingHours.size()) { - // If all of today's intervals are exhausted, assume the next are tomorrow's. - hoursInfo.detail = mContext.getString( - R.string.opens_tomorrow_at, - getFormattedTimeForCalendar( - openingHours.get(todaysIntervalCount).first)); - } else { - // Grab the last time it was open today. - hoursInfo.detail = mContext.getString( - R.string.closed_today_at, - getFormattedTimeForCalendar( - openingHours.get(lastIntervalToday).second)); - } - } else if (afterInterval < openingHours.size()) { - // This check should not be necessary since if it is currently before the last - // interval, afterInterval should be less than the count of intervals, but just in - // case, we don't want to crash. - hoursInfo.detail = mContext.getString( - R.string.opens_today_at, - getFormattedTimeForCalendar(openingHours.get(afterInterval).first)); - } - } - - return hoursInfo; - } - - String getFormattedTimeForCalendar(Calendar calendar) { - return DateFormat.getTimeFormat(mContext).format(calendar.getTime()); - } - - String getTimeSpanStringForHours(Pair<Calendar, Calendar> hours) { - return mContext.getString(R.string.open_time_span, - getFormattedTimeForCalendar(hours.first), - getFormattedTimeForCalendar(hours.second)); - } - - /** - * Construct a BusinessContextInfo object with the location information of the business. - * The format is: - * [Straight line distance in miles or kilometers] - * [Address without state/country/etc.] - * - * @param address An Address object containing address details of the business - * @param distance The distance to the location in meters - * @return A BusinessContextInfo object with the location icon, the heading as the distance to - * the business and the details containing the address. - */ - private BusinessContextInfo constructLocationInfo(Address address, float distance) { - return constructLocationInfo(Locale.getDefault(), address, distance); - } - - @VisibleForTesting - BusinessContextInfo constructLocationInfo(Locale locale, Address address, - float distance) { - if (address == null) { - return null; - } - - BusinessContextInfo locationInfo = new BusinessContextInfo(); - locationInfo.iconId = R.drawable.ic_location_on_white_24dp; - if (distance != DistanceHelper.DISTANCE_NOT_FOUND) { - //TODO: add a setting to allow the user to select "KM" or "MI" as their distance units. - if (Locale.US.equals(locale)) { - locationInfo.heading = mContext.getString(R.string.distance_imperial_away, - distance * DistanceHelper.MILES_PER_METER); - } else { - locationInfo.heading = mContext.getString(R.string.distance_metric_away, - distance * DistanceHelper.KILOMETERS_PER_METER); - } - } - if (address.getLocality() != null) { - locationInfo.detail = mContext.getString( - R.string.display_address, - address.getAddressLine(0), - address.getLocality()); - } else { - locationInfo.detail = address.getAddressLine(0); - } - return locationInfo; - } - - /** - * Get the appropriate title for the context. - * @return The "Business info" title for a business contact and the "Recent messages" title for - * personal contacts. - */ - public String getContactContextTitle() { - return mIsBusiness - ? mContext.getResources().getString(R.string.business_contact_context_title) - : mContext.getResources().getString(R.string.person_contact_context_title); - } - - public static abstract class ContactContextInfo { - public abstract void bindView(View listItem); - } - - public static class BusinessContextInfo extends ContactContextInfo { - int iconId; - String heading; - String detail; - - @Override - public void bindView(View listItem) { - ImageView imageView = (ImageView) listItem.findViewById(R.id.icon); - TextView headingTextView = (TextView) listItem.findViewById(R.id.heading); - TextView detailTextView = (TextView) listItem.findViewById(R.id.detail); - - if (this.iconId == 0 || (this.heading == null && this.detail == null)) { - return; - } - - imageView.setImageDrawable(listItem.getContext().getDrawable(this.iconId)); - - headingTextView.setText(this.heading); - headingTextView.setVisibility(TextUtils.isEmpty(this.heading) - ? View.GONE : View.VISIBLE); - - detailTextView.setText(this.detail); - detailTextView.setVisibility(TextUtils.isEmpty(this.detail) - ? View.GONE : View.VISIBLE); - - } - } - - public static class PersonContextInfo extends ContactContextInfo { - boolean isIncoming; - String message; - String detail; - - @Override - public void bindView(View listItem) { - TextView messageTextView = (TextView) listItem.findViewById(R.id.message); - TextView detailTextView = (TextView) listItem.findViewById(R.id.detail); - - if (this.message == null || this.detail == null) { - return; - } - - messageTextView.setBackgroundResource(this.isIncoming ? - R.drawable.incoming_sms_background : R.drawable.outgoing_sms_background); - messageTextView.setText(this.message); - LayoutParams messageLayoutParams = (LayoutParams) messageTextView.getLayoutParams(); - messageLayoutParams.addRule(this.isIncoming? - RelativeLayout.ALIGN_PARENT_START : RelativeLayout.ALIGN_PARENT_END); - messageTextView.setLayoutParams(messageLayoutParams); - - LayoutParams detailLayoutParams = (LayoutParams) detailTextView.getLayoutParams(); - detailLayoutParams.addRule(this.isIncoming ? - RelativeLayout.ALIGN_PARENT_START : RelativeLayout.ALIGN_PARENT_END); - detailTextView.setLayoutParams(detailLayoutParams); - detailTextView.setText(this.detail); - } - } - - /** - * A list adapter for call context information. We use the same adapter for both business and - * contact context. - */ - private class InCallContactInteractionsListAdapter extends ArrayAdapter<ContactContextInfo> { - // The resource id of the list item layout. - int mResId; - - public InCallContactInteractionsListAdapter(Context context, int resource) { - super(context, resource); - mResId = resource; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - View listItem = mInflater.inflate(mResId, null); - ContactContextInfo item = getItem(position); - - if (item == null) { - return listItem; - } - - item.bindView(listItem); - return listItem; - } - } -} diff --git a/InCallUI/src/com/android/incallui/InCallDateUtils.java b/InCallUI/src/com/android/incallui/InCallDateUtils.java deleted file mode 100644 index 3401692ea..000000000 --- a/InCallUI/src/com/android/incallui/InCallDateUtils.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.android.incallui; - -import android.icu.text.MeasureFormat; -import android.icu.text.MeasureFormat.FormatWidth; -import android.icu.util.Measure; -import android.icu.util.MeasureUnit; - -import java.util.ArrayList; -import java.util.Locale; - -/** - * Methods to parse time and date information in the InCallUi - */ -public class InCallDateUtils { - - /** - * Return given duration in a human-friendly format. For example, "4 minutes 3 seconds" or - * "3 hours 1 second". Returns the hours, minutes and seconds in that order if they exist. - */ - public static String formatDuration(long millis) { - int hours = 0; - int minutes = 0; - int seconds = 0; - int elapsedSeconds = (int) (millis / 1000); - if (elapsedSeconds >= 3600) { - hours = elapsedSeconds / 3600; - elapsedSeconds -= hours * 3600; - } - if (elapsedSeconds >= 60) { - minutes = elapsedSeconds / 60; - elapsedSeconds -= minutes * 60; - } - seconds = elapsedSeconds; - - final ArrayList<Measure> measures = new ArrayList<Measure>(); - if (hours > 0) { - measures.add(new Measure(hours, MeasureUnit.HOUR)); - } - if (minutes > 0) { - measures.add(new Measure(minutes, MeasureUnit.MINUTE)); - } - if (seconds > 0) { - measures.add(new Measure(seconds, MeasureUnit.SECOND)); - } - - if (measures.isEmpty()) { - return ""; - } else { - return MeasureFormat.getInstance(Locale.getDefault(), FormatWidth.WIDE) - .formatMeasures(measures.toArray(new Measure[measures.size()])); - } - } -} diff --git a/InCallUI/src/com/android/incallui/InCallOrientationEventListener.java b/InCallUI/src/com/android/incallui/InCallOrientationEventListener.java deleted file mode 100644 index 3cab6dc3b..000000000 --- a/InCallUI/src/com/android/incallui/InCallOrientationEventListener.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (C) 2015 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.content.Context; -import android.content.res.Configuration; -import android.view.OrientationEventListener; -import android.hardware.SensorManager; -import android.view.Surface; -import android.content.pm.ActivityInfo; - -/** - * This class listens to Orientation events and overrides onOrientationChanged which gets - * invoked when an orientation change occurs. When that happens, we notify InCallUI registrants - * of the change. - */ -public class InCallOrientationEventListener extends OrientationEventListener { - - /** - * Screen orientation angles one of 0, 90, 180, 270, 360 in degrees. - */ - public static int SCREEN_ORIENTATION_0 = 0; - public static int SCREEN_ORIENTATION_90 = 90; - public static int SCREEN_ORIENTATION_180 = 180; - public static int SCREEN_ORIENTATION_270 = 270; - public static int SCREEN_ORIENTATION_360 = 360; - - public static int FULL_SENSOR_SCREEN_ORIENTATION = - ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR; - - public static int NO_SENSOR_SCREEN_ORIENTATION = - ActivityInfo.SCREEN_ORIENTATION_NOSENSOR; - - /** - * This is to identify dead zones where we won't notify others of orientation changed. - * Say for e.g our threshold is x degrees. We will only notify UI when our current rotation is - * within x degrees right or left of the screen orientation angles. If it's not within those - * ranges, we return SCREEN_ORIENTATION_UNKNOWN and ignore it. - */ - private static int SCREEN_ORIENTATION_UNKNOWN = -1; - - // Rotation threshold is 10 degrees. So if the rotation angle is within 10 degrees of any of - // the above angles, we will notify orientation changed. - private static int ROTATION_THRESHOLD = 10; - - - /** - * Cache the current rotation of the device. - */ - private static int sCurrentOrientation = SCREEN_ORIENTATION_0; - private boolean mEnabled = false; - - public InCallOrientationEventListener(Context context) { - super(context); - } - - /** - * Handles changes in device orientation. Notifies InCallPresenter of orientation changes. - * - * Note that this API receives sensor rotation in degrees as a param and we convert that to - * one of our screen orientation constants - (one of: {@link SCREEN_ORIENTATION_0}, - * {@link SCREEN_ORIENTATION_90}, {@link SCREEN_ORIENTATION_180}, - * {@link SCREEN_ORIENTATION_270}). - * - * @param rotation The new device sensor rotation in degrees - */ - @Override - public void onOrientationChanged(int rotation) { - if (rotation == OrientationEventListener.ORIENTATION_UNKNOWN) { - return; - } - - final int orientation = toScreenOrientation(rotation); - - if (orientation != SCREEN_ORIENTATION_UNKNOWN && sCurrentOrientation != orientation) { - sCurrentOrientation = orientation; - InCallPresenter.getInstance().onDeviceOrientationChange(sCurrentOrientation); - } - } - - /** - * Enables the OrientationEventListener and notifies listeners of current orientation if - * notify flag is true - * @param notify true or false. Notify device orientation changed if true. - */ - public void enable(boolean notify) { - if (mEnabled) { - Log.v(this, "enable: Orientation listener is already enabled. Ignoring..."); - return; - } - - super.enable(); - mEnabled = true; - if (notify) { - InCallPresenter.getInstance().onDeviceOrientationChange(sCurrentOrientation); - } - } - - /** - * Enables the OrientationEventListener with notify flag defaulting to false. - */ - public void enable() { - enable(false); - } - - /** - * Disables the OrientationEventListener. - */ - public void disable() { - if (!mEnabled) { - Log.v(this, "enable: Orientation listener is already disabled. Ignoring..."); - return; - } - - mEnabled = false; - super.disable(); - } - - /** - * Returns true the OrientationEventListener is enabled, false otherwise. - */ - public boolean isEnabled() { - return mEnabled; - } - - /** - * Converts sensor rotation in degrees to screen orientation constants. - * @param rotation sensor rotation angle in degrees - * @return Screen orientation angle in degrees (0, 90, 180, 270). Returns -1 for degrees not - * within threshold to identify zones where orientation change should not be trigerred. - */ - private int toScreenOrientation(int rotation) { - // Sensor orientation 90 is equivalent to screen orientation 270 and vice versa. This - // function returns the screen orientation. So we convert sensor rotation 90 to 270 and - // vice versa here. - if (isInLeftRange(rotation, SCREEN_ORIENTATION_360, ROTATION_THRESHOLD) || - isInRightRange(rotation, SCREEN_ORIENTATION_0, ROTATION_THRESHOLD)) { - return SCREEN_ORIENTATION_0; - } else if (isWithinThreshold(rotation, SCREEN_ORIENTATION_90, ROTATION_THRESHOLD)) { - return SCREEN_ORIENTATION_270; - } else if (isWithinThreshold(rotation, SCREEN_ORIENTATION_180, ROTATION_THRESHOLD)) { - return SCREEN_ORIENTATION_180; - } else if (isWithinThreshold(rotation, SCREEN_ORIENTATION_270, ROTATION_THRESHOLD)) { - return SCREEN_ORIENTATION_90; - } - return SCREEN_ORIENTATION_UNKNOWN; - } - - private static boolean isWithinRange(int value, int begin, int end) { - return value >= begin && value < end; - } - - private static boolean isWithinThreshold(int value, int center, int threshold) { - return isWithinRange(value, center - threshold, center + threshold); - } - - private static boolean isInLeftRange(int value, int center, int threshold) { - return isWithinRange(value, center - threshold, center); - } - - private static boolean isInRightRange(int value, int center, int threshold) { - return isWithinRange(value, center, center + threshold); - } -} diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java deleted file mode 100644 index 0103f61ed..000000000 --- a/InCallUI/src/com/android/incallui/InCallPresenter.java +++ /dev/null @@ -1,1938 +0,0 @@ -/* - * 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 com.google.common.base.Preconditions; - -import android.app.ActivityManager.TaskDescription; -import android.app.FragmentManager; -import android.content.Context; -import android.content.Intent; -import android.content.res.Resources; -import android.database.ContentObserver; -import android.graphics.Point; -import android.os.Bundle; -import android.os.Handler; -import android.os.SystemClock; -import android.provider.CallLog; -import android.telecom.DisconnectCause; -import android.telecom.PhoneAccount; -import android.telecom.PhoneAccountHandle; -import android.telecom.TelecomManager; -import android.telecom.VideoProfile; -import android.telephony.PhoneStateListener; -import android.telephony.TelephonyManager; -import android.text.TextUtils; -import android.view.View; -import android.view.Window; -import android.view.WindowManager; - -import com.android.contacts.common.GeoUtil; -import com.android.contacts.common.compat.CallSdkCompat; -import com.android.contacts.common.compat.CompatUtils; -import com.android.contacts.common.compat.telecom.TelecomManagerCompat; -import com.android.contacts.common.interactions.TouchPointManager; -import com.android.contacts.common.testing.NeededForTesting; -import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; -import com.android.dialer.R; -import com.android.dialer.calllog.CallLogAsyncTaskUtil; -import com.android.dialer.calllog.CallLogAsyncTaskUtil.OnCallLogQueryFinishedListener; -import com.android.dialer.database.FilteredNumberAsyncQueryHandler; -import com.android.dialer.database.FilteredNumberAsyncQueryHandler.OnCheckBlockedListener; -import com.android.dialer.filterednumber.FilteredNumbersUtil; -import com.android.dialer.logging.InteractionEvent; -import com.android.dialer.logging.Logger; -import com.android.dialer.util.TelecomUtil; -import com.android.incallui.spam.SpamCallListListener; -import com.android.incallui.util.TelecomCallUtil; -import com.android.incalluibind.ObjectFactory; - -import java.util.Collections; -import java.util.List; -import java.util.Locale; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * Takes updates from the CallList and notifies the InCallActivity (UI) - * of the changes. - * Responsible for starting the activity for a new call and finishing the activity when all calls - * are disconnected. - * Creates and manages the in-call state and provides a listener pattern for the presenters - * that want to listen in on the in-call state changes. - * TODO: This class has become more of a state machine at this point. Consider renaming. - */ -public class InCallPresenter implements CallList.Listener, - CircularRevealFragment.OnCircularRevealCompleteListener, - InCallVideoCallCallbackNotifier.SessionModificationListener { - - private static final String EXTRA_FIRST_TIME_SHOWN = - "com.android.incallui.intent.extra.FIRST_TIME_SHOWN"; - - private static final long BLOCK_QUERY_TIMEOUT_MS = 1000; - - private static final Bundle EMPTY_EXTRAS = new Bundle(); - - private static InCallPresenter sInCallPresenter; - - /** - * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is - * load factor before resizing, 1 means we only expect a single thread to - * access the map so make only a single shard - */ - private final Set<InCallStateListener> mListeners = Collections.newSetFromMap( - new ConcurrentHashMap<InCallStateListener, Boolean>(8, 0.9f, 1)); - private final List<IncomingCallListener> mIncomingCallListeners = new CopyOnWriteArrayList<>(); - private final Set<InCallDetailsListener> mDetailsListeners = Collections.newSetFromMap( - new ConcurrentHashMap<InCallDetailsListener, Boolean>(8, 0.9f, 1)); - private final Set<CanAddCallListener> mCanAddCallListeners = Collections.newSetFromMap( - new ConcurrentHashMap<CanAddCallListener, Boolean>(8, 0.9f, 1)); - private final Set<InCallUiListener> mInCallUiListeners = Collections.newSetFromMap( - new ConcurrentHashMap<InCallUiListener, Boolean>(8, 0.9f, 1)); - private final Set<InCallOrientationListener> mOrientationListeners = Collections.newSetFromMap( - new ConcurrentHashMap<InCallOrientationListener, Boolean>(8, 0.9f, 1)); - private final Set<InCallEventListener> mInCallEventListeners = Collections.newSetFromMap( - new ConcurrentHashMap<InCallEventListener, Boolean>(8, 0.9f, 1)); - - private AudioModeProvider mAudioModeProvider; - private StatusBarNotifier mStatusBarNotifier; - private ExternalCallNotifier mExternalCallNotifier; - private ContactInfoCache mContactInfoCache; - private Context mContext; - private CallList mCallList; - private ExternalCallList mExternalCallList; - private InCallActivity mInCallActivity; - private InCallState mInCallState = InCallState.NO_CALLS; - private ProximitySensor mProximitySensor; - private boolean mServiceConnected = false; - private boolean mAccountSelectionCancelled = false; - private InCallCameraManager mInCallCameraManager = null; - private AnswerPresenter mAnswerPresenter = new AnswerPresenter(); - private FilteredNumberAsyncQueryHandler mFilteredQueryHandler; - private CallList.Listener mSpamCallListListener; - - /** - * Whether or not we are currently bound and waiting for Telecom to send us a new call. - */ - private boolean mBoundAndWaitingForOutgoingCall; - - /** - * If there is no actual call currently in the call list, this will be used as a fallback - * to determine the theme color for InCallUI. - */ - private PhoneAccountHandle mPendingPhoneAccountHandle; - - /** - * Determines if the InCall UI is in fullscreen mode or not. - */ - private boolean mIsFullScreen = false; - - private final android.telecom.Call.Callback mCallCallback = new android.telecom.Call.Callback() { - @Override - public void onPostDialWait(android.telecom.Call telecomCall, - String remainingPostDialSequence) { - final Call call = mCallList.getCallByTelecomCall(telecomCall); - if (call == null) { - Log.w(this, "Call not found in call list: " + telecomCall); - return; - } - onPostDialCharWait(call.getId(), remainingPostDialSequence); - } - - @Override - public void onDetailsChanged(android.telecom.Call telecomCall, - android.telecom.Call.Details details) { - final Call call = mCallList.getCallByTelecomCall(telecomCall); - if (call == null) { - Log.w(this, "Call not found in call list: " + telecomCall); - return; - } - for (InCallDetailsListener listener : mDetailsListeners) { - listener.onDetailsChanged(call, details); - } - } - - @Override - public void onConferenceableCallsChanged(android.telecom.Call telecomCall, - List<android.telecom.Call> conferenceableCalls) { - Log.i(this, "onConferenceableCallsChanged: " + telecomCall); - onDetailsChanged(telecomCall, telecomCall.getDetails()); - } - }; - - private PhoneStateListener mPhoneStateListener = new PhoneStateListener() { - public void onCallStateChanged(int state, String incomingNumber) { - if (state == TelephonyManager.CALL_STATE_RINGING) { - if (FilteredNumbersUtil.hasRecentEmergencyCall(mContext)) { - return; - } - // Check if the number is blocked, to silence the ringer. - String countryIso = GeoUtil.getCurrentCountryIso(mContext); - mFilteredQueryHandler.isBlockedNumber( - mOnCheckBlockedListener, incomingNumber, countryIso); - } - } - }; - - private final OnCheckBlockedListener mOnCheckBlockedListener = new OnCheckBlockedListener() { - @Override - public void onCheckComplete(final Integer id) { - if (id != null) { - // Silence the ringer now to prevent ringing and vibration before the call is - // terminated when Telecom attempts to add it. - TelecomUtil.silenceRinger(mContext); - } - } - }; - - /** - * Observes the CallLog to delete the call log entry for the blocked call after it is added. - * Times out if too much time has passed. - */ - private class BlockedNumberContentObserver extends ContentObserver { - private static final int TIMEOUT_MS = 5000; - - private Handler mHandler; - private String mNumber; - private long mTimeAddedMs; - - private Runnable mTimeoutRunnable = new Runnable() { - @Override - public void run() { - unregister(); - } - }; - - public BlockedNumberContentObserver(Handler handler, String number, long timeAddedMs) { - super(handler); - - mHandler = handler; - mNumber = number; - mTimeAddedMs = timeAddedMs; - } - - @Override - public void onChange(boolean selfChange) { - CallLogAsyncTaskUtil.deleteBlockedCall(mContext, mNumber, mTimeAddedMs, - new OnCallLogQueryFinishedListener() { - @Override - public void onQueryFinished(boolean hasEntry) { - if (mContext != null && hasEntry) { - unregister(); - } - } - }); - } - - public void register() { - if (mContext != null) { - mContext.getContentResolver().registerContentObserver( - CallLog.CONTENT_URI, true, this); - mHandler.postDelayed(mTimeoutRunnable, TIMEOUT_MS); - } - } - - private void unregister() { - if (mContext != null) { - mHandler.removeCallbacks(mTimeoutRunnable); - mContext.getContentResolver().unregisterContentObserver(this); - } - } - }; - - /** - * Is true when the activity has been previously started. Some code needs to know not just if - * the activity is currently up, but if it had been previously shown in foreground for this - * in-call session (e.g., StatusBarNotifier). This gets reset when the session ends in the - * tear-down method. - */ - private boolean mIsActivityPreviouslyStarted = false; - - /** - * Whether or not InCallService is bound to Telecom. - */ - private boolean mServiceBound = false; - - /** - * When configuration changes Android kills the current activity and starts a new one. - * The flag is used to check if full clean up is necessary (activity is stopped and new - * activity won't be started), or if a new activity will be started right after the current one - * is destroyed, and therefore no need in release all resources. - */ - private boolean mIsChangingConfigurations = false; - - /** Display colors for the UI. Consists of a primary color and secondary (darker) color */ - private MaterialPalette mThemeColors; - - private TelecomManager mTelecomManager; - private TelephonyManager mTelephonyManager; - - public static synchronized InCallPresenter getInstance() { - if (sInCallPresenter == null) { - sInCallPresenter = new InCallPresenter(); - } - return sInCallPresenter; - } - - @NeededForTesting - static synchronized void setInstance(InCallPresenter inCallPresenter) { - sInCallPresenter = inCallPresenter; - } - - public InCallState getInCallState() { - return mInCallState; - } - - public CallList getCallList() { - return mCallList; - } - - public void setUp(Context context, - CallList callList, - ExternalCallList externalCallList, - AudioModeProvider audioModeProvider, - StatusBarNotifier statusBarNotifier, - ExternalCallNotifier externalCallNotifier, - ContactInfoCache contactInfoCache, - ProximitySensor proximitySensor) { - if (mServiceConnected) { - Log.i(this, "New service connection replacing existing one."); - // retain the current resources, no need to create new ones. - Preconditions.checkState(context == mContext); - Preconditions.checkState(callList == mCallList); - Preconditions.checkState(audioModeProvider == mAudioModeProvider); - return; - } - - Preconditions.checkNotNull(context); - mContext = context; - - mContactInfoCache = contactInfoCache; - - mStatusBarNotifier = statusBarNotifier; - mExternalCallNotifier = externalCallNotifier; - addListener(mStatusBarNotifier); - - mAudioModeProvider = audioModeProvider; - - mProximitySensor = proximitySensor; - addListener(mProximitySensor); - - addIncomingCallListener(mAnswerPresenter); - addInCallUiListener(mAnswerPresenter); - - mCallList = callList; - mExternalCallList = externalCallList; - externalCallList.addExternalCallListener(mExternalCallNotifier); - - // This only gets called by the service so this is okay. - mServiceConnected = true; - - // The final thing we do in this set up is add ourselves as a listener to CallList. This - // will kick off an update and the whole process can start. - mCallList.addListener(this); - - // Create spam call list listener and add it to the list of listeners - mSpamCallListListener = new SpamCallListListener(context); - mCallList.addListener(mSpamCallListListener); - - VideoPauseController.getInstance().setUp(this); - InCallVideoCallCallbackNotifier.getInstance().addSessionModificationListener(this); - - mFilteredQueryHandler = new FilteredNumberAsyncQueryHandler(context.getContentResolver()); - mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); - mCallList.setExtendedCallInfoService( - com.android.dialerbind.ObjectFactory.newExtendedCallInfoService(context)); - - Log.d(this, "Finished InCallPresenter.setUp"); - } - - /** - * Called when the telephony service has disconnected from us. This will happen when there are - * no more active calls. However, we may still want to continue showing the UI for - * certain cases like showing "Call Ended". - * What we really want is to wait for the activity and the service to both disconnect before we - * tear things down. This method sets a serviceConnected boolean and calls a secondary method - * that performs the aforementioned logic. - */ - public void tearDown() { - Log.d(this, "tearDown"); - mCallList.clearOnDisconnect(); - - mServiceConnected = false; - attemptCleanup(); - - mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); - VideoPauseController.getInstance().tearDown(); - InCallVideoCallCallbackNotifier.getInstance().removeSessionModificationListener(this); - } - - private void attemptFinishActivity() { - final boolean doFinish = (mInCallActivity != null && isActivityStarted()); - Log.i(this, "Hide in call UI: " + doFinish); - if (doFinish) { - mInCallActivity.setExcludeFromRecents(true); - mInCallActivity.finish(); - - if (mAccountSelectionCancelled) { - // This finish is a result of account selection cancellation - // do not include activity ending transition - mInCallActivity.overridePendingTransition(0, 0); - } - } - } - - /** - * Called when the UI begins, and starts the callstate callbacks if necessary. - */ - public void setActivity(InCallActivity inCallActivity) { - if (inCallActivity == null) { - throw new IllegalArgumentException("registerActivity cannot be called with null"); - } - if (mInCallActivity != null && mInCallActivity != inCallActivity) { - Log.w(this, "Setting a second activity before destroying the first."); - } - updateActivity(inCallActivity); - } - - /** - * Called when the UI ends. Attempts to tear down everything if necessary. See - * {@link #tearDown()} for more insight on the tear-down process. - */ - public void unsetActivity(InCallActivity inCallActivity) { - if (inCallActivity == null) { - throw new IllegalArgumentException("unregisterActivity cannot be called with null"); - } - if (mInCallActivity == null) { - Log.i(this, "No InCallActivity currently set, no need to unset."); - return; - } - if (mInCallActivity != inCallActivity) { - Log.w(this, "Second instance of InCallActivity is trying to unregister when another" - + " instance is active. Ignoring."); - return; - } - updateActivity(null); - } - - /** - * Updates the current instance of {@link InCallActivity} with the provided one. If a - * {@code null} activity is provided, it means that the activity was finished and we should - * attempt to cleanup. - */ - private void updateActivity(InCallActivity inCallActivity) { - boolean updateListeners = false; - boolean doAttemptCleanup = false; - - if (inCallActivity != null) { - if (mInCallActivity == null) { - updateListeners = true; - Log.i(this, "UI Initialized"); - } else { - // since setActivity is called onStart(), it can be called multiple times. - // This is fine and ignorable, but we do not want to update the world every time - // this happens (like going to/from background) so we do not set updateListeners. - } - - mInCallActivity = inCallActivity; - mInCallActivity.setExcludeFromRecents(false); - - // By the time the UI finally comes up, the call may already be disconnected. - // If that's the case, we may need to show an error dialog. - if (mCallList != null && mCallList.getDisconnectedCall() != null) { - maybeShowErrorDialogOnDisconnect(mCallList.getDisconnectedCall()); - } - - // When the UI comes up, we need to first check the in-call state. - // If we are showing NO_CALLS, that means that a call probably connected and - // then immediately disconnected before the UI was able to come up. - // If we dont have any calls, start tearing down the UI instead. - // NOTE: This code relies on {@link #mInCallActivity} being set so we run it after - // it has been set. - if (mInCallState == InCallState.NO_CALLS) { - Log.i(this, "UI Initialized, but no calls left. shut down."); - attemptFinishActivity(); - return; - } - } else { - Log.i(this, "UI Destroyed"); - updateListeners = true; - mInCallActivity = null; - - // We attempt cleanup for the destroy case but only after we recalculate the state - // to see if we need to come back up or stay shut down. This is why we do the - // cleanup after the call to onCallListChange() instead of directly here. - doAttemptCleanup = true; - } - - // Messages can come from the telephony layer while the activity is coming up - // and while the activity is going down. So in both cases we need to recalculate what - // state we should be in after they complete. - // Examples: (1) A new incoming call could come in and then get disconnected before - // the activity is created. - // (2) All calls could disconnect and then get a new incoming call before the - // activity is destroyed. - // - // b/1122139 - We previously had a check for mServiceConnected here as well, but there are - // cases where we need to recalculate the current state even if the service in not - // connected. In particular the case where startOrFinish() is called while the app is - // already finish()ing. In that case, we skip updating the state with the knowledge that - // we will check again once the activity has finished. That means we have to recalculate the - // state here even if the service is disconnected since we may not have finished a state - // transition while finish()ing. - if (updateListeners) { - onCallListChange(mCallList); - } - - if (doAttemptCleanup) { - attemptCleanup(); - } - } - - private boolean mAwaitingCallListUpdate = false; - - public void onBringToForeground(boolean showDialpad) { - Log.i(this, "Bringing UI to foreground."); - bringToForeground(showDialpad); - } - - public void onCallAdded(final android.telecom.Call call) { - LatencyReport latencyReport = new LatencyReport(call); - if (shouldAttemptBlocking(call)) { - maybeBlockCall(call, latencyReport); - } else { - latencyReport.onCallBlockingDone(); - if (call.getDetails() - .hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL)) { - mExternalCallList.onCallAdded(call); - } else { - mCallList.onCallAdded(call, latencyReport); - } - } - - // Since a call has been added we are no longer waiting for Telecom to send us a call. - setBoundAndWaitingForOutgoingCall(false, null); - call.registerCallback(mCallCallback); - } - - private boolean shouldAttemptBlocking(android.telecom.Call call) { - if (call.getState() != android.telecom.Call.STATE_RINGING) { - return false; - } - if (TelecomCallUtil.isEmergencyCall(call)) { - Log.i(this, "Not attempting to block incoming emergency call"); - return false; - } - if (FilteredNumbersUtil.hasRecentEmergencyCall(mContext)) { - Log.i(this, "Not attempting to block incoming call due to recent emergency call"); - return false; - } - if (call.getDetails().hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL)) { - return false; - } - - return true; - } - - /** - * Checks whether a call should be blocked, and blocks it if so. Otherwise, it adds the call - * to the CallList so it can proceed as normal. There is a timeout, so if the function for - * checking whether a function is blocked does not return in a reasonable time, we proceed - * with adding the call anyways. - */ - private void maybeBlockCall(final android.telecom.Call call, - final LatencyReport latencyReport) { - final String countryIso = GeoUtil.getCurrentCountryIso(mContext); - final String number = TelecomCallUtil.getNumber(call); - final long timeAdded = System.currentTimeMillis(); - - // Though AtomicBoolean's can be scary, don't fear, as in this case it is only used on the - // main UI thread. It is needed so we can change its value within different scopes, since - // that cannot be done with a final boolean. - final AtomicBoolean hasTimedOut = new AtomicBoolean(false); - - final Handler handler = new Handler(); - - // Proceed if the query is slow; the call may still be blocked after the query returns. - final Runnable runnable = new Runnable() { - public void run() { - hasTimedOut.set(true); - latencyReport.onCallBlockingDone(); - mCallList.onCallAdded(call, latencyReport); - } - }; - handler.postDelayed(runnable, BLOCK_QUERY_TIMEOUT_MS); - - OnCheckBlockedListener onCheckBlockedListener = new OnCheckBlockedListener() { - @Override - public void onCheckComplete(final Integer id) { - if (!hasTimedOut.get()) { - handler.removeCallbacks(runnable); - } - if (id == null) { - if (!hasTimedOut.get()) { - latencyReport.onCallBlockingDone(); - mCallList.onCallAdded(call, latencyReport); - } - } else { - Log.i(this, "Rejecting incoming call from blocked number"); - call.reject(false, null); - Logger.logInteraction(InteractionEvent.CALL_BLOCKED); - - mFilteredQueryHandler.incrementFilteredCount(id); - - // Register observer to update the call log. - // BlockedNumberContentObserver will unregister after successful log or timeout. - BlockedNumberContentObserver contentObserver = - new BlockedNumberContentObserver(new Handler(), number, timeAdded); - contentObserver.register(); - } - } - }; - - final boolean success = mFilteredQueryHandler.isBlockedNumber( - onCheckBlockedListener, number, countryIso); - if (!success) { - Log.d(this, "checkForBlockedCall: invalid number, skipping block checking"); - if (!hasTimedOut.get()) { - handler.removeCallbacks(runnable); - - latencyReport.onCallBlockingDone(); - mCallList.onCallAdded(call, latencyReport); - } - } - } - - public void onCallRemoved(android.telecom.Call call) { - if (call.getDetails() - .hasProperty(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL)) { - mExternalCallList.onCallRemoved(call); - } else { - mCallList.onCallRemoved(call); - call.unregisterCallback(mCallCallback); - } - } - - public void onCanAddCallChanged(boolean canAddCall) { - for (CanAddCallListener listener : mCanAddCallListeners) { - listener.onCanAddCallChanged(canAddCall); - } - } - - /** - * Called when there is a change to the call list. - * Sets the In-Call state for the entire in-call app based on the information it gets from - * CallList. Dispatches the in-call state to all listeners. Can trigger the creation or - * destruction of the UI based on the states that is calculates. - */ - @Override - public void onCallListChange(CallList callList) { - if (mInCallActivity != null && mInCallActivity.getCallCardFragment() != null && - mInCallActivity.getCallCardFragment().isAnimating()) { - mAwaitingCallListUpdate = true; - return; - } - if (callList == null) { - return; - } - - mAwaitingCallListUpdate = false; - - InCallState newState = getPotentialStateFromCallList(callList); - InCallState oldState = mInCallState; - Log.d(this, "onCallListChange oldState= " + oldState + " newState=" + newState); - newState = startOrFinishUi(newState); - Log.d(this, "onCallListChange newState changed to " + newState); - - // Set the new state before announcing it to the world - Log.i(this, "Phone switching state: " + oldState + " -> " + newState); - mInCallState = newState; - - // notify listeners of new state - for (InCallStateListener listener : mListeners) { - Log.d(this, "Notify " + listener + " of state " + mInCallState.toString()); - listener.onStateChange(oldState, mInCallState, callList); - } - - if (isActivityStarted()) { - final boolean hasCall = callList.getActiveOrBackgroundCall() != null || - callList.getOutgoingCall() != null; - mInCallActivity.dismissKeyguard(hasCall); - } - } - - /** - * Called when there is a new incoming call. - * - * @param call - */ - @Override - public void onIncomingCall(Call call) { - InCallState newState = startOrFinishUi(InCallState.INCOMING); - InCallState oldState = mInCallState; - - Log.i(this, "Phone switching state: " + oldState + " -> " + newState); - mInCallState = newState; - - for (IncomingCallListener listener : mIncomingCallListeners) { - listener.onIncomingCall(oldState, mInCallState, call); - } - } - - @Override - public void onUpgradeToVideo(Call call) { - //NO-OP - } - /** - * Called when a call becomes disconnected. Called everytime an existing call - * changes from being connected (incoming/outgoing/active) to disconnected. - */ - @Override - public void onDisconnect(Call call) { - maybeShowErrorDialogOnDisconnect(call); - - // We need to do the run the same code as onCallListChange. - onCallListChange(mCallList); - - if (isActivityStarted()) { - mInCallActivity.dismissKeyguard(false); - } - - if (call.isEmergencyCall()) { - FilteredNumbersUtil.recordLastEmergencyCallTime(mContext); - } - } - - @Override - public void onUpgradeToVideoRequest(Call call, int videoState) { - Log.d(this, "onUpgradeToVideoRequest call = " + call + " video state = " + videoState); - - if (call == null) { - return; - } - - call.setRequestedVideoState(videoState); - } - - /** - * Given the call list, return the state in which the in-call screen should be. - */ - public InCallState getPotentialStateFromCallList(CallList callList) { - - InCallState newState = InCallState.NO_CALLS; - - if (callList == null) { - return newState; - } - if (callList.getIncomingCall() != null) { - newState = InCallState.INCOMING; - } else if (callList.getWaitingForAccountCall() != null) { - newState = InCallState.WAITING_FOR_ACCOUNT; - } else if (callList.getPendingOutgoingCall() != null) { - newState = InCallState.PENDING_OUTGOING; - } else if (callList.getOutgoingCall() != null) { - newState = InCallState.OUTGOING; - } else if (callList.getActiveCall() != null || - callList.getBackgroundCall() != null || - callList.getDisconnectedCall() != null || - callList.getDisconnectingCall() != null) { - newState = InCallState.INCALL; - } - - if (newState == InCallState.NO_CALLS) { - if (mBoundAndWaitingForOutgoingCall) { - return InCallState.OUTGOING; - } - } - - return newState; - } - - public boolean isBoundAndWaitingForOutgoingCall() { - return mBoundAndWaitingForOutgoingCall; - } - - public void setBoundAndWaitingForOutgoingCall(boolean isBound, PhoneAccountHandle handle) { - // NOTE: It is possible for there to be a race and have handle become null before - // the circular reveal starts. This should not cause any problems because CallCardFragment - // should fallback to the actual call in the CallList at that point in time to determine - // the theme color. - Log.i(this, "setBoundAndWaitingForOutgoingCall: " + isBound); - mBoundAndWaitingForOutgoingCall = isBound; - mPendingPhoneAccountHandle = handle; - if (isBound && mInCallState == InCallState.NO_CALLS) { - mInCallState = InCallState.OUTGOING; - } - } - - @Override - public void onCircularRevealComplete(FragmentManager fm) { - if (mInCallActivity != null) { - mInCallActivity.showCallCardFragment(true); - mInCallActivity.getCallCardFragment().animateForNewOutgoingCall(); - CircularRevealFragment.endCircularReveal(mInCallActivity.getFragmentManager()); - } - } - - public void onShrinkAnimationComplete() { - if (mAwaitingCallListUpdate) { - onCallListChange(mCallList); - } - } - - public void addIncomingCallListener(IncomingCallListener listener) { - Preconditions.checkNotNull(listener); - mIncomingCallListeners.add(listener); - } - - public void removeIncomingCallListener(IncomingCallListener listener) { - if (listener != null) { - mIncomingCallListeners.remove(listener); - } - } - - public void addListener(InCallStateListener listener) { - Preconditions.checkNotNull(listener); - mListeners.add(listener); - } - - public void removeListener(InCallStateListener listener) { - if (listener != null) { - mListeners.remove(listener); - } - } - - public void addDetailsListener(InCallDetailsListener listener) { - Preconditions.checkNotNull(listener); - mDetailsListeners.add(listener); - } - - public void removeDetailsListener(InCallDetailsListener listener) { - if (listener != null) { - mDetailsListeners.remove(listener); - } - } - - public void addCanAddCallListener(CanAddCallListener listener) { - Preconditions.checkNotNull(listener); - mCanAddCallListeners.add(listener); - } - - public void removeCanAddCallListener(CanAddCallListener listener) { - if (listener != null) { - mCanAddCallListeners.remove(listener); - } - } - - public void addOrientationListener(InCallOrientationListener listener) { - Preconditions.checkNotNull(listener); - mOrientationListeners.add(listener); - } - - public void removeOrientationListener(InCallOrientationListener listener) { - if (listener != null) { - mOrientationListeners.remove(listener); - } - } - - public void addInCallEventListener(InCallEventListener listener) { - Preconditions.checkNotNull(listener); - mInCallEventListeners.add(listener); - } - - public void removeInCallEventListener(InCallEventListener listener) { - if (listener != null) { - mInCallEventListeners.remove(listener); - } - } - - public ProximitySensor getProximitySensor() { - return mProximitySensor; - } - - public void handleAccountSelection(PhoneAccountHandle accountHandle, boolean setDefault) { - if (mCallList != null) { - Call call = mCallList.getWaitingForAccountCall(); - if (call != null) { - String callId = call.getId(); - TelecomAdapter.getInstance().phoneAccountSelected(callId, accountHandle, setDefault); - } - } - } - - public void cancelAccountSelection() { - mAccountSelectionCancelled = true; - if (mCallList != null) { - Call call = mCallList.getWaitingForAccountCall(); - if (call != null) { - String callId = call.getId(); - TelecomAdapter.getInstance().disconnectCall(callId); - } - } - } - - /** - * Hangs up any active or outgoing calls. - */ - public void hangUpOngoingCall(Context context) { - // By the time we receive this intent, we could be shut down and call list - // could be null. Bail in those cases. - if (mCallList == null) { - if (mStatusBarNotifier == null) { - // The In Call UI has crashed but the notification still stayed up. We should not - // come to this stage. - StatusBarNotifier.clearAllCallNotifications(context); - } - return; - } - - Call call = mCallList.getOutgoingCall(); - if (call == null) { - call = mCallList.getActiveOrBackgroundCall(); - } - - if (call != null) { - TelecomAdapter.getInstance().disconnectCall(call.getId()); - call.setState(Call.State.DISCONNECTING); - mCallList.onUpdate(call); - } - } - - /** - * Answers any incoming call. - */ - public void answerIncomingCall(Context context, int videoState) { - // By the time we receive this intent, we could be shut down and call list - // could be null. Bail in those cases. - if (mCallList == null) { - StatusBarNotifier.clearAllCallNotifications(context); - return; - } - - Call call = mCallList.getIncomingCall(); - if (call != null) { - TelecomAdapter.getInstance().answerCall(call.getId(), videoState); - showInCall(false, false/* newOutgoingCall */); - } - } - - /** - * Declines any incoming call. - */ - public void declineIncomingCall(Context context) { - // By the time we receive this intent, we could be shut down and call list - // could be null. Bail in those cases. - if (mCallList == null) { - StatusBarNotifier.clearAllCallNotifications(context); - return; - } - - Call call = mCallList.getIncomingCall(); - if (call != null) { - TelecomAdapter.getInstance().rejectCall(call.getId(), false, null); - } - } - - public void acceptUpgradeRequest(int videoState, Context context) { - Log.d(this, " acceptUpgradeRequest videoState " + videoState); - // Bail if we have been shut down and the call list is null. - if (mCallList == null) { - StatusBarNotifier.clearAllCallNotifications(context); - Log.e(this, " acceptUpgradeRequest mCallList is empty so returning"); - return; - } - - Call call = mCallList.getVideoUpgradeRequestCall(); - if (call != null) { - VideoProfile videoProfile = new VideoProfile(videoState); - call.getVideoCall().sendSessionModifyResponse(videoProfile); - call.setSessionModificationState(Call.SessionModificationState.NO_REQUEST); - } - } - - public void declineUpgradeRequest(Context context) { - Log.d(this, " declineUpgradeRequest"); - // Bail if we have been shut down and the call list is null. - if (mCallList == null) { - StatusBarNotifier.clearAllCallNotifications(context); - Log.e(this, " declineUpgradeRequest mCallList is empty so returning"); - return; - } - - Call call = mCallList.getVideoUpgradeRequestCall(); - if (call != null) { - VideoProfile videoProfile = - new VideoProfile(call.getVideoState()); - call.getVideoCall().sendSessionModifyResponse(videoProfile); - call.setSessionModificationState(Call.SessionModificationState.NO_REQUEST); - } - } - - /*package*/ - void declineUpgradeRequest() { - // Pass mContext if InCallActivity is destroyed. - // Ex: When user pressed back key while in active call and - // then modify request is received followed by MT call. - declineUpgradeRequest(mInCallActivity != null ? mInCallActivity : mContext); - } - - /** - * Returns true if the incall app is the foreground application. - */ - public boolean isShowingInCallUi() { - return (isActivityStarted() && mInCallActivity.isVisible()); - } - - /** - * Returns true if the activity has been created and is running. - * Returns true as long as activity is not destroyed or finishing. This ensures that we return - * true even if the activity is paused (not in foreground). - */ - public boolean isActivityStarted() { - return (mInCallActivity != null && - !mInCallActivity.isDestroyed() && - !mInCallActivity.isFinishing()); - } - - public boolean isActivityPreviouslyStarted() { - return mIsActivityPreviouslyStarted; - } - - /** - * Determines if the In-Call app is currently changing configuration. - * - * @return {@code true} if the In-Call app is changing configuration. - */ - public boolean isChangingConfigurations() { - return mIsChangingConfigurations; - } - - /** - * Tracks whether the In-Call app is currently in the process of changing configuration (i.e. - * screen orientation). - */ - /*package*/ - void updateIsChangingConfigurations() { - mIsChangingConfigurations = false; - if (mInCallActivity != null) { - mIsChangingConfigurations = mInCallActivity.isChangingConfigurations(); - } - Log.v(this, "updateIsChangingConfigurations = " + mIsChangingConfigurations); - } - - - /** - * Called when the activity goes in/out of the foreground. - */ - public void onUiShowing(boolean showing) { - // We need to update the notification bar when we leave the UI because that - // could trigger it to show again. - if (mStatusBarNotifier != null) { - mStatusBarNotifier.updateNotification(mInCallState, mCallList); - } - - if (mProximitySensor != null) { - mProximitySensor.onInCallShowing(showing); - } - - Intent broadcastIntent = ObjectFactory.getUiReadyBroadcastIntent(mContext); - if (broadcastIntent != null) { - broadcastIntent.putExtra(EXTRA_FIRST_TIME_SHOWN, !mIsActivityPreviouslyStarted); - - if (showing) { - Log.d(this, "Sending sticky broadcast: ", broadcastIntent); - mContext.sendStickyBroadcast(broadcastIntent); - } else { - Log.d(this, "Removing sticky broadcast: ", broadcastIntent); - mContext.removeStickyBroadcast(broadcastIntent); - } - } - - if (showing) { - mIsActivityPreviouslyStarted = true; - } else { - updateIsChangingConfigurations(); - } - - for (InCallUiListener listener : mInCallUiListeners) { - listener.onUiShowing(showing); - } - } - - public void addInCallUiListener(InCallUiListener listener) { - mInCallUiListeners.add(listener); - } - - public boolean removeInCallUiListener(InCallUiListener listener) { - return mInCallUiListeners.remove(listener); - } - - /*package*/ - void onActivityStarted() { - Log.d(this, "onActivityStarted"); - notifyVideoPauseController(true); - } - - /*package*/ - void onActivityStopped() { - Log.d(this, "onActivityStopped"); - notifyVideoPauseController(false); - } - - private void notifyVideoPauseController(boolean showing) { - Log.d(this, "notifyVideoPauseController: mIsChangingConfigurations=" + - mIsChangingConfigurations); - if (!mIsChangingConfigurations) { - VideoPauseController.getInstance().onUiShowing(showing); - } - } - - /** - * Brings the app into the foreground if possible. - */ - public void bringToForeground(boolean showDialpad) { - // Before we bring the incall UI to the foreground, we check to see if: - // 1. It is not currently in the foreground - // 2. We are in a state where we want to show the incall ui (i.e. there are calls to - // be displayed) - // If the activity hadn't actually been started previously, yet there are still calls - // present (e.g. a call was accepted by a bluetooth or wired headset), we want to - // bring it up the UI regardless. - if (!isShowingInCallUi() && mInCallState != InCallState.NO_CALLS) { - showInCall(showDialpad, false /* newOutgoingCall */); - } - } - - public void onPostDialCharWait(String callId, String chars) { - if (isActivityStarted()) { - mInCallActivity.showPostCharWaitDialog(callId, chars); - } - } - - /** - * Handles the green CALL key while in-call. - * @return true if we consumed the event. - */ - public boolean handleCallKey() { - Log.v(this, "handleCallKey"); - - // The green CALL button means either "Answer", "Unhold", or - // "Swap calls", or can be a no-op, depending on the current state - // of the Phone. - - /** - * INCOMING CALL - */ - final CallList calls = mCallList; - final Call incomingCall = calls.getIncomingCall(); - Log.v(this, "incomingCall: " + incomingCall); - - // (1) Attempt to answer a call - if (incomingCall != null) { - TelecomAdapter.getInstance().answerCall( - incomingCall.getId(), VideoProfile.STATE_AUDIO_ONLY); - return true; - } - - /** - * STATE_ACTIVE CALL - */ - final Call activeCall = calls.getActiveCall(); - if (activeCall != null) { - // TODO: This logic is repeated from CallButtonPresenter.java. We should - // consolidate this logic. - final boolean canMerge = activeCall.can( - android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE); - final boolean canSwap = activeCall.can( - android.telecom.Call.Details.CAPABILITY_SWAP_CONFERENCE); - - Log.v(this, "activeCall: " + activeCall + ", canMerge: " + canMerge + - ", canSwap: " + canSwap); - - // (2) Attempt actions on conference calls - if (canMerge) { - TelecomAdapter.getInstance().merge(activeCall.getId()); - return true; - } else if (canSwap) { - TelecomAdapter.getInstance().swap(activeCall.getId()); - return true; - } - } - - /** - * BACKGROUND CALL - */ - final Call heldCall = calls.getBackgroundCall(); - if (heldCall != null) { - // We have a hold call so presumeable it will always support HOLD...but - // there is no harm in double checking. - final boolean canHold = heldCall.can(android.telecom.Call.Details.CAPABILITY_HOLD); - - Log.v(this, "heldCall: " + heldCall + ", canHold: " + canHold); - - // (4) unhold call - if (heldCall.getState() == Call.State.ONHOLD && canHold) { - TelecomAdapter.getInstance().unholdCall(heldCall.getId()); - return true; - } - } - - // Always consume hard keys - return true; - } - - /** - * A dialog could have prevented in-call screen from being previously finished. - * This function checks to see if there should be any UI left and if not attempts - * to tear down the UI. - */ - public void onDismissDialog() { - Log.i(this, "Dialog dismissed"); - if (mInCallState == InCallState.NO_CALLS) { - attemptFinishActivity(); - attemptCleanup(); - } - } - - /** - * Toggles whether the application is in fullscreen mode or not. - * - * @return {@code true} if in-call is now in fullscreen mode. - */ - public boolean toggleFullscreenMode() { - boolean isFullScreen = !mIsFullScreen; - Log.v(this, "toggleFullscreenMode = " + isFullScreen); - setFullScreen(isFullScreen); - return mIsFullScreen; - } - - /** - * Clears the previous fullscreen state. - */ - public void clearFullscreen() { - mIsFullScreen = false; - } - - /** - * Changes the fullscreen mode of the in-call UI. - * - * @param isFullScreen {@code true} if in-call should be in fullscreen mode, {@code false} - * otherwise. - */ - public void setFullScreen(boolean isFullScreen) { - setFullScreen(isFullScreen, false /* force */); - } - - /** - * Changes the fullscreen mode of the in-call UI. - * - * @param isFullScreen {@code true} if in-call should be in fullscreen mode, {@code false} - * otherwise. - * @param force {@code true} if fullscreen mode should be set regardless of its current state. - */ - public void setFullScreen(boolean isFullScreen, boolean force) { - Log.v(this, "setFullScreen = " + isFullScreen); - - // As a safeguard, ensure we cannot enter fullscreen if the dialpad is shown. - if (isDialpadVisible()) { - isFullScreen = false; - Log.v(this, "setFullScreen overridden as dialpad is shown = " + isFullScreen); - } - - if (mIsFullScreen == isFullScreen && !force) { - Log.v(this, "setFullScreen ignored as already in that state."); - return; - } - mIsFullScreen = isFullScreen; - notifyFullscreenModeChange(mIsFullScreen); - } - - /** - * @return {@code true} if the in-call ui is currently in fullscreen mode, {@code false} - * otherwise. - */ - public boolean isFullscreen() { - return mIsFullScreen; - } - - - /** - * Called by the {@link VideoCallPresenter} to inform of a change in full screen video status. - * - * @param isFullscreenMode {@code True} if entering full screen mode. - */ - public void notifyFullscreenModeChange(boolean isFullscreenMode) { - for (InCallEventListener listener : mInCallEventListeners) { - listener.onFullscreenModeChanged(isFullscreenMode); - } - } - - /** - * Called by the {@link CallCardPresenter} to inform of a change in visibility of the secondary - * caller info bar. - * - * @param isVisible {@code true} if the secondary caller info is visible, {@code false} - * otherwise. - * @param height the height of the secondary caller info bar. - */ - public void notifySecondaryCallerInfoVisibilityChanged(boolean isVisible, int height) { - for (InCallEventListener listener : mInCallEventListeners) { - listener.onSecondaryCallerInfoVisibilityChanged(isVisible, height); - } - } - - - /** - * For some disconnected causes, we show a dialog. This calls into the activity to show - * the dialog if appropriate for the call. - */ - private void maybeShowErrorDialogOnDisconnect(Call call) { - // For newly disconnected calls, we may want to show a dialog on specific error conditions - if (isActivityStarted() && call.getState() == Call.State.DISCONNECTED) { - if (call.getAccountHandle() == null && !call.isConferenceCall()) { - setDisconnectCauseForMissingAccounts(call); - } - mInCallActivity.maybeShowErrorDialogOnDisconnect(call.getDisconnectCause()); - } - } - - /** - * When the state of in-call changes, this is the first method to get called. It determines if - * the UI needs to be started or finished depending on the new state and does it. - */ - private InCallState startOrFinishUi(InCallState newState) { - Log.d(this, "startOrFinishUi: " + mInCallState + " -> " + newState); - - // TODO: Consider a proper state machine implementation - - // If the state isn't changing we have already done any starting/stopping of activities in - // a previous pass...so lets cut out early - if (newState == mInCallState) { - return newState; - } - - // A new Incoming call means that the user needs to be notified of the the call (since - // it wasn't them who initiated it). We do this through full screen notifications and - // happens indirectly through {@link StatusBarNotifier}. - // - // The process for incoming calls is as follows: - // - // 1) CallList - Announces existence of new INCOMING call - // 2) InCallPresenter - Gets announcement and calculates that the new InCallState - // - should be set to INCOMING. - // 3) InCallPresenter - This method is called to see if we need to start or finish - // the app given the new state. - // 4) StatusBarNotifier - Listens to InCallState changes. InCallPresenter calls - // StatusBarNotifier explicitly to issue a FullScreen Notification - // that will either start the InCallActivity or show the user a - // top-level notification dialog if the user is in an immersive app. - // That notification can also start the InCallActivity. - // 5) InCallActivity - Main activity starts up and at the end of its onCreate will - // call InCallPresenter::setActivity() to let the presenter - // know that start-up is complete. - // - // [ AND NOW YOU'RE IN THE CALL. voila! ] - // - // Our app is started using a fullScreen notification. We need to do this whenever - // we get an incoming call. Depending on the current context of the device, either a - // incoming call HUN or the actual InCallActivity will be shown. - final boolean startIncomingCallSequence = (InCallState.INCOMING == newState); - - // A dialog to show on top of the InCallUI to select a PhoneAccount - final boolean showAccountPicker = (InCallState.WAITING_FOR_ACCOUNT == newState); - - // A new outgoing call indicates that the user just now dialed a number and when that - // happens we need to display the screen immediately or show an account picker dialog if - // no default is set. However, if the main InCallUI is already visible, we do not want to - // re-initiate the start-up animation, so we do not need to do anything here. - // - // It is also possible to go into an intermediate state where the call has been initiated - // but Telecom has not yet returned with the details of the call (handle, gateway, etc.). - // This pending outgoing state can also launch the call screen. - // - // This is different from the incoming call sequence because we do not need to shock the - // user with a top-level notification. Just show the call UI normally. - final boolean mainUiNotVisible = !isShowingInCallUi() || !getCallCardFragmentVisible(); - boolean showCallUi = InCallState.OUTGOING == newState && mainUiNotVisible; - - // Direct transition from PENDING_OUTGOING -> INCALL means that there was an error in the - // outgoing call process, so the UI should be brought up to show an error dialog. - showCallUi |= (InCallState.PENDING_OUTGOING == mInCallState - && InCallState.INCALL == newState && !isShowingInCallUi()); - - // Another exception - InCallActivity is in charge of disconnecting a call with no - // valid accounts set. Bring the UI up if this is true for the current pending outgoing - // call so that: - // 1) The call can be disconnected correctly - // 2) The UI comes up and correctly displays the error dialog. - // TODO: Remove these special case conditions by making InCallPresenter a true state - // machine. Telecom should also be the component responsible for disconnecting a call - // with no valid accounts. - showCallUi |= InCallState.PENDING_OUTGOING == newState && mainUiNotVisible - && isCallWithNoValidAccounts(mCallList.getPendingOutgoingCall()); - - // The only time that we have an instance of mInCallActivity and it isn't started is - // when it is being destroyed. In that case, lets avoid bringing up another instance of - // the activity. When it is finally destroyed, we double check if we should bring it back - // up so we aren't going to lose anything by avoiding a second startup here. - boolean activityIsFinishing = mInCallActivity != null && !isActivityStarted(); - if (activityIsFinishing) { - Log.i(this, "Undo the state change: " + newState + " -> " + mInCallState); - return mInCallState; - } - - if (showCallUi || showAccountPicker) { - Log.i(this, "Start in call UI"); - showInCall(false /* showDialpad */, !showAccountPicker /* newOutgoingCall */); - } else if (startIncomingCallSequence) { - Log.i(this, "Start Full Screen in call UI"); - - // We're about the bring up the in-call UI for an incoming call. If we still have - // dialogs up, we need to clear them out before showing incoming screen. - if (isActivityStarted()) { - mInCallActivity.dismissPendingDialogs(); - } - if (!startUi(newState)) { - // startUI refused to start the UI. This indicates that it needed to restart the - // activity. When it finally restarts, it will call us back, so we do not actually - // change the state yet (we return mInCallState instead of newState). - return mInCallState; - } - } else if (newState == InCallState.NO_CALLS) { - // The new state is the no calls state. Tear everything down. - attemptFinishActivity(); - attemptCleanup(); - } - - return newState; - } - - /** - * Determines whether or not a call has no valid phone accounts that can be used to make the - * call with. Emergency calls do not require a phone account. - * - * @param call to check accounts for. - * @return {@code true} if the call has no call capable phone accounts set, {@code false} if - * the call contains a phone account that could be used to initiate it with, or is an emergency - * call. - */ - public static boolean isCallWithNoValidAccounts(Call call) { - if (call != null && !call.isEmergencyCall()) { - Bundle extras = call.getIntentExtras(); - - if (extras == null) { - extras = EMPTY_EXTRAS; - } - - final List<PhoneAccountHandle> phoneAccountHandles = extras - .getParcelableArrayList(android.telecom.Call.AVAILABLE_PHONE_ACCOUNTS); - - if ((call.getAccountHandle() == null && - (phoneAccountHandles == null || phoneAccountHandles.isEmpty()))) { - Log.i(InCallPresenter.getInstance(), "No valid accounts for call " + call); - return true; - } - } - return false; - } - - /** - * Sets the DisconnectCause for a call that was disconnected because it was missing a - * PhoneAccount or PhoneAccounts to select from. - * @param call - */ - private void setDisconnectCauseForMissingAccounts(Call call) { - android.telecom.Call telecomCall = call.getTelecomCall(); - - Bundle extras = telecomCall.getDetails().getIntentExtras(); - // Initialize the extras bundle to avoid NPE - if (extras == null) { - extras = new Bundle(); - } - - final List<PhoneAccountHandle> phoneAccountHandles = extras.getParcelableArrayList( - android.telecom.Call.AVAILABLE_PHONE_ACCOUNTS); - - if (phoneAccountHandles == null || phoneAccountHandles.isEmpty()) { - String scheme = telecomCall.getDetails().getHandle().getScheme(); - final String errorMsg = PhoneAccount.SCHEME_TEL.equals(scheme) ? - mContext.getString(R.string.callFailed_simError) : - mContext.getString(R.string.incall_error_supp_service_unknown); - DisconnectCause disconnectCause = - new DisconnectCause(DisconnectCause.ERROR, null, errorMsg, errorMsg); - call.setDisconnectCause(disconnectCause); - } - } - - private boolean startUi(InCallState inCallState) { - boolean isCallWaiting = mCallList.getActiveCall() != null && - mCallList.getIncomingCall() != null; - - // If the screen is off, we need to make sure it gets turned on for incoming calls. - // This normally works just fine thanks to FLAG_TURN_SCREEN_ON but that only works - // when the activity is first created. Therefore, to ensure the screen is turned on - // for the call waiting case, we finish() the current activity and start a new one. - // There should be no jank from this since the screen is already off and will remain so - // until our new activity is up. - - if (isCallWaiting) { - if (mProximitySensor.isScreenReallyOff() && isActivityStarted()) { - Log.i(this, "Restarting InCallActivity to turn screen on for call waiting"); - mInCallActivity.finish(); - // When the activity actually finishes, we will start it again if there are - // any active calls, so we do not need to start it explicitly here. Note, we - // actually get called back on this function to restart it. - - // We return false to indicate that we did not actually start the UI. - return false; - } else { - showInCall(false, false); - } - } else { - mStatusBarNotifier.updateNotification(inCallState, mCallList); - } - return true; - } - - /** - * Checks to see if both the UI is gone and the service is disconnected. If so, tear it all - * down. - */ - private void attemptCleanup() { - boolean shouldCleanup = (mInCallActivity == null && !mServiceConnected && - mInCallState == InCallState.NO_CALLS); - Log.i(this, "attemptCleanup? " + shouldCleanup); - - if (shouldCleanup) { - mIsActivityPreviouslyStarted = false; - mIsChangingConfigurations = false; - - // blow away stale contact info so that we get fresh data on - // the next set of calls - if (mContactInfoCache != null) { - mContactInfoCache.clearCache(); - } - mContactInfoCache = null; - - if (mProximitySensor != null) { - removeListener(mProximitySensor); - mProximitySensor.tearDown(); - } - mProximitySensor = null; - - mAudioModeProvider = null; - - if (mStatusBarNotifier != null) { - removeListener(mStatusBarNotifier); - } - if (mExternalCallNotifier != null && mExternalCallList != null) { - mExternalCallList.removeExternalCallListener(mExternalCallNotifier); - } - mStatusBarNotifier = null; - - if (mCallList != null) { - mCallList.removeListener(this); - mCallList.removeListener(mSpamCallListListener); - } - mCallList = null; - - mContext = null; - mInCallActivity = null; - - mListeners.clear(); - mIncomingCallListeners.clear(); - mDetailsListeners.clear(); - mCanAddCallListeners.clear(); - mOrientationListeners.clear(); - mInCallEventListeners.clear(); - - Log.d(this, "Finished InCallPresenter.CleanUp"); - } - } - - public void showInCall(final boolean showDialpad, final boolean newOutgoingCall) { - Log.i(this, "Showing InCallActivity"); - mContext.startActivity(getInCallIntent(showDialpad, newOutgoingCall)); - } - - public void onServiceBind() { - mServiceBound = true; - } - - public void onServiceUnbind() { - InCallPresenter.getInstance().setBoundAndWaitingForOutgoingCall(false, null); - mServiceBound = false; - } - - public boolean isServiceBound() { - return mServiceBound; - } - - public void maybeStartRevealAnimation(Intent intent) { - if (intent == null || mInCallActivity != null) { - return; - } - final Bundle extras = intent.getBundleExtra(TelecomManager.EXTRA_OUTGOING_CALL_EXTRAS); - if (extras == null) { - // Incoming call, just show the in-call UI directly. - return; - } - - if (extras.containsKey(android.telecom.Call.AVAILABLE_PHONE_ACCOUNTS)) { - // Account selection dialog will show up so don't show the animation. - return; - } - - final PhoneAccountHandle accountHandle = - intent.getParcelableExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE); - final Point touchPoint = extras.getParcelable(TouchPointManager.TOUCH_POINT); - - InCallPresenter.getInstance().setBoundAndWaitingForOutgoingCall(true, accountHandle); - - final Intent incallIntent = getInCallIntent(false, true); - incallIntent.putExtra(TouchPointManager.TOUCH_POINT, touchPoint); - mContext.startActivity(incallIntent); - } - - public Intent getInCallIntent(boolean showDialpad, boolean newOutgoingCall) { - final Intent intent = new Intent(Intent.ACTION_MAIN, null); - intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION | Intent.FLAG_ACTIVITY_NEW_TASK); - - intent.setClass(mContext, InCallActivity.class); - if (showDialpad) { - intent.putExtra(InCallActivity.SHOW_DIALPAD_EXTRA, true); - } - intent.putExtra(InCallActivity.NEW_OUTGOING_CALL_EXTRA, newOutgoingCall); - return intent; - } - - /** - * Retrieves the current in-call camera manager instance, creating if necessary. - * - * @return The {@link InCallCameraManager}. - */ - public InCallCameraManager getInCallCameraManager() { - synchronized(this) { - if (mInCallCameraManager == null) { - mInCallCameraManager = new InCallCameraManager(mContext); - } - - return mInCallCameraManager; - } - } - - /** - * Notifies listeners of changes in orientation and notify calls of rotation angle change. - * - * @param orientation The screen orientation of the device (one of: - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_0}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_90}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_180}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_270}). - */ - public void onDeviceOrientationChange(int orientation) { - Log.d(this, "onDeviceOrientationChange: orientation= " + orientation); - - if (mCallList != null) { - mCallList.notifyCallsOfDeviceRotation(orientation); - } else { - Log.w(this, "onDeviceOrientationChange: CallList is null."); - } - - // Notify listeners of device orientation changed. - for (InCallOrientationListener listener : mOrientationListeners) { - listener.onDeviceOrientationChanged(orientation); - } - } - - /** - * Configures the in-call UI activity so it can change orientations or not. Enables the - * orientation event listener if allowOrientationChange is true, disables it if false. - * - * @param allowOrientationChange {@code True} if the in-call UI can change between portrait - * and landscape. {@Code False} if the in-call UI should be locked in portrait. - */ - public void setInCallAllowsOrientationChange(boolean allowOrientationChange) { - if (mInCallActivity == null) { - Log.e(this, "InCallActivity is null. Can't set requested orientation."); - return; - } - - if (!allowOrientationChange) { - mInCallActivity.setRequestedOrientation( - InCallOrientationEventListener.NO_SENSOR_SCREEN_ORIENTATION); - } else { - // Using SCREEN_ORIENTATION_FULL_SENSOR allows for reverse-portrait orientation, where - // SCREEN_ORIENTATION_SENSOR does not. - mInCallActivity.setRequestedOrientation( - InCallOrientationEventListener.FULL_SENSOR_SCREEN_ORIENTATION); - } - mInCallActivity.enableInCallOrientationEventListener(allowOrientationChange); - } - - public void enableScreenTimeout(boolean enable) { - Log.v(this, "enableScreenTimeout: value=" + enable); - if (mInCallActivity == null) { - Log.e(this, "enableScreenTimeout: InCallActivity is null."); - return; - } - - final Window window = mInCallActivity.getWindow(); - if (enable) { - window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - } else { - window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - } - } - - /** - * Returns the space available beside the call card. - * - * @return The space beside the call card. - */ - public float getSpaceBesideCallCard() { - if (mInCallActivity != null && mInCallActivity.getCallCardFragment() != null) { - return mInCallActivity.getCallCardFragment().getSpaceBesideCallCard(); - } - return 0; - } - - /** - * Returns whether the call card fragment is currently visible. - * - * @return True if the call card fragment is visible. - */ - public boolean getCallCardFragmentVisible() { - if (mInCallActivity != null && mInCallActivity.getCallCardFragment() != null) { - return mInCallActivity.getCallCardFragment().isVisible(); - } - return false; - } - - /** - * Hides or shows the conference manager fragment. - * - * @param show {@code true} if the conference manager should be shown, {@code false} if it - * should be hidden. - */ - public void showConferenceCallManager(boolean show) { - if (mInCallActivity == null) { - return; - } - - mInCallActivity.showConferenceFragment(show); - } - - /** - * Determines if the dialpad is visible. - * - * @return {@code true} if the dialpad is visible, {@code false} otherwise. - */ - public boolean isDialpadVisible() { - if (mInCallActivity == null) { - return false; - } - return mInCallActivity.isDialpadVisible(); - } - - /** - * @return True if the application is currently running in a right-to-left locale. - */ - public static boolean isRtl() { - return TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()) == - View.LAYOUT_DIRECTION_RTL; - } - - /** - * Extract background color from call object. The theme colors will include a primary color - * and a secondary color. - */ - public void setThemeColors() { - // This method will set the background to default if the color is PhoneAccount.NO_COLOR. - mThemeColors = getColorsFromCall(mCallList.getFirstCall()); - - if (mInCallActivity == null) { - return; - } - - final Resources resources = mInCallActivity.getResources(); - final int color; - if (resources.getBoolean(R.bool.is_layout_landscape)) { - // TODO use ResourcesCompat.getColor(Resources, int, Resources.Theme) when available - // {@link Resources#getColor(int)} used for compatibility - color = resources.getColor(R.color.statusbar_background_color); - } else { - color = mThemeColors.mSecondaryColor; - } - - mInCallActivity.getWindow().setStatusBarColor(color); - final TaskDescription td = new TaskDescription( - resources.getString(R.string.notification_ongoing_call), null, color); - mInCallActivity.setTaskDescription(td); - } - - /** - * @return A palette for colors to display in the UI. - */ - public MaterialPalette getThemeColors() { - return mThemeColors; - } - - private MaterialPalette getColorsFromCall(Call call) { - if (call == null) { - return getColorsFromPhoneAccountHandle(mPendingPhoneAccountHandle); - } else { - if (call.isSpam()) { - Resources resources = mContext.getResources(); - return new InCallUIMaterialColorMapUtils( - resources).calculatePrimaryAndSecondaryColor( - resources.getColor(R.color.incall_call_spam_background_color)); - } else { - return getColorsFromPhoneAccountHandle(call.getAccountHandle()); - } - } - } - - private MaterialPalette getColorsFromPhoneAccountHandle(PhoneAccountHandle phoneAccountHandle) { - int highlightColor = PhoneAccount.NO_HIGHLIGHT_COLOR; - if (phoneAccountHandle != null) { - final TelecomManager tm = getTelecomManager(); - - if (tm != null) { - final PhoneAccount account = - TelecomManagerCompat.getPhoneAccount(tm, phoneAccountHandle); - // For single-sim devices, there will be no selected highlight color, so the phone - // account will default to NO_HIGHLIGHT_COLOR. - if (account != null && CompatUtils.isLollipopMr1Compatible()) { - highlightColor = account.getHighlightColor(); - } - } - } - return new InCallUIMaterialColorMapUtils( - mContext.getResources()).calculatePrimaryAndSecondaryColor(highlightColor); - } - - /** - * @return An instance of TelecomManager. - */ - public TelecomManager getTelecomManager() { - if (mTelecomManager == null) { - mTelecomManager = (TelecomManager) - mContext.getSystemService(Context.TELECOM_SERVICE); - } - return mTelecomManager; - } - - /** - * @return An instance of TelephonyManager - */ - public TelephonyManager getTelephonyManager() { - return mTelephonyManager; - } - - InCallActivity getActivity() { - return mInCallActivity; - } - - AnswerPresenter getAnswerPresenter() { - return mAnswerPresenter; - } - - ExternalCallNotifier getExternalCallNotifier() { - return mExternalCallNotifier; - } - - /** - * Private constructor. Must use getInstance() to get this singleton. - */ - private InCallPresenter() { - } - - /** - * All the main states of InCallActivity. - */ - public enum InCallState { - // InCall Screen is off and there are no calls - NO_CALLS, - - // Incoming-call screen is up - INCOMING, - - // In-call experience is showing - INCALL, - - // Waiting for user input before placing outgoing call - WAITING_FOR_ACCOUNT, - - // UI is starting up but no call has been initiated yet. - // The UI is waiting for Telecom to respond. - PENDING_OUTGOING, - - // User is dialing out - OUTGOING; - - public boolean isIncoming() { - return (this == INCOMING); - } - - public boolean isConnectingOrConnected() { - return (this == INCOMING || - this == OUTGOING || - this == INCALL); - } - } - - /** - * Interface implemented by classes that need to know about the InCall State. - */ - public interface InCallStateListener { - // TODO: Enhance state to contain the call objects instead of passing CallList - public void onStateChange(InCallState oldState, InCallState newState, CallList callList); - } - - public interface IncomingCallListener { - public void onIncomingCall(InCallState oldState, InCallState newState, Call call); - } - - public interface CanAddCallListener { - public void onCanAddCallChanged(boolean canAddCall); - } - - public interface InCallDetailsListener { - public void onDetailsChanged(Call call, android.telecom.Call.Details details); - } - - public interface InCallOrientationListener { - public void onDeviceOrientationChanged(int orientation); - } - - /** - * Interface implemented by classes that need to know about events which occur within the - * In-Call UI. Used as a means of communicating between fragments that make up the UI. - */ - public interface InCallEventListener { - public void onFullscreenModeChanged(boolean isFullscreenMode); - public void onSecondaryCallerInfoVisibilityChanged(boolean isVisible, int height); - } - - public interface InCallUiListener { - void onUiShowing(boolean showing); - } -} diff --git a/InCallUI/src/com/android/incallui/InCallServiceImpl.java b/InCallUI/src/com/android/incallui/InCallServiceImpl.java deleted file mode 100644 index 1414bc51d..000000000 --- a/InCallUI/src/com/android/incallui/InCallServiceImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2014 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.content.Context; -import android.content.Intent; -import android.os.IBinder; -import android.telecom.Call; -import android.telecom.CallAudioState; -import android.telecom.InCallService; - -/** - * Used to receive updates about calls from the Telecom component. This service is bound to - * Telecom while there exist calls which potentially require UI. This includes ringing (incoming), - * dialing (outgoing), and active calls. When the last call is disconnected, Telecom will unbind to - * the service triggering InCallActivity (via CallList) to finish soon after. - */ -public class InCallServiceImpl extends InCallService { - - @Override - public void onCallAudioStateChanged(CallAudioState audioState) { - AudioModeProvider.getInstance().onAudioStateChanged(audioState.isMuted(), - audioState.getRoute(), audioState.getSupportedRouteMask()); - } - - @Override - public void onBringToForeground(boolean showDialpad) { - InCallPresenter.getInstance().onBringToForeground(showDialpad); - } - - @Override - public void onCallAdded(Call call) { - InCallPresenter.getInstance().onCallAdded(call); - } - - @Override - public void onCallRemoved(Call call) { - InCallPresenter.getInstance().onCallRemoved(call); - } - - @Override - public void onCanAddCallChanged(boolean canAddCall) { - InCallPresenter.getInstance().onCanAddCallChanged(canAddCall); - } - - @Override - public IBinder onBind(Intent intent) { - final Context context = getApplicationContext(); - final ContactInfoCache contactInfoCache = ContactInfoCache.getInstance(context); - InCallPresenter.getInstance().setUp( - getApplicationContext(), - CallList.getInstance(), - new ExternalCallList(), - AudioModeProvider.getInstance(), - new StatusBarNotifier(context, contactInfoCache), - new ExternalCallNotifier(context, contactInfoCache), - contactInfoCache, - new ProximitySensor( - context, - AudioModeProvider.getInstance(), - new AccelerometerListener(context)) - ); - InCallPresenter.getInstance().onServiceBind(); - InCallPresenter.getInstance().maybeStartRevealAnimation(intent); - TelecomAdapter.getInstance().setInCallService(this); - - return super.onBind(intent); - } - - @Override - public boolean onUnbind(Intent intent) { - super.onUnbind(intent); - - InCallPresenter.getInstance().onServiceUnbind(); - tearDown(); - - return false; - } - - private void tearDown() { - Log.v(this, "tearDown"); - // Tear down the InCall system - TelecomAdapter.getInstance().clearInCallService(); - InCallPresenter.getInstance().tearDown(); - } -} diff --git a/InCallUI/src/com/android/incallui/InCallServiceListener.java b/InCallUI/src/com/android/incallui/InCallServiceListener.java deleted file mode 100644 index 11a5b08ef..000000000 --- a/InCallUI/src/com/android/incallui/InCallServiceListener.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2014 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.telecom.InCallService; - -/** - * Interface implemented by In-Call components that maintain a reference to the Telecom API - * {@code InCallService} object. Clarifies the expectations associated with the relevant method - * calls. - */ -public interface InCallServiceListener { - - /** - * Called once at {@code InCallService} startup time with a valid instance. At - * that time, there will be no existing {@code Call}s. - * - * @param inCallService The {@code InCallService} object. - */ - void setInCallService(InCallService inCallService); - - /** - * Called once at {@code InCallService} shutdown time. At that time, any {@code Call}s - * will have transitioned through the disconnected state and will no longer exist. - */ - void clearInCallService(); -} diff --git a/InCallUI/src/com/android/incallui/InCallUIMaterialColorMapUtils.java b/InCallUI/src/com/android/incallui/InCallUIMaterialColorMapUtils.java deleted file mode 100644 index 9c108b855..000000000 --- a/InCallUI/src/com/android/incallui/InCallUIMaterialColorMapUtils.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.android.incallui; - -import android.content.res.Resources; -import android.content.res.TypedArray; -import android.telecom.PhoneAccount; - -import com.android.contacts.common.util.MaterialColorMapUtils; -import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; -import com.android.dialer.R; - -public class InCallUIMaterialColorMapUtils extends MaterialColorMapUtils { - private final TypedArray sPrimaryColors; - private final TypedArray sSecondaryColors; - private final Resources mResources; - - public InCallUIMaterialColorMapUtils(Resources resources) { - super(resources); - sPrimaryColors = resources.obtainTypedArray(R.array.background_colors); - sSecondaryColors = resources.obtainTypedArray(R.array.background_colors_dark); - mResources = resources; - } - - /** - * Currently the InCallUI color will only vary by SIM color which is a list of colors - * defined in the background_colors array, so first search the list for the matching color and - * fall back to the closest matching color if an exact match does not exist. - */ - @Override - public MaterialPalette calculatePrimaryAndSecondaryColor(int color) { - if (color == PhoneAccount.NO_HIGHLIGHT_COLOR) { - return getDefaultPrimaryAndSecondaryColors(mResources); - } - - for (int i = 0; i < sPrimaryColors.length(); i++) { - if (sPrimaryColors.getColor(i, 0) == color) { - return new MaterialPalette( - sPrimaryColors.getColor(i, 0), - sSecondaryColors.getColor(i, 0)); - } - } - - // The color isn't in the list, so use the superclass to find an approximate color. - return super.calculatePrimaryAndSecondaryColor(color); - } - - /** - * {@link Resources#getColor(int) used for compatibility - */ - @SuppressWarnings("deprecation") - public static MaterialPalette getDefaultPrimaryAndSecondaryColors(Resources resources) { - final int primaryColor = resources.getColor(R.color.dialer_theme_color); - final int secondaryColor = resources.getColor(R.color.dialer_theme_color_dark); - return new MaterialPalette(primaryColor, secondaryColor); - } -} diff --git a/InCallUI/src/com/android/incallui/InCallVideoCallCallback.java b/InCallUI/src/com/android/incallui/InCallVideoCallCallback.java deleted file mode 100644 index 99e6d5129..000000000 --- a/InCallUI/src/com/android/incallui/InCallVideoCallCallback.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (C) 2014 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.telecom.Connection; -import android.telecom.Connection.VideoProvider; -import android.telecom.InCallService.VideoCall; -import android.telecom.VideoProfile; -import android.telecom.VideoProfile.CameraCapabilities; - -/** - * Implements the InCallUI VideoCall Callback. - */ -public class InCallVideoCallCallback extends VideoCall.Callback { - - /** - * The call associated with this {@link InCallVideoCallCallback}. - */ - private Call mCall; - - /** - * Creates an instance of the call video client, specifying the call it is related to. - * - * @param call The call. - */ - public InCallVideoCallCallback(Call call) { - mCall = call; - } - - /** - * Handles an incoming session modification request. - * - * @param videoProfile The requested video call profile. - */ - @Override - public void onSessionModifyRequestReceived(VideoProfile videoProfile) { - Log.d(this, " onSessionModifyRequestReceived videoProfile=" + videoProfile); - int previousVideoState = VideoUtils.getUnPausedVideoState(mCall.getVideoState()); - int newVideoState = VideoUtils.getUnPausedVideoState(videoProfile.getVideoState()); - - boolean wasVideoCall = VideoUtils.isVideoCall(previousVideoState); - boolean isVideoCall = VideoUtils.isVideoCall(newVideoState); - - // Check for upgrades to video. - if (!wasVideoCall && isVideoCall && previousVideoState != newVideoState) { - InCallVideoCallCallbackNotifier.getInstance().upgradeToVideoRequest(mCall, - newVideoState); - } - } - - /** - * Handles a session modification response. - * - * @param status Status of the session modify request. Valid values are - * {@link Connection.VideoProvider#SESSION_MODIFY_REQUEST_SUCCESS}, - * {@link Connection.VideoProvider#SESSION_MODIFY_REQUEST_FAIL}, - * {@link Connection.VideoProvider#SESSION_MODIFY_REQUEST_INVALID} - * @param requestedProfile - * @param responseProfile The actual profile changes made by the peer device. - */ - @Override - public void onSessionModifyResponseReceived(int status, VideoProfile requestedProfile, - VideoProfile responseProfile) { - Log.d(this, "onSessionModifyResponseReceived status=" + status + " requestedProfile=" - + requestedProfile + " responseProfile=" + responseProfile); - if (status != VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS) { - // Report the reason the upgrade failed as the new session modification state. - if (status == VideoProvider.SESSION_MODIFY_REQUEST_TIMED_OUT) { - mCall.setSessionModificationState( - Call.SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT); - } else { - if (status == VideoProvider.SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE) { - mCall.setSessionModificationState( - Call.SessionModificationState.REQUEST_REJECTED); - } else { - mCall.setSessionModificationState( - Call.SessionModificationState.REQUEST_FAILED); - } - } - } - - // Finally clear the outstanding request. - mCall.setSessionModificationState(Call.SessionModificationState.NO_REQUEST); - } - - /** - * Handles a call session event. - * - * @param event The event. - */ - @Override - public void onCallSessionEvent(int event) { - InCallVideoCallCallbackNotifier.getInstance().callSessionEvent(event); - } - - /** - * Handles a change to the peer video dimensions. - * - * @param width The updated peer video width. - * @param height The updated peer video height. - */ - @Override - public void onPeerDimensionsChanged(int width, int height) { - InCallVideoCallCallbackNotifier.getInstance().peerDimensionsChanged(mCall, width, height); - } - - /** - * Handles a change to the video quality of the call. - * - * @param videoQuality The updated video call quality. - */ - @Override - public void onVideoQualityChanged(int videoQuality) { - InCallVideoCallCallbackNotifier.getInstance().videoQualityChanged(mCall, videoQuality); - } - - /** - * Handles a change to the call data usage. No implementation as the in-call UI does not - * display data usage. - * - * @param dataUsage The updated data usage. - */ - @Override - public void onCallDataUsageChanged(long dataUsage) { - Log.d(this, "onCallDataUsageChanged: dataUsage = " + dataUsage); - InCallVideoCallCallbackNotifier.getInstance().callDataUsageChanged(dataUsage); - } - - /** - * Handles changes to the camera capabilities. No implementation as the in-call UI does not - * make use of camera capabilities. - * - * @param cameraCapabilities The changed camera capabilities. - */ - @Override - public void onCameraCapabilitiesChanged(CameraCapabilities cameraCapabilities) { - if (cameraCapabilities != null) { - InCallVideoCallCallbackNotifier.getInstance().cameraDimensionsChanged( - mCall, cameraCapabilities.getWidth(), cameraCapabilities.getHeight()); - } - } -} diff --git a/InCallUI/src/com/android/incallui/InCallVideoCallCallbackNotifier.java b/InCallUI/src/com/android/incallui/InCallVideoCallCallbackNotifier.java deleted file mode 100644 index bb7529205..000000000 --- a/InCallUI/src/com/android/incallui/InCallVideoCallCallbackNotifier.java +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Copyright (C) 2014 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 com.google.common.base.Preconditions; - -import java.util.Collections; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Class used by {@link InCallService.VideoCallCallback} to notify interested parties of incoming - * events. - */ -public class InCallVideoCallCallbackNotifier { - /** - * Singleton instance of this class. - */ - private static InCallVideoCallCallbackNotifier sInstance = - new InCallVideoCallCallbackNotifier(); - - /** - * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is - * load factor before resizing, 1 means we only expect a single thread to - * access the map so make only a single shard - */ - private final Set<SessionModificationListener> mSessionModificationListeners = - Collections.newSetFromMap(new ConcurrentHashMap<SessionModificationListener, Boolean> - (8, 0.9f, 1)); - private final Set<VideoEventListener> mVideoEventListeners = Collections.newSetFromMap( - new ConcurrentHashMap<VideoEventListener, Boolean>(8, 0.9f, 1)); - private final Set<SurfaceChangeListener> mSurfaceChangeListeners = Collections.newSetFromMap( - new ConcurrentHashMap<SurfaceChangeListener, Boolean>(8, 0.9f, 1)); - - /** - * Static singleton accessor method. - */ - public static InCallVideoCallCallbackNotifier getInstance() { - return sInstance; - } - - /** - * Private constructor. Instance should only be acquired through getInstance(). - */ - private InCallVideoCallCallbackNotifier() { - } - - /** - * Adds a new {@link SessionModificationListener}. - * - * @param listener The listener. - */ - public void addSessionModificationListener(SessionModificationListener listener) { - Preconditions.checkNotNull(listener); - mSessionModificationListeners.add(listener); - } - - /** - * Remove a {@link SessionModificationListener}. - * - * @param listener The listener. - */ - public void removeSessionModificationListener(SessionModificationListener listener) { - if (listener != null) { - mSessionModificationListeners.remove(listener); - } - } - - /** - * Adds a new {@link VideoEventListener}. - * - * @param listener The listener. - */ - public void addVideoEventListener(VideoEventListener listener) { - Preconditions.checkNotNull(listener); - mVideoEventListeners.add(listener); - } - - /** - * Remove a {@link VideoEventListener}. - * - * @param listener The listener. - */ - public void removeVideoEventListener(VideoEventListener listener) { - if (listener != null) { - mVideoEventListeners.remove(listener); - } - } - - /** - * Adds a new {@link SurfaceChangeListener}. - * - * @param listener The listener. - */ - public void addSurfaceChangeListener(SurfaceChangeListener listener) { - Preconditions.checkNotNull(listener); - mSurfaceChangeListeners.add(listener); - } - - /** - * Remove a {@link SurfaceChangeListener}. - * - * @param listener The listener. - */ - public void removeSurfaceChangeListener(SurfaceChangeListener listener) { - if (listener != null) { - mSurfaceChangeListeners.remove(listener); - } - } - - /** - * Inform listeners of an upgrade to video request for a call. - * @param call The call. - * @param videoState The video state we want to upgrade to. - */ - public void upgradeToVideoRequest(Call call, int videoState) { - Log.d(this, "upgradeToVideoRequest call = " + call + " new video state = " + videoState); - for (SessionModificationListener listener : mSessionModificationListeners) { - listener.onUpgradeToVideoRequest(call, videoState); - } - } - - /** - * Inform listeners of a call session event. - * - * @param event The call session event. - */ - public void callSessionEvent(int event) { - for (VideoEventListener listener : mVideoEventListeners) { - listener.onCallSessionEvent(event); - } - } - - /** - * Inform listeners of a downgrade to audio. - * - * @param call The call. - * @param paused The paused state. - */ - public void peerPausedStateChanged(Call call, boolean paused) { - for (VideoEventListener listener : mVideoEventListeners) { - listener.onPeerPauseStateChanged(call, paused); - } - } - - /** - * Inform listeners of any change in the video quality of the call - * - * @param call The call. - * @param videoQuality The updated video quality of the call. - */ - public void videoQualityChanged(Call call, int videoQuality) { - for (VideoEventListener listener : mVideoEventListeners) { - listener.onVideoQualityChanged(call, videoQuality); - } - } - - /** - * Inform listeners of a change to peer dimensions. - * - * @param call The call. - * @param width New peer width. - * @param height New peer height. - */ - public void peerDimensionsChanged(Call call, int width, int height) { - for (SurfaceChangeListener listener : mSurfaceChangeListeners) { - listener.onUpdatePeerDimensions(call, width, height); - } - } - - /** - * Inform listeners of a change to camera dimensions. - * - * @param call The call. - * @param width The new camera video width. - * @param height The new camera video height. - */ - public void cameraDimensionsChanged(Call call, int width, int height) { - for (SurfaceChangeListener listener : mSurfaceChangeListeners) { - listener.onCameraDimensionsChange(call, width, height); - } - } - - /** - * Inform listeners of a change to call data usage. - * - * @param dataUsage data usage value - */ - public void callDataUsageChanged(long dataUsage) { - for (VideoEventListener listener : mVideoEventListeners) { - listener.onCallDataUsageChange(dataUsage); - } - } - - /** - * Listener interface for any class that wants to be notified of upgrade to video request. - */ - public interface SessionModificationListener { - /** - * Called when a peer request is received to upgrade an audio-only call to a video call. - * - * @param call The call the request was received for. - * @param videoState The requested video state. - */ - public void onUpgradeToVideoRequest(Call call, int videoState); - } - - /** - * Listener interface for any class that wants to be notified of video events, including pause - * and un-pause of peer video, video quality changes. - */ - public interface VideoEventListener { - /** - * Called when the peer pauses or un-pauses video transmission. - * - * @param call The call which paused or un-paused video transmission. - * @param paused {@code True} when the video transmission is paused, {@code false} - * otherwise. - */ - public void onPeerPauseStateChanged(Call call, boolean paused); - - /** - * Called when the video quality changes. - * - * @param call The call whose video quality changes. - * @param videoCallQuality - values are QUALITY_HIGH, MEDIUM, LOW and UNKNOWN. - */ - public void onVideoQualityChanged(Call call, int videoCallQuality); - - /* - * Called when call data usage value is requested or when call data usage value is updated - * because of a call state change - * - * @param dataUsage call data usage value - */ - public void onCallDataUsageChange(long dataUsage); - - /** - * Called when call session event is raised. - * - * @param event The call session event. - */ - public void onCallSessionEvent(int event); - } - - /** - * Listener interface for any class that wants to be notified of changes to the video surfaces. - */ - public interface SurfaceChangeListener { - /** - * Called when the peer video feed changes dimensions. This can occur when the peer rotates - * their device, changing the aspect ratio of the video signal. - * - * @param call The call which experienced a peer video - * @param width - * @param height - */ - public void onUpdatePeerDimensions(Call call, int width, int height); - - /** - * Called when the local camera changes dimensions. This occurs when a change in camera - * occurs. - * - * @param call The call which experienced the camera dimension change. - * @param width The new camera video width. - * @param height The new camera video height. - */ - public void onCameraDimensionsChange(Call call, int width, int height); - } -} diff --git a/InCallUI/src/com/android/incallui/LatencyReport.java b/InCallUI/src/com/android/incallui/LatencyReport.java deleted file mode 100644 index 655372a8f..000000000 --- a/InCallUI/src/com/android/incallui/LatencyReport.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2016 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.os.SystemClock; - -import com.android.incalluibind.ObjectFactory; - -/** - * Tracks latency information for a call. - */ -public class LatencyReport { - // The following are hidden constants from android.telecom.TelecomManager. - private static final String EXTRA_CALL_CREATED_TIME_MILLIS = - "android.telecom.extra.CALL_CREATED_TIME_MILLIS"; - private static final String EXTRA_CALL_TELECOM_ROUTING_START_TIME_MILLIS = - "android.telecom.extra.CALL_TELECOM_ROUTING_START_TIME_MILLIS"; - private static final String EXTRA_CALL_TELECOM_ROUTING_END_TIME_MILLIS = - "android.telecom.extra.CALL_TELECOM_ROUTING_END_TIME_MILLIS"; - - public static final long INVALID_TIME = -1; - - private final boolean mWasIncoming; - - // Time elapsed since boot when the call was created by the connection service. - private final long mCreatedTimeMillis; - - // Time elapsed since boot when telecom began processing the call. - private final long mTelecomRoutingStartTimeMillis; - - // Time elapsed since boot when telecom finished processing the call. This includes things like - // looking up contact info and call blocking but before showing any UI. - private final long mTelecomRoutingEndTimeMillis; - - // Time elapsed since boot when the call was added to the InCallUi. - private final long mCallAddedTimeMillis; - - // Time elapsed since boot when the call was added and call blocking evaluation was completed. - private long mCallBlockingTimeMillis = INVALID_TIME; - - // Time elapsed since boot when the call notification was shown. - private long mCallNotificationTimeMillis = INVALID_TIME; - - // Time elapsed since boot when the InCallUI was shown. - private long mInCallUiShownTimeMillis = INVALID_TIME; - - // Whether the call was shown to the user as a heads up notification instead of a full screen - // UI. - private boolean mDidDisplayHeadsUpNotification; - - public LatencyReport() { - mWasIncoming = false; - mCreatedTimeMillis = INVALID_TIME; - mTelecomRoutingStartTimeMillis = INVALID_TIME; - mTelecomRoutingEndTimeMillis = INVALID_TIME; - mCallAddedTimeMillis = SystemClock.elapsedRealtime(); - } - - public LatencyReport(android.telecom.Call telecomCall) { - mWasIncoming = telecomCall.getState() == android.telecom.Call.STATE_RINGING; - Bundle extras = telecomCall.getDetails().getIntentExtras(); - if (extras == null) { - mCreatedTimeMillis = INVALID_TIME; - mTelecomRoutingStartTimeMillis = INVALID_TIME; - mTelecomRoutingEndTimeMillis = INVALID_TIME; - } else { - mCreatedTimeMillis = extras.getLong(EXTRA_CALL_CREATED_TIME_MILLIS, INVALID_TIME); - mTelecomRoutingStartTimeMillis = extras.getLong( - EXTRA_CALL_TELECOM_ROUTING_START_TIME_MILLIS, INVALID_TIME); - mTelecomRoutingEndTimeMillis = extras.getLong( - EXTRA_CALL_TELECOM_ROUTING_END_TIME_MILLIS, INVALID_TIME); - } - mCallAddedTimeMillis = SystemClock.elapsedRealtime(); - } - - public boolean getWasIncoming() { - return mWasIncoming; - } - - public long getCreatedTimeMillis() { - return mCreatedTimeMillis; - } - - public long getTelecomRoutingStartTimeMillis() { - return mTelecomRoutingStartTimeMillis; - } - - public long getTelecomRoutingEndTimeMillis() { - return mTelecomRoutingEndTimeMillis; - } - - public long getCallAddedTimeMillis() { - return mCallAddedTimeMillis; - } - - public long getCallBlockingTimeMillis() { - return mCallBlockingTimeMillis; - } - - public void onCallBlockingDone() { - if (mCallBlockingTimeMillis == INVALID_TIME) { - mCallBlockingTimeMillis = SystemClock.elapsedRealtime(); - } - } - - public long getCallNotificationTimeMillis() { - return mCallNotificationTimeMillis; - } - - public void onNotificationShown() { - if (mCallNotificationTimeMillis == INVALID_TIME) { - mCallNotificationTimeMillis = SystemClock.elapsedRealtime(); - } - } - - public long getInCallUiShownTimeMillis() { - return mInCallUiShownTimeMillis; - } - - public void onInCallUiShown(boolean forFullScreenIntent) { - if (mInCallUiShownTimeMillis == INVALID_TIME) { - mInCallUiShownTimeMillis = SystemClock.elapsedRealtime(); - mDidDisplayHeadsUpNotification = mWasIncoming && !forFullScreenIntent; - } - } - - public boolean getDidDisplayHeadsUpNotification() { - return mDidDisplayHeadsUpNotification; - } -} diff --git a/InCallUI/src/com/android/incallui/Log.java b/InCallUI/src/com/android/incallui/Log.java deleted file mode 100644 index 07a0e61ca..000000000 --- a/InCallUI/src/com/android/incallui/Log.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * 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.net.Uri; -import android.telecom.PhoneAccount; -import android.telephony.PhoneNumberUtils; - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - -/** - * Manages logging for the entire class. - */ -public class Log { - - // Generic tag for all In Call logging - public static final String TAG = "InCall"; - - public static final boolean FORCE_DEBUG = false; /* STOPSHIP if true */ - public static final boolean DEBUG = FORCE_DEBUG || - android.util.Log.isLoggable(TAG, android.util.Log.DEBUG); - public static final boolean VERBOSE = FORCE_DEBUG || - android.util.Log.isLoggable(TAG, android.util.Log.VERBOSE); - public static final String TAG_DELIMETER = " - "; - - public static void d(String tag, String msg) { - if (DEBUG) { - android.util.Log.d(TAG, delimit(tag) + msg); - } - } - - public static void d(Object obj, String msg) { - if (DEBUG) { - android.util.Log.d(TAG, getPrefix(obj) + msg); - } - } - - public static void d(Object obj, String str1, Object str2) { - if (DEBUG) { - android.util.Log.d(TAG, getPrefix(obj) + str1 + str2); - } - } - - public static void v(Object obj, String msg) { - if (VERBOSE) { - android.util.Log.v(TAG, getPrefix(obj) + msg); - } - } - - public static void v(Object obj, String str1, Object str2) { - if (VERBOSE) { - android.util.Log.d(TAG, getPrefix(obj) + str1 + str2); - } - } - - public static void e(String tag, String msg, Exception e) { - android.util.Log.e(TAG, delimit(tag) + msg, e); - } - - public static void e(String tag, String msg) { - android.util.Log.e(TAG, delimit(tag) + msg); - } - - public static void e(Object obj, String msg, Exception e) { - android.util.Log.e(TAG, getPrefix(obj) + msg, e); - } - - public static void e(Object obj, String msg) { - android.util.Log.e(TAG, getPrefix(obj) + msg); - } - - public static void i(String tag, String msg) { - android.util.Log.i(TAG, delimit(tag) + msg); - } - - public static void i(Object obj, String msg) { - android.util.Log.i(TAG, getPrefix(obj) + msg); - } - - public static void w(Object obj, String msg) { - android.util.Log.w(TAG, getPrefix(obj) + msg); - } - - public static void wtf(Object obj, String msg) { - android.util.Log.wtf(TAG, getPrefix(obj) + msg); - } - - public static String piiHandle(Object pii) { - if (pii == null || VERBOSE) { - return String.valueOf(pii); - } - - if (pii instanceof Uri) { - Uri uri = (Uri) pii; - - // All Uri's which are not "tel" go through normal pii() method. - if (!PhoneAccount.SCHEME_TEL.equals(uri.getScheme())) { - return pii(pii); - } else { - pii = uri.getSchemeSpecificPart(); - } - } - - String originalString = String.valueOf(pii); - StringBuilder stringBuilder = new StringBuilder(originalString.length()); - for (char c : originalString.toCharArray()) { - if (PhoneNumberUtils.isDialable(c)) { - stringBuilder.append('*'); - } else { - stringBuilder.append(c); - } - } - return stringBuilder.toString(); - } - - /** - * Redact personally identifiable information for production users. - * If we are running in verbose mode, return the original string, otherwise - * return a SHA-1 hash of the input string. - */ - public static String pii(Object pii) { - if (pii == null || VERBOSE) { - return String.valueOf(pii); - } - return "[" + secureHash(String.valueOf(pii).getBytes()) + "]"; - } - - private static String secureHash(byte[] input) { - MessageDigest messageDigest; - try { - messageDigest = MessageDigest.getInstance("SHA-1"); - } catch (NoSuchAlgorithmException e) { - return null; - } - messageDigest.update(input); - byte[] result = messageDigest.digest(); - return encodeHex(result); - } - - private static String encodeHex(byte[] bytes) { - StringBuffer hex = new StringBuffer(bytes.length * 2); - - for (int i = 0; i < bytes.length; i++) { - int byteIntValue = bytes[i] & 0xff; - if (byteIntValue < 0x10) { - hex.append("0"); - } - hex.append(Integer.toString(byteIntValue, 16)); - } - - return hex.toString(); - } - - private static String getPrefix(Object obj) { - return (obj == null ? "" : (obj.getClass().getSimpleName() + TAG_DELIMETER)); - } - - private static String delimit(String tag) { - return tag + TAG_DELIMETER; - } -} diff --git a/InCallUI/src/com/android/incallui/NeededForReflection.java b/InCallUI/src/com/android/incallui/NeededForReflection.java deleted file mode 100644 index 363a0a548..000000000 --- a/InCallUI/src/com/android/incallui/NeededForReflection.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2014 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 java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Denotes that the class, constructor, method or field is used for reflection and therefore cannot - * be removed by tools like ProGuard. - */ -@Retention(RetentionPolicy.CLASS) -@Target({ElementType.TYPE, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.FIELD}) -public @interface NeededForReflection {} diff --git a/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java b/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java deleted file mode 100644 index 27f71159d..000000000 --- a/InCallUI/src/com/android/incallui/NotificationBroadcastReceiver.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2015 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.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.telecom.VideoProfile; - -/** - * Accepts broadcast Intents which will be prepared by {@link StatusBarNotifier} and thus - * sent from the notification manager. - * This should be visible from outside, but shouldn't be exported. - */ -public class NotificationBroadcastReceiver extends BroadcastReceiver { - - /** - * Intent Action used for hanging up the current call from Notification bar. This will - * choose first ringing call, first active call, or first background call (typically in - * STATE_HOLDING state). - */ - public static final String ACTION_DECLINE_INCOMING_CALL = - "com.android.incallui.ACTION_DECLINE_INCOMING_CALL"; - public static final String ACTION_HANG_UP_ONGOING_CALL = - "com.android.incallui.ACTION_HANG_UP_ONGOING_CALL"; - public static final String ACTION_ANSWER_VIDEO_INCOMING_CALL = - "com.android.incallui.ACTION_ANSWER_VIDEO_INCOMING_CALL"; - public static final String ACTION_ANSWER_VOICE_INCOMING_CALL = - "com.android.incallui.ACTION_ANSWER_VOICE_INCOMING_CALL"; - public static final String ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST = - "com.android.incallui.ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST"; - public static final String ACTION_DECLINE_VIDEO_UPGRADE_REQUEST = - "com.android.incallui.ACTION_DECLINE_VIDEO_UPGRADE_REQUEST"; - public static final String ACTION_PULL_EXTERNAL_CALL = - "com.android.incallui.ACTION_PULL_EXTERNAL_CALL"; - public static final String EXTRA_NOTIFICATION_ID = - "com.android.incallui.extra.EXTRA_NOTIFICATION_ID"; - - @Override - public void onReceive(Context context, Intent intent) { - final String action = intent.getAction(); - Log.i(this, "Broadcast from Notification: " + action); - - // TODO: Commands of this nature should exist in the CallList. - if (action.equals(ACTION_ANSWER_VIDEO_INCOMING_CALL)) { - InCallPresenter.getInstance().answerIncomingCall( - context, VideoProfile.STATE_BIDIRECTIONAL); - } else if (action.equals(ACTION_ANSWER_VOICE_INCOMING_CALL)) { - InCallPresenter.getInstance().answerIncomingCall( - context, VideoProfile.STATE_AUDIO_ONLY); - } else if (action.equals(ACTION_DECLINE_INCOMING_CALL)) { - InCallPresenter.getInstance().declineIncomingCall(context); - } else if (action.equals(ACTION_HANG_UP_ONGOING_CALL)) { - InCallPresenter.getInstance().hangUpOngoingCall(context); - } else if (action.equals(ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST)) { - //TODO: Change calltype after adding support for TX and RX - InCallPresenter.getInstance().acceptUpgradeRequest( - VideoProfile.STATE_BIDIRECTIONAL, context); - } else if (action.equals(ACTION_DECLINE_VIDEO_UPGRADE_REQUEST)) { - InCallPresenter.getInstance().declineUpgradeRequest(context); - } else if (action.equals(ACTION_PULL_EXTERNAL_CALL)) { - int notificationId = intent.getIntExtra(EXTRA_NOTIFICATION_ID, -1); - InCallPresenter.getInstance().getExternalCallNotifier() - .pullExternalCall(notificationId); - } - } - -} diff --git a/InCallUI/src/com/android/incallui/PostCharDialogFragment.java b/InCallUI/src/com/android/incallui/PostCharDialogFragment.java deleted file mode 100644 index 6f904ad9e..000000000 --- a/InCallUI/src/com/android/incallui/PostCharDialogFragment.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * 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.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.content.DialogInterface; -import android.os.Bundle; -import android.view.WindowManager; - -import com.android.dialer.R; - -/** - * Pop up an alert dialog with OK and Cancel buttons to allow user to Accept or Reject the WAIT - * inserted as part of the Dial string. - */ -public class PostCharDialogFragment extends DialogFragment { - - private static final String STATE_CALL_ID = "CALL_ID"; - private static final String STATE_POST_CHARS = "POST_CHARS"; - - private String mCallId; - private String mPostDialStr; - - public PostCharDialogFragment() { - } - - public PostCharDialogFragment(String callId, String postDialStr) { - mCallId = callId; - mPostDialStr = postDialStr; - } - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - super.onCreateDialog(savedInstanceState); - - if (mPostDialStr == null && savedInstanceState != null) { - mCallId = savedInstanceState.getString(STATE_CALL_ID); - mPostDialStr = savedInstanceState.getString(STATE_POST_CHARS); - } - - final StringBuilder buf = new StringBuilder(); - buf.append(getResources().getText(R.string.wait_prompt_str)); - buf.append(mPostDialStr); - - final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setMessage(buf.toString()); - - builder.setPositiveButton(R.string.pause_prompt_yes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int whichButton) { - TelecomAdapter.getInstance().postDialContinue(mCallId, true); - } - }); - builder.setNegativeButton(R.string.pause_prompt_no, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int whichButton) { - dialog.cancel(); - } - }); - - final AlertDialog dialog = builder.create(); - return dialog; - } - - @Override - public void onCancel(DialogInterface dialog) { - super.onCancel(dialog); - - TelecomAdapter.getInstance().postDialContinue(mCallId, false); - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - - outState.putString(STATE_CALL_ID, mCallId); - outState.putString(STATE_POST_CHARS, mPostDialStr); - } -} diff --git a/InCallUI/src/com/android/incallui/Presenter.java b/InCallUI/src/com/android/incallui/Presenter.java deleted file mode 100644 index 4e1fa978d..000000000 --- a/InCallUI/src/com/android/incallui/Presenter.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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; - -/** - * Base class for Presenters. - */ -public abstract class Presenter<U extends Ui> { - - private U mUi; - - /** - * Called after the UI view has been created. That is when fragment.onViewCreated() is called. - * - * @param ui The Ui implementation that is now ready to be used. - */ - public void onUiReady(U ui) { - mUi = ui; - } - - /** - * Called when the UI view is destroyed in Fragment.onDestroyView(). - */ - public final void onUiDestroy(U ui) { - onUiUnready(ui); - mUi = null; - } - - /** - * To be overriden by Presenter implementations. Called when the fragment is being - * destroyed but before ui is set to null. - */ - public void onUiUnready(U ui) { - } - - public void onSaveInstanceState(Bundle outState) {} - - public void onRestoreInstanceState(Bundle savedInstanceState) {} - - public U getUi() { - return mUi; - } -} diff --git a/InCallUI/src/com/android/incallui/ProximitySensor.java b/InCallUI/src/com/android/incallui/ProximitySensor.java deleted file mode 100644 index 3c9fd9370..000000000 --- a/InCallUI/src/com/android/incallui/ProximitySensor.java +++ /dev/null @@ -1,317 +0,0 @@ -/* - * 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 com.google.common.base.Objects; - -import android.content.Context; -import android.content.res.Configuration; -import android.hardware.display.DisplayManager; -import android.hardware.display.DisplayManager.DisplayListener; -import android.os.PowerManager; -import android.telecom.CallAudioState; -import android.view.Display; - -import com.android.incallui.AudioModeProvider.AudioModeListener; -import com.android.incallui.InCallPresenter.InCallState; -import com.android.incallui.InCallPresenter.InCallStateListener; - -/** - * Class manages the proximity sensor for the in-call UI. - * We enable the proximity sensor while the user in a phone call. The Proximity sensor turns off - * the touchscreen and display when the user is close to the screen to prevent user's cheek from - * causing touch events. - * The class requires special knowledge of the activity and device state to know when the proximity - * sensor should be enabled and disabled. Most of that state is fed into this class through - * public methods. - */ -public class ProximitySensor implements AccelerometerListener.OrientationListener, - InCallStateListener, AudioModeListener { - private static final String TAG = ProximitySensor.class.getSimpleName(); - - private final PowerManager mPowerManager; - private final PowerManager.WakeLock mProximityWakeLock; - private final AudioModeProvider mAudioModeProvider; - private final AccelerometerListener mAccelerometerListener; - private final ProximityDisplayListener mDisplayListener; - private int mOrientation = AccelerometerListener.ORIENTATION_UNKNOWN; - private boolean mUiShowing = false; - private boolean mIsPhoneOffhook = false; - private boolean mDialpadVisible; - - // True if the keyboard is currently *not* hidden - // Gets updated whenever there is a Configuration change - private boolean mIsHardKeyboardOpen; - - public ProximitySensor(Context context, AudioModeProvider audioModeProvider, - AccelerometerListener accelerometerListener) { - mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - if (mPowerManager.isWakeLockLevelSupported(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)) { - mProximityWakeLock = mPowerManager.newWakeLock( - PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, TAG); - } else { - Log.w(TAG, "Device does not support proximity wake lock."); - mProximityWakeLock = null; - } - mAccelerometerListener = accelerometerListener; - mAccelerometerListener.setListener(this); - - mDisplayListener = new ProximityDisplayListener( - (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE)); - mDisplayListener.register(); - - mAudioModeProvider = audioModeProvider; - mAudioModeProvider.addListener(this); - } - - public void tearDown() { - mAudioModeProvider.removeListener(this); - - mAccelerometerListener.enable(false); - mDisplayListener.unregister(); - - turnOffProximitySensor(true); - } - - /** - * Called to identify when the device is laid down flat. - */ - @Override - public void orientationChanged(int orientation) { - mOrientation = orientation; - updateProximitySensorMode(); - } - - /** - * Called to keep track of the overall UI state. - */ - @Override - public void onStateChange(InCallState oldState, InCallState newState, CallList callList) { - // We ignore incoming state because we do not want to enable proximity - // sensor during incoming call screen. We check hasLiveCall() because a disconnected call - // can also put the in-call screen in the INCALL state. - boolean hasOngoingCall = InCallState.INCALL == newState && callList.hasLiveCall(); - boolean isOffhook = (InCallState.OUTGOING == newState) || hasOngoingCall; - - if (isOffhook != mIsPhoneOffhook) { - mIsPhoneOffhook = isOffhook; - - mOrientation = AccelerometerListener.ORIENTATION_UNKNOWN; - mAccelerometerListener.enable(mIsPhoneOffhook); - - updateProximitySensorMode(); - } - } - - @Override - public void onSupportedAudioMode(int modeMask) { - } - - @Override - public void onMute(boolean muted) { - } - - /** - * Called when the audio mode changes during a call. - */ - @Override - public void onAudioMode(int mode) { - updateProximitySensorMode(); - } - - public void onDialpadVisible(boolean visible) { - mDialpadVisible = visible; - updateProximitySensorMode(); - } - - /** - * Called by InCallActivity to listen for hard keyboard events. - */ - public void onConfigurationChanged(Configuration newConfig) { - mIsHardKeyboardOpen = newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO; - - // Update the Proximity sensor based on keyboard state - updateProximitySensorMode(); - } - - /** - * Used to save when the UI goes in and out of the foreground. - */ - public void onInCallShowing(boolean showing) { - if (showing) { - mUiShowing = true; - - // We only consider the UI not showing for instances where another app took the foreground. - // If we stopped showing because the screen is off, we still consider that showing. - } else if (mPowerManager.isScreenOn()) { - mUiShowing = false; - } - updateProximitySensorMode(); - } - - void onDisplayStateChanged(boolean isDisplayOn) { - Log.i(this, "isDisplayOn: " + isDisplayOn); - mAccelerometerListener.enable(isDisplayOn); - } - - /** - * TODO: There is no way to determine if a screen is off due to proximity or if it is - * legitimately off, but if ever we can do that in the future, it would be useful here. - * Until then, this function will simply return true of the screen is off. - * TODO: Investigate whether this can be replaced with the ProximityDisplayListener. - */ - public boolean isScreenReallyOff() { - return !mPowerManager.isScreenOn(); - } - - private void turnOnProximitySensor() { - if (mProximityWakeLock != null) { - if (!mProximityWakeLock.isHeld()) { - Log.i(this, "Acquiring proximity wake lock"); - mProximityWakeLock.acquire(); - } else { - Log.i(this, "Proximity wake lock already acquired"); - } - } - } - - private void turnOffProximitySensor(boolean screenOnImmediately) { - if (mProximityWakeLock != null) { - if (mProximityWakeLock.isHeld()) { - Log.i(this, "Releasing proximity wake lock"); - int flags = - (screenOnImmediately ? 0 : PowerManager.RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY); - mProximityWakeLock.release(flags); - } else { - Log.i(this, "Proximity wake lock already released"); - } - } - } - - /** - * Updates the wake lock used to control proximity sensor behavior, - * based on the current state of the phone. - * - * On devices that have a proximity sensor, to avoid false touches - * during a call, we hold a PROXIMITY_SCREEN_OFF_WAKE_LOCK wake lock - * whenever the phone is off hook. (When held, that wake lock causes - * the screen to turn off automatically when the sensor detects an - * object close to the screen.) - * - * This method is a no-op for devices that don't have a proximity - * sensor. - * - * Proximity wake lock will *not* be held if any one of the - * conditions is true while on a call: - * 1) If the audio is routed via Bluetooth - * 2) If a wired headset is connected - * 3) if the speaker is ON - * 4) If the slider is open(i.e. the hardkeyboard is *not* hidden) - */ - private synchronized void updateProximitySensorMode() { - final int audioMode = mAudioModeProvider.getAudioMode(); - - // turn proximity sensor off and turn screen on immediately if - // we are using a headset, the keyboard is open, or the device - // is being held in a horizontal position. - boolean screenOnImmediately = (CallAudioState.ROUTE_WIRED_HEADSET == audioMode - || CallAudioState.ROUTE_SPEAKER == audioMode - || CallAudioState.ROUTE_BLUETOOTH == audioMode - || mIsHardKeyboardOpen); - - // We do not keep the screen off when the user is outside in-call screen and we are - // horizontal, but we do not force it on when we become horizontal until the - // proximity sensor goes negative. - final boolean horizontal = - (mOrientation == AccelerometerListener.ORIENTATION_HORIZONTAL); - screenOnImmediately |= !mUiShowing && horizontal; - - // We do not keep the screen off when dialpad is visible, we are horizontal, and - // the in-call screen is being shown. - // At that moment we're pretty sure users want to use it, instead of letting the - // proximity sensor turn off the screen by their hands. - screenOnImmediately |= mDialpadVisible && horizontal; - - Log.v(this, "screenonImmediately: ", screenOnImmediately); - - Log.i(this, Objects.toStringHelper(this) - .add("keybrd", mIsHardKeyboardOpen ? 1 : 0) - .add("dpad", mDialpadVisible ? 1 : 0) - .add("offhook", mIsPhoneOffhook ? 1 : 0) - .add("hor", horizontal ? 1 : 0) - .add("ui", mUiShowing ? 1 : 0) - .add("aud", CallAudioState.audioRouteToString(audioMode)) - .toString()); - - if (mIsPhoneOffhook && !screenOnImmediately) { - Log.d(this, "Turning on proximity sensor"); - // Phone is in use! Arrange for the screen to turn off - // automatically when the sensor detects a close object. - turnOnProximitySensor(); - } else { - Log.d(this, "Turning off proximity sensor"); - // Phone is either idle, or ringing. We don't want any special proximity sensor - // behavior in either case. - turnOffProximitySensor(screenOnImmediately); - } - } - - /** - * Implementation of a {@link DisplayListener} that maintains a binary state: - * Screen on vs screen off. Used by the proximity sensor manager to decide whether or not - * it needs to listen to accelerometer events. - */ - public class ProximityDisplayListener implements DisplayListener { - private DisplayManager mDisplayManager; - private boolean mIsDisplayOn = true; - - ProximityDisplayListener(DisplayManager displayManager) { - mDisplayManager = displayManager; - } - - void register() { - mDisplayManager.registerDisplayListener(this, null); - } - - void unregister() { - mDisplayManager.unregisterDisplayListener(this); - } - - @Override - public void onDisplayRemoved(int displayId) { - } - - @Override - public void onDisplayChanged(int displayId) { - if (displayId == Display.DEFAULT_DISPLAY) { - final Display display = mDisplayManager.getDisplay(displayId); - - final boolean isDisplayOn = display.getState() != Display.STATE_OFF; - // For call purposes, we assume that as long as the screen is not truly off, it is - // considered on, even if it is in an unknown or low power idle state. - if (isDisplayOn != mIsDisplayOn) { - mIsDisplayOn = isDisplayOn; - onDisplayStateChanged(mIsDisplayOn); - } - } - } - - @Override - public void onDisplayAdded(int displayId) { - } - } -} diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java deleted file mode 100644 index cc87dd414..000000000 --- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java +++ /dev/null @@ -1,793 +0,0 @@ -/* - * 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 static com.android.contacts.common.compat.CallSdkCompat.Details.PROPERTY_ENTERPRISE_CALL; -import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST; -import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ANSWER_VIDEO_INCOMING_CALL; -import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ANSWER_VOICE_INCOMING_CALL; -import static com.android.incallui.NotificationBroadcastReceiver.ACTION_DECLINE_INCOMING_CALL; -import static com.android.incallui.NotificationBroadcastReceiver.ACTION_DECLINE_VIDEO_UPGRADE_REQUEST; -import static com.android.incallui.NotificationBroadcastReceiver.ACTION_HANG_UP_ONGOING_CALL; - -import com.google.common.base.Preconditions; - -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.media.AudioAttributes; -import android.net.Uri; -import android.provider.ContactsContract.Contacts; -import android.support.annotation.Nullable; -import android.telecom.Call.Details; -import android.telecom.PhoneAccount; -import android.telecom.TelecomManager; -import android.text.BidiFormatter; -import android.text.TextDirectionHeuristics; -import android.text.TextUtils; - -import com.android.contacts.common.ContactsUtils; -import com.android.contacts.common.ContactsUtils.UserType; -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.testing.NeededForTesting; -import com.android.contacts.common.util.BitmapUtil; -import com.android.contacts.common.util.ContactDisplayUtils; -import com.android.dialer.R; -import com.android.dialer.service.ExtendedCallInfoService; -import com.android.incallui.ContactInfoCache.ContactCacheEntry; -import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback; -import com.android.incallui.InCallPresenter.InCallState; -import com.android.incallui.async.PausableExecutorImpl; -import com.android.incallui.ringtone.DialerRingtoneManager; -import com.android.incallui.ringtone.InCallTonePlayer; -import com.android.incallui.ringtone.ToneGeneratorFactory; - -import java.util.Objects; - -/** - * This class adds Notifications to the status bar for the in-call experience. - */ -public class StatusBarNotifier implements InCallPresenter.InCallStateListener, - CallList.CallUpdateListener { - - // Notification types - // Indicates that no notification is currently showing. - private static final int NOTIFICATION_NONE = 0; - // Notification for an active call. This is non-interruptive, but cannot be dismissed. - private static final int NOTIFICATION_IN_CALL = 1; - // Notification for incoming calls. This is interruptive and will show up as a HUN. - private static final int NOTIFICATION_INCOMING_CALL = 2; - - private static final int PENDING_INTENT_REQUEST_CODE_NON_FULL_SCREEN = 0; - private static final int PENDING_INTENT_REQUEST_CODE_FULL_SCREEN = 1; - - private static final long[] VIBRATE_PATTERN = new long[] {0, 1000, 1000}; - - private final Context mContext; - @Nullable private ContactsPreferences mContactsPreferences; - private final ContactInfoCache mContactInfoCache; - private final NotificationManager mNotificationManager; - private final DialerRingtoneManager mDialerRingtoneManager; - private int mCurrentNotification = NOTIFICATION_NONE; - private int mCallState = Call.State.INVALID; - private int mSavedIcon = 0; - private String mSavedContent = null; - private Bitmap mSavedLargeIcon; - private String mSavedContentTitle; - private String mCallId = null; - private InCallState mInCallState; - private Uri mRingtone; - - public StatusBarNotifier(Context context, ContactInfoCache contactInfoCache) { - Preconditions.checkNotNull(context); - mContext = context; - mContactsPreferences = ContactsPreferencesFactory.newContactsPreferences(mContext); - mContactInfoCache = contactInfoCache; - mNotificationManager = - (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); - mDialerRingtoneManager = new DialerRingtoneManager( - new InCallTonePlayer(new ToneGeneratorFactory(), new PausableExecutorImpl()), - CallList.getInstance()); - mCurrentNotification = NOTIFICATION_NONE; - } - - /** - * Creates notifications according to the state we receive from {@link InCallPresenter}. - */ - @Override - public void onStateChange(InCallState oldState, InCallState newState, CallList callList) { - Log.d(this, "onStateChange"); - mInCallState = newState; - updateNotification(newState, callList); - } - - /** - * Updates the phone app's status bar notification *and* launches the - * incoming call UI in response to a new incoming call. - * - * If an incoming call is ringing (or call-waiting), the notification - * will also include a "fullScreenIntent" that will cause the - * InCallScreen to be launched, unless the current foreground activity - * is marked as "immersive". - * - * (This is the mechanism that actually brings up the incoming call UI - * when we receive a "new ringing connection" event from the telephony - * layer.) - * - * Also note that this method is safe to call even if the phone isn't - * actually ringing (or, more likely, if an incoming call *was* - * ringing briefly but then disconnected). In that case, we'll simply - * update or cancel the in-call notification based on the current - * phone state. - * - * @see #updateInCallNotification(InCallState,CallList) - */ - public void updateNotification(InCallState state, CallList callList) { - updateInCallNotification(state, callList); - } - - /** - * Take down the in-call notification. - * @see #updateInCallNotification(InCallState,CallList) - */ - private void cancelNotification() { - if (!TextUtils.isEmpty(mCallId)) { - CallList.getInstance().removeCallUpdateListener(mCallId, this); - mCallId = null; - } - if (mCurrentNotification != NOTIFICATION_NONE) { - Log.d(this, "cancelInCall()..."); - mNotificationManager.cancel(mCurrentNotification); - } - mCurrentNotification = NOTIFICATION_NONE; - } - - /** - * Should only be called from a irrecoverable state where it is necessary to dismiss all - * notifications. - */ - static void clearAllCallNotifications(Context backupContext) { - Log.i(StatusBarNotifier.class.getSimpleName(), - "Something terrible happened. Clear all InCall notifications"); - - NotificationManager notificationManager = - (NotificationManager) backupContext.getSystemService(Context.NOTIFICATION_SERVICE); - notificationManager.cancel(NOTIFICATION_IN_CALL); - notificationManager.cancel(NOTIFICATION_INCOMING_CALL); - } - - /** - * Helper method for updateInCallNotification() and - * updateNotification(): Update the phone app's - * status bar notification based on the current telephony state, or - * cancels the notification if the phone is totally idle. - */ - private void updateInCallNotification(final InCallState state, CallList callList) { - Log.d(this, "updateInCallNotification..."); - - final Call call = getCallToShow(callList); - - if (call != null) { - showNotification(call); - } else { - cancelNotification(); - } - } - - private void showNotification(final Call call) { - final boolean isIncoming = (call.getState() == Call.State.INCOMING || - call.getState() == Call.State.CALL_WAITING); - if (!TextUtils.isEmpty(mCallId)) { - CallList.getInstance().removeCallUpdateListener(mCallId, this); - } - mCallId = call.getId(); - CallList.getInstance().addCallUpdateListener(call.getId(), this); - - // we make a call to the contact info cache to query for supplemental data to what the - // call provides. This includes the contact name and photo. - // This callback will always get called immediately and synchronously with whatever data - // it has available, and may make a subsequent call later (same thread) if it had to - // call into the contacts provider for more data. - mContactInfoCache.findInfo(call, isIncoming, new ContactInfoCacheCallback() { - @Override - public void onContactInfoComplete(String callId, ContactCacheEntry entry) { - Call call = CallList.getInstance().getCallById(callId); - if (call != null) { - call.getLogState().contactLookupResult = entry.contactLookupResult; - buildAndSendNotification(call, entry); - } - } - - @Override - public void onImageLoadComplete(String callId, ContactCacheEntry entry) { - Call call = CallList.getInstance().getCallById(callId); - if (call != null) { - buildAndSendNotification(call, entry); - } - } - - @Override - public void onContactInteractionsInfoComplete(String callId, ContactCacheEntry entry) {} - }); - } - - /** - * Sets up the main Ui for the notification - */ - private void buildAndSendNotification(Call originalCall, ContactCacheEntry contactInfo) { - // This can get called to update an existing notification after contact information has come - // back. However, it can happen much later. Before we continue, we need to make sure that - // the call being passed in is still the one we want to show in the notification. - final Call call = getCallToShow(CallList.getInstance()); - if (call == null || !call.getId().equals(originalCall.getId())) { - return; - } - - final int callState = call.getState(); - // Dont' show as spam if the number is in local contact. - if (contactInfo.contactLookupResult == Call.LogState.LOOKUP_LOCAL_CONTACT) { - call.setSpam(false); - } - - // Check if data has changed; if nothing is different, don't issue another notification. - final int iconResId = getIconToDisplay(call); - Bitmap largeIcon = getLargeIconToDisplay(contactInfo, call); - final String content = - getContentString(call, contactInfo.userType); - final String contentTitle = getContentTitle(contactInfo, call); - - final boolean isVideoUpgradeRequest = call.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST; - final int notificationType; - if (callState == Call.State.INCOMING || callState == Call.State.CALL_WAITING - || isVideoUpgradeRequest) { - notificationType = NOTIFICATION_INCOMING_CALL; - } else { - notificationType = NOTIFICATION_IN_CALL; - } - - if (!checkForChangeAndSaveData(iconResId, content, largeIcon, contentTitle, callState, - notificationType, contactInfo.contactRingtoneUri)) { - return; - } - - if (largeIcon != null) { - largeIcon = getRoundedIcon(largeIcon); - } - - /* - * This builder is used for the notification shown when the device is locked and the user - * has set their notification settings to 'hide sensitive content' - * {@see Notification.Builder#setPublicVersion}. - */ - Notification.Builder publicBuilder = new Notification.Builder(mContext); - publicBuilder.setSmallIcon(iconResId) - .setColor(mContext.getResources().getColor(R.color.dialer_theme_color)) - // Hide work call state for the lock screen notification - .setContentTitle(getContentString(call, ContactsUtils.USER_TYPE_CURRENT)); - setNotificationWhen(call, callState, publicBuilder); - - /* - * Builder for the notification shown when the device is unlocked or the user has set their - * notification settings to 'show all notification content'. - */ - final Notification.Builder builder = getNotificationBuilder(); - builder.setPublicVersion(publicBuilder.build()); - - // Set up the main intent to send the user to the in-call screen - builder.setContentIntent(createLaunchPendingIntent(false /* isFullScreen */)); - - // Set the intent as a full screen intent as well if a call is incoming - if (notificationType == NOTIFICATION_INCOMING_CALL - && !InCallPresenter.getInstance().isShowingInCallUi()) { - configureFullScreenIntent( - builder, createLaunchPendingIntent(true /* isFullScreen */), call); - // Set the notification category for incoming calls - builder.setCategory(Notification.CATEGORY_CALL); - } - - // Set the content - builder.setContentText(content); - builder.setSmallIcon(iconResId); - builder.setContentTitle(contentTitle); - builder.setLargeIcon(largeIcon); - builder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color)); - - if (isVideoUpgradeRequest) { - builder.setUsesChronometer(false); - addDismissUpgradeRequestAction(builder); - addAcceptUpgradeRequestAction(builder); - } else { - createIncomingCallNotification(call, callState, builder); - } - - addPersonReference(builder, contactInfo, call); - - /* - * Fire off the notification - */ - Notification notification = builder.build(); - - if (mDialerRingtoneManager.shouldPlayRingtone(callState, contactInfo.contactRingtoneUri)) { - notification.flags |= Notification.FLAG_INSISTENT; - notification.sound = contactInfo.contactRingtoneUri; - AudioAttributes.Builder audioAttributes = new AudioAttributes.Builder(); - audioAttributes.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC); - audioAttributes.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE); - notification.audioAttributes = audioAttributes.build(); - if (mDialerRingtoneManager.shouldVibrate(mContext.getContentResolver())) { - notification.vibrate = VIBRATE_PATTERN; - } - } - if (mDialerRingtoneManager.shouldPlayCallWaitingTone(callState)) { - Log.v(this, "Playing call waiting tone"); - mDialerRingtoneManager.playCallWaitingTone(); - } - if (mCurrentNotification != notificationType && mCurrentNotification != NOTIFICATION_NONE) { - Log.i(this, "Previous notification already showing - cancelling " - + mCurrentNotification); - mNotificationManager.cancel(mCurrentNotification); - } - - Log.i(this, "Displaying notification for " + notificationType); - mNotificationManager.notify(notificationType, notification); - call.getLatencyReport().onNotificationShown(); - mCurrentNotification = notificationType; - } - - private void createIncomingCallNotification( - Call call, int state, Notification.Builder builder) { - setNotificationWhen(call, state, builder); - - // Add hang up option for any active calls (active | onhold), outgoing calls (dialing). - if (state == Call.State.ACTIVE || - state == Call.State.ONHOLD || - Call.State.isDialing(state)) { - addHangupAction(builder); - } else if (state == Call.State.INCOMING || state == Call.State.CALL_WAITING) { - addDismissAction(builder); - if (call.isVideoCall(mContext)) { - addVoiceAction(builder); - addVideoCallAction(builder); - } else { - addAnswerAction(builder); - } - } - } - - /* - * Sets the notification's when section as needed. For active calls, this is explicitly set as - * the duration of the call. For all other states, the notification will automatically show the - * time at which the notification was created. - */ - private void setNotificationWhen(Call call, int state, Notification.Builder builder) { - if (state == Call.State.ACTIVE) { - builder.setUsesChronometer(true); - builder.setWhen(call.getConnectTimeMillis()); - } else { - builder.setUsesChronometer(false); - } - } - - /** - * Checks the new notification data and compares it against any notification that we - * are already displaying. If the data is exactly the same, we return false so that - * we do not issue a new notification for the exact same data. - */ - private boolean checkForChangeAndSaveData(int icon, String content, Bitmap largeIcon, - String contentTitle, int state, int notificationType, Uri ringtone) { - - // The two are different: - // if new title is not null, it should be different from saved version OR - // if new title is null, the saved version should not be null - final boolean contentTitleChanged = - (contentTitle != null && !contentTitle.equals(mSavedContentTitle)) || - (contentTitle == null && mSavedContentTitle != null); - - // any change means we are definitely updating - boolean retval = (mSavedIcon != icon) || !Objects.equals(mSavedContent, content) - || (mCallState != state) || (mSavedLargeIcon != largeIcon) - || contentTitleChanged || !Objects.equals(mRingtone, ringtone); - - // If we aren't showing a notification right now or the notification type is changing, - // definitely do an update. - if (mCurrentNotification != notificationType) { - if (mCurrentNotification == NOTIFICATION_NONE) { - Log.d(this, "Showing notification for first time."); - } - retval = true; - } - - mSavedIcon = icon; - mSavedContent = content; - mCallState = state; - mSavedLargeIcon = largeIcon; - mSavedContentTitle = contentTitle; - mRingtone = ringtone; - - if (retval) { - Log.d(this, "Data changed. Showing notification"); - } - - return retval; - } - - /** - * Returns the main string to use in the notification. - */ - @NeededForTesting - String getContentTitle(ContactCacheEntry contactInfo, Call call) { - if (call.isConferenceCall() && !call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE)) { - return mContext.getResources().getString(R.string.card_title_conf_call); - } - - String preferredName = ContactDisplayUtils.getPreferredDisplayName(contactInfo.namePrimary, - contactInfo.nameAlternative, mContactsPreferences); - if (TextUtils.isEmpty(preferredName)) { - return TextUtils.isEmpty(contactInfo.number) ? null : BidiFormatter.getInstance() - .unicodeWrap(contactInfo.number, TextDirectionHeuristics.LTR); - } - return preferredName; - } - - private void addPersonReference(Notification.Builder builder, ContactCacheEntry contactInfo, - Call call) { - // Query {@link Contacts#CONTENT_LOOKUP_URI} directly with work lookup key is not allowed. - // So, do not pass {@link Contacts#CONTENT_LOOKUP_URI} to NotificationManager to avoid - // NotificationManager using it. - if (contactInfo.lookupUri != null && contactInfo.userType != ContactsUtils.USER_TYPE_WORK) { - builder.addPerson(contactInfo.lookupUri.toString()); - } else if (!TextUtils.isEmpty(call.getNumber())) { - builder.addPerson(Uri.fromParts(PhoneAccount.SCHEME_TEL, - call.getNumber(), null).toString()); - } - } - - /** - * Gets a large icon from the contact info object to display in the notification. - */ - private Bitmap getLargeIconToDisplay(ContactCacheEntry contactInfo, Call call) { - Bitmap largeIcon = null; - if (call.isConferenceCall() && !call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE)) { - largeIcon = BitmapFactory.decodeResource(mContext.getResources(), - R.drawable.img_conference); - } - if (contactInfo.photo != null && (contactInfo.photo instanceof BitmapDrawable)) { - largeIcon = ((BitmapDrawable) contactInfo.photo).getBitmap(); - } - if (call.isSpam()) { - Drawable drawable = mContext.getResources().getDrawable(R.drawable.blocked_contact); - largeIcon = CallCardFragment.drawableToBitmap(drawable); - } - return largeIcon; - } - - private Bitmap getRoundedIcon(Bitmap bitmap) { - if (bitmap == null) { - return null; - } - final int height = (int) mContext.getResources().getDimension( - android.R.dimen.notification_large_icon_height); - final int width = (int) mContext.getResources().getDimension( - android.R.dimen.notification_large_icon_width); - return BitmapUtil.getRoundedBitmap(bitmap, width, height); - } - - /** - * Returns the appropriate icon res Id to display based on the call for which - * we want to display information. - */ - private int getIconToDisplay(Call call) { - // Even if both lines are in use, we only show a single item in - // the expanded Notifications UI. It's labeled "Ongoing call" - // (or "On hold" if there's only one call, and it's on hold.) - // Also, we don't have room to display caller-id info from two - // different calls. So if both lines are in use, display info - // from the foreground call. And if there's a ringing call, - // display that regardless of the state of the other calls. - if (call.getState() == Call.State.ONHOLD) { - return R.drawable.ic_phone_paused_white_24dp; - } else if (call.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - return R.drawable.ic_videocam; - } - return R.drawable.ic_call_white_24dp; - } - - /** - * Returns the message to use with the notification. - */ - private String getContentString(Call call, @UserType long userType) { - boolean isIncomingOrWaiting = call.getState() == Call.State.INCOMING || - call.getState() == Call.State.CALL_WAITING; - - if (isIncomingOrWaiting && - call.getNumberPresentation() == TelecomManager.PRESENTATION_ALLOWED) { - - if (!TextUtils.isEmpty(call.getChildNumber())) { - return mContext.getString(R.string.child_number, call.getChildNumber()); - } else if (!TextUtils.isEmpty(call.getCallSubject()) && call.isCallSubjectSupported()) { - return call.getCallSubject(); - } - } - - int resId = R.string.notification_ongoing_call; - if (call.hasProperty(Details.PROPERTY_WIFI)) { - resId = R.string.notification_ongoing_call_wifi; - } - - if (isIncomingOrWaiting) { - if (call.hasProperty(Details.PROPERTY_WIFI)) { - resId = R.string.notification_incoming_call_wifi; - } else { - if (call.isSpam()) { - resId = R.string.notification_incoming_spam_call; - } else { - resId = R.string.notification_incoming_call; - } - } - } else if (call.getState() == Call.State.ONHOLD) { - resId = R.string.notification_on_hold; - } else if (Call.State.isDialing(call.getState())) { - resId = R.string.notification_dialing; - } else if (call.getSessionModificationState() - == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { - resId = R.string.notification_requesting_video_call; - } - - // Is the call placed through work connection service. - boolean isWorkCall = call.hasProperty(PROPERTY_ENTERPRISE_CALL); - if(userType == ContactsUtils.USER_TYPE_WORK || isWorkCall) { - resId = getWorkStringFromPersonalString(resId); - } - - return mContext.getString(resId); - } - - private static int getWorkStringFromPersonalString(int resId) { - if (resId == R.string.notification_ongoing_call) { - return R.string.notification_ongoing_work_call; - } else if (resId == R.string.notification_ongoing_call_wifi) { - return R.string.notification_ongoing_work_call_wifi; - } else if (resId == R.string.notification_incoming_call_wifi) { - return R.string.notification_incoming_work_call_wifi; - } else if (resId == R.string.notification_incoming_call) { - return R.string.notification_incoming_work_call; - } else { - return resId; - } - } - - /** - * Gets the most relevant call to display in the notification. - */ - private Call getCallToShow(CallList callList) { - if (callList == null) { - return null; - } - Call call = callList.getIncomingCall(); - if (call == null) { - call = callList.getOutgoingCall(); - } - if (call == null) { - call = callList.getVideoUpgradeRequestCall(); - } - if (call == null) { - call = callList.getActiveOrBackgroundCall(); - } - return call; - } - - private void addAnswerAction(Notification.Builder builder) { - Log.d(this, "Will show \"answer\" action in the incoming call Notification"); - - PendingIntent answerVoicePendingIntent = createNotificationPendingIntent( - mContext, ACTION_ANSWER_VOICE_INCOMING_CALL); - builder.addAction(R.drawable.ic_call_white_24dp, - mContext.getText(R.string.notification_action_answer), - answerVoicePendingIntent); - } - - private void addDismissAction(Notification.Builder builder) { - Log.d(this, "Will show \"dismiss\" action in the incoming call Notification"); - - PendingIntent declinePendingIntent = - createNotificationPendingIntent(mContext, ACTION_DECLINE_INCOMING_CALL); - builder.addAction(R.drawable.ic_close_dk, - mContext.getText(R.string.notification_action_dismiss), - declinePendingIntent); - } - - private void addHangupAction(Notification.Builder builder) { - Log.d(this, "Will show \"hang-up\" action in the ongoing active call Notification"); - - PendingIntent hangupPendingIntent = - createNotificationPendingIntent(mContext, ACTION_HANG_UP_ONGOING_CALL); - builder.addAction(R.drawable.ic_call_end_white_24dp, - mContext.getText(R.string.notification_action_end_call), - hangupPendingIntent); - } - - private void addVideoCallAction(Notification.Builder builder) { - Log.i(this, "Will show \"video\" action in the incoming call Notification"); - - PendingIntent answerVideoPendingIntent = createNotificationPendingIntent( - mContext, ACTION_ANSWER_VIDEO_INCOMING_CALL); - builder.addAction(R.drawable.ic_videocam, - mContext.getText(R.string.notification_action_answer_video), - answerVideoPendingIntent); - } - - private void addVoiceAction(Notification.Builder builder) { - Log.d(this, "Will show \"voice\" action in the incoming call Notification"); - - PendingIntent answerVoicePendingIntent = createNotificationPendingIntent( - mContext, ACTION_ANSWER_VOICE_INCOMING_CALL); - builder.addAction(R.drawable.ic_call_white_24dp, - mContext.getText(R.string.notification_action_answer_voice), - answerVoicePendingIntent); - } - - private void addAcceptUpgradeRequestAction(Notification.Builder builder) { - Log.i(this, "Will show \"accept upgrade\" action in the incoming call Notification"); - - PendingIntent acceptVideoPendingIntent = createNotificationPendingIntent( - mContext, ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST); - builder.addAction(0, mContext.getText(R.string.notification_action_accept), - acceptVideoPendingIntent); - } - - private void addDismissUpgradeRequestAction(Notification.Builder builder) { - Log.i(this, "Will show \"dismiss upgrade\" action in the incoming call Notification"); - - PendingIntent declineVideoPendingIntent = createNotificationPendingIntent( - mContext, ACTION_DECLINE_VIDEO_UPGRADE_REQUEST); - builder.addAction(0, mContext.getText(R.string.notification_action_dismiss), - declineVideoPendingIntent); - } - - /** - * Adds fullscreen intent to the builder. - */ - private void configureFullScreenIntent(Notification.Builder builder, PendingIntent intent, - Call call) { - // Ok, we actually want to launch the incoming call - // UI at this point (in addition to simply posting a notification - // to the status bar). Setting fullScreenIntent will cause - // the InCallScreen to be launched immediately *unless* the - // current foreground activity is marked as "immersive". - Log.d(this, "- Setting fullScreenIntent: " + intent); - builder.setFullScreenIntent(intent, true); - - // Ugly hack alert: - // - // The NotificationManager has the (undocumented) behavior - // that it will *ignore* the fullScreenIntent field if you - // post a new Notification that matches the ID of one that's - // already active. Unfortunately this is exactly what happens - // when you get an incoming call-waiting call: the - // "ongoing call" notification is already visible, so the - // InCallScreen won't get launched in this case! - // (The result: if you bail out of the in-call UI while on a - // call and then get a call-waiting call, the incoming call UI - // won't come up automatically.) - // - // The workaround is to just notice this exact case (this is a - // call-waiting call *and* the InCallScreen is not in the - // foreground) and manually cancel the in-call notification - // before (re)posting it. - // - // TODO: there should be a cleaner way of avoiding this - // problem (see discussion in bug 3184149.) - - // If a call is onhold during an incoming call, the call actually comes in as - // INCOMING. For that case *and* traditional call-waiting, we want to - // cancel the notification. - boolean isCallWaiting = (call.getState() == Call.State.CALL_WAITING || - (call.getState() == Call.State.INCOMING && - CallList.getInstance().getBackgroundCall() != null)); - - if (isCallWaiting) { - Log.i(this, "updateInCallNotification: call-waiting! force relaunch..."); - // Cancel the IN_CALL_NOTIFICATION immediately before - // (re)posting it; this seems to force the - // NotificationManager to launch the fullScreenIntent. - mNotificationManager.cancel(NOTIFICATION_IN_CALL); - } - } - - private Notification.Builder getNotificationBuilder() { - final Notification.Builder builder = new Notification.Builder(mContext); - builder.setOngoing(true); - - // Make the notification prioritized over the other normal notifications. - builder.setPriority(Notification.PRIORITY_HIGH); - - return builder; - } - - private PendingIntent createLaunchPendingIntent(boolean isFullScreen) { - Intent intent = InCallPresenter.getInstance().getInCallIntent( - false /* showDialpad */, false /* newOutgoingCall */); - - int requestCode = PENDING_INTENT_REQUEST_CODE_NON_FULL_SCREEN; - if (isFullScreen) { - intent.putExtra(InCallActivity.FOR_FULL_SCREEN_INTENT, true); - // Use a unique request code so that the pending intent isn't clobbered by the - // non-full screen pending intent. - requestCode = PENDING_INTENT_REQUEST_CODE_FULL_SCREEN; - } - - // PendingIntent that can be used to launch the InCallActivity. The - // system fires off this intent if the user pulls down the windowshade - // and clicks the notification's expanded view. It's also used to - // launch the InCallActivity immediately when when there's an incoming - // call (see the "fullScreenIntent" field below). - return PendingIntent.getActivity(mContext, requestCode, intent, 0); - } - - /** - * Returns PendingIntent for answering a phone call. This will typically be used from - * Notification context. - */ - private static PendingIntent createNotificationPendingIntent(Context context, String action) { - final Intent intent = new Intent(action, null, - context, NotificationBroadcastReceiver.class); - return PendingIntent.getBroadcast(context, 0, intent, 0); - } - - @Override - public void onCallChanged(Call call) { - if (CallList.getInstance().getIncomingCall() == null) { - mDialerRingtoneManager.stopCallWaitingTone(); - } - } - - /** - * Responds to changes in the session modification state for the call by dismissing the - * status bar notification as required. - * - * @param sessionModificationState The new session modification state. - */ - @Override - public void onSessionModificationStateChange(int sessionModificationState) { - if (sessionModificationState == Call.SessionModificationState.NO_REQUEST) { - if (mCallId != null) { - CallList.getInstance().removeCallUpdateListener(mCallId, this); - } - - updateNotification(mInCallState, CallList.getInstance()); - } - } - - @Override - public void onLastForwardedNumberChange() { - // no-op - } - - @Override - public void onChildNumberChange() { - // no-op - } -} diff --git a/InCallUI/src/com/android/incallui/TelecomAdapter.java b/InCallUI/src/com/android/incallui/TelecomAdapter.java deleted file mode 100644 index f172270dd..000000000 --- a/InCallUI/src/com/android/incallui/TelecomAdapter.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (C) 2014 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 com.google.common.base.Preconditions; - -import android.content.ActivityNotFoundException; -import android.content.Intent; -import android.os.Looper; -import android.telecom.InCallService; -import android.telecom.PhoneAccountHandle; - -import java.util.List; - -final class TelecomAdapter implements InCallServiceListener { - private static final String ADD_CALL_MODE_KEY = "add_call_mode"; - - private static TelecomAdapter sInstance; - private InCallService mInCallService; - - static TelecomAdapter getInstance() { - Preconditions.checkState(Looper.getMainLooper().getThread() == Thread.currentThread()); - if (sInstance == null) { - sInstance = new TelecomAdapter(); - } - return sInstance; - } - - private TelecomAdapter() { - } - - @Override - public void setInCallService(InCallService inCallService) { - mInCallService = inCallService; - } - - @Override - public void clearInCallService() { - mInCallService = null; - } - - private android.telecom.Call getTelecomCallById(String callId) { - Call call = CallList.getInstance().getCallById(callId); - return call == null ? null : call.getTelecomCall(); - } - - void answerCall(String callId, int videoState) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.answer(videoState); - } else { - Log.e(this, "error answerCall, call not in call list: " + callId); - } - } - - void rejectCall(String callId, boolean rejectWithMessage, String message) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.reject(rejectWithMessage, message); - } else { - Log.e(this, "error rejectCall, call not in call list: " + callId); - } - } - - void disconnectCall(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.disconnect(); - } else { - Log.e(this, "error disconnectCall, call not in call list " + callId); - } - } - - void holdCall(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.hold(); - } else { - Log.e(this, "error holdCall, call not in call list " + callId); - } - } - - void unholdCall(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.unhold(); - } else { - Log.e(this, "error unholdCall, call not in call list " + callId); - } - } - - void mute(boolean shouldMute) { - if (mInCallService != null) { - mInCallService.setMuted(shouldMute); - } else { - Log.e(this, "error mute, mInCallService is null"); - } - } - - void setAudioRoute(int route) { - if (mInCallService != null) { - mInCallService.setAudioRoute(route); - } else { - Log.e(this, "error setAudioRoute, mInCallService is null"); - } - } - - void separateCall(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.splitFromConference(); - } else { - Log.e(this, "error separateCall, call not in call list " + callId); - } - } - - void merge(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - List<android.telecom.Call> conferenceable = call.getConferenceableCalls(); - if (!conferenceable.isEmpty()) { - call.conference(conferenceable.get(0)); - } else { - if (call.getDetails().can(android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE)) { - call.mergeConference(); - } - } - } else { - Log.e(this, "error merge, call not in call list " + callId); - } - } - - void swap(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - if (call.getDetails().can(android.telecom.Call.Details.CAPABILITY_SWAP_CONFERENCE)) { - call.swapConference(); - } - } else { - Log.e(this, "error swap, call not in call list " + callId); - } - } - - void addCall() { - if (mInCallService != null) { - Intent intent = new Intent(Intent.ACTION_DIAL); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - // when we request the dialer come up, we also want to inform - // it that we're going through the "add call" option from the - // InCallScreen / PhoneUtils. - intent.putExtra(ADD_CALL_MODE_KEY, true); - try { - Log.d(this, "Sending the add Call intent"); - mInCallService.startActivity(intent); - } catch (ActivityNotFoundException e) { - // This is rather rare but possible. - // Note: this method is used even when the phone is encrypted. At that moment - // the system may not find any Activity which can accept this Intent. - Log.e(this, "Activity for adding calls isn't found.", e); - } - } - } - - void playDtmfTone(String callId, char digit) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.playDtmfTone(digit); - } else { - Log.e(this, "error playDtmfTone, call not in call list " + callId); - } - } - - void stopDtmfTone(String callId) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.stopDtmfTone(); - } else { - Log.e(this, "error stopDtmfTone, call not in call list " + callId); - } - } - - void postDialContinue(String callId, boolean proceed) { - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.postDialContinue(proceed); - } else { - Log.e(this, "error postDialContinue, call not in call list " + callId); - } - } - - void phoneAccountSelected(String callId, PhoneAccountHandle accountHandle, boolean setDefault) { - if (accountHandle == null) { - Log.e(this, "error phoneAccountSelected, accountHandle is null"); - // TODO: Do we really want to send null accountHandle? - } - - android.telecom.Call call = getTelecomCallById(callId); - if (call != null) { - call.phoneAccountSelected(accountHandle, setDefault); - } else { - Log.e(this, "error phoneAccountSelected, call not in call list " + callId); - } - } - - boolean canAddCall() { - if (mInCallService != null) { - return mInCallService.canAddCall(); - } - return false; - } -} diff --git a/InCallUI/src/com/android/incallui/Ui.java b/InCallUI/src/com/android/incallui/Ui.java deleted file mode 100644 index e453ccb1c..000000000 --- a/InCallUI/src/com/android/incallui/Ui.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * 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; - -/** - * Base class for all presenter ui. - */ -public interface Ui { - -} diff --git a/InCallUI/src/com/android/incallui/VideoCallFragment.java b/InCallUI/src/com/android/incallui/VideoCallFragment.java deleted file mode 100644 index 6a46a423d..000000000 --- a/InCallUI/src/com/android/incallui/VideoCallFragment.java +++ /dev/null @@ -1,901 +0,0 @@ -/* - * Copyright (C) 2014 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.graphics.Matrix; -import android.graphics.Point; -import android.graphics.SurfaceTexture; -import android.os.Bundle; -import android.view.Display; -import android.view.LayoutInflater; -import android.view.Surface; -import android.view.TextureView; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewStub; -import android.view.ViewTreeObserver; -import android.widget.FrameLayout; -import android.widget.ImageView; - -import com.android.dialer.R; -import com.android.phone.common.animation.AnimUtils; -import com.google.common.base.Objects; - -/** - * Fragment containing video calling surfaces. - */ -public class VideoCallFragment extends BaseFragment<VideoCallPresenter, - VideoCallPresenter.VideoCallUi> implements VideoCallPresenter.VideoCallUi { - private static final String TAG = VideoCallFragment.class.getSimpleName(); - private static final boolean DEBUG = false; - - /** - * Used to indicate that the surface dimensions are not set. - */ - private static final int DIMENSIONS_NOT_SET = -1; - - /** - * Surface ID for the display surface. - */ - public static final int SURFACE_DISPLAY = 1; - - /** - * Surface ID for the preview surface. - */ - public static final int SURFACE_PREVIEW = 2; - - /** - * Used to indicate that the UI rotation is unknown. - */ - public static final int ORIENTATION_UNKNOWN = -1; - - // Static storage used to retain the video surfaces across Activity restart. - // TextureViews are not parcelable, so it is not possible to store them in the saved state. - private static boolean sVideoSurfacesInUse = false; - private static VideoCallSurface sPreviewSurface = null; - private static VideoCallSurface sDisplaySurface = null; - private static Point sDisplaySize = null; - - /** - * {@link ViewStub} holding the video call surfaces. This is the parent for the - * {@link VideoCallFragment}. Used to ensure that the video surfaces are only inflated when - * required. - */ - private ViewStub mVideoViewsStub; - - /** - * Inflated view containing the video call surfaces represented by the {@link ViewStub}. - */ - private View mVideoViews; - - /** - * The {@link FrameLayout} containing the preview surface. - */ - private View mPreviewVideoContainer; - - /** - * Icon shown to indicate that the outgoing camera has been turned off. - */ - private View mCameraOff; - - /** - * {@link ImageView} containing the user's profile photo. - */ - private ImageView mPreviewPhoto; - - /** - * {@code True} when the layout of the activity has been completed. - */ - private boolean mIsLayoutComplete = false; - - /** - * {@code True} if in landscape mode. - */ - private boolean mIsLandscape; - - private int mAnimationDuration; - - /** - * Inner-class representing a {@link TextureView} and its associated {@link SurfaceTexture} and - * {@link Surface}. Used to manage the lifecycle of these objects across device orientation - * changes. - */ - private static class VideoCallSurface implements TextureView.SurfaceTextureListener, - View.OnClickListener, View.OnAttachStateChangeListener { - private int mSurfaceId; - private VideoCallPresenter mPresenter; - private TextureView mTextureView; - private SurfaceTexture mSavedSurfaceTexture; - private Surface mSavedSurface; - private boolean mIsDoneWithSurface; - private int mWidth = DIMENSIONS_NOT_SET; - private int mHeight = DIMENSIONS_NOT_SET; - - /** - * Creates an instance of a {@link VideoCallSurface}. - * - * @param surfaceId The surface ID of the surface. - * @param textureView The {@link TextureView} for the surface. - */ - public VideoCallSurface(VideoCallPresenter presenter, int surfaceId, - TextureView textureView) { - this(presenter, surfaceId, textureView, DIMENSIONS_NOT_SET, DIMENSIONS_NOT_SET); - } - - /** - * Creates an instance of a {@link VideoCallSurface}. - * - * @param surfaceId The surface ID of the surface. - * @param textureView The {@link TextureView} for the surface. - * @param width The width of the surface. - * @param height The height of the surface. - */ - public VideoCallSurface(VideoCallPresenter presenter,int surfaceId, TextureView textureView, - int width, int height) { - Log.d(this, "VideoCallSurface: surfaceId=" + surfaceId + - " width=" + width + " height=" + height); - mPresenter = presenter; - mWidth = width; - mHeight = height; - mSurfaceId = surfaceId; - - recreateView(textureView); - } - - /** - * Recreates a {@link VideoCallSurface} after a device orientation change. Re-applies the - * saved {@link SurfaceTexture} to the - * - * @param view The {@link TextureView}. - */ - public void recreateView(TextureView view) { - if (DEBUG) { - Log.i(TAG, "recreateView: " + view); - } - - if (mTextureView == view) { - return; - } - - mTextureView = view; - mTextureView.setSurfaceTextureListener(this); - mTextureView.setOnClickListener(this); - - final boolean areSameSurfaces = - Objects.equal(mSavedSurfaceTexture, mTextureView.getSurfaceTexture()); - Log.d(this, "recreateView: SavedSurfaceTexture=" + mSavedSurfaceTexture - + " areSameSurfaces=" + areSameSurfaces); - if (mSavedSurfaceTexture != null && !areSameSurfaces) { - mTextureView.setSurfaceTexture(mSavedSurfaceTexture); - if (createSurface(mWidth, mHeight)) { - onSurfaceCreated(); - } - } - mIsDoneWithSurface = false; - } - - public void resetPresenter(VideoCallPresenter presenter) { - Log.d(this, "resetPresenter: CurrentPresenter=" + mPresenter + " NewPresenter=" - + presenter); - mPresenter = presenter; - } - - /** - * Handles {@link SurfaceTexture} callback to indicate that a {@link SurfaceTexture} has - * been successfully created. - * - * @param surfaceTexture The {@link SurfaceTexture} which has been created. - * @param width The width of the {@link SurfaceTexture}. - * @param height The height of the {@link SurfaceTexture}. - */ - @Override - public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, - int height) { - boolean surfaceCreated; - if (DEBUG) { - Log.i(TAG, "onSurfaceTextureAvailable: " + surfaceTexture); - } - // Where there is no saved {@link SurfaceTexture} available, use the newly created one. - // If a saved {@link SurfaceTexture} is available, we are re-creating after an - // orientation change. - Log.d(this, " onSurfaceTextureAvailable mSurfaceId=" + mSurfaceId + " surfaceTexture=" - + surfaceTexture + " width=" + width - + " height=" + height + " mSavedSurfaceTexture=" + mSavedSurfaceTexture); - Log.d(this, " onSurfaceTextureAvailable VideoCallPresenter=" + mPresenter); - if (mSavedSurfaceTexture == null) { - mSavedSurfaceTexture = surfaceTexture; - surfaceCreated = createSurface(width, height); - } else { - // A saved SurfaceTexture was found. - Log.d(this, " onSurfaceTextureAvailable: Replacing with cached surface..."); - mTextureView.setSurfaceTexture(mSavedSurfaceTexture); - surfaceCreated = true; - } - - // Inform presenter that the surface is available. - if (surfaceCreated) { - onSurfaceCreated(); - } - } - - private void onSurfaceCreated() { - if (mPresenter != null) { - mPresenter.onSurfaceCreated(mSurfaceId); - } else { - Log.e(this, "onSurfaceTextureAvailable: Presenter is null"); - } - } - - /** - * Handles a change in the {@link SurfaceTexture}'s size. - * - * @param surfaceTexture The {@link SurfaceTexture}. - * @param width The new width. - * @param height The new height. - */ - @Override - public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width, - int height) { - // Not handled - } - - /** - * Handles {@link SurfaceTexture} destruct callback, indicating that it has been destroyed. - * - * @param surfaceTexture The {@link SurfaceTexture}. - * @return {@code True} if the {@link TextureView} can release the {@link SurfaceTexture}. - */ - @Override - public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) { - /** - * Destroying the surface texture; inform the presenter so it can null the surfaces. - */ - Log.d(this, " onSurfaceTextureDestroyed mSurfaceId=" + mSurfaceId + " surfaceTexture=" - + surfaceTexture + " SavedSurfaceTexture=" + mSavedSurfaceTexture - + " SavedSurface=" + mSavedSurface); - Log.d(this, " onSurfaceTextureDestroyed VideoCallPresenter=" + mPresenter); - - // Notify presenter if it is not null. - onSurfaceDestroyed(); - - if (mIsDoneWithSurface) { - onSurfaceReleased(); - if (mSavedSurface != null) { - mSavedSurface.release(); - mSavedSurface = null; - } - } - return mIsDoneWithSurface; - } - - private void onSurfaceDestroyed() { - if (mPresenter != null) { - mPresenter.onSurfaceDestroyed(mSurfaceId); - } else { - Log.e(this, "onSurfaceTextureDestroyed: Presenter is null."); - } - } - - /** - * Handles {@link SurfaceTexture} update callback. - * @param surface - */ - @Override - public void onSurfaceTextureUpdated(SurfaceTexture surface) { - // Not Handled - } - - @Override - public void onViewAttachedToWindow(View v) { - if (DEBUG) { - Log.i(TAG, "OnViewAttachedToWindow"); - } - if (mSavedSurfaceTexture != null) { - mTextureView.setSurfaceTexture(mSavedSurfaceTexture); - } - } - - @Override - public void onViewDetachedFromWindow(View v) {} - - /** - * Retrieves the current {@link TextureView}. - * - * @return The {@link TextureView}. - */ - public TextureView getTextureView() { - return mTextureView; - } - - /** - * Called by the user presenter to indicate that the surface is no longer required due to a - * change in video state. Releases and clears out the saved surface and surface textures. - */ - public void setDoneWithSurface() { - Log.d(this, "setDoneWithSurface: SavedSurface=" + mSavedSurface - + " SavedSurfaceTexture=" + mSavedSurfaceTexture); - mIsDoneWithSurface = true; - if (mTextureView != null && mTextureView.isAvailable()) { - return; - } - - if (mSavedSurface != null) { - onSurfaceReleased(); - mSavedSurface.release(); - mSavedSurface = null; - } - if (mSavedSurfaceTexture != null) { - mSavedSurfaceTexture.release(); - mSavedSurfaceTexture = null; - } - } - - private void onSurfaceReleased() { - if (mPresenter != null) { - mPresenter.onSurfaceReleased(mSurfaceId); - } else { - Log.d(this, "setDoneWithSurface: Presenter is null."); - } - } - - /** - * Retrieves the saved surface instance. - * - * @return The surface. - */ - public Surface getSurface() { - return mSavedSurface; - } - - /** - * Sets the dimensions of the surface. - * - * @param width The width of the surface, in pixels. - * @param height The height of the surface, in pixels. - */ - public void setSurfaceDimensions(int width, int height) { - Log.d(this, "setSurfaceDimensions, width=" + width + " height=" + height); - mWidth = width; - mHeight = height; - - if (width != DIMENSIONS_NOT_SET && height != DIMENSIONS_NOT_SET - && mSavedSurfaceTexture != null) { - Log.d(this, "setSurfaceDimensions, mSavedSurfaceTexture is NOT equal to null."); - mSavedSurfaceTexture.setDefaultBufferSize(width, height); - } - } - - /** - * Creates the {@link Surface}, adjusting the {@link SurfaceTexture} buffer size. - * @param width The width of the surface to create. - * @param height The height of the surface to create. - */ - private boolean createSurface(int width, int height) { - Log.d(this, "createSurface mSavedSurfaceTexture=" + mSavedSurfaceTexture - + " mSurfaceId =" + mSurfaceId + " mWidth " + width + " mHeight=" + height); - if (width != DIMENSIONS_NOT_SET && height != DIMENSIONS_NOT_SET - && mSavedSurfaceTexture != null) { - mSavedSurfaceTexture.setDefaultBufferSize(width, height); - mSavedSurface = new Surface(mSavedSurfaceTexture); - return true; - } - return false; - } - - /** - * Handles a user clicking the surface, which is the trigger to toggle the full screen - * Video UI. - * - * @param view The view receiving the click. - */ - @Override - public void onClick(View view) { - if (mPresenter != null) { - mPresenter.onSurfaceClick(mSurfaceId); - } else { - Log.e(this, "onClick: Presenter is null."); - } - } - - /** - * Returns the dimensions of the surface. - * - * @return The dimensions of the surface. - */ - public Point getSurfaceDimensions() { - return new Point(mWidth, mHeight); - } - }; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - mAnimationDuration = getResources().getInteger(R.integer.video_animation_duration); - } - - /** - * Handles creation of the activity and initialization of the presenter. - * - * @param savedInstanceState The saved instance state. - */ - @Override - public void onActivityCreated(Bundle savedInstanceState) { - mIsLandscape = getResources().getBoolean(R.bool.is_layout_landscape); - Log.d(this, "onActivityCreated: IsLandscape=" + mIsLandscape); - getPresenter().init(getActivity()); - - super.onActivityCreated(savedInstanceState); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - super.onCreateView(inflater, container, savedInstanceState); - - final View view = inflater.inflate(R.layout.video_call_fragment, container, false); - - return view; - } - - /** - * Centers the display view vertically for portrait orientations. The view is centered within - * the available space not occupied by the call card. This is a no-op for landscape mode. - * - * @param displayVideo The video view to center. - */ - private void centerDisplayView(View displayVideo) { - if (!mIsLandscape) { - ViewGroup.LayoutParams p = displayVideo.getLayoutParams(); - int height = p.height; - - float spaceBesideCallCard = InCallPresenter.getInstance().getSpaceBesideCallCard(); - // If space beside call card is zeo, layout hasn't happened yet so there is no point - // in attempting to center the view. - if (Math.abs(spaceBesideCallCard - 0.0f) < 0.0001) { - return; - } - float videoViewTranslation = height / 2 - spaceBesideCallCard / 2; - displayVideo.setTranslationY(videoViewTranslation); - } - } - - /** - * After creation of the fragment view, retrieves the required views. - * - * @param view The fragment view. - * @param savedInstanceState The saved instance state. - */ - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - Log.d(this, "onViewCreated: VideoSurfacesInUse=" + sVideoSurfacesInUse); - - mVideoViewsStub = (ViewStub) view.findViewById(R.id.videoCallViewsStub); - } - - @Override - public void onStop() { - super.onStop(); - Log.d(this, "onStop:"); - } - - @Override - public void onPause() { - super.onPause(); - Log.d(this, "onPause:"); - getPresenter().cancelAutoFullScreen(); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - Log.d(this, "onDestroyView:"); - } - - /** - * Creates the presenter for the {@link VideoCallFragment}. - * @return The presenter instance. - */ - @Override - public VideoCallPresenter createPresenter() { - Log.d(this, "createPresenter"); - VideoCallPresenter presenter = new VideoCallPresenter(); - onPresenterChanged(presenter); - return presenter; - } - - /** - * @return The user interface for the presenter, which is this fragment. - */ - @Override - public VideoCallPresenter.VideoCallUi getUi() { - return this; - } - - /** - * Inflate video surfaces. - * - * @param show {@code True} if the video surfaces should be shown. - */ - private void inflateVideoUi(boolean show) { - int visibility = show ? View.VISIBLE : View.GONE; - getView().setVisibility(visibility); - - if (show) { - inflateVideoCallViews(); - } - - if (mVideoViews != null) { - mVideoViews.setVisibility(visibility); - } - } - - /** - * Hides and shows the incoming video view and changes the outgoing video view's state based on - * whether outgoing view is enabled or not. - */ - @Override - public void showVideoViews(boolean previewPaused, boolean showIncoming) { - inflateVideoUi(true); - - View incomingVideoView = mVideoViews.findViewById(R.id.incomingVideo); - if (incomingVideoView != null) { - incomingVideoView.setVisibility(showIncoming ? View.VISIBLE : View.INVISIBLE); - } - if (mCameraOff != null) { - mCameraOff.setVisibility(!previewPaused ? View.VISIBLE : View.INVISIBLE); - } - if (mPreviewPhoto != null) { - mPreviewPhoto.setVisibility(!previewPaused ? View.VISIBLE : View.INVISIBLE); - } - } - - /** - * Hide all video views. - */ - @Override - public void hideVideoUi() { - inflateVideoUi(false); - } - - /** - * Cleans up the video telephony surfaces. Used when the presenter indicates a change to an - * audio-only state. Since the surfaces are static, it is important to ensure they are cleaned - * up promptly. - */ - @Override - public void cleanupSurfaces() { - Log.d(this, "cleanupSurfaces"); - if (sDisplaySurface != null) { - sDisplaySurface.setDoneWithSurface(); - sDisplaySurface = null; - } - if (sPreviewSurface != null) { - sPreviewSurface.setDoneWithSurface(); - sPreviewSurface = null; - } - sVideoSurfacesInUse = false; - } - - @Override - public ImageView getPreviewPhotoView() { - return mPreviewPhoto; - } - - /** - * Adjusts the location of the video preview view by the specified offset. - * - * @param shiftUp {@code true} if the preview should shift up, {@code false} if it should shift - * down. - * @param offset The offset. - */ - @Override - public void adjustPreviewLocation(boolean shiftUp, int offset) { - if (sPreviewSurface == null || mPreviewVideoContainer == null) { - return; - } - - // Set the position of the secondary call info card to its starting location. - mPreviewVideoContainer.setTranslationY(shiftUp ? 0 : -offset); - - // Animate the secondary card info slide up/down as it appears and disappears. - mPreviewVideoContainer.animate() - .setInterpolator(AnimUtils.EASE_OUT_EASE_IN) - .setDuration(mAnimationDuration) - .translationY(shiftUp ? -offset : 0) - .start(); - } - - private void onPresenterChanged(VideoCallPresenter presenter) { - Log.d(this, "onPresenterChanged: Presenter=" + presenter); - if (sDisplaySurface != null) { - sDisplaySurface.resetPresenter(presenter);; - } - if (sPreviewSurface != null) { - sPreviewSurface.resetPresenter(presenter); - } - } - - /** - * @return {@code True} if the display video surface has been created. - */ - @Override - public boolean isDisplayVideoSurfaceCreated() { - boolean ret = sDisplaySurface != null && sDisplaySurface.getSurface() != null; - Log.d(this, " isDisplayVideoSurfaceCreated returns " + ret); - return ret; - } - - /** - * @return {@code True} if the preview video surface has been created. - */ - @Override - public boolean isPreviewVideoSurfaceCreated() { - boolean ret = sPreviewSurface != null && sPreviewSurface.getSurface() != null; - Log.d(this, " isPreviewVideoSurfaceCreated returns " + ret); - return ret; - } - - /** - * {@link android.view.Surface} on which incoming video for a video call is displayed. - * {@code Null} until the video views {@link android.view.ViewStub} is inflated. - */ - @Override - public Surface getDisplayVideoSurface() { - return sDisplaySurface == null ? null : sDisplaySurface.getSurface(); - } - - /** - * {@link android.view.Surface} on which a preview of the outgoing video for a video call is - * displayed. {@code Null} until the video views {@link android.view.ViewStub} is inflated. - */ - @Override - public Surface getPreviewVideoSurface() { - return sPreviewSurface == null ? null : sPreviewSurface.getSurface(); - } - - /** - * Changes the dimensions of the preview surface. Called when the dimensions change due to a - * device orientation change. - * - * @param width The new width. - * @param height The new height. - */ - @Override - public void setPreviewSize(int width, int height) { - Log.d(this, "setPreviewSize: width=" + width + " height=" + height); - if (sPreviewSurface != null) { - TextureView preview = sPreviewSurface.getTextureView(); - - if (preview == null ) { - return; - } - - // Set the dimensions of both the video surface and the FrameLayout containing it. - ViewGroup.LayoutParams params = preview.getLayoutParams(); - params.width = width; - params.height = height; - preview.setLayoutParams(params); - - if (mPreviewVideoContainer != null) { - ViewGroup.LayoutParams containerParams = mPreviewVideoContainer.getLayoutParams(); - containerParams.width = width; - containerParams.height = height; - mPreviewVideoContainer.setLayoutParams(containerParams); - } - - // The width and height are interchanged outside of this method based on the current - // orientation, so we can transform using "width", which will be either the width or - // the height. - Matrix transform = new Matrix(); - transform.setScale(-1, 1, width/2, 0); - preview.setTransform(transform); - } - } - - /** - * Sets the rotation of the preview surface. Called when the dimensions change due to a - * device orientation change. - * - * Please note that the screen orientation passed in is subtracted from 360 to get the actual - * preview rotation values. - * - * @param rotation The screen orientation. One of - - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_0}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_90}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_180}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_270}). - */ - @Override - public void setPreviewRotation(int orientation) { - Log.d(this, "setPreviewRotation: orientation=" + orientation); - if (sPreviewSurface != null) { - TextureView preview = sPreviewSurface.getTextureView(); - - if (preview == null ) { - return; - } - - preview.setRotation(orientation); - } - } - - @Override - public void setPreviewSurfaceSize(int width, int height) { - final boolean isPreviewSurfaceAvailable = sPreviewSurface != null; - Log.d(this, "setPreviewSurfaceSize: width=" + width + " height=" + height + - " isPreviewSurfaceAvailable=" + isPreviewSurfaceAvailable); - if (isPreviewSurfaceAvailable) { - sPreviewSurface.setSurfaceDimensions(width, height); - } - } - - /** - * returns UI's current orientation. - */ - @Override - public int getCurrentRotation() { - try { - return getActivity().getWindowManager().getDefaultDisplay().getRotation(); - } catch (Exception e) { - Log.e(this, "getCurrentRotation: Retrieving current rotation failed. Ex=" + e); - } - return ORIENTATION_UNKNOWN; - } - - /** - * Changes the dimensions of the display video surface. Called when the dimensions change due to - * a peer resolution update - * - * @param width The new width. - * @param height The new height. - */ - @Override - public void setDisplayVideoSize(int width, int height) { - Log.v(this, "setDisplayVideoSize: width=" + width + " height=" + height); - if (sDisplaySurface != null) { - TextureView displayVideo = sDisplaySurface.getTextureView(); - if (displayVideo == null) { - Log.e(this, "Display Video texture view is null. Bail out"); - return; - } - sDisplaySize = new Point(width, height); - setSurfaceSizeAndTranslation(displayVideo, sDisplaySize); - } else { - Log.e(this, "Display Video Surface is null. Bail out"); - } - } - - /** - * Determines the size of the device screen. - * - * @return {@link Point} specifying the width and height of the screen. - */ - @Override - public Point getScreenSize() { - // Get current screen size. - Display display = getActivity().getWindowManager().getDefaultDisplay(); - Point size = new Point(); - display.getSize(size); - - return size; - } - - /** - * Determines the size of the preview surface. - * - * @return {@link Point} specifying the width and height of the preview surface. - */ - @Override - public Point getPreviewSize() { - if (sPreviewSurface == null) { - return null; - } - return sPreviewSurface.getSurfaceDimensions(); - } - - /** - * Inflates the {@link ViewStub} containing the incoming and outgoing surfaces, if necessary, - * and creates {@link VideoCallSurface} instances to track the surfaces. - */ - private void inflateVideoCallViews() { - Log.d(this, "inflateVideoCallViews"); - if (mVideoViews == null ) { - mVideoViews = mVideoViewsStub.inflate(); - } - - if (mVideoViews != null) { - mPreviewVideoContainer = mVideoViews.findViewById(R.id.previewVideoContainer); - mCameraOff = mVideoViews.findViewById(R.id.previewCameraOff); - mPreviewPhoto = (ImageView) mVideoViews.findViewById(R.id.previewProfilePhoto); - - TextureView displaySurface = (TextureView) mVideoViews.findViewById(R.id.incomingVideo); - - Log.d(this, "inflateVideoCallViews: sVideoSurfacesInUse=" + sVideoSurfacesInUse); - //If peer adjusted screen size is not available, set screen size to default display size - Point screenSize = sDisplaySize == null ? getScreenSize() : sDisplaySize; - setSurfaceSizeAndTranslation(displaySurface, screenSize); - - if (!sVideoSurfacesInUse) { - // Where the video surfaces are not already in use (first time creating them), - // setup new VideoCallSurface instances to track them. - Log.d(this, " inflateVideoCallViews screenSize" + screenSize); - - sDisplaySurface = new VideoCallSurface(getPresenter(), SURFACE_DISPLAY, - (TextureView) mVideoViews.findViewById(R.id.incomingVideo), screenSize.x, - screenSize.y); - sPreviewSurface = new VideoCallSurface(getPresenter(), SURFACE_PREVIEW, - (TextureView) mVideoViews.findViewById(R.id.previewVideo)); - sVideoSurfacesInUse = true; - } else { - // In this case, the video surfaces are already in use (we are recreating the - // Fragment after a destroy/create cycle resulting from a rotation. - sDisplaySurface.recreateView((TextureView) mVideoViews.findViewById( - R.id.incomingVideo)); - sPreviewSurface.recreateView((TextureView) mVideoViews.findViewById( - R.id.previewVideo)); - } - - // Attempt to center the incoming video view, if it is in the layout. - final ViewTreeObserver observer = mVideoViews.getViewTreeObserver(); - observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - // Check if the layout includes the incoming video surface -- this will only be the - // case for a video call. - View displayVideo = mVideoViews.findViewById(R.id.incomingVideo); - if (displayVideo != null) { - centerDisplayView(displayVideo); - } - mIsLayoutComplete = true; - - // Remove the listener so we don't continually re-layout. - ViewTreeObserver observer = mVideoViews.getViewTreeObserver(); - if (observer.isAlive()) { - observer.removeOnGlobalLayoutListener(this); - } - } - }); - } - } - - /** - * Resizes a surface so that it has the same size as the full screen and so that it is - * centered vertically below the call card. - * - * @param textureView The {@link TextureView} to resize and position. - * @param size The size of the screen. - */ - private void setSurfaceSizeAndTranslation(TextureView textureView, Point size) { - // Set the surface to have that size. - ViewGroup.LayoutParams params = textureView.getLayoutParams(); - params.width = size.x; - params.height = size.y; - textureView.setLayoutParams(params); - Log.d(this, "setSurfaceSizeAndTranslation: Size=" + size + "IsLayoutComplete=" + - mIsLayoutComplete + "IsLandscape=" + mIsLandscape); - - // It is only possible to center the display view if layout of the views has completed. - // It is only after layout is complete that the dimensions of the Call Card has been - // established, which is a prerequisite to centering the view. - // Incoming video calls will center the view - if (mIsLayoutComplete) { - centerDisplayView(textureView); - } - } -} diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java deleted file mode 100644 index 06e3e4440..000000000 --- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java +++ /dev/null @@ -1,1306 +0,0 @@ -/* - * Copyright (C) 2014 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.content.Context; -import android.database.Cursor; -import android.graphics.Point; -import android.net.Uri; -import android.os.AsyncTask; -import android.os.Handler; -import android.os.Looper; -import android.provider.ContactsContract; -import android.telecom.Connection; -import android.telecom.InCallService.VideoCall; -import android.telecom.VideoProfile; -import android.telecom.VideoProfile.CameraCapabilities; -import android.view.Surface; -import android.widget.ImageView; - -import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.compat.CompatUtils; -import com.android.dialer.R; -import com.android.incallui.InCallPresenter.InCallDetailsListener; -import com.android.incallui.InCallPresenter.InCallOrientationListener; -import com.android.incallui.InCallPresenter.InCallStateListener; -import com.android.incallui.InCallPresenter.IncomingCallListener; -import com.android.incallui.InCallVideoCallCallbackNotifier.SurfaceChangeListener; -import com.android.incallui.InCallVideoCallCallbackNotifier.VideoEventListener; - -import java.util.Objects; - -/** - * Logic related to the {@link VideoCallFragment} and for managing changes to the video calling - * surfaces based on other user interface events and incoming events from the - * {@class VideoCallListener}. - * <p> - * When a call's video state changes to bi-directional video, the - * {@link com.android.incallui.VideoCallPresenter} performs the following negotiation with the - * telephony layer: - * <ul> - * <li>{@code VideoCallPresenter} creates and informs telephony of the display surface.</li> - * <li>{@code VideoCallPresenter} creates the preview surface.</li> - * <li>{@code VideoCallPresenter} informs telephony of the currently selected camera.</li> - * <li>Telephony layer sends {@link CameraCapabilities}, including the - * dimensions of the video for the current camera.</li> - * <li>{@code VideoCallPresenter} adjusts size of the preview surface to match the aspect - * ratio of the camera.</li> - * <li>{@code VideoCallPresenter} informs telephony of the new preview surface.</li> - * </ul> - * <p> - * When downgrading to an audio-only video state, the {@code VideoCallPresenter} nulls both - * surfaces. - */ -public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi> implements - IncomingCallListener, InCallOrientationListener, InCallStateListener, - InCallDetailsListener, SurfaceChangeListener, VideoEventListener, - InCallPresenter.InCallEventListener { - public static final String TAG = "VideoCallPresenter"; - - public static final boolean DEBUG = false; - - /** - * Runnable which is posted to schedule automatically entering fullscreen mode. Will not auto - * enter fullscreen mode if the dialpad is visible (doing so would make it impossible to exit - * the dialpad). - */ - private Runnable mAutoFullscreenRunnable = new Runnable() { - @Override - public void run() { - if (mAutoFullScreenPending && !InCallPresenter.getInstance().isDialpadVisible() - && mIsVideoMode) { - - Log.v(this, "Automatically entering fullscreen mode."); - InCallPresenter.getInstance().setFullScreen(true); - mAutoFullScreenPending = false; - } else { - Log.v(this, "Skipping scheduled fullscreen mode."); - } - } - }; - - /** - * Defines the state of the preview surface negotiation with the telephony layer. - */ - private class PreviewSurfaceState { - /** - * The camera has not yet been set on the {@link VideoCall}; negotiation has not yet - * started. - */ - private static final int NONE = 0; - - /** - * The camera has been set on the {@link VideoCall}, but camera capabilities have not yet - * been received. - */ - private static final int CAMERA_SET = 1; - - /** - * The camera capabilties have been received from telephony, but the surface has not yet - * been set on the {@link VideoCall}. - */ - private static final int CAPABILITIES_RECEIVED = 2; - - /** - * The surface has been set on the {@link VideoCall}. - */ - private static final int SURFACE_SET = 3; - } - - /** - * The minimum width or height of the preview surface. Used when re-sizing the preview surface - * to match the aspect ratio of the currently selected camera. - */ - private float mMinimumVideoDimension; - - /** - * The current context. - */ - private Context mContext; - - /** - * The call the video surfaces are currently related to - */ - private Call mPrimaryCall; - - /** - * The {@link VideoCall} used to inform the video telephony layer of changes to the video - * surfaces. - */ - private VideoCall mVideoCall; - - /** - * Determines if the current UI state represents a video call. - */ - private int mCurrentVideoState; - - /** - * Call's current state - */ - private int mCurrentCallState = Call.State.INVALID; - - /** - * Determines the device orientation (portrait/lanscape). - */ - private int mDeviceOrientation = InCallOrientationEventListener.SCREEN_ORIENTATION_0; - - /** - * Tracks the state of the preview surface negotiation with the telephony layer. - */ - private int mPreviewSurfaceState = PreviewSurfaceState.NONE; - - private static boolean mIsVideoMode = false; - - /** - * Contact photo manager to retrieve cached contact photo information. - */ - private ContactPhotoManager mContactPhotoManager = null; - - /** - * The URI for the user's profile photo, or {@code null} if not specified. - */ - private ContactInfoCache.ContactCacheEntry mProfileInfo = null; - - /** - * UI thread handler used for delayed task execution. - */ - private Handler mHandler; - - /** - * Determines whether video calls should automatically enter full screen mode after - * {@link #mAutoFullscreenTimeoutMillis} milliseconds. - */ - private boolean mIsAutoFullscreenEnabled = false; - - /** - * Determines the number of milliseconds after which a video call will automatically enter - * fullscreen mode. Requires {@link #mIsAutoFullscreenEnabled} to be {@code true}. - */ - private int mAutoFullscreenTimeoutMillis = 0; - - /** - * Determines if the countdown is currently running to automatically enter full screen video - * mode. - */ - private boolean mAutoFullScreenPending = false; - - /** - * Initializes the presenter. - * - * @param context The current context. - */ - public void init(Context context) { - mContext = context; - mMinimumVideoDimension = mContext.getResources().getDimension( - R.dimen.video_preview_small_dimension); - mHandler = new Handler(Looper.getMainLooper()); - mIsAutoFullscreenEnabled = mContext.getResources() - .getBoolean(R.bool.video_call_auto_fullscreen); - mAutoFullscreenTimeoutMillis = mContext.getResources().getInteger( - R.integer.video_call_auto_fullscreen_timeout); - } - - /** - * Called when the user interface is ready to be used. - * - * @param ui The Ui implementation that is now ready to be used. - */ - @Override - public void onUiReady(VideoCallUi ui) { - super.onUiReady(ui); - Log.d(this, "onUiReady:"); - - // Do not register any listeners if video calling is not compatible to safeguard against - // any accidental calls of video calling code. - if (!CompatUtils.isVideoCompatible()) { - return; - } - - // Register for call state changes last - InCallPresenter.getInstance().addListener(this); - InCallPresenter.getInstance().addDetailsListener(this); - InCallPresenter.getInstance().addIncomingCallListener(this); - InCallPresenter.getInstance().addOrientationListener(this); - // To get updates of video call details changes - InCallPresenter.getInstance().addDetailsListener(this); - InCallPresenter.getInstance().addInCallEventListener(this); - - // Register for surface and video events from {@link InCallVideoCallListener}s. - InCallVideoCallCallbackNotifier.getInstance().addSurfaceChangeListener(this); - InCallVideoCallCallbackNotifier.getInstance().addVideoEventListener(this); - mCurrentVideoState = VideoProfile.STATE_AUDIO_ONLY; - mCurrentCallState = Call.State.INVALID; - - final InCallPresenter.InCallState inCallState = - InCallPresenter.getInstance().getInCallState(); - onStateChange(inCallState, inCallState, CallList.getInstance()); - } - - /** - * Called when the user interface is no longer ready to be used. - * - * @param ui The Ui implementation that is no longer ready to be used. - */ - @Override - public void onUiUnready(VideoCallUi ui) { - super.onUiUnready(ui); - Log.d(this, "onUiUnready:"); - - if (!CompatUtils.isVideoCompatible()) { - return; - } - - cancelAutoFullScreen(); - - InCallPresenter.getInstance().removeListener(this); - InCallPresenter.getInstance().removeDetailsListener(this); - InCallPresenter.getInstance().removeIncomingCallListener(this); - InCallPresenter.getInstance().removeOrientationListener(this); - InCallPresenter.getInstance().removeInCallEventListener(this); - - InCallVideoCallCallbackNotifier.getInstance().removeSurfaceChangeListener(this); - InCallVideoCallCallbackNotifier.getInstance().removeVideoEventListener(this); - } - - /** - * Handles the creation of a surface in the {@link VideoCallFragment}. - * - * @param surface The surface which was created. - */ - public void onSurfaceCreated(int surface) { - Log.d(this, "onSurfaceCreated surface=" + surface + " mVideoCall=" + mVideoCall); - Log.d(this, "onSurfaceCreated PreviewSurfaceState=" + mPreviewSurfaceState); - Log.d(this, "onSurfaceCreated presenter=" + this); - - final VideoCallUi ui = getUi(); - if (ui == null || mVideoCall == null) { - Log.w(this, "onSurfaceCreated: Error bad state VideoCallUi=" + ui + " mVideoCall=" - + mVideoCall); - return; - } - - // If the preview surface has just been created and we have already received camera - // capabilities, but not yet set the surface, we will set the surface now. - if (surface == VideoCallFragment.SURFACE_PREVIEW ) { - if (mPreviewSurfaceState == PreviewSurfaceState.CAPABILITIES_RECEIVED) { - mPreviewSurfaceState = PreviewSurfaceState.SURFACE_SET; - mVideoCall.setPreviewSurface(ui.getPreviewVideoSurface()); - } else if (mPreviewSurfaceState == PreviewSurfaceState.NONE && isCameraRequired()){ - enableCamera(mVideoCall, true); - } - } else if (surface == VideoCallFragment.SURFACE_DISPLAY) { - mVideoCall.setDisplaySurface(ui.getDisplayVideoSurface()); - } - } - - /** - * Handles structural changes (format or size) to a surface. - * - * @param surface The surface which changed. - * @param format The new PixelFormat of the surface. - * @param width The new width of the surface. - * @param height The new height of the surface. - */ - public void onSurfaceChanged(int surface, int format, int width, int height) { - //Do stuff - } - - /** - * Handles the destruction of a surface in the {@link VideoCallFragment}. - * Note: The surface is being released, that is, it is no longer valid. - * - * @param surface The surface which was destroyed. - */ - public void onSurfaceReleased(int surface) { - Log.d(this, "onSurfaceReleased: mSurfaceId=" + surface); - if ( mVideoCall == null) { - Log.w(this, "onSurfaceReleased: VideoCall is null. mSurfaceId=" + - surface); - return; - } - - if (surface == VideoCallFragment.SURFACE_DISPLAY) { - mVideoCall.setDisplaySurface(null); - } else if (surface == VideoCallFragment.SURFACE_PREVIEW) { - mVideoCall.setPreviewSurface(null); - enableCamera(mVideoCall, false); - } - } - - /** - * Called by {@link VideoCallFragment} when the surface is detached from UI (TextureView). - * Note: The surface will be cached by {@link VideoCallFragment}, so we don't immediately - * null out incoming video surface. - * @see VideoCallPresenter#onSurfaceReleased(int) - * - * @param surface The surface which was detached. - */ - public void onSurfaceDestroyed(int surface) { - Log.d(this, "onSurfaceDestroyed: mSurfaceId=" + surface); - if (mVideoCall == null) { - return; - } - - final boolean isChangingConfigurations = - InCallPresenter.getInstance().isChangingConfigurations(); - Log.d(this, "onSurfaceDestroyed: isChangingConfigurations=" + isChangingConfigurations); - - if (surface == VideoCallFragment.SURFACE_PREVIEW) { - if (!isChangingConfigurations) { - enableCamera(mVideoCall, false); - } else { - Log.w(this, "onSurfaceDestroyed: Activity is being destroyed due " - + "to configuration changes. Not closing the camera."); - } - } - } - - /** - * Handles clicks on the video surfaces by toggling full screen state. - * Informs the {@link InCallPresenter} of the change so that it can inform the - * {@link CallCardPresenter} of the change. - * - * @param surfaceId The video surface receiving the click. - */ - public void onSurfaceClick(int surfaceId) { - boolean isFullscreen = InCallPresenter.getInstance().toggleFullscreenMode(); - Log.v(this, "toggleFullScreen = " + isFullscreen); - } - - /** - * Handles incoming calls. - * - * @param oldState The old in call state. - * @param newState The new in call state. - * @param call The call. - */ - @Override - public void onIncomingCall(InCallPresenter.InCallState oldState, - InCallPresenter.InCallState newState, Call call) { - // same logic should happen as with onStateChange() - onStateChange(oldState, newState, CallList.getInstance()); - } - - /** - * Handles state changes (including incoming calls) - * - * @param newState The in call state. - * @param callList The call list. - */ - @Override - public void onStateChange(InCallPresenter.InCallState oldState, - InCallPresenter.InCallState newState, CallList callList) { - Log.d(this, "onStateChange oldState" + oldState + " newState=" + newState + - " isVideoMode=" + isVideoMode()); - - if (newState == InCallPresenter.InCallState.NO_CALLS) { - if (isVideoMode()) { - exitVideoMode(); - } - - cleanupSurfaces(); - } - - // Determine the primary active call). - Call primary = null; - - // Determine the call which is the focus of the user's attention. In the case of an - // incoming call waiting call, the primary call is still the active video call, however - // the determination of whether we should be in fullscreen mode is based on the type of the - // incoming call, not the active video call. - Call currentCall = null; - - if (newState == InCallPresenter.InCallState.INCOMING) { - // We don't want to replace active video call (primary call) - // with a waiting call, since user may choose to ignore/decline the waiting call and - // this should have no impact on current active video call, that is, we should not - // change the camera or UI unless the waiting VT call becomes active. - primary = callList.getActiveCall(); - currentCall = callList.getIncomingCall(); - if (!VideoUtils.isActiveVideoCall(primary)) { - primary = callList.getIncomingCall(); - } - } else if (newState == InCallPresenter.InCallState.OUTGOING) { - currentCall = primary = callList.getOutgoingCall(); - } else if (newState == InCallPresenter.InCallState.PENDING_OUTGOING) { - currentCall = primary = callList.getPendingOutgoingCall(); - } else if (newState == InCallPresenter.InCallState.INCALL) { - currentCall = primary = callList.getActiveCall(); - } - - final boolean primaryChanged = !Objects.equals(mPrimaryCall, primary); - Log.d(this, "onStateChange primaryChanged=" + primaryChanged); - Log.d(this, "onStateChange primary= " + primary); - Log.d(this, "onStateChange mPrimaryCall = " + mPrimaryCall); - if (primaryChanged) { - onPrimaryCallChanged(primary); - } else if (mPrimaryCall != null) { - updateVideoCall(primary); - } - updateCallCache(primary); - - // If the call context changed, potentially exit fullscreen or schedule auto enter of - // fullscreen mode. - // If the current call context is no longer a video call, exit fullscreen mode. - maybeExitFullscreen(currentCall); - // Schedule auto-enter of fullscreen mode if the current call context is a video call - maybeAutoEnterFullscreen(currentCall); - } - - /** - * Handles a change to the fullscreen mode of the app. - * - * @param isFullscreenMode {@code true} if the app is now fullscreen, {@code false} otherwise. - */ - @Override - public void onFullscreenModeChanged(boolean isFullscreenMode) { - cancelAutoFullScreen(); - } - - /** - * Handles changes to the visibility of the secondary caller info bar. - * - * @param isVisible {@code true} if the secondary caller info is showing, {@code false} - * otherwise. - * @param height the height of the secondary caller info bar. - */ - @Override - public void onSecondaryCallerInfoVisibilityChanged(boolean isVisible, int height) { - Log.d(this, - "onSecondaryCallerInfoVisibilityChanged : isVisible = " + isVisible + " height = " - + height); - getUi().adjustPreviewLocation(isVisible /* shiftUp */, height); - } - - private void checkForVideoStateChange(Call call) { - final boolean isVideoCall = VideoUtils.isVideoCall(call); - final boolean hasVideoStateChanged = mCurrentVideoState != call.getVideoState(); - - Log.d(this, "checkForVideoStateChange: isVideoCall= " + isVideoCall - + " hasVideoStateChanged=" + hasVideoStateChanged + " isVideoMode=" - + isVideoMode() + " previousVideoState: " + - VideoProfile.videoStateToString(mCurrentVideoState) + " newVideoState: " - + VideoProfile.videoStateToString(call.getVideoState())); - - if (!hasVideoStateChanged) { - return; - } - - updateCameraSelection(call); - - if (isVideoCall) { - adjustVideoMode(call); - } else if (isVideoMode()) { - exitVideoMode(); - } - } - - private void checkForCallStateChange(Call call) { - final boolean isVideoCall = VideoUtils.isVideoCall(call); - final boolean hasCallStateChanged = mCurrentCallState != call.getState(); - - Log.d(this, "checkForCallStateChange: isVideoCall= " + isVideoCall - + " hasCallStateChanged=" + - hasCallStateChanged + " isVideoMode=" + isVideoMode()); - - if (!hasCallStateChanged) { - return; - } - - if (isVideoCall) { - final InCallCameraManager cameraManager = InCallPresenter.getInstance(). - getInCallCameraManager(); - - String prevCameraId = cameraManager.getActiveCameraId(); - updateCameraSelection(call); - String newCameraId = cameraManager.getActiveCameraId(); - - if (!Objects.equals(prevCameraId, newCameraId) && VideoUtils.isActiveVideoCall(call)) { - enableCamera(call.getVideoCall(), true); - } - } - - // Make sure we hide or show the video UI if needed. - showVideoUi(call.getVideoState(), call.getState()); - } - - private void cleanupSurfaces() { - final VideoCallUi ui = getUi(); - if (ui == null) { - Log.w(this, "cleanupSurfaces"); - return; - } - ui.cleanupSurfaces(); - } - - private void onPrimaryCallChanged(Call newPrimaryCall) { - final boolean isVideoCall = VideoUtils.isVideoCall(newPrimaryCall); - final boolean isVideoMode = isVideoMode(); - - Log.d(this, "onPrimaryCallChanged: isVideoCall=" + isVideoCall + " isVideoMode=" - + isVideoMode); - - if (!isVideoCall && isVideoMode) { - // Terminate video mode if new primary call is not a video call - // and we are currently in video mode. - Log.d(this, "onPrimaryCallChanged: Exiting video mode..."); - exitVideoMode(); - } else if (isVideoCall) { - Log.d(this, "onPrimaryCallChanged: Entering video mode..."); - - updateCameraSelection(newPrimaryCall); - adjustVideoMode(newPrimaryCall); - } - checkForOrientationAllowedChange(newPrimaryCall); - } - - private boolean isVideoMode() { - return mIsVideoMode; - } - - private void updateCallCache(Call call) { - if (call == null) { - mCurrentVideoState = VideoProfile.STATE_AUDIO_ONLY; - mCurrentCallState = Call.State.INVALID; - mVideoCall = null; - mPrimaryCall = null; - } else { - mCurrentVideoState = call.getVideoState(); - mVideoCall = call.getVideoCall(); - mCurrentCallState = call.getState(); - mPrimaryCall = call; - } - } - - /** - * Handles changes to the details of the call. The {@link VideoCallPresenter} is interested in - * changes to the video state. - * - * @param call The call for which the details changed. - * @param details The new call details. - */ - @Override - public void onDetailsChanged(Call call, android.telecom.Call.Details details) { - Log.d(this, " onDetailsChanged call=" + call + " details=" + details + " mPrimaryCall=" - + mPrimaryCall); - if (call == null) { - return; - } - // If the details change is not for the currently active call no update is required. - if (!call.equals(mPrimaryCall)) { - Log.d(this, " onDetailsChanged: Details not for current active call so returning. "); - return; - } - - updateVideoCall(call); - - updateCallCache(call); - } - - private void updateVideoCall(Call call) { - checkForVideoCallChange(call); - checkForVideoStateChange(call); - checkForCallStateChange(call); - checkForOrientationAllowedChange(call); - } - - private void checkForOrientationAllowedChange(Call call) { - InCallPresenter.getInstance().setInCallAllowsOrientationChange( - VideoUtils.isVideoCall(call)); - } - - /** - * Checks for a change to the video call and changes it if required. - */ - private void checkForVideoCallChange(Call call) { - final VideoCall videoCall = call.getTelecomCall().getVideoCall(); - Log.d(this, "checkForVideoCallChange: videoCall=" + videoCall + " mVideoCall=" - + mVideoCall); - if (!Objects.equals(videoCall, mVideoCall)) { - changeVideoCall(call); - } - } - - /** - * Handles a change to the video call. Sets the surfaces on the previous call to null and sets - * the surfaces on the new video call accordingly. - * - * @param call The new video call. - */ - private void changeVideoCall(Call call) { - final VideoCall videoCall = call.getTelecomCall().getVideoCall(); - Log.d(this, "changeVideoCall to videoCall=" + videoCall + " mVideoCall=" + mVideoCall); - // Null out the surfaces on the previous video call. - if (mVideoCall != null) { - // Log.d(this, "Null out the surfaces on the previous video call."); - // mVideoCall.setDisplaySurface(null); - // mVideoCall.setPreviewSurface(null); - } - - final boolean hasChanged = mVideoCall == null && videoCall != null; - - mVideoCall = videoCall; - if (mVideoCall == null || call == null) { - Log.d(this, "Video call or primary call is null. Return"); - return; - } - - if (VideoUtils.isVideoCall(call) && hasChanged) { - adjustVideoMode(call); - } - } - - private static boolean isCameraRequired(int videoState) { - return VideoProfile.isBidirectional(videoState) - || VideoProfile.isTransmissionEnabled(videoState); - } - - private boolean isCameraRequired() { - return mPrimaryCall != null && isCameraRequired(mPrimaryCall.getVideoState()); - } - - /** - * Adjusts the current video mode by setting up the preview and display surfaces as necessary. - * Expected to be called whenever the video state associated with a call changes (e.g. a user - * turns their camera on or off) to ensure the correct surfaces are shown/hidden. - * TODO(vt): Need to adjust size and orientation of preview surface here. - */ - private void adjustVideoMode(Call call) { - VideoCall videoCall = call.getVideoCall(); - int newVideoState = call.getVideoState(); - - Log.d(this, "adjustVideoMode videoCall= " + videoCall + " videoState: " + newVideoState); - VideoCallUi ui = getUi(); - if (ui == null) { - Log.e(this, "Error VideoCallUi is null so returning"); - return; - } - - showVideoUi(newVideoState, call.getState()); - - // Communicate the current camera to telephony and make a request for the camera - // capabilities. - if (videoCall != null) { - if (ui.isDisplayVideoSurfaceCreated()) { - Log.d(this, "Calling setDisplaySurface with " + ui.getDisplayVideoSurface()); - videoCall.setDisplaySurface(ui.getDisplayVideoSurface()); - } - - videoCall.setDeviceOrientation(mDeviceOrientation); - enableCamera(videoCall, isCameraRequired(newVideoState)); - } - int previousVideoState = mCurrentVideoState; - mCurrentVideoState = newVideoState; - mIsVideoMode = true; - - // adjustVideoMode may be called if we are already in a 1-way video state. In this case - // we do not want to trigger auto-fullscreen mode. - if (!VideoUtils.isVideoCall(previousVideoState) && VideoUtils.isVideoCall(newVideoState)) { - maybeAutoEnterFullscreen(call); - } - } - - private void enableCamera(VideoCall videoCall, boolean isCameraRequired) { - Log.d(this, "enableCamera: VideoCall=" + videoCall + " enabling=" + isCameraRequired); - if (videoCall == null) { - Log.w(this, "enableCamera: VideoCall is null."); - return; - } - - if (isCameraRequired) { - InCallCameraManager cameraManager = InCallPresenter.getInstance(). - getInCallCameraManager(); - videoCall.setCamera(cameraManager.getActiveCameraId()); - mPreviewSurfaceState = PreviewSurfaceState.CAMERA_SET; - - videoCall.requestCameraCapabilities(); - } else { - mPreviewSurfaceState = PreviewSurfaceState.NONE; - videoCall.setCamera(null); - } - } - - /** - * Exits video mode by hiding the video surfaces and making other adjustments (eg. audio). - */ - private void exitVideoMode() { - Log.d(this, "exitVideoMode"); - - showVideoUi(VideoProfile.STATE_AUDIO_ONLY, Call.State.ACTIVE); - enableCamera(mVideoCall, false); - InCallPresenter.getInstance().setFullScreen(false); - - mIsVideoMode = false; - } - - /** - * Based on the current video state and call state, show or hide the incoming and - * outgoing video surfaces. The outgoing video surface is shown any time video is transmitting. - * The incoming video surface is shown whenever the video is un-paused and active. - * - * @param videoState The video state. - * @param callState The call state. - */ - private void showVideoUi(int videoState, int callState) { - VideoCallUi ui = getUi(); - if (ui == null) { - Log.e(this, "showVideoUi, VideoCallUi is null returning"); - return; - } - boolean showIncomingVideo = showIncomingVideo(videoState, callState); - boolean showOutgoingVideo = showOutgoingVideo(videoState); - Log.v(this, "showVideoUi : showIncoming = " + showIncomingVideo + " showOutgoing = " - + showOutgoingVideo); - if (showIncomingVideo || showOutgoingVideo) { - ui.showVideoViews(showOutgoingVideo, showIncomingVideo); - - if (VideoProfile.isReceptionEnabled(videoState)) { - loadProfilePhotoAsync(); - } - } else { - ui.hideVideoUi(); - } - - InCallPresenter.getInstance().enableScreenTimeout( - VideoProfile.isAudioOnly(videoState)); - } - - /** - * Determines if the incoming video surface should be shown based on the current videoState and - * callState. The video surface is shown when incoming video is not paused, the call is active, - * and video reception is enabled. - * - * @param videoState The current video state. - * @param callState The current call state. - * @return {@code true} if the incoming video surface should be shown, {@code false} otherwise. - */ - public static boolean showIncomingVideo(int videoState, int callState) { - if (!CompatUtils.isVideoCompatible()) { - return false; - } - - boolean isPaused = VideoProfile.isPaused(videoState); - boolean isCallActive = callState == Call.State.ACTIVE; - - return !isPaused && isCallActive && VideoProfile.isReceptionEnabled(videoState); - } - - /** - * Determines if the outgoing video surface should be shown based on the current videoState. - * The video surface is shown if video transmission is enabled. - * - * @param videoState The current video state. - * @return {@code true} if the the outgoing video surface should be shown, {@code false} - * otherwise. - */ - public static boolean showOutgoingVideo(int videoState) { - if (!CompatUtils.isVideoCompatible()) { - return false; - } - - return VideoProfile.isTransmissionEnabled(videoState); - } - - /** - * Handles peer video pause state changes. - * - * @param call The call which paused or un-pausedvideo transmission. - * @param paused {@code True} when the video transmission is paused, {@code false} when video - * transmission resumes. - */ - @Override - public void onPeerPauseStateChanged(Call call, boolean paused) { - if (!call.equals(mPrimaryCall)) { - return; - } - - // TODO(vt): Show/hide the peer contact photo. - } - - /** - * Handles peer video dimension changes. - * - * @param call The call which experienced a peer video dimension change. - * @param width The new peer video width . - * @param height The new peer video height. - */ - @Override - public void onUpdatePeerDimensions(Call call, int width, int height) { - Log.d(this, "onUpdatePeerDimensions: width= " + width + " height= " + height); - VideoCallUi ui = getUi(); - if (ui == null) { - Log.e(this, "VideoCallUi is null. Bail out"); - return; - } - if (!call.equals(mPrimaryCall)) { - Log.e(this, "Current call is not equal to primary call. Bail out"); - return; - } - - // Change size of display surface to match the peer aspect ratio - if (width > 0 && height > 0) { - setDisplayVideoSize(width, height); - } - } - - /** - * Handles any video quality changes in the call. - * - * @param call The call which experienced a video quality change. - * @param videoQuality The new video call quality. - */ - @Override - public void onVideoQualityChanged(Call call, int videoQuality) { - // No-op - } - - /** - * Handles a change to the dimensions of the local camera. Receiving the camera capabilities - * triggers the creation of the video - * - * @param call The call which experienced the camera dimension change. - * @param width The new camera video width. - * @param height The new camera video height. - */ - @Override - public void onCameraDimensionsChange(Call call, int width, int height) { - Log.d(this, "onCameraDimensionsChange call=" + call + " width=" + width + " height=" - + height); - VideoCallUi ui = getUi(); - if (ui == null) { - Log.e(this, "onCameraDimensionsChange ui is null"); - return; - } - - if (!call.equals(mPrimaryCall)) { - Log.e(this, "Call is not primary call"); - return; - } - - mPreviewSurfaceState = PreviewSurfaceState.CAPABILITIES_RECEIVED; - changePreviewDimensions(width, height); - - // Check if the preview surface is ready yet; if it is, set it on the {@code VideoCall}. - // If it not yet ready, it will be set when when creation completes. - if (ui.isPreviewVideoSurfaceCreated()) { - mPreviewSurfaceState = PreviewSurfaceState.SURFACE_SET; - mVideoCall.setPreviewSurface(ui.getPreviewVideoSurface()); - } - } - - /** - * Changes the dimensions of the preview surface. - * - * @param width The new width. - * @param height The new height. - */ - private void changePreviewDimensions(int width, int height) { - VideoCallUi ui = getUi(); - if (ui == null) { - return; - } - - // Resize the surface used to display the preview video - ui.setPreviewSurfaceSize(width, height); - - // Configure the preview surface to the correct aspect ratio. - float aspectRatio = 1.0f; - if (width > 0 && height > 0) { - aspectRatio = (float) width / (float) height; - } - - // Resize the textureview housing the preview video and rotate it appropriately based on - // the device orientation - setPreviewSize(mDeviceOrientation, aspectRatio); - } - - /** - * Called when call session event is raised. - * - * @param event The call session event. - */ - @Override - public void onCallSessionEvent(int event) { - StringBuilder sb = new StringBuilder(); - sb.append("onCallSessionEvent = "); - - switch (event) { - case Connection.VideoProvider.SESSION_EVENT_RX_PAUSE: - sb.append("rx_pause"); - break; - case Connection.VideoProvider.SESSION_EVENT_RX_RESUME: - sb.append("rx_resume"); - break; - case Connection.VideoProvider.SESSION_EVENT_CAMERA_FAILURE: - sb.append("camera_failure"); - break; - case Connection.VideoProvider.SESSION_EVENT_CAMERA_READY: - sb.append("camera_ready"); - break; - default: - sb.append("unknown event = "); - sb.append(event); - break; - } - Log.d(this, sb.toString()); - } - - /** - * Handles a change to the call data usage - * - * @param dataUsage call data usage value - */ - @Override - public void onCallDataUsageChange(long dataUsage) { - Log.d(this, "onCallDataUsageChange dataUsage=" + dataUsage); - } - - /** - * Handles changes to the device orientation. - * @param orientation The screen orientation of the device (one of: - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_0}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_90}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_180}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_270}). - */ - @Override - public void onDeviceOrientationChanged(int orientation) { - mDeviceOrientation = orientation; - - VideoCallUi ui = getUi(); - if (ui == null) { - Log.e(this, "onDeviceOrientationChanged: VideoCallUi is null"); - return; - } - - Point previewDimensions = ui.getPreviewSize(); - if (previewDimensions == null) { - return; - } - Log.d(this, "onDeviceOrientationChanged: orientation=" + orientation + " size: " - + previewDimensions); - changePreviewDimensions(previewDimensions.x, previewDimensions.y); - - ui.setPreviewRotation(mDeviceOrientation); - } - - /** - * Sets the preview surface size based on the current device orientation. - * See: {@link InCallOrientationEventListener#SCREEN_ORIENTATION_0}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_90}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_180}, - * {@link InCallOrientationEventListener#SCREEN_ORIENTATION_270}). - * - * @param orientation The device orientation - * @param aspectRatio The aspect ratio of the camera (width / height). - */ - private void setPreviewSize(int orientation, float aspectRatio) { - VideoCallUi ui = getUi(); - if (ui == null) { - return; - } - - int height; - int width; - - if (orientation == InCallOrientationEventListener.SCREEN_ORIENTATION_90 || - orientation == InCallOrientationEventListener.SCREEN_ORIENTATION_270) { - width = (int) (mMinimumVideoDimension * aspectRatio); - height = (int) mMinimumVideoDimension; - } else { - // Portrait or reverse portrait orientation. - width = (int) mMinimumVideoDimension; - height = (int) (mMinimumVideoDimension * aspectRatio); - } - ui.setPreviewSize(width, height); - } - - /** - * Sets the display video surface size based on peer width and height - * - * @param width peer width - * @param height peer height - */ - private void setDisplayVideoSize(int width, int height) { - Log.v(this, "setDisplayVideoSize: Received peer width=" + width + " height=" + height); - VideoCallUi ui = getUi(); - if (ui == null) { - return; - } - - // Get current display size - Point size = ui.getScreenSize(); - Log.v(this, "setDisplayVideoSize: windowmgr width=" + size.x - + " windowmgr height=" + size.y); - if (size.y * width > size.x * height) { - // current display height is too much. Correct it - size.y = (int) (size.x * height / width); - } else if (size.y * width < size.x * height) { - // current display width is too much. Correct it - size.x = (int) (size.y * width / height); - } - ui.setDisplayVideoSize(size.x, size.y); - } - - /** - * Exits fullscreen mode if the current call context has changed to a non-video call. - * - * @param call The call. - */ - protected void maybeExitFullscreen(Call call) { - if (call == null) { - return; - } - - if (!VideoUtils.isVideoCall(call) || call.getState() == Call.State.INCOMING) { - InCallPresenter.getInstance().setFullScreen(false); - } - } - - /** - * Schedules auto-entering of fullscreen mode. - * Will not enter full screen mode if any of the following conditions are met: - * 1. No call - * 2. Call is not active - * 3. Call is not video call - * 4. Already in fullscreen mode - * 5. The current video state is not bi-directional (if the remote party stops transmitting, - * the user's contact photo would dominate in fullscreen mode). - * - * @param call The current call. - */ - protected void maybeAutoEnterFullscreen(Call call) { - if (!mIsAutoFullscreenEnabled) { - return; - } - - if (call == null || ( - call != null && (call.getState() != Call.State.ACTIVE || - !VideoUtils.isVideoCall(call)) || - InCallPresenter.getInstance().isFullscreen()) || - !VideoUtils.isBidirectionalVideoCall(call)) { - // Ensure any previously scheduled attempt to enter fullscreen is cancelled. - cancelAutoFullScreen(); - return; - } - - if (mAutoFullScreenPending) { - Log.v(this, "maybeAutoEnterFullscreen : already pending."); - return; - } - Log.v(this, "maybeAutoEnterFullscreen : scheduled"); - mAutoFullScreenPending = true; - mHandler.postDelayed(mAutoFullscreenRunnable, mAutoFullscreenTimeoutMillis); - } - - /** - * Cancels pending auto fullscreen mode. - */ - public void cancelAutoFullScreen() { - if (!mAutoFullScreenPending) { - Log.v(this, "cancelAutoFullScreen : none pending."); - return; - } - Log.v(this, "cancelAutoFullScreen : cancelling pending"); - mAutoFullScreenPending = false; - } - - private static void updateCameraSelection(Call call) { - Log.d(TAG, "updateCameraSelection: call=" + call); - Log.d(TAG, "updateCameraSelection: call=" + toSimpleString(call)); - - final Call activeCall = CallList.getInstance().getActiveCall(); - int cameraDir = Call.VideoSettings.CAMERA_DIRECTION_UNKNOWN; - - // this function should never be called with null call object, however if it happens we - // should handle it gracefully. - if (call == null) { - cameraDir = Call.VideoSettings.CAMERA_DIRECTION_UNKNOWN; - com.android.incallui.Log.e(TAG, "updateCameraSelection: Call object is null." - + " Setting camera direction to default value (CAMERA_DIRECTION_UNKNOWN)"); - } - - // Clear camera direction if this is not a video call. - else if (VideoUtils.isAudioCall(call)) { - cameraDir = Call.VideoSettings.CAMERA_DIRECTION_UNKNOWN; - call.getVideoSettings().setCameraDir(cameraDir); - } - - // If this is a waiting video call, default to active call's camera, - // since we don't want to change the current camera for waiting call - // without user's permission. - else if (VideoUtils.isVideoCall(activeCall) && VideoUtils.isIncomingVideoCall(call)) { - cameraDir = activeCall.getVideoSettings().getCameraDir(); - } - - // Infer the camera direction from the video state and store it, - // if this is an outgoing video call. - else if (VideoUtils.isOutgoingVideoCall(call) && !isCameraDirectionSet(call) ) { - cameraDir = toCameraDirection(call.getVideoState()); - call.getVideoSettings().setCameraDir(cameraDir); - } - - // Use the stored camera dir if this is an outgoing video call for which camera direction - // is set. - else if (VideoUtils.isOutgoingVideoCall(call)) { - cameraDir = call.getVideoSettings().getCameraDir(); - } - - // Infer the camera direction from the video state and store it, - // if this is an active video call and camera direction is not set. - else if (VideoUtils.isActiveVideoCall(call) && !isCameraDirectionSet(call)) { - cameraDir = toCameraDirection(call.getVideoState()); - call.getVideoSettings().setCameraDir(cameraDir); - } - - // Use the stored camera dir if this is an active video call for which camera direction - // is set. - else if (VideoUtils.isActiveVideoCall(call)) { - cameraDir = call.getVideoSettings().getCameraDir(); - } - - // For all other cases infer the camera direction but don't store it in the call object. - else { - cameraDir = toCameraDirection(call.getVideoState()); - } - - com.android.incallui.Log.d(TAG, "updateCameraSelection: Setting camera direction to " + - cameraDir + " Call=" + call); - final InCallCameraManager cameraManager = InCallPresenter.getInstance(). - getInCallCameraManager(); - cameraManager.setUseFrontFacingCamera(cameraDir == - Call.VideoSettings.CAMERA_DIRECTION_FRONT_FACING); - } - - private static int toCameraDirection(int videoState) { - return VideoProfile.isTransmissionEnabled(videoState) && - !VideoProfile.isBidirectional(videoState) - ? Call.VideoSettings.CAMERA_DIRECTION_BACK_FACING - : Call.VideoSettings.CAMERA_DIRECTION_FRONT_FACING; - } - - private static boolean isCameraDirectionSet(Call call) { - return VideoUtils.isVideoCall(call) && call.getVideoSettings().getCameraDir() - != Call.VideoSettings.CAMERA_DIRECTION_UNKNOWN; - } - - private static String toSimpleString(Call call) { - return call == null ? null : call.toSimpleString(); - } - - /** - * Starts an asynchronous load of the user's profile photo. - */ - public void loadProfilePhotoAsync() { - final VideoCallUi ui = getUi(); - if (ui == null) { - return; - } - - final AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() { - /** - * Performs asynchronous load of the user profile information. - * - * @param params The parameters of the task. - * - * @return {@code null}. - */ - @Override - protected Void doInBackground(Void... params) { - if (mProfileInfo == null) { - // Try and read the photo URI from the local profile. - mProfileInfo = new ContactInfoCache.ContactCacheEntry(); - final Cursor cursor = mContext.getContentResolver().query( - ContactsContract.Profile.CONTENT_URI, new String[]{ - ContactsContract.CommonDataKinds.Phone._ID, - ContactsContract.CommonDataKinds.Phone.PHOTO_URI, - ContactsContract.CommonDataKinds.Phone.LOOKUP_KEY, - ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, - ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_ALTERNATIVE - }, null, null, null); - if (cursor != null) { - try { - if (cursor.moveToFirst()) { - mProfileInfo.lookupKey = cursor.getString(cursor.getColumnIndex( - ContactsContract.CommonDataKinds.Phone.LOOKUP_KEY)); - String photoUri = cursor.getString(cursor.getColumnIndex( - ContactsContract.CommonDataKinds.Phone.PHOTO_URI)); - mProfileInfo.displayPhotoUri = photoUri == null ? null - : Uri.parse(photoUri); - mProfileInfo.namePrimary = cursor.getString(cursor.getColumnIndex( - ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); - mProfileInfo.nameAlternative = cursor.getString( - cursor.getColumnIndex(ContactsContract.CommonDataKinds - .Phone.DISPLAY_NAME_ALTERNATIVE)); - } - } finally { - cursor.close(); - } - } - } - return null; - } - - @Override - protected void onPostExecute(Void result) { - // If user profile information was found, issue an async request to load the user's - // profile photo. - if (mProfileInfo != null) { - if (mContactPhotoManager == null) { - mContactPhotoManager = ContactPhotoManager.getInstance(mContext); - } - ContactPhotoManager.DefaultImageRequest imageRequest = (mProfileInfo != null) - ? null : - new ContactPhotoManager.DefaultImageRequest(mProfileInfo.namePrimary, - mProfileInfo.lookupKey, false /* isCircularPhoto */); - - ImageView photoView = ui.getPreviewPhotoView(); - if (photoView == null) { - return; - } - mContactPhotoManager.loadDirectoryPhoto(photoView, - mProfileInfo.displayPhotoUri, - false /* darkTheme */, false /* isCircular */, imageRequest); - } - } - }; - - task.execute(); - } - - /** - * Defines the VideoCallUI interactions. - */ - public interface VideoCallUi extends Ui { - void showVideoViews(boolean showPreview, boolean showIncoming); - void hideVideoUi(); - boolean isDisplayVideoSurfaceCreated(); - boolean isPreviewVideoSurfaceCreated(); - Surface getDisplayVideoSurface(); - Surface getPreviewVideoSurface(); - int getCurrentRotation(); - void setPreviewSize(int width, int height); - void setPreviewSurfaceSize(int width, int height); - void setDisplayVideoSize(int width, int height); - Point getScreenSize(); - Point getPreviewSize(); - void cleanupSurfaces(); - ImageView getPreviewPhotoView(); - void adjustPreviewLocation(boolean shiftUp, int offset); - void setPreviewRotation(int orientation); - } -} diff --git a/InCallUI/src/com/android/incallui/VideoPauseController.java b/InCallUI/src/com/android/incallui/VideoPauseController.java deleted file mode 100644 index fb873500e..000000000 --- a/InCallUI/src/com/android/incallui/VideoPauseController.java +++ /dev/null @@ -1,420 +0,0 @@ -/* - * Copyright (C) 2015 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 com.android.incallui.Call.State; -import com.android.incallui.InCallPresenter.InCallState; -import com.android.incallui.InCallPresenter.InCallStateListener; -import com.android.incallui.InCallPresenter.IncomingCallListener; -import com.android.incallui.InCallVideoCallCallbackNotifier.SessionModificationListener; -import com.google.common.base.Preconditions; - -import android.telecom.VideoProfile; - -/** - * This class is responsible for generating video pause/resume requests when the InCall UI is sent - * to the background and subsequently brought back to the foreground. - */ -class VideoPauseController implements InCallStateListener, IncomingCallListener { - private static final String TAG = "VideoPauseController"; - - /** - * Keeps track of the current active/foreground call. - */ - private class CallContext { - public CallContext(Call call) { - Preconditions.checkNotNull(call); - update(call); - } - - public void update(Call call) { - mCall = Preconditions.checkNotNull(call); - mState = call.getState(); - mVideoState = call.getVideoState(); - } - - public int getState() { - return mState; - } - - public int getVideoState() { - return mVideoState; - } - - public String toString() { - return String.format("CallContext {CallId=%s, State=%s, VideoState=%d}", - mCall.getId(), mState, mVideoState); - } - - public Call getCall() { - return mCall; - } - - private int mState = State.INVALID; - private int mVideoState; - private Call mCall; - } - - private InCallPresenter mInCallPresenter; - private static VideoPauseController sVideoPauseController; - - /** - * The current call context, if applicable. - */ - private CallContext mPrimaryCallContext = null; - - /** - * Tracks whether the application is in the background. {@code True} if the application is in - * the background, {@code false} otherwise. - */ - private boolean mIsInBackground = false; - - /** - * Singleton accessor for the {@link VideoPauseController}. - * @return Singleton instance of the {@link VideoPauseController}. - */ - /*package*/ - static synchronized VideoPauseController getInstance() { - if (sVideoPauseController == null) { - sVideoPauseController = new VideoPauseController(); - } - return sVideoPauseController; - } - - /** - * Configures the {@link VideoPauseController} to listen to call events. Configured via the - * {@link com.android.incallui.InCallPresenter}. - * - * @param inCallPresenter The {@link com.android.incallui.InCallPresenter}. - */ - public void setUp(InCallPresenter inCallPresenter) { - log("setUp"); - mInCallPresenter = Preconditions.checkNotNull(inCallPresenter); - mInCallPresenter.addListener(this); - mInCallPresenter.addIncomingCallListener(this); - } - - /** - * Cleans up the {@link VideoPauseController} by removing all listeners and clearing its - * internal state. Called from {@link com.android.incallui.InCallPresenter}. - */ - public void tearDown() { - log("tearDown..."); - mInCallPresenter.removeListener(this); - mInCallPresenter.removeIncomingCallListener(this); - clear(); - } - - /** - * Clears the internal state for the {@link VideoPauseController}. - */ - private void clear() { - mInCallPresenter = null; - mPrimaryCallContext = null; - mIsInBackground = false; - } - - /** - * Handles changes in the {@link InCallState}. Triggers pause and resumption of video for the - * current foreground call. - * - * @param oldState The previous {@link InCallState}. - * @param newState The current {@link InCallState}. - * @param callList List of current call. - */ - @Override - public void onStateChange(InCallState oldState, InCallState newState, CallList callList) { - log("onStateChange, OldState=" + oldState + " NewState=" + newState); - - Call call = null; - if (newState == InCallState.INCOMING) { - call = callList.getIncomingCall(); - } else if (newState == InCallState.WAITING_FOR_ACCOUNT) { - call = callList.getWaitingForAccountCall(); - } else if (newState == InCallState.PENDING_OUTGOING) { - call = callList.getPendingOutgoingCall(); - } else if (newState == InCallState.OUTGOING) { - call = callList.getOutgoingCall(); - } else { - call = callList.getActiveCall(); - } - - boolean hasPrimaryCallChanged = !areSame(call, mPrimaryCallContext); - boolean canVideoPause = VideoUtils.canVideoPause(call); - log("onStateChange, hasPrimaryCallChanged=" + hasPrimaryCallChanged); - log("onStateChange, canVideoPause=" + canVideoPause); - log("onStateChange, IsInBackground=" + mIsInBackground); - - if (hasPrimaryCallChanged) { - onPrimaryCallChanged(call); - return; - } - - if (isDialing(mPrimaryCallContext) && canVideoPause && mIsInBackground) { - // Bring UI to foreground if outgoing request becomes active while UI is in - // background. - bringToForeground(); - } else if (!isVideoCall(mPrimaryCallContext) && canVideoPause && mIsInBackground) { - // Bring UI to foreground if VoLTE call becomes active while UI is in - // background. - bringToForeground(); - } - - updatePrimaryCallContext(call); - } - - /** - * Handles a change to the primary call. - * <p> - * Reject incoming or hangup dialing call: Where the previous call was an incoming call or a - * call in dialing state, resume the new primary call. - * Call swap: Where the new primary call is incoming, pause video on the previous primary call. - * - * @param call The new primary call. - */ - private void onPrimaryCallChanged(Call call) { - log("onPrimaryCallChanged: New call = " + call); - log("onPrimaryCallChanged: Old call = " + mPrimaryCallContext); - log("onPrimaryCallChanged, IsInBackground=" + mIsInBackground); - - Preconditions.checkState(!areSame(call, mPrimaryCallContext)); - final boolean canVideoPause = VideoUtils.canVideoPause(call); - - if ((isIncomingCall(mPrimaryCallContext) || isDialing(mPrimaryCallContext) || - (call != null && VideoProfile.isPaused(call.getVideoState()))) - && canVideoPause && !mIsInBackground) { - // Send resume request for the active call, if user rejects incoming call, ends dialing - // call, or the call was previously in a paused state and UI is in the foreground. - sendRequest(call, true); - } else if (isIncomingCall(call) && canVideoPause(mPrimaryCallContext)) { - // Send pause request if there is an active video call, and we just received a new - // incoming call. - sendRequest(mPrimaryCallContext.getCall(), false); - } - - updatePrimaryCallContext(call); - } - - /** - * Handles new incoming calls by triggering a change in the primary call. - * - * @param oldState the old {@link InCallState}. - * @param newState the new {@link InCallState}. - * @param call the incoming call. - */ - @Override - public void onIncomingCall(InCallState oldState, InCallState newState, Call call) { - log("onIncomingCall, OldState=" + oldState + " NewState=" + newState + " Call=" + call); - - if (areSame(call, mPrimaryCallContext)) { - return; - } - - onPrimaryCallChanged(call); - } - - /** - * Caches a reference to the primary call and stores its previous state. - * - * @param call The new primary call. - */ - private void updatePrimaryCallContext(Call call) { - if (call == null) { - mPrimaryCallContext = null; - } else if (mPrimaryCallContext != null) { - mPrimaryCallContext.update(call); - } else { - mPrimaryCallContext = new CallContext(call); - } - } - - /** - * Called when UI goes in/out of the foreground. - * @param showing true if UI is in the foreground, false otherwise. - */ - public void onUiShowing(boolean showing) { - // Only send pause/unpause requests if we are in the INCALL state. - if (mInCallPresenter == null) { - return; - } - final boolean isInCall = mInCallPresenter.getInCallState() == InCallState.INCALL; - if (showing) { - onResume(isInCall); - } else { - onPause(isInCall); - } - } - - /** - * Called when UI is brought to the foreground. Sends a session modification request to resume - * the outgoing video. - * @param isInCall true if phone state is INCALL, false otherwise - */ - private void onResume(boolean isInCall) { - log("onResume"); - - mIsInBackground = false; - if (canVideoPause(mPrimaryCallContext) && isInCall) { - sendRequest(mPrimaryCallContext.getCall(), true); - } else { - log("onResume. Ignoring..."); - } - } - - /** - * Called when UI is sent to the background. Sends a session modification request to pause the - * outgoing video. - * @param isInCall true if phone state is INCALL, false otherwise - */ - private void onPause(boolean isInCall) { - log("onPause"); - - mIsInBackground = true; - if (canVideoPause(mPrimaryCallContext) && isInCall) { - sendRequest(mPrimaryCallContext.getCall(), false); - } else { - log("onPause, Ignoring..."); - } - } - - private void bringToForeground() { - if (mInCallPresenter != null) { - log("Bringing UI to foreground"); - mInCallPresenter.bringToForeground(false); - } else { - loge("InCallPresenter is null. Cannot bring UI to foreground"); - } - } - - /** - * Sends Pause/Resume request. - * - * @param call Call to be paused/resumed. - * @param resume If true resume request will be sent, otherwise pause request. - */ - private void sendRequest(Call call, boolean resume) { - // Check if this call supports pause/un-pause. - if (!call.can(android.telecom.Call.Details.CAPABILITY_CAN_PAUSE_VIDEO)) { - return; - } - - if (resume) { - log("sending resume request, call=" + call); - call.getVideoCall() - .sendSessionModifyRequest(VideoUtils.makeVideoUnPauseProfile(call)); - } else { - log("sending pause request, call=" + call); - call.getVideoCall().sendSessionModifyRequest(VideoUtils.makeVideoPauseProfile(call)); - } - } - - /** - * Determines if a given call is the same one stored in a {@link CallContext}. - * - * @param call The call. - * @param callContext The call context. - * @return {@code true} if the {@link Call} is the same as the one referenced in the - * {@link CallContext}. - */ - private static boolean areSame(Call call, CallContext callContext) { - if (call == null && callContext == null) { - return true; - } else if (call == null || callContext == null) { - return false; - } - return call.equals(callContext.getCall()); - } - - /** - * Determines if a video call can be paused. Only a video call which is active can be paused. - * - * @param callContext The call context to check. - * @return {@code true} if the call is an active video call. - */ - private static boolean canVideoPause(CallContext callContext) { - return isVideoCall(callContext) && callContext.getState() == Call.State.ACTIVE; - } - - /** - * Determines if a call referenced by a {@link CallContext} is a video call. - * - * @param callContext The call context. - * @return {@code true} if the call is a video call, {@code false} otherwise. - */ - private static boolean isVideoCall(CallContext callContext) { - return callContext != null && VideoUtils.isVideoCall(callContext.getVideoState()); - } - - /** - * Determines if call is in incoming/waiting state. - * - * @param call The call context. - * @return {@code true} if the call is in incoming or waiting state, {@code false} otherwise. - */ - private static boolean isIncomingCall(CallContext call) { - return call != null && isIncomingCall(call.getCall()); - } - - /** - * Determines if a call is in incoming/waiting state. - * - * @param call The call. - * @return {@code true} if the call is in incoming or waiting state, {@code false} otherwise. - */ - private static boolean isIncomingCall(Call call) { - return call != null && (call.getState() == Call.State.CALL_WAITING - || call.getState() == Call.State.INCOMING); - } - - /** - * Determines if a call is dialing. - * - * @param call The call context. - * @return {@code true} if the call is dialing, {@code false} otherwise. - */ - private static boolean isDialing(CallContext call) { - return call != null && Call.State.isDialing(call.getState()); - } - - /** - * Determines if a call is holding. - * - * @param call The call context. - * @return {@code true} if the call is holding, {@code false} otherwise. - */ - private static boolean isHolding(CallContext call) { - return call != null && call.getState() == Call.State.ONHOLD; - } - - /** - * Logs a debug message. - * - * @param msg The message. - */ - private void log(String msg) { - Log.d(this, TAG + msg); - } - - /** - * Logs an error message. - * - * @param msg The message. - */ - private void loge(String msg) { - Log.e(this, TAG + msg); - } -} diff --git a/InCallUI/src/com/android/incallui/VideoUtils.java b/InCallUI/src/com/android/incallui/VideoUtils.java deleted file mode 100644 index a2eb8bcf2..000000000 --- a/InCallUI/src/com/android/incallui/VideoUtils.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2015 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.telecom.VideoProfile; - -import com.android.contacts.common.compat.CompatUtils; - -import com.google.common.base.Preconditions; - -public class VideoUtils { - - public static boolean isVideoCall(Call call) { - return call != null && isVideoCall(call.getVideoState()); - } - - public static boolean isVideoCall(int videoState) { - if (!CompatUtils.isVideoCompatible()) { - return false; - } - - return VideoProfile.isTransmissionEnabled(videoState) - || VideoProfile.isReceptionEnabled(videoState); - } - - public static boolean isBidirectionalVideoCall(Call call) { - if (!CompatUtils.isVideoCompatible()) { - return false; - } - - return VideoProfile.isBidirectional(call.getVideoState()); - } - - public static boolean isTransmissionEnabled(Call call) { - if (!CompatUtils.isVideoCompatible()) { - return false; - } - - return VideoProfile.isTransmissionEnabled(call.getVideoState()); - } - - public static boolean isIncomingVideoCall(Call call) { - if (!VideoUtils.isVideoCall(call)) { - return false; - } - final int state = call.getState(); - return (state == Call.State.INCOMING) || (state == Call.State.CALL_WAITING); - } - - public static boolean isActiveVideoCall(Call call) { - return VideoUtils.isVideoCall(call) && call.getState() == Call.State.ACTIVE; - } - - public static boolean isOutgoingVideoCall(Call call) { - if (!VideoUtils.isVideoCall(call)) { - return false; - } - final int state = call.getState(); - return Call.State.isDialing(state) || state == Call.State.CONNECTING - || state == Call.State.SELECT_PHONE_ACCOUNT; - } - - public static boolean isAudioCall(Call call) { - if (!CompatUtils.isVideoCompatible()) { - return true; - } - - return call != null && VideoProfile.isAudioOnly(call.getVideoState()); - } - - // TODO (ims-vt) Check if special handling is needed for CONF calls. - public static boolean canVideoPause(Call call) { - return isVideoCall(call) && call.getState() == Call.State.ACTIVE; - } - - public static VideoProfile makeVideoPauseProfile(Call call) { - Preconditions.checkNotNull(call); - Preconditions.checkState(!VideoProfile.isAudioOnly(call.getVideoState())); - return new VideoProfile(getPausedVideoState(call.getVideoState())); - } - - public static VideoProfile makeVideoUnPauseProfile(Call call) { - Preconditions.checkNotNull(call); - return new VideoProfile(getUnPausedVideoState(call.getVideoState())); - } - - public static int getUnPausedVideoState(int videoState) { - return videoState & (~VideoProfile.STATE_PAUSED); - } - - public static int getPausedVideoState(int videoState) { - return videoState | VideoProfile.STATE_PAUSED; - } - -} diff --git a/InCallUI/src/com/android/incallui/async/PausableExecutor.java b/InCallUI/src/com/android/incallui/async/PausableExecutor.java deleted file mode 100644 index 1b8201a79..000000000 --- a/InCallUI/src/com/android/incallui/async/PausableExecutor.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2016 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.async; - -import com.android.contacts.common.testing.NeededForTesting; - -import java.util.concurrent.Executor; - -/** - * Executor that can be used to easily synchronize testing and production code. Production code - * should call {@link #milestone()} at points in the code where the state of the system is worthy of - * testing. In a test scenario, this method will pause execution until the test acknowledges the - * milestone through the use of {@link #ackMilestoneForTesting()}. - */ -public interface PausableExecutor extends Executor { - - /** - * Method called from asynchronous production code to inform this executor that it has - * reached a point that puts the system into a state worth testing. TestableExecutors intended - * for use in a testing environment should cause the calling thread to block. In the production - * environment this should be a no-op. - */ - void milestone(); - - /** - * Method called from the test code to inform this executor that the state of the production - * system at the current milestone has been sufficiently tested. Every milestone must be - * acknowledged. - */ - @NeededForTesting - void ackMilestoneForTesting(); - - /** - * Method called from the test code to inform this executor that the tests are finished with all - * milestones. Future calls to {@link #milestone()} or {@link #awaitMilestoneForTesting()} - * should return immediately. - */ - @NeededForTesting - void ackAllMilestonesForTesting(); - - /** - * Method called from the test code to block until a milestone has been reached in the - * production code. - */ - @NeededForTesting - void awaitMilestoneForTesting() throws InterruptedException; -} diff --git a/InCallUI/src/com/android/incallui/async/PausableExecutorImpl.java b/InCallUI/src/com/android/incallui/async/PausableExecutorImpl.java deleted file mode 100644 index 15900e57b..000000000 --- a/InCallUI/src/com/android/incallui/async/PausableExecutorImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2016 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.async; - -import java.util.concurrent.Executors; - -/** - * {@link PausableExecutor} intended for use in production environments. - */ -public class PausableExecutorImpl implements PausableExecutor { - - @Override - public void milestone() {} - - @Override - public void ackMilestoneForTesting() {} - - @Override - public void ackAllMilestonesForTesting() {} - - @Override - public void awaitMilestoneForTesting() {} - - @Override - public void execute(Runnable command) { - Executors.newSingleThreadExecutor().execute(command); - } -} diff --git a/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java b/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java deleted file mode 100644 index 39844e5a2..000000000 --- a/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (C) 2016 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.ringtone; - -import com.google.common.base.Preconditions; - -import android.content.ContentResolver; -import android.net.Uri; -import android.provider.Settings; -import android.support.annotation.Nullable; - -import com.android.contacts.common.compat.CompatUtils; -import com.android.contacts.common.testing.NeededForTesting; -import com.android.incallui.Call; -import com.android.incallui.Call.State; -import com.android.incallui.CallList; - -/** - * Class that determines when ringtones should be played and can play the call waiting tone when - * necessary. - */ -public class DialerRingtoneManager { - - /* - * Flag used to determine if the Dialer is responsible for playing ringtones for incoming calls. - * Once we're ready to enable Dialer Ringing, these flags should be removed. - */ - private static final boolean IS_DIALER_RINGING_ENABLED = false; - private Boolean mIsDialerRingingEnabledForTesting; - - private final InCallTonePlayer mInCallTonePlayer; - private final CallList mCallList; - - /** - * Creates the DialerRingtoneManager with the given {@link InCallTonePlayer}. - * - * @param inCallTonePlayer the tone player used to play in-call tones. - * @param callList the CallList used to check for {@link State#CALL_WAITING} - * @throws NullPointerException if inCallTonePlayer or callList are null - */ - public DialerRingtoneManager(InCallTonePlayer inCallTonePlayer, CallList callList) { - mInCallTonePlayer = Preconditions.checkNotNull(inCallTonePlayer); - mCallList = Preconditions.checkNotNull(callList); - } - - /** - * Determines if a ringtone should be played for the given call state (see {@link State}) and - * {@link Uri}. - * - * @param callState the call state for the call being checked. - * @param ringtoneUri the ringtone to potentially play. - * @return {@code true} if the ringtone should be played, {@code false} otherwise. - */ - public boolean shouldPlayRingtone(int callState, @Nullable Uri ringtoneUri) { - return isDialerRingingEnabled() - && translateCallStateForCallWaiting(callState) == State.INCOMING - && ringtoneUri != null; - } - - /** - * Determines if an incoming call should vibrate as well as ring. - * - * @param resolver {@link ContentResolver} used to look up the - * {@link Settings.System#VIBRATE_WHEN_RINGING} setting. - * @return {@code true} if the call should vibrate, {@code false} otherwise. - */ - public boolean shouldVibrate(ContentResolver resolver) { - return Settings.System.getInt(resolver, Settings.System.VIBRATE_WHEN_RINGING, 0) != 0; - } - - /** - * The incoming callState is never set as {@link State#CALL_WAITING} because - * {@link Call#translateState(int)} doesn't account for that case, check for it here - */ - private int translateCallStateForCallWaiting(int callState) { - if (callState != State.INCOMING) { - return callState; - } - return mCallList.getActiveCall() == null ? State.INCOMING : State.CALL_WAITING; - } - - private boolean isDialerRingingEnabled() { - if (mIsDialerRingingEnabledForTesting != null) { - return mIsDialerRingingEnabledForTesting; - } - return CompatUtils.isNCompatible() && IS_DIALER_RINGING_ENABLED; - } - - /** - * Determines if a call waiting tone should be played for the the given call state - * (see {@link State}). - * - * @param callState the call state for the call being checked. - * @return {@code true} if the call waiting tone should be played, {@code false} otherwise. - */ - public boolean shouldPlayCallWaitingTone(int callState) { - return isDialerRingingEnabled() - && translateCallStateForCallWaiting(callState) == State.CALL_WAITING - && !mInCallTonePlayer.isPlayingTone(); - } - - /** - * Plays the call waiting tone. - */ - public void playCallWaitingTone() { - if (!isDialerRingingEnabled()) { - return; - } - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - } - - /** - * Stops playing the call waiting tone. - */ - public void stopCallWaitingTone() { - if (!isDialerRingingEnabled()) { - return; - } - mInCallTonePlayer.stop(); - } - - @NeededForTesting - void setDialerRingingEnabledForTesting(boolean status) { - mIsDialerRingingEnabledForTesting = status; - } -} diff --git a/InCallUI/src/com/android/incallui/ringtone/InCallTonePlayer.java b/InCallUI/src/com/android/incallui/ringtone/InCallTonePlayer.java deleted file mode 100644 index 3a8b03d91..000000000 --- a/InCallUI/src/com/android/incallui/ringtone/InCallTonePlayer.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2016 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.ringtone; - -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; - -import android.media.AudioManager; -import android.media.ToneGenerator; -import android.support.annotation.Nullable; - -import com.android.incallui.Log; -import com.android.incallui.async.PausableExecutor; - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -/** - * Class responsible for playing in-call related tones in a background thread. This class only - * allows one tone to be played at a time. - */ -public class InCallTonePlayer { - - public static final int TONE_CALL_WAITING = 4; - - public static final int VOLUME_RELATIVE_HIGH_PRIORITY = 80; - - private final ToneGeneratorFactory mToneGeneratorFactory; - private final PausableExecutor mExecutor; - private @Nullable CountDownLatch mNumPlayingTones; - - /** - * Creates a new InCallTonePlayer. - * - * @param toneGeneratorFactory the {@link ToneGeneratorFactory} used to create - * {@link ToneGenerator}s. - * @param executor the {@link PausableExecutor} used to play tones in a background thread. - * @throws NullPointerException if audioModeProvider, toneGeneratorFactory, or executor are - * {@code null}. - */ - public InCallTonePlayer(ToneGeneratorFactory toneGeneratorFactory, PausableExecutor executor) { - mToneGeneratorFactory = Preconditions.checkNotNull(toneGeneratorFactory); - mExecutor = Preconditions.checkNotNull(executor); - } - - /** - * @return {@code true} if a tone is currently playing, {@code false} otherwise. - */ - public boolean isPlayingTone() { - return mNumPlayingTones != null && mNumPlayingTones.getCount() > 0; - } - - /** - * Plays the given tone in a background thread. - * - * @param tone the tone to play. - * @throws IllegalStateException if a tone is already playing. - * @throws IllegalArgumentException if the tone is invalid. - */ - public void play(int tone) { - if (isPlayingTone()) { - throw new IllegalStateException("Tone already playing"); - } - final ToneGeneratorInfo info = getToneGeneratorInfo(tone); - mNumPlayingTones = new CountDownLatch(1); - mExecutor.execute(new Runnable() { - @Override - public void run() { - playOnBackgroundThread(info); - } - }); - } - - private ToneGeneratorInfo getToneGeneratorInfo(int tone) { - switch (tone) { - case TONE_CALL_WAITING: - /* - * Call waiting tones play until they're stopped either by the user accepting or - * declining the call so the tone length is set at what's effectively forever. The - * tone is played at a high priority volume and through STREAM_VOICE_CALL since it's - * call related and using that stream will route it through bluetooth devices - * appropriately. - */ - return new ToneGeneratorInfo(ToneGenerator.TONE_SUP_CALL_WAITING, - VOLUME_RELATIVE_HIGH_PRIORITY, - Integer.MAX_VALUE, - AudioManager.STREAM_VOICE_CALL); - default: - throw new IllegalArgumentException("Bad tone: " + tone); - } - } - - private void playOnBackgroundThread(ToneGeneratorInfo info) { - ToneGenerator toneGenerator = null; - try { - Log.v(this, "Starting tone " + info); - toneGenerator = mToneGeneratorFactory.newInCallToneGenerator(info.stream, info.volume); - toneGenerator.startTone(info.tone); - /* - * During tests, this will block until the tests call mExecutor.ackMilestone. This call - * allows for synchronization to the point where the tone has started playing. - */ - mExecutor.milestone(); - if (mNumPlayingTones != null) { - mNumPlayingTones.await(info.toneLengthMillis, TimeUnit.MILLISECONDS); - // Allows for synchronization to the point where the tone has completed playing. - mExecutor.milestone(); - } - } catch (InterruptedException e) { - Log.w(this, "Interrupted while playing in-call tone."); - } finally { - if (toneGenerator != null) { - toneGenerator.release(); - } - if (mNumPlayingTones != null) { - mNumPlayingTones.countDown(); - } - // Allows for synchronization to the point where this background thread has cleaned up. - mExecutor.milestone(); - } - } - - /** - * Stops playback of the current tone. - */ - public void stop() { - if (mNumPlayingTones != null) { - mNumPlayingTones.countDown(); - } - } - - private static class ToneGeneratorInfo { - public final int tone; - public final int volume; - public final int toneLengthMillis; - public final int stream; - - public ToneGeneratorInfo(int toneGeneratorType, int volume, int toneLengthMillis, - int stream) { - this.tone = toneGeneratorType; - this.volume = volume; - this.toneLengthMillis = toneLengthMillis; - this.stream = stream; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("tone", tone) - .add("volume", volume) - .add("toneLengthMillis", toneLengthMillis).toString(); - } - } -} diff --git a/InCallUI/src/com/android/incallui/ringtone/ToneGeneratorFactory.java b/InCallUI/src/com/android/incallui/ringtone/ToneGeneratorFactory.java deleted file mode 100644 index ac47c8a7d..000000000 --- a/InCallUI/src/com/android/incallui/ringtone/ToneGeneratorFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2016 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.ringtone; - -import android.media.ToneGenerator; - -/** - * Factory used to create {@link ToneGenerator}s. - */ -public class ToneGeneratorFactory { - - /** - * Creates a new {@link ToneGenerator} to use while in a call. - * - * @param stream the stream through which to play tones. - * @param volume the volume at which to play tones. - * @return a new ToneGenerator. - */ - public ToneGenerator newInCallToneGenerator(int stream, int volume) { - return new ToneGenerator(stream, volume); - } -} diff --git a/InCallUI/src/com/android/incallui/service/PhoneNumberService.java b/InCallUI/src/com/android/incallui/service/PhoneNumberService.java deleted file mode 100644 index 70da4ef3a..000000000 --- a/InCallUI/src/com/android/incallui/service/PhoneNumberService.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * 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.service; - -import android.graphics.Bitmap; - -/** - * Provides phone number lookup services. - */ -public interface PhoneNumberService { - - /** - * Get a phone number number asynchronously. - * - * @param phoneNumber The phone number to lookup. - * @param listener The listener to notify when the phone number lookup is complete. - * @param imageListener The listener to notify when the image lookup is complete. - */ - public void getPhoneNumberInfo(String phoneNumber, NumberLookupListener listener, - ImageLookupListener imageListener, boolean isIncoming); - - public interface NumberLookupListener { - - /** - * Callback when a phone number has been looked up. - * - * @param info The looked up information. Or (@literal null} if there are no results. - */ - public void onPhoneNumberInfoComplete(PhoneNumberInfo info); - } - - public interface ImageLookupListener { - - /** - * Callback when a image has been fetched. - * - * @param bitmap The fetched image. - */ - public void onImageFetchComplete(Bitmap bitmap); - } - - public interface PhoneNumberInfo { - public String getDisplayName(); - public String getNumber(); - public int getPhoneType(); - public String getPhoneLabel(); - public String getNormalizedNumber(); - public String getImageUrl(); - public String getLookupKey(); - public boolean isBusiness(); - public int getLookupSource(); - } -} diff --git a/InCallUI/src/com/android/incallui/spam/SpamCallListListener.java b/InCallUI/src/com/android/incallui/spam/SpamCallListListener.java deleted file mode 100644 index b97f4d099..000000000 --- a/InCallUI/src/com/android/incallui/spam/SpamCallListListener.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2016 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.spam; - -import com.google.common.annotations.VisibleForTesting; - -import android.content.Context; -import android.telecom.DisconnectCause; -import android.text.TextUtils; - -import com.android.dialer.calllog.CallLogAsyncTaskUtil; -import com.android.incallui.Call; -import com.android.incallui.CallList; -import com.android.incallui.Log; - -public class SpamCallListListener implements CallList.Listener { - private static final String TAG = "SpamCallListListener"; - - private final Context mContext; - - public SpamCallListListener(Context context) { - mContext = context; - } - - @Override - public void onIncomingCall(final Call call) { - String number = call.getNumber(); - if (TextUtils.isEmpty(number)) { - return; - } - CallLogAsyncTaskUtil.getNumberInCallHistory(mContext, number, - new CallLogAsyncTaskUtil.OnGetNumberInCallHistoryListener() { - @Override - public void onComplete(boolean inCallHistory) { - call.setCallHistoryStatus(inCallHistory ? - Call.CALL_HISTORY_STATUS_PRESENT - : Call.CALL_HISTORY_STATUS_NOT_PRESENT); - } - }); - } - - @Override - public void onUpgradeToVideo(Call call) {} - - @Override - public void onCallListChange(CallList callList) {} - - @Override - public void onDisconnect(Call call) { - if (shouldShowAfterCallNotification(call)) { - showNotification(call.getNumber()); - } - } - - /** - * Posts the intent for displaying the after call spam notification to the user. - */ - @VisibleForTesting - /* package */ void showNotification(String number) { - //TODO(mhashmi): build and show notifications here - } - - /** - * Determines if the after call notification should be shown for the specified call. - */ - private boolean shouldShowAfterCallNotification(Call call) { - String number = call.getNumber(); - if (TextUtils.isEmpty(number)) { - return false; - } - - Call.LogState logState = call.getLogState(); - if (!logState.isIncoming) { - return false; - } - - if (logState.duration <= 0) { - return false; - } - - if (logState.contactLookupResult != Call.LogState.LOOKUP_NOT_FOUND - && logState.contactLookupResult != Call.LogState.LOOKUP_UNKNOWN) { - return false; - } - - int callHistoryStatus = call.getCallHistoryStatus(); - if (callHistoryStatus == Call.CALL_HISTORY_STATUS_PRESENT) { - return false; - } else if (callHistoryStatus == Call.CALL_HISTORY_STATUS_UNKNOWN) { - Log.i(TAG, "Call history status is unknown, returning false"); - return false; - } - - // Check if call disconnected because of either user hanging up - int disconnectCause = call.getDisconnectCause().getCode(); - if (disconnectCause != DisconnectCause.LOCAL && disconnectCause != DisconnectCause.REMOTE) { - return false; - } - - Log.i(TAG, "shouldShowAfterCallNotification, returning true"); - return true; - } -}
\ No newline at end of file diff --git a/InCallUI/src/com/android/incallui/util/AccessibilityUtil.java b/InCallUI/src/com/android/incallui/util/AccessibilityUtil.java deleted file mode 100644 index 1fdd2bac6..000000000 --- a/InCallUI/src/com/android/incallui/util/AccessibilityUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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.util; - -import android.content.Context; -import android.view.accessibility.AccessibilityManager; - -public class AccessibilityUtil { - public static boolean isTalkBackEnabled(Context context) { - AccessibilityManager accessibilityManager = (AccessibilityManager) context - .getSystemService(Context.ACCESSIBILITY_SERVICE); - return accessibilityManager != null - && accessibilityManager.isEnabled() - && accessibilityManager.isTouchExplorationEnabled(); - } -} diff --git a/InCallUI/src/com/android/incallui/util/TelecomCallUtil.java b/InCallUI/src/com/android/incallui/util/TelecomCallUtil.java deleted file mode 100644 index 53ecc29e9..000000000 --- a/InCallUI/src/com/android/incallui/util/TelecomCallUtil.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2015 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.util; - -import android.net.Uri; -import android.telecom.Call; -import android.telephony.PhoneNumberUtils; - -/** - * Class to provide a standard interface for obtaining information from the underlying - * android.telecom.Call. Much of this should be obtained through the incall.Call, but - * on occasion we need to interact with the telecom.Call directly (eg. call blocking, - * before the incall.Call has been created). - */ -public class TelecomCallUtil { - - // Whether the call handle is an emergency number. - public static boolean isEmergencyCall(Call call) { - Uri handle = call.getDetails().getHandle(); - return PhoneNumberUtils.isEmergencyNumber( - handle == null ? "" : handle.getSchemeSpecificPart()); - } - - public static String getNumber(Call call) { - if (call == null) { - return null; - } - if (call.getDetails().getGatewayInfo() != null) { - return call.getDetails().getGatewayInfo() - .getOriginalAddress().getSchemeSpecificPart(); - } - Uri handle = getHandle(call); - return handle == null ? null : handle.getSchemeSpecificPart(); - } - - public static Uri getHandle(Call call) { - return call == null ? null : call.getDetails().getHandle(); - } -} diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/Ease.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/Ease.java deleted file mode 100644 index 5ef689771..000000000 --- a/InCallUI/src/com/android/incallui/widget/multiwaveview/Ease.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2011 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.widget.multiwaveview; - -import android.animation.TimeInterpolator; - -class Ease { - private static final float DOMAIN = 1.0f; - private static final float DURATION = 1.0f; - private static final float START = 0.0f; - - static class Linear { - public static final TimeInterpolator easeNone = new TimeInterpolator() { - public float getInterpolation(float input) { - return input; - } - }; - } - - static class Cubic { - public static final TimeInterpolator easeIn = new TimeInterpolator() { - public float getInterpolation(float input) { - return DOMAIN*(input/=DURATION)*input*input + START; - } - }; - public static final TimeInterpolator easeOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return DOMAIN*((input=input/DURATION-1)*input*input + 1) + START; - } - }; - public static final TimeInterpolator easeInOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return ((input/=DURATION/2) < 1.0f) ? - (DOMAIN/2*input*input*input + START) - : (DOMAIN/2*((input-=2)*input*input + 2) + START); - } - }; - } - - static class Quad { - public static final TimeInterpolator easeIn = new TimeInterpolator() { - public float getInterpolation (float input) { - return DOMAIN*(input/=DURATION)*input + START; - } - }; - public static final TimeInterpolator easeOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return -DOMAIN *(input/=DURATION)*(input-2) + START; - } - }; - public static final TimeInterpolator easeInOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return ((input/=DURATION/2) < 1) ? - (DOMAIN/2*input*input + START) - : (-DOMAIN/2 * ((--input)*(input-2) - 1) + START); - } - }; - } - - static class Quart { - public static final TimeInterpolator easeIn = new TimeInterpolator() { - public float getInterpolation(float input) { - return DOMAIN*(input/=DURATION)*input*input*input + START; - } - }; - public static final TimeInterpolator easeOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return -DOMAIN * ((input=input/DURATION-1)*input*input*input - 1) + START; - } - }; - public static final TimeInterpolator easeInOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return ((input/=DURATION/2) < 1) ? - (DOMAIN/2*input*input*input*input + START) - : (-DOMAIN/2 * ((input-=2)*input*input*input - 2) + START); - } - }; - } - - static class Quint { - public static final TimeInterpolator easeIn = new TimeInterpolator() { - public float getInterpolation(float input) { - return DOMAIN*(input/=DURATION)*input*input*input*input + START; - } - }; - public static final TimeInterpolator easeOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return DOMAIN*((input=input/DURATION-1)*input*input*input*input + 1) + START; - } - }; - public static final TimeInterpolator easeInOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return ((input/=DURATION/2) < 1) ? - (DOMAIN/2*input*input*input*input*input + START) - : (DOMAIN/2*((input-=2)*input*input*input*input + 2) + START); - } - }; - } - - static class Sine { - public static final TimeInterpolator easeIn = new TimeInterpolator() { - public float getInterpolation(float input) { - return -DOMAIN * (float) Math.cos(input/DURATION * (Math.PI/2)) + DOMAIN + START; - } - }; - public static final TimeInterpolator easeOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return DOMAIN * (float) Math.sin(input/DURATION * (Math.PI/2)) + START; - } - }; - public static final TimeInterpolator easeInOut = new TimeInterpolator() { - public float getInterpolation(float input) { - return -DOMAIN/2 * ((float)Math.cos(Math.PI*input/DURATION) - 1.0f) + START; - } - }; - } - -} diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java deleted file mode 100644 index efeb4b7e3..000000000 --- a/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java +++ /dev/null @@ -1,1473 +0,0 @@ -/* - * Copyright (C) 2012 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.widget.multiwaveview; - -import android.animation.Animator; -import android.animation.Animator.AnimatorListener; -import android.animation.AnimatorListenerAdapter; -import android.animation.TimeInterpolator; -import android.animation.ValueAnimator; -import android.animation.ValueAnimator.AnimatorUpdateListener; -import android.content.ComponentName; -import android.content.Context; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.content.res.Resources; -import android.content.res.TypedArray; -import android.graphics.Canvas; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.os.Vibrator; -import android.support.v4.view.ViewCompat; -import android.support.v4.view.accessibility.AccessibilityEventCompat; -import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; -import android.support.v4.widget.ExploreByTouchHelper; -import android.text.TextUtils; -import android.util.AttributeSet; -import android.util.Log; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.MotionEvent; -import android.view.View; -import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityManager; -import android.view.accessibility.AccessibilityNodeInfo; -import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction; -import android.view.accessibility.AccessibilityNodeProvider; - -import com.android.dialer.R; - -import java.util.ArrayList; -import java.util.List; - -/** - * This is a copy of com.android.internal.widget.multiwaveview.GlowPadView with minor changes - * to remove dependencies on private api's. - * - * Incoporated the scaling functionality. - * - * A re-usable widget containing a center, outer ring and wave animation. - */ -public class GlowPadView extends View { - private static final String TAG = "GlowPadView"; - private static final boolean DEBUG = false; - - // Wave state machine - private static final int STATE_IDLE = 0; - private static final int STATE_START = 1; - private static final int STATE_FIRST_TOUCH = 2; - private static final int STATE_TRACKING = 3; - private static final int STATE_SNAP = 4; - private static final int STATE_FINISH = 5; - - // Animation properties. - private static final float SNAP_MARGIN_DEFAULT = 20.0f; // distance to ring before we snap to it - - public interface OnTriggerListener { - int NO_HANDLE = 0; - int CENTER_HANDLE = 1; - public void onGrabbed(View v, int handle); - public void onReleased(View v, int handle); - public void onTrigger(View v, int target); - public void onGrabbedStateChange(View v, int handle); - public void onFinishFinalAnimation(); - } - - // Tuneable parameters for animation - private static final int WAVE_ANIMATION_DURATION = 1350; - private static final int RETURN_TO_HOME_DELAY = 1200; - private static final int RETURN_TO_HOME_DURATION = 200; - private static final int HIDE_ANIMATION_DELAY = 200; - private static final int HIDE_ANIMATION_DURATION = 200; - private static final int SHOW_ANIMATION_DURATION = 200; - private static final int SHOW_ANIMATION_DELAY = 50; - private static final int INITIAL_SHOW_HANDLE_DURATION = 200; - private static final int REVEAL_GLOW_DELAY = 0; - private static final int REVEAL_GLOW_DURATION = 0; - - private static final float TAP_RADIUS_SCALE_ACCESSIBILITY_ENABLED = 1.3f; - private static final float TARGET_SCALE_EXPANDED = 1.0f; - private static final float TARGET_SCALE_COLLAPSED = 0.8f; - private static final float RING_SCALE_EXPANDED = 1.0f; - private static final float RING_SCALE_COLLAPSED = 0.5f; - - private ArrayList<TargetDrawable> mTargetDrawables = new ArrayList<TargetDrawable>(); - private AnimationBundle mWaveAnimations = new AnimationBundle(); - private AnimationBundle mTargetAnimations = new AnimationBundle(); - private AnimationBundle mGlowAnimations = new AnimationBundle(); - private ArrayList<String> mTargetDescriptions; - private ArrayList<String> mDirectionDescriptions; - private OnTriggerListener mOnTriggerListener; - private TargetDrawable mHandleDrawable; - private TargetDrawable mOuterRing; - private Vibrator mVibrator; - - private int mFeedbackCount = 3; - private int mVibrationDuration = 0; - private int mGrabbedState; - private int mActiveTarget = -1; - private float mGlowRadius; - private float mWaveCenterX; - private float mWaveCenterY; - private int mMaxTargetHeight; - private int mMaxTargetWidth; - private float mRingScaleFactor = 1f; - private boolean mAllowScaling; - - private float mOuterRadius = 0.0f; - private float mSnapMargin = 0.0f; - private boolean mDragging; - private int mNewTargetResources; - - private AccessibilityNodeProvider mAccessibilityNodeProvider; - private GlowpadExploreByTouchHelper mExploreByTouchHelper; - - private class AnimationBundle extends ArrayList<Tweener> { - private static final long serialVersionUID = 0xA84D78726F127468L; - private boolean mSuspended; - - public void start() { - if (mSuspended) return; // ignore attempts to start animations - final int count = size(); - for (int i = 0; i < count; i++) { - Tweener anim = get(i); - anim.animator.start(); - } - } - - public void cancel() { - final int count = size(); - for (int i = 0; i < count; i++) { - Tweener anim = get(i); - anim.animator.cancel(); - } - clear(); - } - - public void stop() { - final int count = size(); - for (int i = 0; i < count; i++) { - Tweener anim = get(i); - anim.animator.end(); - } - clear(); - } - - public void setSuspended(boolean suspend) { - mSuspended = suspend; - } - }; - - private AnimatorListener mResetListener = new AnimatorListenerAdapter() { - public void onAnimationEnd(Animator animator) { - switchToState(STATE_IDLE, mWaveCenterX, mWaveCenterY); - dispatchOnFinishFinalAnimation(); - } - }; - - private AnimatorListener mResetListenerWithPing = new AnimatorListenerAdapter() { - public void onAnimationEnd(Animator animator) { - ping(); - switchToState(STATE_IDLE, mWaveCenterX, mWaveCenterY); - dispatchOnFinishFinalAnimation(); - } - }; - - private AnimatorUpdateListener mUpdateListener = new AnimatorUpdateListener() { - public void onAnimationUpdate(ValueAnimator animation) { - invalidate(); - } - }; - - private boolean mAnimatingTargets; - private AnimatorListener mTargetUpdateListener = new AnimatorListenerAdapter() { - public void onAnimationEnd(Animator animator) { - if (mNewTargetResources != 0) { - internalSetTargetResources(mNewTargetResources); - mNewTargetResources = 0; - hideTargets(false, false); - } - mAnimatingTargets = false; - } - }; - private int mTargetResourceId; - private int mTargetDescriptionsResourceId; - private int mDirectionDescriptionsResourceId; - private boolean mAlwaysTrackFinger; - private int mHorizontalInset; - private int mVerticalInset; - private int mGravity = Gravity.TOP; - private boolean mInitialLayout = true; - private Tweener mBackgroundAnimator; - private PointCloud mPointCloud; - private float mInnerRadius; - private int mPointerId; - - public GlowPadView(Context context) { - this(context, null); - } - - public GlowPadView(Context context, AttributeSet attrs) { - super(context, attrs); - Resources res = context.getResources(); - - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.GlowPadView); - mInnerRadius = a.getDimension(R.styleable.GlowPadView_innerRadius, mInnerRadius); - mOuterRadius = a.getDimension(R.styleable.GlowPadView_outerRadius, mOuterRadius); - mSnapMargin = a.getDimension(R.styleable.GlowPadView_snapMargin, mSnapMargin); - mVibrationDuration = a.getInt(R.styleable.GlowPadView_vibrationDuration, - mVibrationDuration); - mFeedbackCount = a.getInt(R.styleable.GlowPadView_feedbackCount, - mFeedbackCount); - mAllowScaling = a.getBoolean(R.styleable.GlowPadView_allowScaling, false); - TypedValue handle = a.peekValue(R.styleable.GlowPadView_handleDrawable); - setHandleDrawable(handle != null ? handle.resourceId : R.drawable.ic_incall_audio_handle); - mOuterRing = new TargetDrawable(res, - getResourceId(a, R.styleable.GlowPadView_outerRingDrawable), 1); - - mAlwaysTrackFinger = a.getBoolean(R.styleable.GlowPadView_alwaysTrackFinger, false); - - int pointId = getResourceId(a, R.styleable.GlowPadView_pointDrawable); - Drawable pointDrawable = pointId != 0 ? res.getDrawable(pointId) : null; - mGlowRadius = a.getDimension(R.styleable.GlowPadView_glowRadius, 0.0f); - - TypedValue outValue = new TypedValue(); - - // Read array of target drawables - if (a.getValue(R.styleable.GlowPadView_targetDrawables, outValue)) { - internalSetTargetResources(outValue.resourceId); - } - if (mTargetDrawables == null || mTargetDrawables.size() == 0) { - throw new IllegalStateException("Must specify at least one target drawable"); - } - - // Read array of target descriptions - if (a.getValue(R.styleable.GlowPadView_targetDescriptions, outValue)) { - final int resourceId = outValue.resourceId; - if (resourceId == 0) { - throw new IllegalStateException("Must specify target descriptions"); - } - setTargetDescriptionsResourceId(resourceId); - } - - // Read array of direction descriptions - if (a.getValue(R.styleable.GlowPadView_directionDescriptions, outValue)) { - final int resourceId = outValue.resourceId; - if (resourceId == 0) { - throw new IllegalStateException("Must specify direction descriptions"); - } - setDirectionDescriptionsResourceId(resourceId); - } - - // Use gravity attribute from LinearLayout - //a = context.obtainStyledAttributes(attrs, R.styleable.LinearLayout); - mGravity = a.getInt(R.styleable.GlowPadView_android_gravity, Gravity.TOP); - a.recycle(); - - - setVibrateEnabled(mVibrationDuration > 0); - - assignDefaultsIfNeeded(); - - mPointCloud = new PointCloud(pointDrawable); - mPointCloud.makePointCloud(mInnerRadius, mOuterRadius); - mPointCloud.glowManager.setRadius(mGlowRadius); - - mExploreByTouchHelper = new GlowpadExploreByTouchHelper(this); - ViewCompat.setAccessibilityDelegate(this, mExploreByTouchHelper); - } - - private int getResourceId(TypedArray a, int id) { - TypedValue tv = a.peekValue(id); - return tv == null ? 0 : tv.resourceId; - } - - private void dump() { - Log.v(TAG, "Outer Radius = " + mOuterRadius); - Log.v(TAG, "SnapMargin = " + mSnapMargin); - Log.v(TAG, "FeedbackCount = " + mFeedbackCount); - Log.v(TAG, "VibrationDuration = " + mVibrationDuration); - Log.v(TAG, "GlowRadius = " + mGlowRadius); - Log.v(TAG, "WaveCenterX = " + mWaveCenterX); - Log.v(TAG, "WaveCenterY = " + mWaveCenterY); - } - - public void suspendAnimations() { - mWaveAnimations.setSuspended(true); - mTargetAnimations.setSuspended(true); - mGlowAnimations.setSuspended(true); - } - - public void resumeAnimations() { - mWaveAnimations.setSuspended(false); - mTargetAnimations.setSuspended(false); - mGlowAnimations.setSuspended(false); - mWaveAnimations.start(); - mTargetAnimations.start(); - mGlowAnimations.start(); - } - - @Override - protected int getSuggestedMinimumWidth() { - // View should be large enough to contain the background + handle and - // target drawable on either edge. - return (int) (Math.max(mOuterRing.getWidth(), 2 * mOuterRadius) + mMaxTargetWidth); - } - - @Override - protected int getSuggestedMinimumHeight() { - // View should be large enough to contain the unlock ring + target and - // target drawable on either edge - return (int) (Math.max(mOuterRing.getHeight(), 2 * mOuterRadius) + mMaxTargetHeight); - } - - /** - * This gets the suggested width accounting for the ring's scale factor. - */ - protected int getScaledSuggestedMinimumWidth() { - return (int) (mRingScaleFactor * Math.max(mOuterRing.getWidth(), 2 * mOuterRadius) - + mMaxTargetWidth); - } - - /** - * This gets the suggested height accounting for the ring's scale factor. - */ - protected int getScaledSuggestedMinimumHeight() { - return (int) (mRingScaleFactor * Math.max(mOuterRing.getHeight(), 2 * mOuterRadius) - + mMaxTargetHeight); - } - - private int resolveMeasured(int measureSpec, int desired) - { - int result = 0; - int specSize = MeasureSpec.getSize(measureSpec); - switch (MeasureSpec.getMode(measureSpec)) { - case MeasureSpec.UNSPECIFIED: - result = desired; - break; - case MeasureSpec.AT_MOST: - result = Math.min(specSize, desired); - break; - case MeasureSpec.EXACTLY: - default: - result = specSize; - } - return result; - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int minimumWidth = getSuggestedMinimumWidth(); - final int minimumHeight = getSuggestedMinimumHeight(); - int computedWidth = resolveMeasured(widthMeasureSpec, minimumWidth); - int computedHeight = resolveMeasured(heightMeasureSpec, minimumHeight); - - mRingScaleFactor = computeScaleFactor(minimumWidth, minimumHeight, - computedWidth, computedHeight); - - int scaledWidth = getScaledSuggestedMinimumWidth(); - int scaledHeight = getScaledSuggestedMinimumHeight(); - - computeInsets(computedWidth - scaledWidth, computedHeight - scaledHeight); - setMeasuredDimension(computedWidth, computedHeight); - } - - private void switchToState(int state, float x, float y) { - switch (state) { - case STATE_IDLE: - deactivateTargets(); - hideGlow(0, 0, 0.0f, null); - startBackgroundAnimation(0, 0.0f); - mHandleDrawable.setState(TargetDrawable.STATE_INACTIVE); - mHandleDrawable.setAlpha(1.0f); - break; - - case STATE_START: - startBackgroundAnimation(0, 0.0f); - break; - - case STATE_FIRST_TOUCH: - mHandleDrawable.setAlpha(0.0f); - deactivateTargets(); - showTargets(true); - startBackgroundAnimation(INITIAL_SHOW_HANDLE_DURATION, 1.0f); - setGrabbedState(OnTriggerListener.CENTER_HANDLE); - - final AccessibilityManager accessibilityManager = - (AccessibilityManager) getContext().getSystemService( - Context.ACCESSIBILITY_SERVICE); - if (accessibilityManager.isEnabled()) { - announceTargets(); - } - break; - - case STATE_TRACKING: - mHandleDrawable.setAlpha(0.0f); - break; - - case STATE_SNAP: - // TODO: Add transition states (see list_selector_background_transition.xml) - mHandleDrawable.setAlpha(0.0f); - showGlow(REVEAL_GLOW_DURATION , REVEAL_GLOW_DELAY, 0.0f, null); - break; - - case STATE_FINISH: - doFinish(); - break; - } - } - - private void showGlow(int duration, int delay, float finalAlpha, - AnimatorListener finishListener) { - mGlowAnimations.cancel(); - mGlowAnimations.add(Tweener.to(mPointCloud.glowManager, duration, - "ease", Ease.Cubic.easeIn, - "delay", delay, - "alpha", finalAlpha, - "onUpdate", mUpdateListener, - "onComplete", finishListener)); - mGlowAnimations.start(); - } - - private void hideGlow(int duration, int delay, float finalAlpha, - AnimatorListener finishListener) { - mGlowAnimations.cancel(); - mGlowAnimations.add(Tweener.to(mPointCloud.glowManager, duration, - "ease", Ease.Quart.easeOut, - "delay", delay, - "alpha", finalAlpha, - "x", 0.0f, - "y", 0.0f, - "onUpdate", mUpdateListener, - "onComplete", finishListener)); - mGlowAnimations.start(); - } - - private void deactivateTargets() { - final int count = mTargetDrawables.size(); - for (int i = 0; i < count; i++) { - TargetDrawable target = mTargetDrawables.get(i); - target.setState(TargetDrawable.STATE_INACTIVE); - } - mActiveTarget = -1; - } - - /** - * Dispatches a trigger event to listener. Ignored if a listener is not set. - * @param whichTarget the target that was triggered. - */ - private void dispatchTriggerEvent(int whichTarget) { - vibrate(); - if (mOnTriggerListener != null) { - mOnTriggerListener.onTrigger(this, whichTarget); - } - } - - private void dispatchOnFinishFinalAnimation() { - if (mOnTriggerListener != null) { - mOnTriggerListener.onFinishFinalAnimation(); - } - } - - private void doFinish() { - final int activeTarget = mActiveTarget; - final boolean targetHit = activeTarget != -1; - - if (targetHit) { - if (DEBUG) Log.v(TAG, "Finish with target hit = " + targetHit); - - highlightSelected(activeTarget); - - // Inform listener of any active targets. Typically only one will be active. - hideGlow(RETURN_TO_HOME_DURATION, RETURN_TO_HOME_DELAY, 0.0f, mResetListener); - dispatchTriggerEvent(activeTarget); - if (!mAlwaysTrackFinger) { - // Force ring and targets to finish animation to final expanded state - mTargetAnimations.stop(); - } - } else { - // Animate handle back to the center based on current state. - hideGlow(HIDE_ANIMATION_DURATION, 0, 0.0f, mResetListenerWithPing); - hideTargets(true, false); - } - - setGrabbedState(OnTriggerListener.NO_HANDLE); - } - - private void highlightSelected(int activeTarget) { - // Highlight the given target and fade others - mTargetDrawables.get(activeTarget).setState(TargetDrawable.STATE_ACTIVE); - hideUnselected(activeTarget); - } - - private void hideUnselected(int active) { - for (int i = 0; i < mTargetDrawables.size(); i++) { - if (i != active) { - mTargetDrawables.get(i).setAlpha(0.0f); - } - } - } - - private void hideTargets(boolean animate, boolean expanded) { - mTargetAnimations.cancel(); - // Note: these animations should complete at the same time so that we can swap out - // the target assets asynchronously from the setTargetResources() call. - mAnimatingTargets = animate; - final int duration = animate ? HIDE_ANIMATION_DURATION : 0; - final int delay = animate ? HIDE_ANIMATION_DELAY : 0; - - final float targetScale = expanded ? - TARGET_SCALE_EXPANDED : TARGET_SCALE_COLLAPSED; - final int length = mTargetDrawables.size(); - final TimeInterpolator interpolator = Ease.Cubic.easeOut; - for (int i = 0; i < length; i++) { - TargetDrawable target = mTargetDrawables.get(i); - target.setState(TargetDrawable.STATE_INACTIVE); - mTargetAnimations.add(Tweener.to(target, duration, - "ease", interpolator, - "alpha", 0.0f, - "scaleX", targetScale, - "scaleY", targetScale, - "delay", delay, - "onUpdate", mUpdateListener)); - } - - float ringScaleTarget = expanded ? - RING_SCALE_EXPANDED : RING_SCALE_COLLAPSED; - ringScaleTarget *= mRingScaleFactor; - mTargetAnimations.add(Tweener.to(mOuterRing, duration, - "ease", interpolator, - "alpha", 0.0f, - "scaleX", ringScaleTarget, - "scaleY", ringScaleTarget, - "delay", delay, - "onUpdate", mUpdateListener, - "onComplete", mTargetUpdateListener)); - - mTargetAnimations.start(); - } - - private void showTargets(boolean animate) { - mTargetAnimations.stop(); - mAnimatingTargets = animate; - final int delay = animate ? SHOW_ANIMATION_DELAY : 0; - final int duration = animate ? SHOW_ANIMATION_DURATION : 0; - final int length = mTargetDrawables.size(); - for (int i = 0; i < length; i++) { - TargetDrawable target = mTargetDrawables.get(i); - target.setState(TargetDrawable.STATE_INACTIVE); - mTargetAnimations.add(Tweener.to(target, duration, - "ease", Ease.Cubic.easeOut, - "alpha", 1.0f, - "scaleX", 1.0f, - "scaleY", 1.0f, - "delay", delay, - "onUpdate", mUpdateListener)); - } - float ringScale = mRingScaleFactor * RING_SCALE_EXPANDED; - mTargetAnimations.add(Tweener.to(mOuterRing, duration, - "ease", Ease.Cubic.easeOut, - "alpha", 1.0f, - "scaleX", ringScale, - "scaleY", ringScale, - "delay", delay, - "onUpdate", mUpdateListener, - "onComplete", mTargetUpdateListener)); - - mTargetAnimations.start(); - } - - private void vibrate() { - if (mVibrator != null) { - mVibrator.vibrate(mVibrationDuration); - } - } - - private ArrayList<TargetDrawable> loadDrawableArray(int resourceId) { - Resources res = getContext().getResources(); - TypedArray array = res.obtainTypedArray(resourceId); - final int count = array.length(); - ArrayList<TargetDrawable> drawables = new ArrayList<TargetDrawable>(count); - for (int i = 0; i < count; i++) { - TypedValue value = array.peekValue(i); - TargetDrawable target = new TargetDrawable(res, value != null ? value.resourceId : 0, 3); - drawables.add(target); - } - array.recycle(); - return drawables; - } - - private void internalSetTargetResources(int resourceId) { - final ArrayList<TargetDrawable> targets = loadDrawableArray(resourceId); - mTargetDrawables = targets; - mTargetResourceId = resourceId; - - int maxWidth = mHandleDrawable.getWidth(); - int maxHeight = mHandleDrawable.getHeight(); - final int count = targets.size(); - for (int i = 0; i < count; i++) { - TargetDrawable target = targets.get(i); - maxWidth = Math.max(maxWidth, target.getWidth()); - maxHeight = Math.max(maxHeight, target.getHeight()); - } - if (mMaxTargetWidth != maxWidth || mMaxTargetHeight != maxHeight) { - mMaxTargetWidth = maxWidth; - mMaxTargetHeight = maxHeight; - requestLayout(); // required to resize layout and call updateTargetPositions() - } else { - updateTargetPositions(mWaveCenterX, mWaveCenterY); - updatePointCloudPosition(mWaveCenterX, mWaveCenterY); - } - } - /** - * Loads an array of drawables from the given resourceId. - * - * @param resourceId - */ - public void setTargetResources(int resourceId) { - if (mAnimatingTargets) { - // postpone this change until we return to the initial state - mNewTargetResources = resourceId; - } else { - internalSetTargetResources(resourceId); - } - } - - public int getTargetResourceId() { - return mTargetResourceId; - } - - /** - * Sets the handle drawable to the drawable specified by the resource ID. - * @param resourceId - */ - public void setHandleDrawable(int resourceId) { - if (mHandleDrawable != null) { - mHandleDrawable.setDrawable(getResources(), resourceId); - } else { - mHandleDrawable = new TargetDrawable(getResources(), resourceId, 1); - } - mHandleDrawable.setState(TargetDrawable.STATE_INACTIVE); - } - - /** - * Sets the resource id specifying the target descriptions for accessibility. - * - * @param resourceId The resource id. - */ - public void setTargetDescriptionsResourceId(int resourceId) { - mTargetDescriptionsResourceId = resourceId; - if (mTargetDescriptions != null) { - mTargetDescriptions.clear(); - } - } - - /** - * Gets the resource id specifying the target descriptions for accessibility. - * - * @return The resource id. - */ - public int getTargetDescriptionsResourceId() { - return mTargetDescriptionsResourceId; - } - - /** - * Sets the resource id specifying the target direction descriptions for accessibility. - * - * @param resourceId The resource id. - */ - public void setDirectionDescriptionsResourceId(int resourceId) { - mDirectionDescriptionsResourceId = resourceId; - if (mDirectionDescriptions != null) { - mDirectionDescriptions.clear(); - } - } - - /** - * Gets the resource id specifying the target direction descriptions. - * - * @return The resource id. - */ - public int getDirectionDescriptionsResourceId() { - return mDirectionDescriptionsResourceId; - } - - /** - * Enable or disable vibrate on touch. - * - * @param enabled - */ - public void setVibrateEnabled(boolean enabled) { - if (enabled && mVibrator == null) { - mVibrator = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); - } else { - mVibrator = null; - } - } - - /** - * Starts wave animation. - * - */ - public void ping() { - if (mFeedbackCount > 0) { - boolean doWaveAnimation = true; - final AnimationBundle waveAnimations = mWaveAnimations; - - // Don't do a wave if there's already one in progress - if (waveAnimations.size() > 0 && waveAnimations.get(0).animator.isRunning()) { - long t = waveAnimations.get(0).animator.getCurrentPlayTime(); - if (t < WAVE_ANIMATION_DURATION/2) { - doWaveAnimation = false; - } - } - - if (doWaveAnimation) { - startWaveAnimation(); - } - } - } - - private void stopAndHideWaveAnimation() { - mWaveAnimations.cancel(); - mPointCloud.waveManager.setAlpha(0.0f); - } - - private void startWaveAnimation() { - mWaveAnimations.cancel(); - mPointCloud.waveManager.setAlpha(1.0f); - mPointCloud.waveManager.setRadius(mHandleDrawable.getWidth()/2.0f); - mWaveAnimations.add(Tweener.to(mPointCloud.waveManager, WAVE_ANIMATION_DURATION, - "ease", Ease.Quad.easeOut, - "delay", 0, - "radius", 2.0f * mOuterRadius, - "onUpdate", mUpdateListener, - "onComplete", - new AnimatorListenerAdapter() { - public void onAnimationEnd(Animator animator) { - mPointCloud.waveManager.setRadius(0.0f); - mPointCloud.waveManager.setAlpha(0.0f); - } - })); - mWaveAnimations.start(); - } - - /** - * Resets the widget to default state and cancels all animation. If animate is 'true', will - * animate objects into place. Otherwise, objects will snap back to place. - * - * @param animate - */ - public void reset(boolean animate) { - mGlowAnimations.stop(); - mTargetAnimations.stop(); - startBackgroundAnimation(0, 0.0f); - stopAndHideWaveAnimation(); - hideTargets(animate, false); - hideGlow(0, 0, 0.0f, null); - Tweener.reset(); - } - - private void startBackgroundAnimation(int duration, float alpha) { - final Drawable background = getBackground(); - if (mAlwaysTrackFinger && background != null) { - if (mBackgroundAnimator != null) { - mBackgroundAnimator.animator.cancel(); - } - mBackgroundAnimator = Tweener.to(background, duration, - "ease", Ease.Cubic.easeIn, - "alpha", (int)(255.0f * alpha), - "delay", SHOW_ANIMATION_DELAY); - mBackgroundAnimator.animator.start(); - } - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - final int action = event.getActionMasked(); - boolean handled = false; - switch (action) { - case MotionEvent.ACTION_POINTER_DOWN: - case MotionEvent.ACTION_DOWN: - if (DEBUG) Log.v(TAG, "*** DOWN ***"); - handleDown(event); - handleMove(event); - handled = true; - break; - - case MotionEvent.ACTION_MOVE: - if (DEBUG) Log.v(TAG, "*** MOVE ***"); - handleMove(event); - handled = true; - break; - - case MotionEvent.ACTION_POINTER_UP: - case MotionEvent.ACTION_UP: - if (DEBUG) Log.v(TAG, "*** UP ***"); - handleMove(event); - handleUp(event); - handled = true; - break; - - case MotionEvent.ACTION_CANCEL: - if (DEBUG) Log.v(TAG, "*** CANCEL ***"); - handleMove(event); - handleCancel(event); - handled = true; - break; - } - invalidate(); - return handled ? true : super.onTouchEvent(event); - } - - private void updateGlowPosition(float x, float y) { - float dx = x - mOuterRing.getX(); - float dy = y - mOuterRing.getY(); - dx *= 1f / mRingScaleFactor; - dy *= 1f / mRingScaleFactor; - mPointCloud.glowManager.setX(mOuterRing.getX() + dx); - mPointCloud.glowManager.setY(mOuterRing.getY() + dy); - } - - private void handleDown(MotionEvent event) { - int actionIndex = event.getActionIndex(); - float eventX = event.getX(actionIndex); - float eventY = event.getY(actionIndex); - switchToState(STATE_START, eventX, eventY); - if (!trySwitchToFirstTouchState(eventX, eventY)) { - mDragging = false; - } else { - mPointerId = event.getPointerId(actionIndex); - updateGlowPosition(eventX, eventY); - } - } - - private void handleUp(MotionEvent event) { - if (DEBUG && mDragging) Log.v(TAG, "** Handle RELEASE"); - int actionIndex = event.getActionIndex(); - if (event.getPointerId(actionIndex) == mPointerId) { - switchToState(STATE_FINISH, event.getX(actionIndex), event.getY(actionIndex)); - } - } - - private void handleCancel(MotionEvent event) { - if (DEBUG && mDragging) Log.v(TAG, "** Handle CANCEL"); - - // We should drop the active target here but it interferes with - // moving off the screen in the direction of the navigation bar. At some point we may - // want to revisit how we handle this. For now we'll allow a canceled event to - // activate the current target. - - // mActiveTarget = -1; // Drop the active target if canceled. - - int actionIndex = event.findPointerIndex(mPointerId); - actionIndex = actionIndex == -1 ? 0 : actionIndex; - switchToState(STATE_FINISH, event.getX(actionIndex), event.getY(actionIndex)); - } - - private void handleMove(MotionEvent event) { - int activeTarget = -1; - final int historySize = event.getHistorySize(); - ArrayList<TargetDrawable> targets = mTargetDrawables; - int ntargets = targets.size(); - float x = 0.0f; - float y = 0.0f; - int actionIndex = event.findPointerIndex(mPointerId); - - if (actionIndex == -1) { - return; // no data for this pointer - } - - for (int k = 0; k < historySize + 1; k++) { - float eventX = k < historySize ? event.getHistoricalX(actionIndex, k) - : event.getX(actionIndex); - float eventY = k < historySize ? event.getHistoricalY(actionIndex, k) - :event.getY(actionIndex); - // tx and ty are relative to wave center - float tx = eventX - mWaveCenterX; - float ty = eventY - mWaveCenterY; - float touchRadius = (float) Math.hypot(tx, ty); - final float scale = touchRadius > mOuterRadius ? mOuterRadius / touchRadius : 1.0f; - float limitX = tx * scale; - float limitY = ty * scale; - double angleRad = Math.atan2(-ty, tx); - - if (!mDragging) { - trySwitchToFirstTouchState(eventX, eventY); - } - - if (mDragging) { - // For multiple targets, snap to the one that matches - final float snapRadius = mRingScaleFactor * mOuterRadius - mSnapMargin; - final float snapDistance2 = snapRadius * snapRadius; - // Find first target in range - for (int i = 0; i < ntargets; i++) { - TargetDrawable target = targets.get(i); - - double targetMinRad = (i - 0.5) * 2 * Math.PI / ntargets; - double targetMaxRad = (i + 0.5) * 2 * Math.PI / ntargets; - if (target.isEnabled()) { - boolean angleMatches = - (angleRad > targetMinRad && angleRad <= targetMaxRad) || - (angleRad + 2 * Math.PI > targetMinRad && - angleRad + 2 * Math.PI <= targetMaxRad); - if (angleMatches && (dist2(tx, ty) > snapDistance2)) { - activeTarget = i; - } - } - } - } - x = limitX; - y = limitY; - } - - if (!mDragging) { - return; - } - - if (activeTarget != -1) { - switchToState(STATE_SNAP, x,y); - updateGlowPosition(x, y); - } else { - switchToState(STATE_TRACKING, x, y); - updateGlowPosition(x, y); - } - - if (mActiveTarget != activeTarget) { - // Defocus the old target - if (mActiveTarget != -1) { - TargetDrawable target = targets.get(mActiveTarget); - target.setState(TargetDrawable.STATE_INACTIVE); - } - // Focus the new target - if (activeTarget != -1) { - TargetDrawable target = targets.get(activeTarget); - target.setState(TargetDrawable.STATE_FOCUSED); - final AccessibilityManager accessibilityManager = - (AccessibilityManager) getContext().getSystemService( - Context.ACCESSIBILITY_SERVICE); - if (accessibilityManager.isEnabled()) { - String targetContentDescription = getTargetDescription(activeTarget); - announceForAccessibility(targetContentDescription); - } - } - } - mActiveTarget = activeTarget; - } - - @Override - public boolean onHoverEvent(MotionEvent event) { - final AccessibilityManager accessibilityManager = - (AccessibilityManager) getContext().getSystemService( - Context.ACCESSIBILITY_SERVICE); - if (accessibilityManager.isTouchExplorationEnabled()) { - final int action = event.getAction(); - switch (action) { - case MotionEvent.ACTION_HOVER_ENTER: - event.setAction(MotionEvent.ACTION_DOWN); - break; - case MotionEvent.ACTION_HOVER_MOVE: - event.setAction(MotionEvent.ACTION_MOVE); - break; - case MotionEvent.ACTION_HOVER_EXIT: - event.setAction(MotionEvent.ACTION_UP); - break; - } - onTouchEvent(event); - event.setAction(action); - } - super.onHoverEvent(event); - return true; - } - - /** - * Sets the current grabbed state, and dispatches a grabbed state change - * event to our listener. - */ - private void setGrabbedState(int newState) { - if (newState != mGrabbedState) { - if (newState != OnTriggerListener.NO_HANDLE) { - vibrate(); - } - mGrabbedState = newState; - if (mOnTriggerListener != null) { - if (newState == OnTriggerListener.NO_HANDLE) { - mOnTriggerListener.onReleased(this, OnTriggerListener.CENTER_HANDLE); - } else { - mOnTriggerListener.onGrabbed(this, OnTriggerListener.CENTER_HANDLE); - } - mOnTriggerListener.onGrabbedStateChange(this, newState); - } - } - } - - private boolean trySwitchToFirstTouchState(float x, float y) { - final float tx = x - mWaveCenterX; - final float ty = y - mWaveCenterY; - if (mAlwaysTrackFinger || dist2(tx,ty) <= getScaledGlowRadiusSquared()) { - if (DEBUG) Log.v(TAG, "** Handle HIT"); - switchToState(STATE_FIRST_TOUCH, x, y); - updateGlowPosition(tx, ty); - mDragging = true; - return true; - } - return false; - } - - private void assignDefaultsIfNeeded() { - if (mOuterRadius == 0.0f) { - mOuterRadius = Math.max(mOuterRing.getWidth(), mOuterRing.getHeight())/2.0f; - } - if (mSnapMargin == 0.0f) { - mSnapMargin = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, - SNAP_MARGIN_DEFAULT, getContext().getResources().getDisplayMetrics()); - } - if (mInnerRadius == 0.0f) { - mInnerRadius = mHandleDrawable.getWidth() / 10.0f; - } - } - - private void computeInsets(int dx, int dy) { - final int layoutDirection = getLayoutDirection(); - final int absoluteGravity = Gravity.getAbsoluteGravity(mGravity, layoutDirection); - - switch (absoluteGravity & Gravity.HORIZONTAL_GRAVITY_MASK) { - case Gravity.LEFT: - mHorizontalInset = 0; - break; - case Gravity.RIGHT: - mHorizontalInset = dx; - break; - case Gravity.CENTER_HORIZONTAL: - default: - mHorizontalInset = dx / 2; - break; - } - switch (absoluteGravity & Gravity.VERTICAL_GRAVITY_MASK) { - case Gravity.TOP: - mVerticalInset = 0; - break; - case Gravity.BOTTOM: - mVerticalInset = dy; - break; - case Gravity.CENTER_VERTICAL: - default: - mVerticalInset = dy / 2; - break; - } - } - - /** - * Given the desired width and height of the ring and the allocated width and height, compute - * how much we need to scale the ring. - */ - private float computeScaleFactor(int desiredWidth, int desiredHeight, - int actualWidth, int actualHeight) { - - // Return unity if scaling is not allowed. - if (!mAllowScaling) return 1f; - - final int layoutDirection = getLayoutDirection(); - final int absoluteGravity = Gravity.getAbsoluteGravity(mGravity, layoutDirection); - - float scaleX = 1f; - float scaleY = 1f; - - // We use the gravity as a cue for whether we want to scale on a particular axis. - // We only scale to fit horizontally if we're not pinned to the left or right. Likewise, - // we only scale to fit vertically if we're not pinned to the top or bottom. In these - // cases, we want the ring to hang off the side or top/bottom, respectively. - switch (absoluteGravity & Gravity.HORIZONTAL_GRAVITY_MASK) { - case Gravity.LEFT: - case Gravity.RIGHT: - break; - case Gravity.CENTER_HORIZONTAL: - default: - if (desiredWidth > actualWidth) { - scaleX = (1f * actualWidth - mMaxTargetWidth) / - (desiredWidth - mMaxTargetWidth); - } - break; - } - switch (absoluteGravity & Gravity.VERTICAL_GRAVITY_MASK) { - case Gravity.TOP: - case Gravity.BOTTOM: - break; - case Gravity.CENTER_VERTICAL: - default: - if (desiredHeight > actualHeight) { - scaleY = (1f * actualHeight - mMaxTargetHeight) / - (desiredHeight - mMaxTargetHeight); - } - break; - } - return Math.min(scaleX, scaleY); - } - - private float getRingWidth() { - return mRingScaleFactor * Math.max(mOuterRing.getWidth(), 2 * mOuterRadius); - } - - private float getRingHeight() { - return mRingScaleFactor * Math.max(mOuterRing.getHeight(), 2 * mOuterRadius); - } - - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - super.onLayout(changed, left, top, right, bottom); - final int width = right - left; - final int height = bottom - top; - - // Target placement width/height. This puts the targets on the greater of the ring - // width or the specified outer radius. - final float placementWidth = getRingWidth(); - final float placementHeight = getRingHeight(); - float newWaveCenterX = mHorizontalInset - + (mMaxTargetWidth + placementWidth) / 2; - float newWaveCenterY = mVerticalInset - + (mMaxTargetHeight + placementHeight) / 2; - - if (mInitialLayout) { - stopAndHideWaveAnimation(); - hideTargets(false, false); - mInitialLayout = false; - } - - mOuterRing.setPositionX(newWaveCenterX); - mOuterRing.setPositionY(newWaveCenterY); - - mPointCloud.setScale(mRingScaleFactor); - - mHandleDrawable.setPositionX(newWaveCenterX); - mHandleDrawable.setPositionY(newWaveCenterY); - - updateTargetPositions(newWaveCenterX, newWaveCenterY); - updatePointCloudPosition(newWaveCenterX, newWaveCenterY); - updateGlowPosition(newWaveCenterX, newWaveCenterY); - - mWaveCenterX = newWaveCenterX; - mWaveCenterY = newWaveCenterY; - - if (DEBUG) dump(); - } - - private void updateTargetPositions(float centerX, float centerY) { - // Reposition the target drawables if the view changed. - ArrayList<TargetDrawable> targets = mTargetDrawables; - final int size = targets.size(); - final float alpha = (float) (-2.0f * Math.PI / size); - for (int i = 0; i < size; i++) { - final TargetDrawable targetIcon = targets.get(i); - final float angle = alpha * i; - targetIcon.setPositionX(centerX); - targetIcon.setPositionY(centerY); - targetIcon.setX(getRingWidth() / 2 * (float) Math.cos(angle)); - targetIcon.setY(getRingHeight() / 2 * (float) Math.sin(angle)); - } - } - - private void updatePointCloudPosition(float centerX, float centerY) { - mPointCloud.setCenter(centerX, centerY); - } - - @Override - protected void onDraw(Canvas canvas) { - mPointCloud.draw(canvas); - mOuterRing.draw(canvas); - final int ntargets = mTargetDrawables.size(); - for (int i = 0; i < ntargets; i++) { - TargetDrawable target = mTargetDrawables.get(i); - if (target != null) { - target.draw(canvas); - } - } - mHandleDrawable.draw(canvas); - } - - public void setOnTriggerListener(OnTriggerListener listener) { - mOnTriggerListener = listener; - } - - private float square(float d) { - return d * d; - } - - private float dist2(float dx, float dy) { - return dx*dx + dy*dy; - } - - private float getScaledGlowRadiusSquared() { - final float scaledTapRadius; - final AccessibilityManager accessibilityManager = - (AccessibilityManager) getContext().getSystemService( - Context.ACCESSIBILITY_SERVICE); - if (accessibilityManager.isEnabled()) { - scaledTapRadius = TAP_RADIUS_SCALE_ACCESSIBILITY_ENABLED * mGlowRadius; - } else { - scaledTapRadius = mGlowRadius; - } - return square(scaledTapRadius); - } - - private void announceTargets() { - StringBuilder utterance = new StringBuilder(); - final int targetCount = mTargetDrawables.size(); - for (int i = 0; i < targetCount; i++) { - String targetDescription = getTargetDescription(i); - String directionDescription = getDirectionDescription(i); - if (!TextUtils.isEmpty(targetDescription) - && !TextUtils.isEmpty(directionDescription)) { - String text = String.format(directionDescription, targetDescription); - utterance.append(text); - } - } - if (utterance.length() > 0) { - announceForAccessibility(utterance.toString()); - } - } - - private String getTargetDescription(int index) { - if (mTargetDescriptions == null || mTargetDescriptions.isEmpty()) { - mTargetDescriptions = loadDescriptions(mTargetDescriptionsResourceId); - if (mTargetDrawables.size() != mTargetDescriptions.size()) { - Log.w(TAG, "The number of target drawables must be" - + " equal to the number of target descriptions."); - return null; - } - } - return mTargetDescriptions.get(index); - } - - private String getDirectionDescription(int index) { - if (mDirectionDescriptions == null || mDirectionDescriptions.isEmpty()) { - mDirectionDescriptions = loadDescriptions(mDirectionDescriptionsResourceId); - if (mTargetDrawables.size() != mDirectionDescriptions.size()) { - Log.w(TAG, "The number of target drawables must be" - + " equal to the number of direction descriptions."); - return null; - } - } - return mDirectionDescriptions.get(index); - } - - private ArrayList<String> loadDescriptions(int resourceId) { - TypedArray array = getContext().getResources().obtainTypedArray(resourceId); - final int count = array.length(); - ArrayList<String> targetContentDescriptions = new ArrayList<String>(count); - for (int i = 0; i < count; i++) { - String contentDescription = array.getString(i); - targetContentDescriptions.add(contentDescription); - } - array.recycle(); - return targetContentDescriptions; - } - - public int getResourceIdForTarget(int index) { - final TargetDrawable drawable = mTargetDrawables.get(index); - return drawable == null ? 0 : drawable.getResourceId(); - } - - public void setEnableTarget(int resourceId, boolean enabled) { - for (int i = 0; i < mTargetDrawables.size(); i++) { - final TargetDrawable target = mTargetDrawables.get(i); - if (target.getResourceId() == resourceId) { - target.setEnabled(enabled); - break; // should never be more than one match - } - } - } - - /** - * Gets the position of a target in the array that matches the given resource. - * @param resourceId - * @return the index or -1 if not found - */ - public int getTargetPosition(int resourceId) { - for (int i = 0; i < mTargetDrawables.size(); i++) { - final TargetDrawable target = mTargetDrawables.get(i); - if (target.getResourceId() == resourceId) { - return i; // should never be more than one match - } - } - return -1; - } - - private boolean replaceTargetDrawables(Resources res, int existingResourceId, - int newResourceId) { - if (existingResourceId == 0 || newResourceId == 0) { - return false; - } - - boolean result = false; - final ArrayList<TargetDrawable> drawables = mTargetDrawables; - final int size = drawables.size(); - for (int i = 0; i < size; i++) { - final TargetDrawable target = drawables.get(i); - if (target != null && target.getResourceId() == existingResourceId) { - target.setDrawable(res, newResourceId); - result = true; - } - } - - if (result) { - requestLayout(); // in case any given drawable's size changes - } - - return result; - } - - /** - * Searches the given package for a resource to use to replace the Drawable on the - * target with the given resource id - * @param component of the .apk that contains the resource - * @param name of the metadata in the .apk - * @param existingResId the resource id of the target to search for - * @return true if found in the given package and replaced at least one target Drawables - */ - public boolean replaceTargetDrawablesIfPresent(ComponentName component, String name, - int existingResId) { - if (existingResId == 0) return false; - - boolean replaced = false; - if (component != null) { - try { - PackageManager packageManager = getContext().getPackageManager(); - // Look for the search icon specified in the activity meta-data - Bundle metaData = packageManager.getActivityInfo( - component, PackageManager.GET_META_DATA).metaData; - if (metaData != null) { - int iconResId = metaData.getInt(name); - if (iconResId != 0) { - Resources res = packageManager.getResourcesForActivity(component); - replaced = replaceTargetDrawables(res, existingResId, iconResId); - } - } - } catch (NameNotFoundException e) { - Log.w(TAG, "Failed to swap drawable; " - + component.flattenToShortString() + " not found", e); - } catch (Resources.NotFoundException nfe) { - Log.w(TAG, "Failed to swap drawable from " - + component.flattenToShortString(), nfe); - } - } - if (!replaced) { - // Restore the original drawable - replaceTargetDrawables(getContext().getResources(), existingResId, existingResId); - } - return replaced; - } - - public class GlowpadExploreByTouchHelper extends ExploreByTouchHelper { - - private Rect mBounds = new Rect(); - - public GlowpadExploreByTouchHelper(View forView) { - super(forView); - } - - @Override - protected int getVirtualViewAt(float x, float y) { - if (mGrabbedState == OnTriggerListener.CENTER_HANDLE) { - for (int i = 0; i < mTargetDrawables.size(); i++) { - final TargetDrawable target = mTargetDrawables.get(i); - if (target.isEnabled() && target.getBounds().contains((int) x, (int) y)) { - return i; - } - } - return INVALID_ID; - } else { - return HOST_ID; - } - } - - @Override - protected void getVisibleVirtualViews(List<Integer> virtualViewIds) { - if (mGrabbedState == OnTriggerListener.CENTER_HANDLE) { - // Add virtual views backwards so that accessibility services like switch - // access traverse them in the correct order - for (int i = mTargetDrawables.size() - 1; i >= 0; i--) { - if (mTargetDrawables.get(i).isEnabled()) { - virtualViewIds.add(i); - } - } - } - } - - @Override - protected void onPopulateEventForVirtualView(int virtualViewId, AccessibilityEvent event) { - if (virtualViewId >= 0 && virtualViewId < mTargetDescriptions.size()) { - event.setContentDescription(mTargetDescriptions.get(virtualViewId)); - } - } - - @Override - public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { - if (host == GlowPadView.this && event.getEventType() - == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) { - event.setContentChangeTypes(AccessibilityEvent.CONTENT_CHANGE_TYPE_SUBTREE); - } - super.onInitializeAccessibilityEvent(host, event); - } - - @Override - public void onPopulateNodeForHost(AccessibilityNodeInfoCompat node) { - if (mGrabbedState == OnTriggerListener.NO_HANDLE) { - node.setClickable(true); - node.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK); - } - mBounds.set(0, 0, GlowPadView.this.getWidth(), GlowPadView.this.getHeight()); - node.setBoundsInParent(mBounds); - } - - @Override - public boolean performAccessibilityAction(View host, int action, Bundle args) { - if (mGrabbedState == OnTriggerListener.NO_HANDLE) { - // Simulate handle being grabbed to expose targets. - trySwitchToFirstTouchState(mWaveCenterX, mWaveCenterY); - invalidateRoot(); - return true; - } - return super.performAccessibilityAction(host, action, args); - } - - @Override - protected void onPopulateNodeForVirtualView(int virtualViewId, - AccessibilityNodeInfoCompat node) { - if (virtualViewId < mTargetDrawables.size()) { - final TargetDrawable target = mTargetDrawables.get(virtualViewId); - node.setBoundsInParent(target.getBounds()); - node.setClickable(true); - node.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK); - node.setContentDescription(getTargetDescription(virtualViewId)); - } - } - - @Override - protected boolean onPerformActionForVirtualView(int virtualViewId, int action, - Bundle arguments) { - if (action == AccessibilityNodeInfo.ACTION_CLICK) { - if (virtualViewId >= 0 && virtualViewId < mTargetDrawables.size()) { - dispatchTriggerEvent(virtualViewId); - return true; - } - } - return false; - } - - } -} diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/PointCloud.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/PointCloud.java deleted file mode 100644 index 07a2cb964..000000000 --- a/InCallUI/src/com/android/incallui/widget/multiwaveview/PointCloud.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright (C) 2012 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.widget.multiwaveview; - -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.drawable.Drawable; -import android.util.Log; - -import java.util.ArrayList; - -public class PointCloud { - private static final float MIN_POINT_SIZE = 2.0f; - private static final float MAX_POINT_SIZE = 4.0f; - private static final int INNER_POINTS = 8; - private static final String TAG = "PointCloud"; - private ArrayList<Point> mPointCloud = new ArrayList<Point>(); - private Drawable mDrawable; - private float mCenterX; - private float mCenterY; - private Paint mPaint; - private float mScale = 1.0f; - private static final float PI = (float) Math.PI; - - // These allow us to have multiple concurrent animations. - WaveManager waveManager = new WaveManager(); - GlowManager glowManager = new GlowManager(); - private float mOuterRadius; - - public class WaveManager { - private float radius = 50; - private float width = 200.0f; // TODO: Make configurable - private float alpha = 0.0f; - public void setRadius(float r) { - radius = r; - } - - public float getRadius() { - return radius; - } - - public void setAlpha(float a) { - alpha = a; - } - - public float getAlpha() { - return alpha; - } - }; - - public class GlowManager { - private float x; - private float y; - private float radius = 0.0f; - private float alpha = 0.0f; - - public void setX(float x1) { - x = x1; - } - - public float getX() { - return x; - } - - public void setY(float y1) { - y = y1; - } - - public float getY() { - return y; - } - - public void setAlpha(float a) { - alpha = a; - } - - public float getAlpha() { - return alpha; - } - - public void setRadius(float r) { - radius = r; - } - - public float getRadius() { - return radius; - } - } - - class Point { - float x; - float y; - float radius; - - public Point(float x2, float y2, float r) { - x = (float) x2; - y = (float) y2; - radius = r; - } - } - - public PointCloud(Drawable drawable) { - mPaint = new Paint(); - mPaint.setFilterBitmap(true); - mPaint.setColor(Color.rgb(255, 255, 255)); // TODO: make configurable - mPaint.setAntiAlias(true); - mPaint.setDither(true); - - mDrawable = drawable; - if (mDrawable != null) { - drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); - } - } - - public void setCenter(float x, float y) { - mCenterX = x; - mCenterY = y; - } - - public void makePointCloud(float innerRadius, float outerRadius) { - if (innerRadius == 0) { - Log.w(TAG, "Must specify an inner radius"); - return; - } - mOuterRadius = outerRadius; - mPointCloud.clear(); - final float pointAreaRadius = (outerRadius - innerRadius); - final float ds = (2.0f * PI * innerRadius / INNER_POINTS); - final int bands = (int) Math.round(pointAreaRadius / ds); - final float dr = pointAreaRadius / bands; - float r = innerRadius; - for (int b = 0; b <= bands; b++, r += dr) { - float circumference = 2.0f * PI * r; - final int pointsInBand = (int) (circumference / ds); - float eta = PI/2.0f; - float dEta = 2.0f * PI / pointsInBand; - for (int i = 0; i < pointsInBand; i++) { - float x = r * (float) Math.cos(eta); - float y = r * (float) Math.sin(eta); - eta += dEta; - mPointCloud.add(new Point(x, y, r)); - } - } - } - - public void setScale(float scale) { - mScale = scale; - } - - public float getScale() { - return mScale; - } - - private static float hypot(float x, float y) { - return (float) Math.hypot(x, y); - } - - private static float max(float a, float b) { - return a > b ? a : b; - } - - public int getAlphaForPoint(Point point) { - // Contribution from positional glow - float glowDistance = hypot(glowManager.x - point.x, glowManager.y - point.y); - float glowAlpha = 0.0f; - - if (glowDistance < glowManager.radius) { - double cos = Math.cos(Math.PI * 0.25d * glowDistance / glowManager.radius); - glowAlpha = glowManager.alpha * max(0.0f, (float) Math.pow(cos, 10.0d)); - } - - // Compute contribution from Wave - float radius = hypot(point.x, point.y); - float distanceToWaveRing = (radius - waveManager.radius); - float waveAlpha = 0.0f; - if (distanceToWaveRing < waveManager.width * 0.5f && distanceToWaveRing < 0.0f) { - double cos = Math.cos(Math.PI * 0.25d * distanceToWaveRing / waveManager.width); - waveAlpha = waveManager.alpha * max(0.0f, (float) Math.pow(cos, 20.0d)); - } - - return (int) (max(glowAlpha, waveAlpha) * 255); - } - - private float interp(float min, float max, float f) { - return min + (max - min) * f; - } - - public void draw(Canvas canvas) { - ArrayList<Point> points = mPointCloud; - canvas.save(Canvas.MATRIX_SAVE_FLAG); - canvas.scale(mScale, mScale, mCenterX, mCenterY); - for (int i = 0; i < points.size(); i++) { - Point point = points.get(i); - final float pointSize = interp(MAX_POINT_SIZE, MIN_POINT_SIZE, - point.radius / mOuterRadius); - final float px = point.x + mCenterX; - final float py = point.y + mCenterY; - int alpha = getAlphaForPoint(point); - - if (alpha == 0) continue; - - if (mDrawable != null) { - canvas.save(Canvas.MATRIX_SAVE_FLAG); - final float cx = mDrawable.getIntrinsicWidth() * 0.5f; - final float cy = mDrawable.getIntrinsicHeight() * 0.5f; - final float s = pointSize / MAX_POINT_SIZE; - canvas.scale(s, s, px, py); - canvas.translate(px - cx, py - cy); - mDrawable.setAlpha(alpha); - mDrawable.draw(canvas); - canvas.restore(); - } else { - mPaint.setAlpha(alpha); - canvas.drawCircle(px, py, pointSize, mPaint); - } - } - canvas.restore(); - } - -} diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/TargetDrawable.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/TargetDrawable.java deleted file mode 100644 index adc5324eb..000000000 --- a/InCallUI/src/com/android/incallui/widget/multiwaveview/TargetDrawable.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Copyright (C) 2011 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.widget.multiwaveview; - -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.ColorFilter; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.StateListDrawable; -import android.util.Log; - -public class TargetDrawable { - private static final String TAG = "TargetDrawable"; - private static final boolean DEBUG = false; - - public static final int[] STATE_ACTIVE = - { android.R.attr.state_enabled, android.R.attr.state_active }; - public static final int[] STATE_INACTIVE = - { android.R.attr.state_enabled, -android.R.attr.state_active }; - public static final int[] STATE_FOCUSED = - { android.R.attr.state_enabled, -android.R.attr.state_active, - android.R.attr.state_focused }; - - private float mTranslationX = 0.0f; - private float mTranslationY = 0.0f; - private float mPositionX = 0.0f; - private float mPositionY = 0.0f; - private float mScaleX = 1.0f; - private float mScaleY = 1.0f; - private float mAlpha = 1.0f; - private Drawable mDrawable; - private boolean mEnabled = true; - private final int mResourceId; - private int mNumDrawables = 1; - private Rect mBounds; - - /** - * This is changed from the framework version to pass in the number of drawables in the - * container. The framework version relies on private api's to get the count from - * StateListDrawable. - * - * @param res - * @param resId - * @param count The number of drawables in the resource. - */ - public TargetDrawable(Resources res, int resId, int count) { - mResourceId = resId; - setDrawable(res, resId); - mNumDrawables = count; - } - - public void setDrawable(Resources res, int resId) { - // Note we explicitly don't set mResourceId to resId since we allow the drawable to be - // swapped at runtime and want to re-use the existing resource id for identification. - Drawable drawable = resId == 0 ? null : res.getDrawable(resId); - // Mutate the drawable so we can animate shared drawable properties. - mDrawable = drawable != null ? drawable.mutate() : null; - resizeDrawables(); - setState(STATE_INACTIVE); - } - - public TargetDrawable(TargetDrawable other) { - mResourceId = other.mResourceId; - // Mutate the drawable so we can animate shared drawable properties. - mDrawable = other.mDrawable != null ? other.mDrawable.mutate() : null; - resizeDrawables(); - setState(STATE_INACTIVE); - } - - public void setState(int [] state) { - if (mDrawable instanceof StateListDrawable) { - StateListDrawable d = (StateListDrawable) mDrawable; - d.setState(state); - } - } - - /** - * Returns true if the drawable is a StateListDrawable and is in the focused state. - * - * @return - */ - public boolean isActive() { - if (mDrawable instanceof StateListDrawable) { - StateListDrawable d = (StateListDrawable) mDrawable; - int[] states = d.getState(); - for (int i = 0; i < states.length; i++) { - if (states[i] == android.R.attr.state_focused) { - return true; - } - } - } - return false; - } - - /** - * Returns true if this target is enabled. Typically an enabled target contains a valid - * drawable in a valid state. Currently all targets with valid drawables are valid. - * - * @return - */ - public boolean isEnabled() { - return mDrawable != null && mEnabled; - } - - /** - * Makes drawables in a StateListDrawable all the same dimensions. - * If not a StateListDrawable, then justs sets the bounds to the intrinsic size of the - * drawable. - */ - private void resizeDrawables() { - if (mDrawable instanceof StateListDrawable) { - StateListDrawable d = (StateListDrawable) mDrawable; - int maxWidth = 0; - int maxHeight = 0; - - for (int i = 0; i < mNumDrawables; i++) { - d.selectDrawable(i); - Drawable childDrawable = d.getCurrent(); - maxWidth = Math.max(maxWidth, childDrawable.getIntrinsicWidth()); - maxHeight = Math.max(maxHeight, childDrawable.getIntrinsicHeight()); - } - - if (DEBUG) Log.v(TAG, "union of childDrawable rects " + d + " to: " - + maxWidth + "x" + maxHeight); - d.setBounds(0, 0, maxWidth, maxHeight); - - for (int i = 0; i < mNumDrawables; i++) { - d.selectDrawable(i); - Drawable childDrawable = d.getCurrent(); - if (DEBUG) Log.v(TAG, "sizing drawable " + childDrawable + " to: " - + maxWidth + "x" + maxHeight); - childDrawable.setBounds(0, 0, maxWidth, maxHeight); - } - } else if (mDrawable != null) { - mDrawable.setBounds(0, 0, - mDrawable.getIntrinsicWidth(), mDrawable.getIntrinsicHeight()); - } - } - - public void setX(float x) { - mTranslationX = x; - } - - public void setY(float y) { - mTranslationY = y; - } - - public void setScaleX(float x) { - mScaleX = x; - } - - public void setScaleY(float y) { - mScaleY = y; - } - - public void setAlpha(float alpha) { - mAlpha = alpha; - } - - public float getX() { - return mTranslationX; - } - - public float getY() { - return mTranslationY; - } - - public float getScaleX() { - return mScaleX; - } - - public float getScaleY() { - return mScaleY; - } - - public float getAlpha() { - return mAlpha; - } - - public void setPositionX(float x) { - mPositionX = x; - } - - public void setPositionY(float y) { - mPositionY = y; - } - - public float getPositionX() { - return mPositionX; - } - - public float getPositionY() { - return mPositionY; - } - - public int getWidth() { - return mDrawable != null ? mDrawable.getIntrinsicWidth() : 0; - } - - public int getHeight() { - return mDrawable != null ? mDrawable.getIntrinsicHeight() : 0; - } - - public Rect getBounds() { - if (mBounds == null) { - mBounds = new Rect(); - } - mBounds.set((int) (mTranslationX + mPositionX - getWidth() * 0.5), - (int) (mTranslationY + mPositionY - getHeight() * 0.5), - (int) (mTranslationX + mPositionX + getWidth() * 0.5), - (int) (mTranslationY + mPositionY + getHeight() * 0.5)); - return mBounds; - } - - public void draw(Canvas canvas) { - if (mDrawable == null || !mEnabled) { - return; - } - canvas.save(Canvas.MATRIX_SAVE_FLAG); - canvas.scale(mScaleX, mScaleY, mPositionX, mPositionY); - canvas.translate(mTranslationX + mPositionX, mTranslationY + mPositionY); - canvas.translate(-0.5f * getWidth(), -0.5f * getHeight()); - mDrawable.setAlpha((int) Math.round(mAlpha * 255f)); - mDrawable.draw(canvas); - canvas.restore(); - } - - public void setEnabled(boolean enabled) { - mEnabled = enabled; - } - - public int getResourceId() { - return mResourceId; - } -} diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/Tweener.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/Tweener.java deleted file mode 100644 index 7222442fe..000000000 --- a/InCallUI/src/com/android/incallui/widget/multiwaveview/Tweener.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (C) 2011 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.widget.multiwaveview; - -import android.animation.Animator; -import android.animation.Animator.AnimatorListener; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.animation.PropertyValuesHolder; -import android.animation.TimeInterpolator; -import android.animation.ValueAnimator.AnimatorUpdateListener; -import android.util.Log; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map.Entry; - -class Tweener { - private static final String TAG = "Tweener"; - private static final boolean DEBUG = false; - - ObjectAnimator animator; - private static HashMap<Object, Tweener> sTweens = new HashMap<Object, Tweener>(); - - public Tweener(ObjectAnimator anim) { - animator = anim; - } - - private static void remove(Animator animator) { - Iterator<Entry<Object, Tweener>> iter = sTweens.entrySet().iterator(); - while (iter.hasNext()) { - Entry<Object, Tweener> entry = iter.next(); - if (entry.getValue().animator == animator) { - if (DEBUG) Log.v(TAG, "Removing tweener " + sTweens.get(entry.getKey()) - + " sTweens.size() = " + sTweens.size()); - iter.remove(); - break; // an animator can only be attached to one object - } - } - } - - public static Tweener to(Object object, long duration, Object... vars) { - long delay = 0; - AnimatorUpdateListener updateListener = null; - AnimatorListener listener = null; - TimeInterpolator interpolator = null; - - // Iterate through arguments and discover properties to animate - ArrayList<PropertyValuesHolder> props = new ArrayList<PropertyValuesHolder>(vars.length/2); - for (int i = 0; i < vars.length; i+=2) { - if (!(vars[i] instanceof String)) { - throw new IllegalArgumentException("Key must be a string: " + vars[i]); - } - String key = (String) vars[i]; - Object value = vars[i+1]; - - if ("simultaneousTween".equals(key)) { - // TODO - } else if ("ease".equals(key)) { - interpolator = (TimeInterpolator) value; // TODO: multiple interpolators? - } else if ("onUpdate".equals(key) || "onUpdateListener".equals(key)) { - updateListener = (AnimatorUpdateListener) value; - } else if ("onComplete".equals(key) || "onCompleteListener".equals(key)) { - listener = (AnimatorListener) value; - } else if ("delay".equals(key)) { - delay = ((Number) value).longValue(); - } else if ("syncWith".equals(key)) { - // TODO - } else if (value instanceof float[]) { - props.add(PropertyValuesHolder.ofFloat(key, - ((float[])value)[0], ((float[])value)[1])); - } else if (value instanceof int[]) { - props.add(PropertyValuesHolder.ofInt(key, - ((int[])value)[0], ((int[])value)[1])); - } else if (value instanceof Number) { - float floatValue = ((Number)value).floatValue(); - props.add(PropertyValuesHolder.ofFloat(key, floatValue)); - } else { - throw new IllegalArgumentException( - "Bad argument for key \"" + key + "\" with value " + value.getClass()); - } - } - - // Re-use existing tween, if present - Tweener tween = sTweens.get(object); - ObjectAnimator anim = null; - if (tween == null) { - anim = ObjectAnimator.ofPropertyValuesHolder(object, - props.toArray(new PropertyValuesHolder[props.size()])); - tween = new Tweener(anim); - sTweens.put(object, tween); - if (DEBUG) Log.v(TAG, "Added new Tweener " + tween); - } else { - anim = sTweens.get(object).animator; - replace(props, object); // Cancel all animators for given object - } - - if (interpolator != null) { - anim.setInterpolator(interpolator); - } - - // Update animation with properties discovered in loop above - anim.setStartDelay(delay); - anim.setDuration(duration); - if (updateListener != null) { - anim.removeAllUpdateListeners(); // There should be only one - anim.addUpdateListener(updateListener); - } - if (listener != null) { - anim.removeAllListeners(); // There should be only one. - anim.addListener(listener); - } - anim.addListener(mCleanupListener); - - return tween; - } - - Tweener from(Object object, long duration, Object... vars) { - // TODO: for v of vars - // toVars[v] = object[v] - // object[v] = vars[v] - return Tweener.to(object, duration, vars); - } - - // Listener to watch for completed animations and remove them. - private static AnimatorListener mCleanupListener = new AnimatorListenerAdapter() { - - @Override - public void onAnimationEnd(Animator animation) { - remove(animation); - } - - @Override - public void onAnimationCancel(Animator animation) { - remove(animation); - } - }; - - public static void reset() { - if (DEBUG) { - Log.v(TAG, "Reset()"); - if (sTweens.size() > 0) { - Log.v(TAG, "Cleaning up " + sTweens.size() + " animations"); - } - } - sTweens.clear(); - } - - private static void replace(ArrayList<PropertyValuesHolder> props, Object... args) { - for (final Object killobject : args) { - Tweener tween = sTweens.get(killobject); - if (tween != null) { - tween.animator.cancel(); - if (props != null) { - tween.animator.setValues( - props.toArray(new PropertyValuesHolder[props.size()])); - } else { - sTweens.remove(tween); - } - } - } - } -} diff --git a/InCallUI/src/com/android/incalluibind/ObjectFactory.java b/InCallUI/src/com/android/incalluibind/ObjectFactory.java deleted file mode 100644 index 7e9423acf..000000000 --- a/InCallUI/src/com/android/incalluibind/ObjectFactory.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2014 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.incalluibind; - -import android.content.Context; -import android.content.Intent; - -import com.android.incallui.CallCardPresenter.EmergencyCallListener; -import com.android.incallui.ContactUtils; -import com.android.incallui.DistanceHelper; -import com.android.incallui.service.PhoneNumberService; - -public class ObjectFactory { - - public static PhoneNumberService newPhoneNumberService(Context context) { - // no phone number service. - return null; - } - - public static EmergencyCallListener newEmergencyCallListener() { - return null; - } - - /** @return An {@link Intent} to be broadcast when the InCallUI is visible. */ - public static Intent getUiReadyBroadcastIntent(Context context) { - return null; - } - - /** - * @return An {@link Intent} to be broadcast when the call state button in the InCallUI is - * touched while in a call. - */ - public static Intent getCallStateButtonBroadcastIntent(Context context) { - return null; - } - - public static DistanceHelper newDistanceHelper(Context context, - DistanceHelper.Listener listener) { - return null; - } - - public static ContactUtils getContactUtilsInstance(Context context) { - return null; - } -} diff --git a/InCallUI/tests/src/com/android/incallui/CallCardPresenterTest.java b/InCallUI/tests/src/com/android/incallui/CallCardPresenterTest.java deleted file mode 100644 index 79545ce4b..000000000 --- a/InCallUI/tests/src/com/android/incallui/CallCardPresenterTest.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2016 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.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; - -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.incallui.ContactInfoCache.ContactCacheEntry; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@MediumTest -public class CallCardPresenterTest extends AndroidTestCase { - - private static final String NAME_PRIMARY = "Full Name"; - private static final String NAME_ALTERNATIVE = "Name, Full"; - private static final String LOCATION = "US"; - private static final String NUMBER = "8006459001"; - - @Mock private ContactsPreferences mContactsPreferences; - private ContactCacheEntry mUnlockedContactInfo; - private ContactCacheEntry mLockedContactInfo; - - @Override - public void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); - - Mockito.when(mContactsPreferences.getDisplayOrder()) - .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY); - - // Unlocked all contact info is available - mUnlockedContactInfo = new ContactCacheEntry(); - mUnlockedContactInfo.namePrimary = NAME_PRIMARY; - mUnlockedContactInfo.nameAlternative = NAME_ALTERNATIVE; - mUnlockedContactInfo.location = LOCATION; - mUnlockedContactInfo.number = NUMBER; - - // Locked only number and location are available - mLockedContactInfo = new ContactCacheEntry(); - mLockedContactInfo .location = LOCATION; - mLockedContactInfo .number = NUMBER; - } - - @Override - public void tearDown() throws Exception { - super.tearDown(); - ContactsPreferencesFactory.setTestInstance(null); - } - - public void testGetNameForCall_Unlocked() { - ContactsPreferencesFactory.setTestInstance(mContactsPreferences); - CallCardPresenter presenter = new CallCardPresenter(); - presenter.init(getContext(), null); - - assertEquals(NAME_PRIMARY, presenter.getNameForCall(mUnlockedContactInfo)); - } - - public void testGetNameForCall_Locked() { - ContactsPreferencesFactory.setTestInstance(null); - CallCardPresenter presenter = new CallCardPresenter(); - presenter.init(getContext(), null); - - assertEquals(NUMBER, presenter.getNameForCall(mLockedContactInfo)); - } - - public void testGetNameForCall_EmptyPreferredName() { - ContactCacheEntry contactInfo = new ContactCacheEntry(); - contactInfo.number = NUMBER; - - ContactsPreferencesFactory.setTestInstance(null); - CallCardPresenter presenter = new CallCardPresenter(); - presenter.init(getContext(), null); - - assertEquals(NUMBER, presenter.getNameForCall(contactInfo)); - } - - public void testGetNumberForCall_Unlocked() { - ContactsPreferencesFactory.setTestInstance(mContactsPreferences); - CallCardPresenter presenter = new CallCardPresenter(); - presenter.init(getContext(), null); - - assertEquals(NUMBER, presenter.getNumberForCall(mUnlockedContactInfo)); - } - - public void testGetNumberForCall_Locked() { - ContactsPreferencesFactory.setTestInstance(null); - CallCardPresenter presenter = new CallCardPresenter(); - presenter.init(getContext(), null); - - assertEquals(LOCATION, presenter.getNumberForCall(mLockedContactInfo)); - } - - public void testGetNumberForCall_EmptyPreferredName() { - ContactCacheEntry contactInfo = new ContactCacheEntry(); - contactInfo.location = LOCATION; - - ContactsPreferencesFactory.setTestInstance(null); - CallCardPresenter presenter = new CallCardPresenter(); - presenter.init(getContext(), null); - - assertEquals(LOCATION, presenter.getNumberForCall(contactInfo)); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/CallTest.java b/InCallUI/tests/src/com/android/incallui/CallTest.java deleted file mode 100644 index 118ec38da..000000000 --- a/InCallUI/tests/src/com/android/incallui/CallTest.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2016 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.Connection; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -import java.util.ArrayList; -import java.util.Arrays; - -// @formatter:off -/** - * Run test with - * adb shell am instrument -e class com.android.incallui.CallTest -w com.google.android.dialer.tests/android.test.InstrumentationTestRunner - */ -// @formatter:on - -@SmallTest -public class CallTest extends AndroidTestCase { - - private TestCall mCall; - - private final static String CHILD_NUMBER = "123"; - private final static ArrayList<String> LAST_FORWARDED_NUMBER_LIST = - new ArrayList(Arrays.asList("456", "789")); - private final static String LAST_FORWARDED_NUMBER = "789"; - private final static String CALL_SUBJECT = "foo"; - - @Override - public void setUp() throws Exception { - super.setUp(); - - mCall = new TestCall(); - } - - @Override - public void tearDown() throws Exception { - super.tearDown(); - } - - public void testUpdateFromCallExtras() { - mCall.updateFromCallExtras(getTestBundle()); - verifyTestBundleResult(); - } - - public void testUpdateFromCallExtras_corruptedBundle() { - mCall.setBundleCorrupted(true); - mCall.updateFromCallExtras(getTestBundle()); - - assertEquals(mCall.getChildNumber(), null); - assertEquals(mCall.getLastForwardedNumber(), null); - assertEquals(mCall.getCallSubject(), null); - } - - public void testUpdateFromCallExtras_corruptedBundleOverwrite() { - - mCall.updateFromCallExtras(getTestBundle()); - mCall.setBundleCorrupted(true); - Bundle bundle = new Bundle(); - bundle.putString(Connection.EXTRA_CHILD_ADDRESS, "321"); - bundle.putStringArrayList(Connection.EXTRA_LAST_FORWARDED_NUMBER, - new ArrayList(Arrays.asList("654", "987"))); - bundle.putString(Connection.EXTRA_CALL_SUBJECT, "bar"); - mCall.updateFromCallExtras(bundle); - //corrupted bundle should not overwrite existing values. - verifyTestBundleResult(); - } - - private Bundle getTestBundle() { - Bundle bundle = new Bundle(); - bundle.putString(Connection.EXTRA_CHILD_ADDRESS, CHILD_NUMBER); - bundle.putStringArrayList(Connection.EXTRA_LAST_FORWARDED_NUMBER, - LAST_FORWARDED_NUMBER_LIST); - bundle.putString(Connection.EXTRA_CALL_SUBJECT, CALL_SUBJECT); - return bundle; - } - - private void verifyTestBundleResult() { - assertEquals(CHILD_NUMBER, mCall.getChildNumber()); - assertEquals(LAST_FORWARDED_NUMBER, mCall.getLastForwardedNumber()); - assertEquals(CALL_SUBJECT, mCall.getCallSubject()); - } - - private class TestCall extends Call { - - private boolean mBundleCorrupted = false; - - public TestCall() { - super(Call.State.NEW); - } - - @Override - public void updateFromCallExtras(Bundle bundle) { - super.updateFromCallExtras(bundle); - } - - public void setBundleCorrupted(boolean value) { - this.mBundleCorrupted = value; - } - - @Override - protected boolean areCallExtrasCorrupted(Bundle callExtras) { - if (mBundleCorrupted) { - return true; - } - return super.areCallExtrasCorrupted(callExtras); - } - } -} diff --git a/InCallUI/tests/src/com/android/incallui/CallerInfoUtilsTest.java b/InCallUI/tests/src/com/android/incallui/CallerInfoUtilsTest.java deleted file mode 100644 index de5a0239e..000000000 --- a/InCallUI/tests/src/com/android/incallui/CallerInfoUtilsTest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2015 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.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -@SmallTest -public class CallerInfoUtilsTest extends AndroidTestCase { - public void testToLogSafeNumber_email() { - assertEquals("xxx@xxx.xxx", CallerInfoUtils.toLogSafePhoneNumber("foo@foo.com")); - } - - public void testToLogSafeNumber_phoneNumber() { - assertEquals("xxx-xxx-xxxx", CallerInfoUtils.toLogSafePhoneNumber("123-456-6789")); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/ContactsPreferencesFactoryTest.java b/InCallUI/tests/src/com/android/incallui/ContactsPreferencesFactoryTest.java deleted file mode 100644 index bf915553b..000000000 --- a/InCallUI/tests/src/com/android/incallui/ContactsPreferencesFactoryTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2016 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 com.android.dialer.compat.UserManagerCompat; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -import com.android.contacts.common.preference.ContactsPreferences; - -import org.mockito.Mockito; - -@SmallTest -public class ContactsPreferencesFactoryTest extends AndroidTestCase { - - public void testNewContactsPreferences_Unlocked() { - if (!UserManagerCompat.isUserUnlocked(getContext())) { - return; - } - assertNotNull(ContactsPreferencesFactory.newContactsPreferences(getContext())); - } - - public void testNewContactsPreferences_Locked() { - if (UserManagerCompat.isUserUnlocked(getContext())) { - return; - } - assertNull(ContactsPreferencesFactory.newContactsPreferences(getContext())); - } - - public void testNewContactsPreferences_TestInstance() { - ContactsPreferences testInstance = Mockito.mock(ContactsPreferences.class); - ContactsPreferencesFactory.setTestInstance(testInstance); - // Assert that it returns the same object always - assertSame(testInstance, ContactsPreferencesFactory.newContactsPreferences(getContext())); - assertSame(testInstance, ContactsPreferencesFactory.newContactsPreferences(getContext())); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java b/InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java deleted file mode 100644 index 59434700c..000000000 --- a/InCallUI/tests/src/com/android/incallui/ExternalCallListTest.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2016 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.content.ComponentName; -import android.content.Context; -import android.net.Uri; -import android.os.Bundle; -import android.telecom.*; -import android.telecom.Call; -import android.test.AndroidTestCase; - -import com.android.contacts.common.compat.CallSdkCompat; - -import java.lang.reflect.Constructor; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -public class ExternalCallListTest extends AndroidTestCase { - - private static class Listener implements ExternalCallList.ExternalCallListener { - private CountDownLatch mCallAddedLatch = new CountDownLatch(1); - private CountDownLatch mCallRemovedLatch = new CountDownLatch(1); - private CountDownLatch mCallUpdatedLatch = new CountDownLatch(1); - - @Override - public void onExternalCallAdded(Call call) { - mCallAddedLatch.countDown(); - } - - @Override - public void onExternalCallRemoved(Call call) { - mCallRemovedLatch.countDown(); - } - - @Override - public void onExternalCallUpdated(Call call) { - mCallUpdatedLatch.countDown(); - } - - public boolean awaitCallAdded() { - try { - return mCallAddedLatch.await(WAIT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); - } catch (InterruptedException e) { - return false; - } - } - - public boolean awaitCallRemoved() { - try { - return mCallRemovedLatch.await(WAIT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); - } catch (InterruptedException e) { - return false; - } - } - - public boolean awaitCallUpdated() { - try { - return mCallUpdatedLatch.await(WAIT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); - } catch (InterruptedException e) { - return false; - } - } - } - - private static final int WAIT_TIMEOUT_MILLIS = 5000; - - private ExternalCallList mExternalCallList = new ExternalCallList(); - private Listener mExternalCallListener = new Listener(); - - @Override - public void setUp() throws Exception { - super.setUp(); - mExternalCallList.addExternalCallListener(mExternalCallListener); - } - - public void testAddCallSuccess() { - TestTelecomCall call = getTestCall(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL); - mExternalCallList.onCallAdded(call.getCall()); - assertTrue(mExternalCallListener.awaitCallAdded()); - } - - public void testAddCallFail() { - TestTelecomCall call = getTestCall(0 /* no properties */); - try { - mExternalCallList.onCallAdded(call.getCall()); - fail(); - } catch (IllegalArgumentException e) { - } - } - - public void testUpdateCall() { - TestTelecomCall call = getTestCall(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL); - mExternalCallList.onCallAdded(call.getCall()); - assertTrue(mExternalCallListener.awaitCallAdded()); - - call.forceDetailsUpdate(); - assertTrue(mExternalCallListener.awaitCallUpdated()); - } - - public void testRemoveCall() { - TestTelecomCall call = getTestCall(CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL); - mExternalCallList.onCallAdded(call.getCall()); - assertTrue(mExternalCallListener.awaitCallAdded()); - - mExternalCallList.onCallRemoved(call.getCall()); - assertTrue(mExternalCallListener.awaitCallRemoved()); - } - - private TestTelecomCall getTestCall(int properties) { - TestTelecomCall testCall = TestTelecomCall.createInstance( - "1", - Uri.parse("tel:650-555-1212"), /* handle */ - TelecomManager.PRESENTATION_ALLOWED, /* handlePresentation */ - "Joe", /* callerDisplayName */ - TelecomManager.PRESENTATION_ALLOWED, /* callerDisplayNamePresentation */ - new PhoneAccountHandle(new ComponentName("test", "class"), - "handle"), /* accountHandle */ - CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL, /* capabilities */ - properties, /* properties */ - null, /* disconnectCause */ - 0, /* connectTimeMillis */ - null, /* GatewayInfo */ - VideoProfile.STATE_AUDIO_ONLY, /* videoState */ - null, /* statusHints */ - null, /* extras */ - null /* intentExtras */); - return testCall; - } -} diff --git a/InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java b/InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java deleted file mode 100644 index 64ddd2ea5..000000000 --- a/InCallUI/tests/src/com/android/incallui/ExternalCallNotifierTest.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (C) 2016 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 static org.mockito.Matchers.anyInt; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.anyBoolean; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.timeout; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import com.android.contacts.common.preference.ContactsPreferences; - -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.mockito.Spy; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - -import android.app.Notification; -import android.app.NotificationManager; -import android.content.ComponentName; -import android.content.Context; -import android.content.res.Resources; -import android.net.Uri; -import android.telecom.*; -import android.telecom.Call; -import android.telephony.TelephonyManager; -import android.test.AndroidTestCase; -import android.test.mock.MockContext; - -import com.android.contacts.common.compat.CallSdkCompat; - -/** - * Unit tests for {@link ExternalCallNotifier}. - */ -public class ExternalCallNotifierTest extends AndroidTestCase { - private static final int TIMEOUT_MILLIS = 5000; - private static final String NAME_PRIMARY = "Full Name"; - private static final String NAME_ALTERNATIVE = "Name, Full"; - private static final String LOCATION = "US"; - private static final String NUMBER = "6505551212"; - - @Mock private ContactsPreferences mContactsPreferences; - @Mock private NotificationManager mNotificationManager; - @Mock private MockContext mMockContext; - @Mock private Resources mResources; - @Mock private StatusBarNotifier mStatusBarNotifier; - @Mock private ContactInfoCache mContactInfoCache; - @Mock private TelecomManager mTelecomManager; - @Mock private TelephonyManager mTelephonyManager; - @Mock private ProximitySensor mProximitySensor; - @Mock private CallList mCallList; - private InCallPresenter mInCallPresenter; - private ExternalCallNotifier mExternalCallNotifier; - private ContactInfoCache.ContactCacheEntry mContactInfo; - - @Override - public void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); - - when(mContactsPreferences.getDisplayOrder()) - .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY); - - // Setup the mock context to return mocks for some of the needed services; the notification - // service is especially important as we want to be able to intercept calls into it and - // validate the notifcations. - when(mMockContext.getSystemService(eq(Context.NOTIFICATION_SERVICE))) - .thenReturn(mNotificationManager); - when(mMockContext.getSystemService(eq(Context.TELECOM_SERVICE))) - .thenReturn(mTelecomManager); - when(mMockContext.getSystemService(eq(Context.TELEPHONY_SERVICE))) - .thenReturn(mTelephonyManager); - - // These aspects of the context are used by the notification builder to build the actual - // notification; we will rely on the actual implementations of these. - when(mMockContext.getPackageManager()).thenReturn(mContext.getPackageManager()); - when(mMockContext.getResources()).thenReturn(mContext.getResources()); - when(mMockContext.getApplicationInfo()).thenReturn(mContext.getApplicationInfo()); - when(mMockContext.getContentResolver()).thenReturn(mContext.getContentResolver()); - when(mMockContext.getPackageName()).thenReturn(mContext.getPackageName()); - - ContactsPreferencesFactory.setTestInstance(null); - mExternalCallNotifier = new ExternalCallNotifier(mMockContext, mContactInfoCache); - - // We don't directly use the InCallPresenter in the test, or even in ExternalCallNotifier - // itself. However, ExternalCallNotifier needs to make instances of - // com.android.incallui.Call for the purpose of performing contact cache lookups. The - // Call class depends on the static InCallPresenter for a number of things, so we need to - // set it up here to prevent crashes. - mInCallPresenter = InCallPresenter.getInstance(); - mInCallPresenter.setUp(mMockContext, mCallList, new ExternalCallList(), - null, mStatusBarNotifier, mExternalCallNotifier, mContactInfoCache, - mProximitySensor); - - // Unlocked all contact info is available - mContactInfo = new ContactInfoCache.ContactCacheEntry(); - mContactInfo.namePrimary = NAME_PRIMARY; - mContactInfo.nameAlternative = NAME_ALTERNATIVE; - mContactInfo.location = LOCATION; - mContactInfo.number = NUMBER; - - // Given the mock ContactInfoCache cache, we need to mock out what happens when the - // ExternalCallNotifier calls into the contact info cache to do a lookup. We will always - // return mock info stored in mContactInfo. - doAnswer(new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - Object[] args = invocation.getArguments(); - com.android.incallui.Call call = (com.android.incallui.Call) args[0]; - ContactInfoCache.ContactInfoCacheCallback callback - = (ContactInfoCache.ContactInfoCacheCallback) args[2]; - callback.onContactInfoComplete(call.getId(), mContactInfo); - return null; - } - }).when(mContactInfoCache).findInfo(any(com.android.incallui.Call.class), anyBoolean(), - any(ContactInfoCache.ContactInfoCacheCallback.class)); - } - - @Override - public void tearDown() throws Exception { - super.tearDown(); - ContactsPreferencesFactory.setTestInstance(null); - mInCallPresenter.tearDown(); - } - - public void testPostNonPullable() { - TestTelecomCall call = getTestCall(false); - mExternalCallNotifier.onExternalCallAdded(call.getCall()); - Notification notification = verifyNotificationPosted(); - assertNull(notification.actions); - } - - public void testPostPullable() { - TestTelecomCall call = getTestCall(true); - mExternalCallNotifier.onExternalCallAdded(call.getCall()); - Notification notification = verifyNotificationPosted(); - assertEquals(1, notification.actions.length); - } - - public void testNotificationDismissed() { - TestTelecomCall call = getTestCall(false); - mExternalCallNotifier.onExternalCallAdded(call.getCall()); - verifyNotificationPosted(); - - mExternalCallNotifier.onExternalCallRemoved(call.getCall()); - verify(mNotificationManager, timeout(TIMEOUT_MILLIS)).cancel(eq("EXTERNAL_CALL"), eq(0)); - } - - public void testNotificationUpdated() { - TestTelecomCall call = getTestCall(false); - mExternalCallNotifier.onExternalCallAdded(call.getCall()); - verifyNotificationPosted(); - - call.setCapabilities(CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL); - mExternalCallNotifier.onExternalCallUpdated(call.getCall()); - - ArgumentCaptor<Notification> notificationCaptor = - ArgumentCaptor.forClass(Notification.class); - verify(mNotificationManager, timeout(TIMEOUT_MILLIS).times(2)) - .notify(eq("EXTERNAL_CALL"), eq(0), notificationCaptor.capture()); - Notification notification1 = notificationCaptor.getAllValues().get(0); - assertNull(notification1.actions); - Notification notification2 = notificationCaptor.getAllValues().get(1); - assertEquals(1, notification2.actions.length); - } - - private Notification verifyNotificationPosted() { - ArgumentCaptor<Notification> notificationCaptor = - ArgumentCaptor.forClass(Notification.class); - verify(mNotificationManager, timeout(TIMEOUT_MILLIS)) - .notify(eq("EXTERNAL_CALL"), eq(0), notificationCaptor.capture()); - return notificationCaptor.getValue(); - } - - private TestTelecomCall getTestCall(boolean canPull) { - TestTelecomCall testCall = TestTelecomCall.createInstance( - "1", - Uri.parse("tel:650-555-1212"), /* handle */ - TelecomManager.PRESENTATION_ALLOWED, /* handlePresentation */ - "Joe", /* callerDisplayName */ - TelecomManager.PRESENTATION_ALLOWED, /* callerDisplayNamePresentation */ - new PhoneAccountHandle(new ComponentName("test", "class"), - "handle"), /* accountHandle */ - canPull ? CallSdkCompat.Details.CAPABILITY_CAN_PULL_CALL : 0, /* capabilities */ - CallSdkCompat.Details.PROPERTY_IS_EXTERNAL_CALL, /* properties */ - null, /* disconnectCause */ - 0, /* connectTimeMillis */ - null, /* GatewayInfo */ - VideoProfile.STATE_AUDIO_ONLY, /* videoState */ - null, /* statusHints */ - null, /* extras */ - null /* intentExtras */); - return testCall; - } -} diff --git a/InCallUI/tests/src/com/android/incallui/InCallContactInteractionsTest.java b/InCallUI/tests/src/com/android/incallui/InCallContactInteractionsTest.java deleted file mode 100644 index 625cda448..000000000 --- a/InCallUI/tests/src/com/android/incallui/InCallContactInteractionsTest.java +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Copyright (C) 2015 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.location.Address; -import android.test.AndroidTestCase; -import android.util.Pair; - -import com.android.incallui.InCallContactInteractions.BusinessContextInfo; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.List; -import java.util.Locale; - -/** - * Tests for InCallContactInteractions class methods for formatting info for display. - * - * NOTE: tests assume system settings are set to 12hr time format and US locale. This means that - * the output of InCallContactInteractions methods are compared against strings in 12hr time format - * and US locale address formatting unless otherwise specified. - */ -public class InCallContactInteractionsTest extends AndroidTestCase { - private InCallContactInteractions mInCallContactInteractions; - private static final float TEST_DISTANCE = (float) 1234.56; - - @Override - protected void setUp() { - mInCallContactInteractions = new InCallContactInteractions(mContext, true /* isBusiness */); - } - - public void testIsOpenNow_NowMatchesOpenTime() { - assertEquals(mContext.getString(R.string.open_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(8), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(20)))) - .heading); - } - - public void testIsOpenNow_ClosingAfterMidnight() { - assertEquals(mContext.getString(R.string.open_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(10), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHourAndDaysFromToday(1, 1)))) - .heading); - } - - public void testIsOpenNow_Open24Hours() { - assertEquals(mContext.getString(R.string.open_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(10), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHourAndDaysFromToday(8, 1)))) - .heading); - } - - public void testIsOpenNow_AfterMiddayBreak() { - assertEquals(mContext.getString(R.string.open_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(13), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(10)), - Pair.create( - getTestCalendarWithHour(12), - getTestCalendarWithHour(15)))) - .heading); - } - - public void testIsClosedNow_DuringMiddayBreak() { - assertEquals(mContext.getString(R.string.closed_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(11), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(10)), - Pair.create( - getTestCalendarWithHour(12), - getTestCalendarWithHour(15)))) - .heading); - } - - public void testIsClosedNow_BeforeOpen() { - assertEquals(mContext.getString(R.string.closed_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(6), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(20)))) - .heading); - } - - public void testIsClosedNow_NowMatchesClosedTime() { - assertEquals(mContext.getString(R.string.closed_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(20), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(20)))) - .heading); - } - - public void testIsClosedNow_AfterClosed() { - assertEquals(mContext.getString(R.string.closed_now), - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(21), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(20)))) - .heading); - } - - public void testOpeningHours_SingleOpenRangeWhileOpen() { - assertEquals("8:00 AM - 8:00 PM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(12), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(20)))) - .detail); - } - - public void testOpeningHours_TwoOpenRangesWhileOpen() { - assertEquals("8:00 AM - 10:00 AM, 12:00 PM - 3:00 PM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(12), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(10)), - Pair.create( - getTestCalendarWithHour(12), - getTestCalendarWithHour(15)))) - .detail); - } - - public void testOpeningHours_AfterClosedNoTomorrow() { - assertEquals("Closed today at 8:00 PM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(21), - Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(20)))) - .detail); - } - - public void testOpeningHours_NotOpenTodayOpenTomorrow() { - assertEquals("Opens tomorrow at 8:00 AM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(21), - Arrays.asList( - Pair.create( - getTestCalendarWithHourAndDaysFromToday(8, 1), - getTestCalendarWithHourAndDaysFromToday(10, 1)))) - .detail); - } - - public void testMultipleOpenRanges_BeforeOpen() { - assertEquals("Opens today at 8:00 AM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(7), - getMultipleOpeningHours()) - .detail); - } - - public void testMultipleOpenRanges_DuringFirstRange() { - assertEquals("Closes at 10:00 AM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(9), - getMultipleOpeningHours()) - .detail); - } - - public void testMultipleOpenRanges_BeforeMiddleRange() { - assertEquals("Opens today at 12:00 PM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(11), - getMultipleOpeningHours()) - .detail); - } - - public void testMultipleOpeningHours_DuringLastRange() { - assertEquals("Closes at 9:00 PM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(19), - getMultipleOpeningHours()) - .detail); - } - - public void testMultipleOpeningHours_AfterClose() { - assertEquals("Opens tomorrow at 8:00 AM", - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(22), - getMultipleOpeningHours()) - .detail); - } - - public void testNotOpenTodayOrTomorrow() { - assertEquals(null, - mInCallContactInteractions.constructHoursInfo( - getTestCalendarWithHour(21), - new ArrayList<Pair<Calendar, Calendar>>())); - } - - public void testLocationInfo_ForUS() { - BusinessContextInfo info = - mInCallContactInteractions.constructLocationInfo( - Locale.US, - getAddressForTest(), - TEST_DISTANCE); - assertEquals("0.8 mi away", info.heading); - assertEquals("Test address, Test locality", info.detail); - } - - public void testLocationInfo_ForNotUS() { - BusinessContextInfo info = - mInCallContactInteractions.constructLocationInfo( - Locale.CANADA, - getAddressForTest(), - TEST_DISTANCE); - assertEquals("1.2 km away", info.heading); - assertEquals("Test address, Test locality", info.detail); - } - - public void testLocationInfo_NoLocality() { - Address address = getAddressForTest(); - address.setLocality(null); - BusinessContextInfo info = - mInCallContactInteractions.constructLocationInfo( - Locale.CANADA, - address, - TEST_DISTANCE); - assertEquals("1.2 km away", info.heading); - assertEquals("Test address", info.detail); - } - - public void testLocationInfo_NoAddress() { - BusinessContextInfo info = - mInCallContactInteractions.constructLocationInfo( - Locale.CANADA, - null, - TEST_DISTANCE); - assertEquals(null, info); - } - - public void testLocationInfo_NoDistance() { - BusinessContextInfo info = - mInCallContactInteractions.constructLocationInfo( - Locale.US, - getAddressForTest(), - DistanceHelper.DISTANCE_NOT_FOUND); - assertEquals(null, info.heading); - } - - private Address getAddressForTest() { - Address address = new Address(Locale.US); - address.setAddressLine(0, "Test address"); - address.setLocality("Test locality"); - return address; - } - - private Calendar getTestCalendarWithHour(int hour) { - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.HOUR_OF_DAY, hour); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - return calendar; - } - - private Calendar getTestCalendarWithHourAndDaysFromToday(int hour, int daysFromToday) { - Calendar calendar = getTestCalendarWithHour(hour); - calendar.add(Calendar.DATE, daysFromToday); - return calendar; - } - - private List<Pair<Calendar, Calendar>> getMultipleOpeningHours() { - return Arrays.asList( - Pair.create( - getTestCalendarWithHour(8), - getTestCalendarWithHour(10)), - Pair.create( - getTestCalendarWithHour(12), - getTestCalendarWithHour(15)), - Pair.create( - getTestCalendarWithHour(17), - getTestCalendarWithHour(21)), - Pair.create( - getTestCalendarWithHourAndDaysFromToday(8, 1), - getTestCalendarWithHourAndDaysFromToday(10, 1)), - Pair.create( - getTestCalendarWithHourAndDaysFromToday(12, 1), - getTestCalendarWithHourAndDaysFromToday(8, 1))); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java b/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java deleted file mode 100644 index f0f08ab68..000000000 --- a/InCallUI/tests/src/com/android/incallui/InCallPresenterTest.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (C) 2015 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 static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.content.Intent; -import android.telecom.PhoneAccountHandle; -import android.telephony.TelephonyManager; -import android.test.InstrumentationTestCase; -import android.test.suitebuilder.annotation.MediumTest; - -import com.android.incallui.InCallPresenter.InCallState; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@MediumTest -public class InCallPresenterTest extends InstrumentationTestCase { - private MockCallListWrapper mCallList; - @Mock private InCallActivity mInCallActivity; - @Mock private AudioModeProvider mAudioModeProvider; - @Mock private StatusBarNotifier mStatusBarNotifier; - @Mock private ExternalCallNotifier mExternalCallNotifier; - @Mock private ContactInfoCache mContactInfoCache; - @Mock private ProximitySensor mProximitySensor; - - InCallPresenter mInCallPresenter; - @Mock private Context mContext; - @Mock private TelephonyManager mTelephonyManager; - - @Override - protected void setUp() throws Exception { - super.setUp(); - System.setProperty("dexmaker.dexcache", - getInstrumentation().getTargetContext().getCacheDir().getPath()); - MockitoAnnotations.initMocks(this); - mCallList = new MockCallListWrapper(); - - when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager); - - mInCallPresenter = InCallPresenter.getInstance(); - mInCallPresenter.setUp(mContext, mCallList.getCallList(), new ExternalCallList(), - mAudioModeProvider, mStatusBarNotifier, mExternalCallNotifier, mContactInfoCache, - mProximitySensor); - } - - @Override - protected void tearDown() throws Exception { - // The tear down method needs to run in the main thread since there is an explicit check - // inside TelecomAdapter.getInstance(). - getInstrumentation().runOnMainSync(new Runnable() { - @Override - public void run() { - mInCallPresenter.unsetActivity(mInCallActivity); - mInCallPresenter.tearDown(); - InCallPresenter.setInstance(null); - } - }); - } - - public void testOnActivitySet_finishesActivityWhenNoCalls() { - mInCallPresenter.setActivity(mInCallActivity); - - verify(mInCallActivity).finish(); - } - - public void testOnCallListChange_sendsNotificationWhenInCall() { - mCallList.setHasCall(Call.State.INCOMING, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verify(mStatusBarNotifier).updateNotification(InCallState.INCOMING, - mCallList.getCallList()); - verifyInCallActivityNotStarted(); - } - - /** - * This behavior is required to ensure that the screen is turned on again by the restarting - * activity. - */ - public void testOnCallListChange_handlesCallWaitingWhenScreenOffShouldRestartActivity() { - mCallList.setHasCall(Call.State.ACTIVE, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - mInCallPresenter.setActivity(mInCallActivity); - - // Pretend that there is a call waiting and the screen is off - when(mInCallActivity.isDestroyed()).thenReturn(false); - when(mInCallActivity.isFinishing()).thenReturn(false); - when(mProximitySensor.isScreenReallyOff()).thenReturn(true); - mCallList.setHasCall(Call.State.INCOMING, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - verify(mInCallActivity).finish(); - } - - /** - * Verifies that the PENDING_OUTGOING -> IN_CALL transition brings up InCallActivity so - * that it can display an error dialog. - */ - public void testOnCallListChange_pendingOutgoingToInCallTransitionShowsUiForErrorDialog() { - mCallList.setHasCall(Call.State.CONNECTING, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - mCallList.setHasCall(Call.State.CONNECTING, false); - mCallList.setHasCall(Call.State.ACTIVE, true); - - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verify(mContext).startActivity(InCallPresenter.getInstance().getInCallIntent(false, false)); - verifyIncomingCallNotificationNotSent(); - } - - /** - * Verifies that if there is a call in the SELECT_PHONE_ACCOUNT state, InCallActivity is displayed - * to display the account picker. - */ - public void testOnCallListChange_noAccountProvidedForCallShowsUiForAccountPicker() { - mCallList.setHasCall(Call.State.SELECT_PHONE_ACCOUNT, true); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verify(mContext).startActivity(InCallPresenter.getInstance().getInCallIntent(false, false)); - verifyIncomingCallNotificationNotSent(); - } - - /** - * Verifies that for an expected call state change (e.g. NO_CALLS -> PENDING_OUTGOING), - * InCallActivity is not displayed. - */ - public void testOnCallListChange_noCallsToPendingOutgoingDoesNotShowUi() { - mCallList.setHasCall(Call.State.CONNECTING, true); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - verifyInCallActivityNotStarted(); - verifyIncomingCallNotificationNotSent(); - } - - public void testOnCallListChange_LastCallDisconnectedNoCallsLeftFinishesUi() { - mCallList.setHasCall(Call.State.DISCONNECTED, true); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - - mInCallPresenter.setActivity(mInCallActivity); - - verify(mInCallActivity, never()).finish(); - - // Last remaining disconnected call is removed from CallList, activity should shut down. - mCallList.setHasCall(Call.State.DISCONNECTED, false); - mInCallPresenter.onCallListChange(mCallList.getCallList()); - verify(mInCallActivity).finish(); - } - - - //TODO - public void testCircularReveal_startsCircularRevealForOutgoingCalls() { - - } - - public void testCircularReveal_waitTillCircularRevealSentBeforeShowingCallCard() { - } - - public void testHangupOngoingCall_disconnectsCallCorrectly() { - } - - public void testAnswerIncomingCall() { - } - - public void testDeclineIncomingCall() { - } - - private void verifyInCallActivityNotStarted() { - verify(mContext, never()).startActivity(Mockito.any(Intent.class)); - } - - private void verifyIncomingCallNotificationNotSent() { - verify(mStatusBarNotifier, never()).updateNotification(Mockito.any(InCallState.class), - Mockito.any(CallList.class)); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/LatencyReportTest.java b/InCallUI/tests/src/com/android/incallui/LatencyReportTest.java deleted file mode 100644 index 9d8a5131b..000000000 --- a/InCallUI/tests/src/com/android/incallui/LatencyReportTest.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2016 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 static com.android.incallui.LatencyReport.INVALID_TIME; - -import android.os.Bundle; -import android.telecom.Connection; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -import java.util.ArrayList; -import java.util.Arrays; - -public class LatencyReportTest extends AndroidTestCase { - public void testEmptyInit() { - LatencyReport report = new LatencyReport(); - assertEquals(INVALID_TIME, report.getCreatedTimeMillis()); - assertEquals(INVALID_TIME, report.getTelecomRoutingStartTimeMillis()); - assertEquals(INVALID_TIME, report.getTelecomRoutingEndTimeMillis()); - assertTrue(report.getCallAddedTimeMillis() > 0); - } - - public void testCallBlocking() { - LatencyReport report = new LatencyReport(); - assertEquals(INVALID_TIME, report.getCallBlockingTimeMillis()); - report.onCallBlockingDone(); - assertTrue(report.getCallBlockingTimeMillis() > 0); - } - - public void testNotificationShown() { - LatencyReport report = new LatencyReport(); - assertEquals(INVALID_TIME, report.getCallNotificationTimeMillis()); - report.onNotificationShown(); - assertTrue(report.getCallNotificationTimeMillis() > 0); - } - - public void testInCallUiShown() { - LatencyReport report = new LatencyReport(); - assertEquals(INVALID_TIME, report.getInCallUiShownTimeMillis()); - report.onInCallUiShown(false); - assertTrue(report.getInCallUiShownTimeMillis() > 0); - assertFalse(report.getDidDisplayHeadsUpNotification()); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/MockCallListWrapper.java b/InCallUI/tests/src/com/android/incallui/MockCallListWrapper.java deleted file mode 100644 index 369c4303f..000000000 --- a/InCallUI/tests/src/com/android/incallui/MockCallListWrapper.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2015 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 static org.mockito.Mockito.anyInt; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.when; - -import android.telecom.PhoneAccountHandle; - -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - -import java.util.HashSet; - -/** - * Provides an instance of a mock CallList, and provides utility methods to put the CallList into - * various states (e.g. incoming call, active call, call waiting). - */ -public class MockCallListWrapper { - private CallList mCallList; - private HashSet<Integer> mCallSet = new HashSet<>(); - - public MockCallListWrapper() { - mCallList = Mockito.mock(CallList.class); - mCallList = spy(new CallList()); - when(mCallList.getFirstCallWithState(anyInt())).thenAnswer(new Answer<Call>() { - @Override - public Call answer(InvocationOnMock i) throws Throwable { - Object[] args = i.getArguments(); - final int state = (int) args[0]; - if (mCallSet.contains(state)) { - return getMockCall(state); - } else { - return null; - } - } - }); - } - - public CallList getCallList() { - return mCallList; - } - - public void setHasCall(int state, boolean hasCall) { - if (hasCall) { - mCallSet.add(state); - } else { - mCallSet.remove(state); - } - } - - private static Call getMockCall(int state) { - return getMockCall(state, state != Call.State.SELECT_PHONE_ACCOUNT); - } - - private static Call getMockCall(int state, boolean hasAccountHandle) { - final Call call = Mockito.mock(Call.class); - when(call.getState()).thenReturn(Integer.valueOf(state)); - if (hasAccountHandle) { - when(call.getAccountHandle()).thenReturn(new PhoneAccountHandle(null, null)); - } - return call; - } -} diff --git a/InCallUI/tests/src/com/android/incallui/ProximitySensorTest.java b/InCallUI/tests/src/com/android/incallui/ProximitySensorTest.java deleted file mode 100644 index 1c8f34721..000000000 --- a/InCallUI/tests/src/com/android/incallui/ProximitySensorTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2015 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 static org.mockito.Mockito.anyBoolean; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -import android.test.InstrumentationTestCase; -import android.test.suitebuilder.annotation.MediumTest; - -import com.android.incallui.InCallPresenter.InCallState; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@MediumTest -public class ProximitySensorTest extends InstrumentationTestCase { - @Mock private AccelerometerListener mAccelerometerListener; - private MockCallListWrapper mCallList; - - @Override - protected void setUp() throws Exception { - super.setUp(); - System.setProperty("dexmaker.dexcache", - getInstrumentation().getTargetContext().getCacheDir().getPath()); - MockitoAnnotations.initMocks(this); - mCallList = new MockCallListWrapper(); - } - - public void testAccelerometerBehaviorOnDisplayChange() { - final ProximitySensor proximitySensor = - new ProximitySensor( - getInstrumentation().getContext(), - new AudioModeProvider(), - mAccelerometerListener); - verify(mAccelerometerListener, never()).enable(anyBoolean()); - proximitySensor.onStateChange(null, InCallState.OUTGOING, mCallList.getCallList()); - verify(mAccelerometerListener).enable(true); - verify(mAccelerometerListener, never()).enable(false); - - proximitySensor.onDisplayStateChanged(false); - verify(mAccelerometerListener).enable(true); - verify(mAccelerometerListener).enable(false); - - proximitySensor.onDisplayStateChanged(true); - verify(mAccelerometerListener, times(2)).enable(true); - verify(mAccelerometerListener).enable(false); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java b/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java deleted file mode 100644 index 4c55ddcc0..000000000 --- a/InCallUI/tests/src/com/android/incallui/StatusBarNotifierTest.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 2016 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.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; - -import com.android.contacts.common.preference.ContactsPreferences; -import com.android.incallui.ContactInfoCache.ContactCacheEntry; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@MediumTest -public class StatusBarNotifierTest extends AndroidTestCase { - - private static final String NAME_PRIMARY = "Full Name"; - private static final String NAME_ALTERNATIVE = "Name, Full"; - private static final String LOCATION = "US"; - private static final String NUMBER = "8006459001"; - - @Mock private Call mCall; - @Mock private ContactsPreferences mContactsPreferences; - private ContactCacheEntry mUnlockedContactInfo; - private ContactCacheEntry mLockedContactInfo; - - @Override - public void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); - - Mockito.when(mContactsPreferences.getDisplayOrder()) - .thenReturn(ContactsPreferences.DISPLAY_ORDER_PRIMARY); - - // Unlocked all contact info is available - mUnlockedContactInfo = new ContactCacheEntry(); - mUnlockedContactInfo.namePrimary = NAME_PRIMARY; - mUnlockedContactInfo.nameAlternative = NAME_ALTERNATIVE; - mUnlockedContactInfo.location = LOCATION; - mUnlockedContactInfo.number = NUMBER; - - // Locked only number and location are available - mLockedContactInfo = new ContactCacheEntry(); - mLockedContactInfo .location = LOCATION; - mLockedContactInfo .number = NUMBER; - } - - @Override - public void tearDown() throws Exception { - super.tearDown(); - ContactsPreferencesFactory.setTestInstance(null); - } - - public void testGetContentTitle_ConferenceCall() { - ContactsPreferencesFactory.setTestInstance(null); - StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null); - - Mockito.when(mCall.isConferenceCall()).thenReturn(true); - Mockito.when(mCall.hasProperty(Mockito.anyInt())).thenReturn(false); - - assertEquals(mContext.getResources().getString(R.string.card_title_conf_call), - statusBarNotifier.getContentTitle(null, mCall)); - } - - public void testGetContentTitle_Unlocked() { - ContactsPreferencesFactory.setTestInstance(mContactsPreferences); - StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null); - assertEquals(NAME_PRIMARY, statusBarNotifier.getContentTitle(mUnlockedContactInfo, mCall)); - } - - public void testGetContentTitle_Locked() { - ContactsPreferencesFactory.setTestInstance(null); - StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null); - assertEquals(NUMBER, statusBarNotifier.getContentTitle(mLockedContactInfo, mCall)); - } - - public void testGetContentTitle_EmptyPreferredName() { - ContactCacheEntry contactCacheEntry = new ContactCacheEntry(); - contactCacheEntry.number = NUMBER; - StatusBarNotifier statusBarNotifier = new StatusBarNotifier(mContext, null); - assertEquals(NUMBER, statusBarNotifier.getContentTitle(contactCacheEntry, mCall)); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/TestTelecomCall.java b/InCallUI/tests/src/com/android/incallui/TestTelecomCall.java deleted file mode 100644 index 48ac6e18f..000000000 --- a/InCallUI/tests/src/com/android/incallui/TestTelecomCall.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright (C) 2016 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 com.google.common.base.Preconditions; - -import android.content.Context; -import android.net.Uri; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.telecom.DisconnectCause; -import android.telecom.GatewayInfo; -import android.telecom.PhoneAccountHandle; -import android.telecom.StatusHints; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -/** - * Wrapper class which uses reflection to create instances of {@link android.telecom.Call} for use - * with unit testing. Since {@link android.telecom.Call} is final, it cannot be mocked using - * mockito, and since all setter methods are hidden, it is necessary to use reflection. In the - * future, it would be desirable to replace this if a different mocking solution is used. - */ -public class TestTelecomCall { - - private android.telecom.Call mCall; - - public static @Nullable TestTelecomCall createInstance(String callId, - Uri handle, - int handlePresentation, - String callerDisplayName, - int callerDisplayNamePresentation, - PhoneAccountHandle accountHandle, - int capabilities, - int properties, - DisconnectCause disconnectCause, - long connectTimeMillis, - GatewayInfo gatewayInfo, - int videoState, - StatusHints statusHints, - Bundle extras, - Bundle intentExtras) { - - try { - // Phone and InCall adapter are @hide, so we cannot refer to them directly. - Class<?> phoneClass = Class.forName("android.telecom.Phone"); - Class<?> incallAdapterClass = Class.forName("android.telecom.InCallAdapter"); - Class<?> callClass = android.telecom.Call.class; - Constructor<?> cons = callClass - .getDeclaredConstructor(phoneClass, String.class, incallAdapterClass); - cons.setAccessible(true); - - android.telecom.Call call = (android.telecom.Call) cons.newInstance(null, callId, null); - - // Create an instance of the call details. - Class<?> callDetailsClass = android.telecom.Call.Details.class; - Constructor<?> detailsCons = callDetailsClass.getDeclaredConstructor( - String.class, /* telecomCallId */ - Uri.class, /* handle */ - int.class, /* handlePresentation */ - String.class, /* callerDisplayName */ - int.class, /* callerDisplayNamePresentation */ - PhoneAccountHandle.class, /* accountHandle */ - int.class, /* capabilities */ - int.class, /* properties */ - DisconnectCause.class, /* disconnectCause */ - long.class, /* connectTimeMillis */ - GatewayInfo.class, /* gatewayInfo */ - int.class, /* videoState */ - StatusHints.class, /* statusHints */ - Bundle.class, /* extras */ - Bundle.class /* intentExtras */); - detailsCons.setAccessible(true); - - android.telecom.Call.Details details = (android.telecom.Call.Details) - detailsCons.newInstance(callId, handle, handlePresentation, callerDisplayName, - callerDisplayNamePresentation, accountHandle, capabilities, properties, - disconnectCause, connectTimeMillis, gatewayInfo, videoState, - statusHints, - extras, intentExtras); - - // Finally, set this as the details of the call. - Field detailsField = call.getClass().getDeclaredField("mDetails"); - detailsField.setAccessible(true); - detailsField.set(call, details); - - return new TestTelecomCall(call); - } catch (NoSuchMethodException nsm) { - return null; - } catch (ClassNotFoundException cnf) { - return null; - } catch (IllegalAccessException e) { - return null; - } catch (InstantiationException e) { - return null; - } catch (InvocationTargetException e) { - return null; - } catch (NoSuchFieldException e) { - return null; - } - } - - private TestTelecomCall(android.telecom.Call call) { - mCall = call; - } - - public android.telecom.Call getCall() { - return mCall; - } - - public void forceDetailsUpdate() { - Preconditions.checkNotNull(mCall); - - try { - Method method = mCall.getClass().getDeclaredMethod("fireDetailsChanged", - android.telecom.Call.Details.class); - method.setAccessible(true); - method.invoke(mCall, mCall.getDetails()); - } catch (NoSuchMethodException e) { - Log.e(this, "forceDetailsUpdate", e); - } catch (InvocationTargetException e) { - Log.e(this, "forceDetailsUpdate", e); - } catch (IllegalAccessException e) { - Log.e(this, "forceDetailsUpdate", e); - } - } - - public void setCapabilities(int capabilities) { - Preconditions.checkNotNull(mCall); - try { - Field field = mCall.getDetails().getClass().getDeclaredField("mCallCapabilities"); - field.setAccessible(true); - field.set(mCall.getDetails(), capabilities); - } catch (IllegalAccessException e) { - Log.e(this, "setProperties", e); - } catch (NoSuchFieldException e) { - Log.e(this, "setProperties", e); - } - } - - public void setCall(android.telecom.Call call) { - mCall = call; - } -} diff --git a/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java b/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java deleted file mode 100644 index 5717c9478..000000000 --- a/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2016 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.async; - -import java.util.concurrent.Executors; - -import javax.annotation.concurrent.ThreadSafe; - -/** - * {@link PausableExecutor} for use in tests. It is intended to be used between one test thread - * and one prod thread. See {@link com.android.incallui.ringtone.InCallTonePlayerTest} for example - * usage. - */ -@ThreadSafe -public final class SingleProdThreadExecutor implements PausableExecutor { - - private int mMilestonesReached; - private int mMilestonesAcked; - private boolean mHasAckedAllMilestones; - - @Override - public synchronized void milestone() { - ++mMilestonesReached; - notify(); - while (!mHasAckedAllMilestones && mMilestonesReached > mMilestonesAcked) { - try { - wait(); - } catch (InterruptedException e) {} - } - } - - @Override - public synchronized void ackMilestoneForTesting() { - ++mMilestonesAcked; - notify(); - } - - @Override - public synchronized void ackAllMilestonesForTesting() { - mHasAckedAllMilestones = true; - notify(); - } - - @Override - public synchronized void awaitMilestoneForTesting() throws InterruptedException { - while (!mHasAckedAllMilestones && mMilestonesReached <= mMilestonesAcked) { - wait(); - } - } - - @Override - public synchronized void execute(Runnable command) { - Executors.newSingleThreadExecutor().execute(command); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/ringtone/DialerRingtoneManagerTest.java b/InCallUI/tests/src/com/android/incallui/ringtone/DialerRingtoneManagerTest.java deleted file mode 100644 index 01db20272..000000000 --- a/InCallUI/tests/src/com/android/incallui/ringtone/DialerRingtoneManagerTest.java +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (C) 2016 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.ringtone; - -import android.media.RingtoneManager; -import android.net.Uri; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -import com.android.contacts.common.compat.CompatUtils; -import com.android.incallui.Call; -import com.android.incallui.Call.State; -import com.android.incallui.CallList; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@SmallTest -public class DialerRingtoneManagerTest extends AndroidTestCase { - - private static final Uri RINGTONE_URI = RingtoneManager - .getDefaultUri(RingtoneManager.TYPE_RINGTONE); - - @Mock private InCallTonePlayer mInCallTonePlayer; - @Mock private CallList mCallList; - @Mock private Call mCall; - private DialerRingtoneManager mRingtoneManagerEnabled; - private DialerRingtoneManager mRingtoneManagerDisabled; - - @Override - public void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); - mRingtoneManagerEnabled = new DialerRingtoneManager(mInCallTonePlayer, mCallList); - mRingtoneManagerEnabled.setDialerRingingEnabledForTesting(true); - mRingtoneManagerDisabled = new DialerRingtoneManager(mInCallTonePlayer, mCallList); - mRingtoneManagerDisabled.setDialerRingingEnabledForTesting(false); - } - - public void testNullInCallTonePlayer() { - try { - new DialerRingtoneManager(null, mCallList); - fail(); - } catch (NullPointerException e) {} - } - - public void testNullCallList() { - try { - new DialerRingtoneManager(mInCallTonePlayer, null); - fail(); - } catch (NullPointerException e) {} - } - - public void testShouldPlayRingtone_M() { - if (CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayRingtone(0, RINGTONE_URI)); - } - - public void testShouldPlayRingtone_N_NullUri() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayRingtone(State.INCOMING, null)); - } - - public void testShouldPlayRingtone_N_Disabled() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerDisabled.shouldPlayRingtone(State.INCOMING, RINGTONE_URI)); - } - - public void testShouldPlayRingtone_N_NotIncoming() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayRingtone(State.ACTIVE, RINGTONE_URI)); - } - - // Specific case for call waiting since that needs its own sound - public void testShouldPlayRingtone_N_CallWaitingByState() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayRingtone(State.CALL_WAITING, RINGTONE_URI)); - } - - public void testShouldPlayRingtone_N_CallWaitingByActiveCall() { - if (!CompatUtils.isNCompatible()) { - return; - } - Mockito.when(mCallList.getActiveCall()).thenReturn(mCall); - assertFalse(mRingtoneManagerEnabled.shouldPlayRingtone(State.INCOMING, RINGTONE_URI)); - } - - public void testShouldPlayRingtone_N() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertTrue(mRingtoneManagerEnabled.shouldPlayRingtone(State.INCOMING, RINGTONE_URI)); - } - - public void testShouldPlayCallWaitingTone_M() { - if (CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayCallWaitingTone(0)); - } - - public void testShouldPlayCallWaitingTone_N_Disabled() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerDisabled.shouldPlayCallWaitingTone(State.CALL_WAITING)); - } - - public void testShouldPlayCallWaitingTone_N_NotCallWaiting() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayCallWaitingTone(State.ACTIVE)); - } - - // Specific case for incoming since it plays its own sound - public void testShouldPlayCallWaitingTone_N_Incoming() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertFalse(mRingtoneManagerEnabled.shouldPlayCallWaitingTone(State.INCOMING)); - } - - public void testShouldPlayCallWaitingTone_N_AlreadyPlaying() { - if (!CompatUtils.isNCompatible()) { - return; - } - Mockito.when(mInCallTonePlayer.isPlayingTone()).thenReturn(true); - assertFalse(mRingtoneManagerEnabled.shouldPlayCallWaitingTone(State.CALL_WAITING)); - } - - public void testShouldPlayCallWaitingTone_N_ByState() { - if (!CompatUtils.isNCompatible()) { - return; - } - assertTrue(mRingtoneManagerEnabled.shouldPlayCallWaitingTone(State.CALL_WAITING)); - } - - public void testShouldPlayCallWaitingTone_N_ByActiveCall() { - if (!CompatUtils.isNCompatible()) { - return; - } - Mockito.when(mCallList.getActiveCall()).thenReturn(mCall); - assertTrue(mRingtoneManagerEnabled.shouldPlayCallWaitingTone(State.INCOMING)); - } - - public void testPlayCallWaitingTone_M() { - if (CompatUtils.isNCompatible()) { - return; - } - mRingtoneManagerEnabled.playCallWaitingTone(); - Mockito.verify(mInCallTonePlayer, Mockito.never()).play(Mockito.anyInt()); - } - - public void testPlayCallWaitingTone_N_NotEnabled() { - if (!CompatUtils.isNCompatible()) { - return; - } - mRingtoneManagerDisabled.playCallWaitingTone(); - Mockito.verify(mInCallTonePlayer, Mockito.never()).play(Mockito.anyInt()); - } - - public void testPlayCallWaitingTone_N() { - if (!CompatUtils.isNCompatible()) { - return; - } - mRingtoneManagerEnabled.playCallWaitingTone(); - Mockito.verify(mInCallTonePlayer).play(Mockito.anyInt()); - } - - public void testStopCallWaitingTone_M() { - if (CompatUtils.isNCompatible()) { - return; - } - mRingtoneManagerEnabled.stopCallWaitingTone(); - Mockito.verify(mInCallTonePlayer, Mockito.never()).stop(); - } - - public void testStopCallWaitingTone_N_NotEnabled() { - if (!CompatUtils.isNCompatible()) { - return; - } - mRingtoneManagerDisabled.stopCallWaitingTone(); - Mockito.verify(mInCallTonePlayer, Mockito.never()).stop(); - } - - public void testStopCallWaitingTone_N() { - if (!CompatUtils.isNCompatible()) { - return; - } - mRingtoneManagerEnabled.stopCallWaitingTone(); - Mockito.verify(mInCallTonePlayer).stop(); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java b/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java deleted file mode 100644 index bde5c50e4..000000000 --- a/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (C) 2016 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.ringtone; - -import android.media.AudioManager; -import android.media.ToneGenerator; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; - -import com.android.incallui.async.PausableExecutor; -import com.android.incallui.async.SingleProdThreadExecutor; - -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -@SmallTest -public class InCallTonePlayerTest extends AndroidTestCase { - - @Mock private ToneGeneratorFactory mToneGeneratorFactory; - @Mock private ToneGenerator mToneGenerator; - private InCallTonePlayer mInCallTonePlayer; - - /* - * InCallTonePlayer milestones: - * 1) After tone starts playing - * 2) After tone finishes waiting (could have timed out) - * 3) After cleaning up state to allow new tone to play - */ - private PausableExecutor mExecutor; - - @Override - public void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); - Mockito.when(mToneGeneratorFactory.newInCallToneGenerator(Mockito.anyInt(), - Mockito.anyInt())).thenReturn(mToneGenerator); - mExecutor = new SingleProdThreadExecutor(); - mInCallTonePlayer = new InCallTonePlayer(mToneGeneratorFactory, mExecutor); - } - - @Override - public void tearDown() throws Exception { - super.tearDown(); - // Stop any playing so the InCallTonePlayer isn't stuck waiting for the tone to complete - mInCallTonePlayer.stop(); - // Ack all milestones to ensure that the prod thread doesn't block forever - mExecutor.ackAllMilestonesForTesting(); - } - - public void testIsPlayingTone_False() { - assertFalse(mInCallTonePlayer.isPlayingTone()); - } - - public void testIsPlayingTone_True() throws InterruptedException { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - - assertTrue(mInCallTonePlayer.isPlayingTone()); - } - - public void testPlay_InvalidTone() { - try { - mInCallTonePlayer.play(Integer.MIN_VALUE); - fail(); - } catch (IllegalArgumentException e) {} - } - - public void testPlay_CurrentlyPlaying() throws InterruptedException { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - try { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - fail(); - } catch (IllegalStateException e) {} - } - - public void testPlay_VoiceCallStream() throws InterruptedException { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - Mockito.verify(mToneGeneratorFactory).newInCallToneGenerator(AudioManager.STREAM_VOICE_CALL, - InCallTonePlayer.VOLUME_RELATIVE_HIGH_PRIORITY); - } - - public void testPlay_Single() throws InterruptedException { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - mInCallTonePlayer.stop(); - mExecutor.ackMilestoneForTesting(); - mExecutor.awaitMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - - Mockito.verify(mToneGenerator).startTone(ToneGenerator.TONE_SUP_CALL_WAITING); - } - - public void testPlay_Consecutive() throws InterruptedException { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - // Prevent waiting forever - mInCallTonePlayer.stop(); - mExecutor.ackMilestoneForTesting(); - mExecutor.awaitMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - mInCallTonePlayer.stop(); - mExecutor.ackMilestoneForTesting(); - mExecutor.awaitMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - - Mockito.verify(mToneGenerator, Mockito.times(2)) - .startTone(ToneGenerator.TONE_SUP_CALL_WAITING); - } - - public void testStop_NotPlaying() { - // No crash - mInCallTonePlayer.stop(); - } - - public void testStop() throws InterruptedException { - mInCallTonePlayer.play(InCallTonePlayer.TONE_CALL_WAITING); - mExecutor.awaitMilestoneForTesting(); - - mInCallTonePlayer.stop(); - mExecutor.ackMilestoneForTesting(); - mExecutor.awaitMilestoneForTesting(); - - assertFalse(mInCallTonePlayer.isPlayingTone()); - } -} diff --git a/InCallUI/tests/src/com/android/incallui/spam/SpamCallListListenerTest.java b/InCallUI/tests/src/com/android/incallui/spam/SpamCallListListenerTest.java deleted file mode 100644 index fb0b460b6..000000000 --- a/InCallUI/tests/src/com/android/incallui/spam/SpamCallListListenerTest.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (C) 2016 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.spam; - -import static org.mockito.Matchers.anyInt; -import static org.mockito.Mockito.doCallRealMethod; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.any; - -import android.content.ContentValues; -import android.content.Context; -import android.provider.CallLog; -import android.telecom.DisconnectCause; -import android.test.InstrumentationTestCase; - -import com.android.contacts.common.test.mocks.ContactsMockContext; -import com.android.contacts.common.test.mocks.MockContentProvider; -import com.android.dialer.calllog.CallLogAsyncTaskUtil; -import com.android.dialer.util.AsyncTaskExecutors; -import com.android.dialer.util.FakeAsyncTaskExecutor; -import com.android.dialer.util.TelecomUtil; -import com.android.incallui.Call; -import com.android.incallui.Call.CallHistoryStatus; -import com.android.incallui.Call.LogState; - -public class SpamCallListListenerTest extends InstrumentationTestCase { - private static final String NUMBER = "+18005657862"; - private static final int DURATION = 100; - - private TestSpamCallListListener mListener; - private FakeAsyncTaskExecutor mFakeAsyncTaskExecutor; - private ContactsMockContext mContext; - - @Override - public void setUp() throws Exception { - super.setUp(); - mContext = new ContactsMockContext(getInstrumentation().getContext(), CallLog.AUTHORITY); - mListener = new TestSpamCallListListener(mContext); - mFakeAsyncTaskExecutor = new FakeAsyncTaskExecutor(getInstrumentation()); - AsyncTaskExecutors.setFactoryForTest(mFakeAsyncTaskExecutor.getFactory()); - } - - @Override - public void tearDown() throws Exception { - AsyncTaskExecutors.setFactoryForTest(null); - CallLogAsyncTaskUtil.resetForTest(); - super.tearDown(); - } - - public void testOutgoingCall() { - Call call = getMockCall(NUMBER, false, 0, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.REMOTE); - mListener.onDisconnect(call); - assertFalse(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_UnknownNumber() { - Call call = getMockCall(null, true, DURATION, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.REMOTE); - mListener.onDisconnect(call); - assertFalse(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_Rejected() { - Call call = getMockCall(NUMBER, true, 0, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.REJECTED); - mListener.onDisconnect(call); - assertFalse(mListener.mShowNotificationCalled); - } - public void testIncomingCall_HangUpLocal() { - Call call = getMockCall(NUMBER, true, DURATION, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.LOCAL); - mListener.onDisconnect(call); - assertTrue(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_HangUpRemote() { - Call call = getMockCall(NUMBER, true, DURATION, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.REMOTE); - mListener.onDisconnect(call); - assertTrue(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_ValidNumber_NotInCallHistory_InContacts() { - Call call = getMockCall(NUMBER, true, 0, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_LOCAL_CONTACT, DisconnectCause.REJECTED); - mListener.onDisconnect(call); - assertFalse(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_ValidNumber_InCallHistory_InContacts() { - Call call = getMockCall(NUMBER, true, 0, Call.CALL_HISTORY_STATUS_PRESENT, - LogState.LOOKUP_LOCAL_CONTACT, DisconnectCause.REJECTED); - mListener.onDisconnect(call); - assertFalse(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_ValidNumber_InCallHistory_NotInContacts() { - Call call = getMockCall(NUMBER, true, 0, Call.CALL_HISTORY_STATUS_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.REJECTED); - mListener.onDisconnect(call); - assertFalse(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_ValidNumber_NotInCallHistory_NotInContacts() throws Throwable { - Call call = getMockCall(NUMBER, true, DURATION, Call.CALL_HISTORY_STATUS_NOT_PRESENT, - LogState.LOOKUP_UNKNOWN, DisconnectCause.LOCAL); - mListener.onDisconnect(call); - assertTrue(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_CheckCallHistory_NumberExists() throws Throwable { - final Call call = getMockCall(NUMBER, true, DURATION, Call.CALL_HISTORY_STATUS_UNKNOWN, - LogState.LOOKUP_UNKNOWN, DisconnectCause.LOCAL); - expectCallLogQuery(NUMBER, true); - incomingCall(call); - verify(call).setCallHistoryStatus(eq(Call.CALL_HISTORY_STATUS_PRESENT)); - assertFalse(mListener.mShowNotificationCalled); - } - - public void testIncomingCall_CheckCallHistory_NumberNotExists() throws Throwable { - final Call call = getMockCall(NUMBER, true, DURATION, Call.CALL_HISTORY_STATUS_UNKNOWN, - LogState.LOOKUP_UNKNOWN, DisconnectCause.LOCAL); - expectCallLogQuery(NUMBER, false); - incomingCall(call); - verify(call).setCallHistoryStatus(eq(Call.CALL_HISTORY_STATUS_NOT_PRESENT)); - assertTrue(mListener.mShowNotificationCalled); - } - - private void incomingCall(final Call call) throws Throwable { - runTestOnUiThread(new Runnable() { - @Override - public void run() { - mListener.onIncomingCall(call); - } - }); - getInstrumentation().waitForIdleSync(); - mFakeAsyncTaskExecutor.runTask(CallLogAsyncTaskUtil.Tasks.GET_NUMBER_IN_CALL_HISTORY); - mListener.onDisconnect(call); - } - - private void expectCallLogQuery(String number, boolean inCallHistory) { - MockContentProvider.Query query = mContext.getContactsProvider() - .expectQuery(TelecomUtil.getCallLogUri(mContext)) - .withSelection(CallLog.Calls.NUMBER + " = ?", number) - .withProjection(CallLog.Calls._ID) - .withAnySortOrder(); - ContentValues values = new ContentValues(); - values.put(CallLog.Calls.NUMBER, number); - if (inCallHistory) { - query.returnRow(values); - } else { - query.returnEmptyCursor(); - } - } - - private static Call getMockCall(String number, - boolean isIncoming, - int duration, - @CallHistoryStatus int callHistoryStatus, - int contactLookupResult, - int disconnectCause) { - Call call = mock(Call.class); - LogState logState = new LogState(); - logState.isIncoming = isIncoming; - logState.duration = duration; - logState.contactLookupResult = contactLookupResult; - when(call.getDisconnectCause()).thenReturn(new DisconnectCause(disconnectCause)); - when(call.getLogState()).thenReturn(logState); - when(call.getNumber()).thenReturn(number); - doCallRealMethod().when(call).setCallHistoryStatus(anyInt()); - when(call.getCallHistoryStatus()).thenCallRealMethod(); - call.setCallHistoryStatus(callHistoryStatus); - return call; - } - - private static class TestSpamCallListListener extends SpamCallListListener { - private boolean mShowNotificationCalled; - - public TestSpamCallListListener(Context context) { - super(context); - } - - void showNotification(String number) { - mShowNotificationCalled = true; - } - } -}
\ No newline at end of file |