summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-07-27 10:45:54 -0700
committerEric Erfanian <erfanian@google.com>2017-07-27 11:16:14 -0700
commitff2ad7ffdba7c74077eae3016b32174f0f2dad30 (patch)
tree978e817617700854b5e2ed6f166f883c3bf6ffe9
parent0602dd0831eb782890f74861b20075c76f503571 (diff)
downloadandroid_packages_apps_Dialer-ff2ad7ffdba7c74077eae3016b32174f0f2dad30.tar.gz
android_packages_apps_Dialer-ff2ad7ffdba7c74077eae3016b32174f0f2dad30.tar.bz2
android_packages_apps_Dialer-ff2ad7ffdba7c74077eae3016b32174f0f2dad30.zip
Update oc-dr1-dev to v11 RC17
This change updates the oc-dr1-dev branch to v11 RC17, from the previous state synced @160679286. This contains: - A ROLLUP from 161342943 - Fixes for the following bugs: Bug: 33490149 36608790 37846172 62294499 62338925 63013427 63089358 63104326 63112642 63143138 63161630 63405063 63415147 63450835 63494010 63522618 63523694 63523776 63524435 63575857 63594129 63634700 63642638 63643370 63709810 63710739 63716219 63757003 64009408 64025042 64060628 64073371 Test: make Merged-In: I69ba6cbadbd1a02f05405ca0f5273b0a5ea0e5e9 Change-Id: Iaad73fa51796f62f4947571ddb744bbdadcca64e
-rw-r--r--Android.mk3
-rw-r--r--assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml2
-rw-r--r--java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java5
-rw-r--r--java/com/android/contacts/common/lettertiles/LetterTileDrawable.java122
-rw-r--r--java/com/android/dialer/about/res/raw/third_party_license_metadata70
-rw-r--r--java/com/android/dialer/about/res/raw/third_party_licenses2323
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java28
-rw-r--r--java/com/android/dialer/app/calllog/CallLogFragment.java29
-rw-r--r--java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java2
-rw-r--r--java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java10
-rw-r--r--java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java62
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoriteTileView.java8
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java1
-rw-r--r--java/com/android/dialer/app/res/values-bs/strings.xml6
-rw-r--r--java/com/android/dialer/app/res/values-da/strings.xml2
-rw-r--r--java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java13
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java33
-rw-r--r--java/com/android/dialer/backup/DialerBackupAgent.java148
-rw-r--r--java/com/android/dialer/callcomposer/CameraComposerFragment.java11
-rw-r--r--java/com/android/dialer/callcomposer/res/values-bs/strings.xml2
-rw-r--r--java/com/android/dialer/calldetails/AndroidManifest.xml6
-rw-r--r--java/com/android/dialer/callintent/CallIntentBuilder.java7
-rw-r--r--java/com/android/dialer/callintent/CallIntentParser.java22
-rw-r--r--java/com/android/dialer/calllogutils/CallEntryFormatter.java24
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsFragment.java4
-rw-r--r--java/com/android/dialer/database/CallLogQueryHandler.java14
-rw-r--r--java/com/android/dialer/interactions/res/values-bs/strings.xml4
-rw-r--r--java/com/android/dialer/postcall/PostCall.java8
-rw-r--r--java/com/android/dialer/protos/ProtoParsers.java26
-rw-r--r--java/com/android/dialer/theme/res/values-af/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-am/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ar/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-az/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-be/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-bg/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-bn/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-bs/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ca/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-cs/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-da/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-de/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-el/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-en-rAU/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-en-rGB/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-en-rIN/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-es-rUS/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-es/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-et/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-eu/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-fa/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-fi/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-fr-rCA/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-fr/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-gl/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-gu/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-hi/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-hr/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-hu/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-hy/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-in/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-is/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-it/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-iw/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ja/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ka/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-kk/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-km/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-kn/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ko/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ky/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-lo/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-lt/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-lv/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-mk/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ml/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-mn/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-mr/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ms/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-my/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-nb/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ne/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-nl/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-no/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-pa/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-pl/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-pt-rBR/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-pt-rPT/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-pt/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ro/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ru/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-si/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-sk/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-sl/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-sq/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-sr/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-sv/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-sw/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ta/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-te/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-th/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-tl/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-tr/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-uk/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-ur/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-uz/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-vi/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-zh-rCN/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-zh-rHK/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-zh-rTW/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values-zu/strings.xml1
-rw-r--r--java/com/android/dialer/theme/res/values/strings.xml3
-rw-r--r--java/com/android/dialer/util/PermissionsUtil.java26
-rw-r--r--java/com/android/dialer/util/res/values-af/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-am/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ar/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-az/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-b+sr+Latn/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-be/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-bg/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-bn/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-bs/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ca/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-cs/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-da/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-de/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-el/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-en-rAU/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-en-rGB/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-en-rIN/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-es-rUS/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-es/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-et/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-eu/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-fa/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-fi/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-fr-rCA/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-fr/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-gl/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-gu/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-hi/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-hr/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-hu/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-hy/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-in/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-is/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-it/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-iw/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ja/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ka/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-kk/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-km/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-kn/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ko/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ky/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-lo/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-lt/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-lv/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-mk/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ml/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-mn/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-mr/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ms/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-my/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-nb/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ne/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-nl/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-no/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-pa/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-pl/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-pt-rBR/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-pt-rPT/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-pt/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ro/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ru/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-si/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-sk/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-sl/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-sq/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-sr/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-sv/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-sw/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ta/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-te/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-th/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-tl/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-tr/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-uk/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-ur/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-uz/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-vi/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-zh-rCN/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-zh-rHK/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-zh-rTW/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values-zu/strings.xml2
-rw-r--r--java/com/android/dialer/util/res/values/strings.xml2
-rw-r--r--java/com/android/incallui/CallButtonPresenter.java2
-rw-r--r--java/com/android/incallui/ContactInfoCache.java24
-rw-r--r--java/com/android/incallui/StatusBarNotifier.java19
-rw-r--r--java/com/android/incallui/VideoCallPresenter.java18
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java2
-rw-r--r--java/com/android/incallui/call/TelecomAdapter.java4
-rw-r--r--java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java2
-rw-r--r--java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java5
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-af/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-am/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ar/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-be/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-bg/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-cs/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-da/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-de/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-es-rUS/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-es/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-eu/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-fa/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-fi/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-fr/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-gl/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-hr/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-hu/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-hy/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-in/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-it/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-iw/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ka/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-kk/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-km/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ky/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-mk/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ms/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-my/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-pt-rPT/strings.xml2
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ro/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ru/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-si/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-sk/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-sq/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-sw/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-tr/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-uz/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-vi/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-zh-rCN/strings.xml12
-rw-r--r--java/com/android/incallui/disconnectdialog/res/values-zh-rTW/strings.xml12
-rw-r--r--java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java22
-rw-r--r--java/com/android/incallui/video/impl/VideoCallFragment.java161
-rw-r--r--java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java2
-rw-r--r--java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java3
-rw-r--r--java/com/android/incallui/videotech/lightbringer/LightbringerTech.java4
-rw-r--r--java/com/android/incallui/videotech/utils/VideoUtils.java20
-rw-r--r--java/com/android/voicemail/AndroidManifest.xml21
-rw-r--r--java/com/android/voicemail/VoicemailClient.java26
-rw-r--r--java/com/android/voicemail/VoicemailPowerCycleReceiver.java38
-rw-r--r--java/com/android/voicemail/VoicemailSecretCodeReceiver.java36
-rw-r--r--java/com/android/voicemail/impl/AndroidManifest.xml9
-rw-r--r--java/com/android/voicemail/impl/OmtpService.java52
-rw-r--r--java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java56
-rw-r--r--java/com/android/voicemail/impl/VoicemailClientImpl.java29
-rw-r--r--java/com/android/voicemail/impl/VoicemailClientReceiver.java6
-rw-r--r--java/com/android/voicemail/impl/configui/AndroidManifest.xml25
-rw-r--r--java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java175
-rw-r--r--java/com/android/voicemail/impl/configui/VoicemailSecretCodeActivity.java58
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-af/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-am/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ar/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-az/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-b+sr+Latn/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-be/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-bg/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-bn/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-bs/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ca/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-cs/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-da/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-de/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-el/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-en-rAU/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-en-rGB/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-en-rIN/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-es-rUS/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-es/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-et/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-eu/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-fa/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-fi/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-fr-rCA/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-fr/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-gl/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-gu/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-hi/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-hr/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-hu/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-hy/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-in/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-is/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-it/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-iw/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ja/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ka/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-kk/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-km/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-kn/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ko/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ky/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-lo/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-lt/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-lv/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-mk/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ml/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-mn/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-mr/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ms/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-my/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-nb/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ne/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-nl/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-no/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-pa/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-pl/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-pt-rBR/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-pt-rPT/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-pt/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ro/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ru/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-si/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-sk/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-sl/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-sq/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-sr/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-sv/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-sw/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ta/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-te/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-th/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-tl/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-tr/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-uk/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-ur/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-uz/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-vi/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-zh-rCN/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-zh-rHK/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-zh-rTW/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values-zu/strings.xml19
-rw-r--r--java/com/android/voicemail/impl/configui/res/values/strings.xml21
-rw-r--r--java/com/android/voicemail/impl/configui/res/xml/vvm_config_override.xml76
-rw-r--r--java/com/android/voicemail/impl/res/values/strings.xml4
-rw-r--r--java/com/android/voicemail/stub/StubVoicemailClient.java18
352 files changed, 4763 insertions, 1523 deletions
diff --git a/Android.mk b/Android.mk
index cf543aa59..beccd865a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -118,6 +118,7 @@ RES_DIRS := \
$(BASE_DIR)/incallui/telecomeventui/res \
$(BASE_DIR)/incallui/video/impl/res \
$(BASE_DIR)/incallui/video/protocol/res \
+ $(BASE_DIR)/voicemail/impl/configui/res \
$(BASE_DIR)/voicemail/impl/res \
@@ -178,6 +179,7 @@ DIALER_MANIFEST_FILES += \
$(BASE_DIR)/incallui/video/impl/AndroidManifest.xml \
$(BASE_DIR)/incallui/video/protocol/AndroidManifest.xml \
$(BASE_DIR)/voicemail/AndroidManifest.xml \
+ $(BASE_DIR)/voicemail/impl/configui/AndroidManifest.xml \
$(BASE_DIR)/voicemail/impl/AndroidManifest.xml \
@@ -257,6 +259,7 @@ LOCAL_AAPT_FLAGS := \
--extra-packages com.android.incallui.video.impl \
--extra-packages com.android.phone.common \
--extra-packages com.android.voicemail \
+ --extra-packages com.android.voicemail.impl.configui \
--extra-packages com.android.voicemail.impl \
--extra-packages com.android.voicemail.impl.fetch \
--extra-packages com.android.voicemail.impl.settings \
diff --git a/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml
index 6495ac7eb..b3493b8f5 100644
--- a/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml
+++ b/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml
@@ -6,5 +6,5 @@
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
- android:pathData="M14,16.5h-4L10,15L3,15v4c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2v-4h-7v1.5zM20,6h-3.5L16.5,4.5L15,3L9,3L7.5,4.55L7.5,6L4,6c-1.1,0 -2,0.9 -2,2v4c0,1.1 0.9,2 2,2h6v-1.5h4L14,14h6c1.1,0 2,-0.9 2,-2L22,8c0,-1.1 -0.9,-2 -2,-2zM15,6L9,6L9,4.5h6L15,6z"/>
+ android:pathData="M20,6h-4L16,4c0,-1.11 -0.89,-2 -2,-2h-4c-1.11,0 -2,0.89 -2,2v2L4,6c-1.11,0 -1.99,0.89 -1.99,2L2,19c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM12,15c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM14,6h-4L10,4h4v2z"/>
</vector>
diff --git a/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java b/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
index 8393b2601..2d77dc73f 100644
--- a/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
+++ b/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
@@ -35,6 +35,11 @@ public class TelecomManagerCompat {
public static final String EXTRA_HANDOVER_VIDEO_STATE =
"android.telecom.extra.HANDOVER_VIDEO_STATE";
+ // This is a hidden constant in android.telecom.DisconnectCause. Telecom sets this as a disconnect
+ // reason if it wants us to prompt the user that the video call is not available.
+ // TODO: Reference it to constant in android.telecom.DisconnectCause.
+ public static final String REASON_IMS_ACCESS_BLOCKED = "REASON_IMS_ACCESS_BLOCKED";
+
/**
* Returns the current SIM call manager. Apps must be prepared for this method to return null,
* indicating that there currently exists no registered SIM call manager.
diff --git a/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java b/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
index 5c401fe38..73809c467 100644
--- a/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
+++ b/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
@@ -34,7 +34,6 @@ import android.support.annotation.Nullable;
import android.telecom.TelecomManager;
import android.text.TextUtils;
import com.android.contacts.common.R;
-import com.android.contacts.common.lettertiles.LetterTileDrawable.ContactType;
import com.android.dialer.common.Assert;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -88,24 +87,24 @@ public class LetterTileDrawable extends Drawable {
private static final float VECTOR_ICON_SCALE = 0.7f;
/** Reusable components to avoid new allocations */
- private static final Paint sPaint = new Paint();
+ private final Paint mPaint = new Paint();
+
+ private final Rect mRect = new Rect();
+ private final char[] mFirstChar = new char[1];
- private static final Rect sRect = new Rect();
- private static final char[] sFirstChar = new char[1];
/** Letter tile */
- private static TypedArray sColors;
-
- private static int sSpamColor;
- private static int sDefaultColor;
- private static int sTileFontColor;
- private static float sLetterToTileRatio;
- private static Drawable sDefaultPersonAvatar;
- private static Drawable sDefaultBusinessAvatar;
- private static Drawable sDefaultVoicemailAvatar;
- private static Drawable sDefaultSpamAvatar;
- private static Drawable sDefaultConferenceAvatar;
-
- private final Paint mPaint;
+ @NonNull private final TypedArray mColors;
+
+ private final int mSpamColor;
+ private final int mDefaultColor;
+ private final int mTileFontColor;
+ private final float mLetterToTileRatio;
+ @NonNull private final Drawable mDefaultPersonAvatar;
+ @NonNull private final Drawable mDefaultBusinessAvatar;
+ @NonNull private final Drawable mDefaultVoicemailAvatar;
+ @NonNull private final Drawable mDefaultSpamAvatar;
+ @NonNull private final Drawable mDefaultConferenceAvatar;
+
@ContactType private int mContactType = TYPE_DEFAULT;
private float mScale = 1.0f;
private float mOffset = 0.0f;
@@ -117,33 +116,25 @@ public class LetterTileDrawable extends Drawable {
private String mDisplayName;
public LetterTileDrawable(final Resources res) {
- if (sColors == null) {
- sColors = res.obtainTypedArray(R.array.letter_tile_colors);
- sSpamColor = res.getColor(R.color.spam_contact_background);
- sDefaultColor = res.getColor(R.color.letter_tile_default_color);
- sTileFontColor = res.getColor(R.color.letter_tile_font_color);
- sLetterToTileRatio = res.getFraction(R.dimen.letter_to_tile_ratio, 1, 1);
- sDefaultPersonAvatar =
- res.getDrawable(R.drawable.product_logo_avatar_anonymous_white_color_120, null);
- Assert.isNotNull(sDefaultPersonAvatar, "sDefaultPersonAvatar is null");
- sDefaultBusinessAvatar = res.getDrawable(R.drawable.quantum_ic_business_vd_theme_24, null);
- Assert.isNotNull(sDefaultBusinessAvatar, "sDefaultBusinessAvatar is null");
- sDefaultVoicemailAvatar = res.getDrawable(R.drawable.quantum_ic_voicemail_vd_theme_24, null);
- Assert.isNotNull(sDefaultVoicemailAvatar, "sDefaultVoicemailAvatar is null");
- sDefaultSpamAvatar = res.getDrawable(R.drawable.quantum_ic_report_vd_theme_24, null);
- Assert.isNotNull(sDefaultSpamAvatar, "sDefaultSpamAvatar is null");
- sDefaultConferenceAvatar = res.getDrawable(R.drawable.quantum_ic_group_vd_theme_24, null);
- Assert.isNotNull(sDefaultConferenceAvatar, "sDefaultConferenceAvatar is null");
-
- sPaint.setTypeface(
- Typeface.create(res.getString(R.string.letter_tile_letter_font_family), Typeface.NORMAL));
- sPaint.setTextAlign(Align.CENTER);
- sPaint.setAntiAlias(true);
- }
- mPaint = new Paint();
+ mColors = res.obtainTypedArray(R.array.letter_tile_colors);
+ mSpamColor = res.getColor(R.color.spam_contact_background);
+ mDefaultColor = res.getColor(R.color.letter_tile_default_color);
+ mTileFontColor = res.getColor(R.color.letter_tile_font_color);
+ mLetterToTileRatio = res.getFraction(R.dimen.letter_to_tile_ratio, 1, 1);
+ mDefaultPersonAvatar =
+ res.getDrawable(R.drawable.product_logo_avatar_anonymous_white_color_120, null);
+ mDefaultBusinessAvatar = res.getDrawable(R.drawable.quantum_ic_business_vd_theme_24, null);
+ mDefaultVoicemailAvatar = res.getDrawable(R.drawable.quantum_ic_voicemail_vd_theme_24, null);
+ mDefaultSpamAvatar = res.getDrawable(R.drawable.quantum_ic_report_vd_theme_24, null);
+ mDefaultConferenceAvatar = res.getDrawable(R.drawable.quantum_ic_group_vd_theme_24, null);
+
+ mPaint.setTypeface(
+ Typeface.create(res.getString(R.string.letter_tile_letter_font_family), Typeface.NORMAL));
+ mPaint.setTextAlign(Align.CENTER);
+ mPaint.setAntiAlias(true);
mPaint.setFilterBitmap(true);
mPaint.setDither(true);
- mColor = sDefaultColor;
+ mColor = mDefaultColor;
}
private Rect getScaledBounds(float scale, float offset) {
@@ -165,20 +156,20 @@ public class LetterTileDrawable extends Drawable {
switch (contactType) {
case TYPE_BUSINESS:
mScale = VECTOR_ICON_SCALE;
- return sDefaultBusinessAvatar;
+ return mDefaultBusinessAvatar;
case TYPE_VOICEMAIL:
mScale = VECTOR_ICON_SCALE;
- return sDefaultVoicemailAvatar;
+ return mDefaultVoicemailAvatar;
case TYPE_SPAM:
mScale = VECTOR_ICON_SCALE;
- return sDefaultSpamAvatar;
+ return mDefaultSpamAvatar;
case TYPE_CONFERENCE:
mScale = VECTOR_ICON_SCALE;
- return sDefaultConferenceAvatar;
+ return mDefaultConferenceAvatar;
case TYPE_PERSON:
case TYPE_GENERIC_AVATAR:
default:
- return sDefaultPersonAvatar;
+ return mDefaultPersonAvatar;
}
}
@@ -206,39 +197,38 @@ public class LetterTileDrawable extends Drawable {
private void drawLetterTile(final Canvas canvas) {
// Draw background color.
- sPaint.setColor(mColor);
- sPaint.setAlpha(mPaint.getAlpha());
+ mPaint.setColor(mColor);
final Rect bounds = getBounds();
final int minDimension = Math.min(bounds.width(), bounds.height());
if (mIsCircle) {
- canvas.drawCircle(bounds.centerX(), bounds.centerY(), minDimension / 2, sPaint);
+ canvas.drawCircle(bounds.centerX(), bounds.centerY(), minDimension / 2, mPaint);
} else {
- canvas.drawRect(bounds, sPaint);
+ canvas.drawRect(bounds, mPaint);
}
// Draw letter/digit only if the first character is an english letter or there's a override
if (mLetter != null) {
// Draw letter or digit.
- sFirstChar[0] = mLetter;
+ mFirstChar[0] = mLetter;
// Scale text by canvas bounds and user selected scaling factor
- sPaint.setTextSize(mScale * sLetterToTileRatio * minDimension);
- sPaint.getTextBounds(sFirstChar, 0, 1, sRect);
- sPaint.setTypeface(Typeface.create("sans-serif", Typeface.NORMAL));
- sPaint.setColor(sTileFontColor);
- sPaint.setAlpha(ALPHA);
+ mPaint.setTextSize(mScale * mLetterToTileRatio * minDimension);
+ mPaint.getTextBounds(mFirstChar, 0, 1, mRect);
+ mPaint.setTypeface(Typeface.create("sans-serif", Typeface.NORMAL));
+ mPaint.setColor(mTileFontColor);
+ mPaint.setAlpha(ALPHA);
// Draw the letter in the canvas, vertically shifted up or down by the user-defined
// offset
canvas.drawText(
- sFirstChar,
+ mFirstChar,
0,
1,
bounds.centerX(),
- bounds.centerY() + mOffset * bounds.height() - sRect.exactCenterY(),
- sPaint);
+ bounds.centerY() + mOffset * bounds.height() - mRect.exactCenterY(),
+ mPaint);
} else {
// Draw the default image if there is no letter/digit to be drawn
Drawable drawable = getDrawableForContactType(mContactType);
@@ -248,7 +238,7 @@ public class LetterTileDrawable extends Drawable {
}
drawable.setBounds(getScaledBounds(mScale, mOffset));
- drawable.setAlpha(drawable == sDefaultSpamAvatar ? SPAM_ALPHA : ALPHA);
+ drawable.setAlpha(drawable == mDefaultSpamAvatar ? SPAM_ALPHA : ALPHA);
drawable.draw(canvas);
}
}
@@ -265,20 +255,20 @@ public class LetterTileDrawable extends Drawable {
/** Returns a deterministic color based on the provided contact identifier string. */
private int pickColor(final String identifier) {
if (mContactType == TYPE_SPAM) {
- return sSpamColor;
+ return mSpamColor;
}
if (mContactType == TYPE_VOICEMAIL
|| mContactType == TYPE_BUSINESS
|| TextUtils.isEmpty(identifier)) {
- return sDefaultColor;
+ return mDefaultColor;
}
// String.hashCode() implementation is not supposed to change across java versions, so
// this should guarantee the same email address always maps to the same color.
// The email should already have been normalized by the ContactRequest.
- final int color = Math.abs(identifier.hashCode()) % sColors.length();
- return sColors.getColor(color, sDefaultColor);
+ final int color = Math.abs(identifier.hashCode()) % mColors.length();
+ return mColors.getColor(color, mDefaultColor);
}
@Override
@@ -354,7 +344,7 @@ public class LetterTileDrawable extends Drawable {
return this;
}
- public LetterTileDrawable setContactType(@ContactType int contactType) {
+ private LetterTileDrawable setContactType(@ContactType int contactType) {
mContactType = contactType;
return this;
}
diff --git a/java/com/android/dialer/about/res/raw/third_party_license_metadata b/java/com/android/dialer/about/res/raw/third_party_license_metadata
index 1acf3480c..10ed4a2ab 100644
--- a/java/com/android/dialer/about/res/raw/third_party_license_metadata
+++ b/java/com/android/dialer/about/res/raw/third_party_license_metadata
@@ -1,34 +1,38 @@
40:10695 Android Annotations Support Library
-10770:10695 Android Compat Support Library
-21501:10695 Android Core UI Support Library
-32235:10691 Android Core Utils Support Library
-42961:10695 Android Design Support Library
-53694:10695 Android Fragments Support Library
-64426:10695 Android Graphics Support Library
-75162:10691 Android Media Compat Support Library
-85892:10691 Android Transition Support Library
-96621:10695 Android Compatibility Library v13
-107353:10695 Android Compatibility Library v4
-118085:10695 Android Compatibility Library v7
-128796:16013 Android SDK
-144828:11358 Android Common
-156196:4771 Glide
-160982:11358 Guava JDK5
-172358:12847 jibercsclient
-185224:10173 libphonenumber
-195416:10699 shortcutbadger
-206126:11358 Volley
-217495:18982 mime4j
-236493:11358 Google Auto
-247862:11358 Dagger
-259236:11357 Error Prone
-270604:11358 J2ObjC
-281984:11359 Apache Commons IO
-293355:11358 JSR 250
-304725:1602 JSR 305
-306339:11365 JSR 330
-317738:12847 carrierservices
-317738:12847 rcsclientlib
-330614:11358 material_components
-330614:11358 lib
-341987:11362 Guava JDK7
+10754:11358 Android Common
+22147:10695 Android Compat Support Library
+32880:10695 Android Compatibility Library v13
+43612:10695 Android Compatibility Library v4
+54344:10695 Android Compatibility Library v7
+65075:10695 Android Core UI Support Library
+75809:10691 Android Core Utils Support Library
+86535:10695 Android Design Support Library
+97276:10695 Android Dynamic Animation Support Library
+108009:10695 Android Fragments Support Library
+118741:10695 Android Graphics Support Library
+129477:10691 Android Media Compat Support Library
+140207:10691 Android Transition Support Library
+150920:11359 Apache Commons IO
+162290:11358 Dagger
+173664:11357 Error Prone
+185037:11358 Google Auto
+196410:11358 Guava JDK5
+207783:11362 Guava JDK7
+219156:11358 J2ObjC
+230526:11358 JSR 250
+241896:11365 JSR 330
+253297:11358 Material Components for Android
+264666:11358 OkHttp
+276033:11358 Okio
+287402:11358 Volley
+298780:12847 carrierservices
+311636:10402 gRPC
+322058:11358 instrumentation
+333434:12847 jibercsclient
+346300:10173 libphonenumber
+356484:18982 mime4j
+375485:10699 shortcutbadger
+386200:16013 Android SDK
+402232:1096 Animal Sniffer
+403338:4771 Glide
+408121:1602 JSR 305
diff --git a/java/com/android/dialer/about/res/raw/third_party_licenses b/java/com/android/dialer/about/res/raw/third_party_licenses
index c56f8a42c..51f548288 100644
--- a/java/com/android/dialer/about/res/raw/third_party_licenses
+++ b/java/com/android/dialer/about/res/raw/third_party_licenses
@@ -194,19 +194,7 @@ Android Annotations Support Library:
-Android Compat Support Library:
-
-
- Copyright (c) 2005-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.
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+Android Common:
Apache License
@@ -386,9 +374,33 @@ Android Compat Support Library:
END OF TERMS AND CONDITIONS
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-Android Core UI Support Library:
+
+Android Compat Support Library:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -582,10 +594,10 @@ Android Core UI Support Library:
-Android Core Utils Support Library:
+Android Compatibility Library v13:
- Copyright (c) 2005-2011, The Android Open Source Project
+ Copyright (c) 2005-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.
@@ -774,7 +786,9 @@ Android Core Utils Support Library:
END OF TERMS AND CONDITIONS
-Android Design Support Library:
+
+
+Android Compatibility Library v4:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -968,7 +982,7 @@ Android Design Support Library:
-Android Fragments Support Library:
+Android Compatibility Library v7:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -1162,7 +1176,7 @@ Android Fragments Support Library:
-Android Graphics Support Library:
+Android Core UI Support Library:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -1356,7 +1370,7 @@ Android Graphics Support Library:
-Android Media Compat Support Library:
+Android Core Utils Support Library:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -1548,10 +1562,10 @@ Android Media Compat Support Library:
END OF TERMS AND CONDITIONS
-Android Transition Support Library:
+Android Design Support Library:
- Copyright (c) 2005-2011, The Android Open Source Project
+ Copyright (c) 2005-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.
@@ -1740,7 +1754,9 @@ Android Transition Support Library:
END OF TERMS AND CONDITIONS
-Android Compatibility Library v13:
+
+
+Android Dynamic Animation Support Library:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -1934,7 +1950,7 @@ Android Compatibility Library v13:
-Android Compatibility Library v4:
+Android Fragments Support Library:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -2128,7 +2144,7 @@ Android Compatibility Library v4:
-Android Compatibility Library v7:
+Android Graphics Support Library:
Copyright (c) 2005-2011, The Android Open Source Project
@@ -2322,278 +2338,391 @@ Android Compatibility Library v7:
-Android SDK:
-
-ANDROID SOFTWARE DEVELOPMENT KIT
-
-Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
-
-1. Introduction
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and
-specifically including the Android system files, packaged APIs, and Google APIs add-ons) is
-licensed to you subject to the terms of this License Agreement. This License Agreement forms a
-legally binding contract between you and Google in relation to your use of the SDK.
+Android Media Compat Support Library:
-1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600
-Amphitheatre Parkway, Mountain View, CA 94043, United States.
-2. Accepting this License Agreement
+ Copyright (c) 2005-2011, The Android Open Source Project
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the
-SDK if you do not accept this License Agreement.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
-2.2 You can accept this License Agreement by:
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-(A) clicking to accept or agree to this License Agreement, where this option is made available to
-you; or
-(B) by actually using the SDK. In this case, you agree that use of the SDK constitutes acceptance of
-the Licensing Agreement from that point onwards.
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-2.3 You may not use the SDK and may not accept the Licensing Agreement if you are a person barred
-from receiving the SDK under the laws of the United States or other countries including the country
-in which you are resident or from which you use the SDK.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other
-entity, you represent and warrant that you have full legal authority to bind your employer or such
-entity to this License Agreement. If you do not have the requisite authority, you may not accept
-the Licensing Agreement or use the SDK on behalf of your employer or other entity.
+ 1. Definitions.
-3. SDK License from Google
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide,
-royalty-free, non- assignable and non-exclusive license to use the SDK solely to develop
-applications to run on the Android platform.
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the
-SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property
-Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law,
-and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-3.3 Except to the extent required by applicable third party licenses, you may not copy (except for
-backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create
-derivative works of the SDK or any part of the SDK. Except to the extent required by applicable
-third party licenses, you may not load any part of the SDK onto a mobile handset or any other
-hardware device except a personal computer, combine any part of the SDK with other software, or
-distribute any software or device incorporating a part of the SDK.
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-3.4 Use, reproduction and distribution of components of the SDK licensed under an open source
-software license are governed solely by the terms of that open source software license and not
-this License Agreement.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-3.5 You agree that the form and nature of the SDK that Google provides may change without prior
-notice to you and that future versions of the SDK may be incompatible with applications developed
-on previous versions of the SDK. You agree that Google may stop (permanently or temporarily)
-providing the SDK (or any features within the SDK) to you or to users generally at Google's sole
-discretion, without prior notice to you.
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-3.6 Nothing in this License Agreement gives you a right to use any of Google's trade names,
-trademarks, service marks, logos, domain names, or other distinctive brand features.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including
-copyright and trademark notices) that may be affixed to or contained within the SDK.
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-4. Use of the SDK by You
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under
-this License Agreement in or to any software applications that you develop using the SDK, including
-any intellectual property rights that subsist in those applications.
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this
-License Agreement and (b) any applicable law, regulation or generally accepted practices or
-guidelines in the relevant jurisdictions (including any laws regarding the export of data or
-software to and from the United States or other relevant countries).
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-4.3 You agree that if you use the SDK to develop applications for general public users, you will
-protect the privacy and legal rights of those users. If the users provide you with user names,
-passwords, or other login information or personal information, your must make the users aware that
-the information will be available to your application, and you must provide legally adequate privacy
-notice and protection for those users. If your application stores personal or sensitive information
-provided by users, it must do so securely. If the user provides your application with Google Account
-information, your application may only use that information to access the user's Google Account
-when, and for the limited purposes for which, the user has given you permission to do so.
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-4.4 You agree that you will not engage in any activity with the SDK, including the development or
-distribution of an application, that interferes with, disrupts, damages, or accesses in an
-unauthorized manner the servers, networks, or other properties or services of any third party
-including, but not limited to, Google or any mobile communications carrier.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any data, content, or resources that you create, transmit or display through
-the Android platform and/or applications for the Android platform, and for the consequences of your
-actions (including any loss or damage which Google may suffer) by doing so.
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any breach of your obligations under this License Agreement, any applicable
-third party contract or Terms of Service, or any applicable law or regulation, and for the
-consequences (including any loss or damage which Google or any third party may suffer) of any such
-breach.
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-5. Your Developer Credentials
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer
-credentials that may be issued to you by Google or which you may choose yourself and that you will
-be solely responsible for all applications that are developed under your developer credentials.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-6. Privacy and Information
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage
-statistics from the software including but not limited to a unique identifier, associated IP
-address, version number of the software, and information on which tools and/or services in the SDK
-are being used and how they are being used. Before any of this information is collected, the SDK
-will notify you and seek your consent. If you withhold consent, the information will not be
-collected.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in
-accordance with Google's Privacy Policy.
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-7. Third Party Applications for the Android Platform
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-7.1 If you use the SDK to run applications developed by a third party or that access data, content
-or resources provided by a third party, you agree that Google is not responsible for those
-applications, data, content, or resources. You understand that all data, content or resources which
-you may access through such third party applications are the sole responsibility of the person from
-which they originated and that Google is not liable for any loss or damage that you may experience
-as a result of the use or access of any of those third party applications, data, content, or
-resources.
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-7.2 You should be aware the data, content, and resources presented to you through such a third party
-application may be protected by intellectual property rights which are owned by the providers (or by
-other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute
-or create derivative works based on these data, content, or resources (either in whole or in part)
-unless you have been specifically given permission to do so by the relevant owners.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may
-be subject to separate terms between you and the relevant third party. In that case, this License
-Agreement does not affect your legal relationship with these third parties.
+ END OF TERMS AND CONDITIONS
-8. Using Android APIs
+Android Transition Support Library:
-8.1 Google Data APIs
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be
-protected by intellectual property rights which are owned by Google or those parties that provide
-the data (or by other persons or companies on their behalf). Your use of any such API may be subject
-to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create
-derivative works based on this data (either in whole or in part) unless allowed by the relevant
-Terms of Service.
+ Copyright (c) 2005-2011, The Android Open Source Project
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you
-shall retrieve data only with the user's explicit consent and only when, and for the limited
-purposes for which, the user has given you permission to do so.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
-9. Terminating this License Agreement
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set
-out below.
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK
-and any relevant developer credentials.
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-9.3 Google may at any time, terminate this License Agreement with you if:
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-(A) you have breached any provision of this License Agreement; or
+ 1. Definitions.
-(B) Google is required to do so by law; or
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated
-its relationship with Google or ceased to offer certain parts of the SDK to you; or
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-(D) Google decides to no longer providing the SDK or certain parts of the SDK to users in the
-country in which you are resident or from which you use the service, or the provision of the SDK or
-certain SDK services to you by Google is, in Google's sole discretion, no longer commercially
-viable.
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and
-liabilities that you and Google have benefited from, been subject to (or which have accrued over
-time whilst this License Agreement has been in force) or which are expressed to continue
-indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall
-continue to apply to such rights, obligations and liabilities indefinitely.
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-10. DISCLAIMER OF WARRANTIES
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE
-SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE
-SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR
-COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-11. LIMITATION OF LIABILITY
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS
-LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY
-LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN
-AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-12. Indemnification
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless
-Google, its affiliates and their respective directors, officers, employees and agents from and
-against any and all claims, actions, suits or proceedings, as well as any and all losses,
-liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or
-accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any
-copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any
-person or defames any person or violates their rights of publicity or privacy, and (c) any
-non-compliance by you with this License Agreement.
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-13. Changes to the License Agreement
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK.
-When these changes are made, Google will make a new version of the License Agreement available on
-the website where the SDK is made available.
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-14. General Legal Terms
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-14.1 This License Agreement constitute the whole legal agreement between you and Google and govern
-your use of the SDK (excluding any services which Google may provide to you under a separate written
-agreement), and completely replace any prior agreements between you and Google in relation to the
-SDK.
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is
-contained in this License Agreement (or which Google has the benefit of under any applicable law),
-this will not be taken to be a formal waiver of Google's rights and that those rights or remedies
-will still be available to Google.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision
-of this License Agreement is invalid, then that provision will be removed from this License
-Agreement without affecting the rest of this License Agreement. The remaining provisions of this
-License Agreement will continue to be valid and enforceable.
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the
-parent shall be third party beneficiaries to this License Agreement and that such other companies
-shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that
-confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall
-be third party beneficiaries to this License Agreement.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST
-COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE
-LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you
-or Google without the prior written approval of the other party. Neither you nor Google shall be
-permitted to delegate their responsibilities or obligations under this License Agreement without the
-prior written approval of the other party.
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall
-be governed by the laws of the State of California without regard to its conflict of laws
-provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located
-within the county of Santa Clara, California to resolve any legal matter arising from this License
-Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for
-injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-April 10, 2009
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+ END OF TERMS AND CONDITIONS
-Android Common:
+Apache Commons IO:
Apache License
@@ -2799,108 +2928,214 @@ Android Common:
limitations under the License.
-Glide:
-Covers library/
+Dagger:
-Copyright 2014 Google, Inc. All rights reserved.
-Redistribution and use in source and binary forms, with or without modification, are
-permitted provided that the following conditions are met:
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
- 1. Redistributions of source code must retain the above copyright notice, this list of
- conditions and the following disclaimer.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
- 2. Redistributions in binary form must reproduce the above copyright notice, this list
- of conditions and the following disclaimer in the documentation and/or other materials
- provided with the distribution.
+ 1. Definitions.
-THIS SOFTWARE IS PROVIDED BY GOOGLE, INC. ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE, INC. OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-The views and conclusions contained in the software and documentation are those of the
-authors and should not be interpreted as representing official policies, either expressed
-or implied, of Google, Inc.
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
---------------------------------------------------------------------------
-Covers third_party/gif_decoder
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-Copyright (c) 2013 Xcellent Creations, Inc.
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
---------------------------------------------------------------------------
-Covers third_party/disklrucache
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright 2012 Jake Wharton
-Copyright 2011 The Android Open Source Project
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
- http://www.apache.org/licenses/LICENSE-2.0
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
---------------------------------------------------------------------------
-Covers third_party/gif_encoder/AnimatedGifEncoder.java and
-third_party/gif_encoder/LZWEncoder.java:
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-No copyright asserted on the source code of this class. May be used for any
-purpose, however, refer to the Unisys LZW patent for restrictions on use of
-the associated LZWEncoder class. Please forward any corrections to
-kweiner@fmsware.com.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
------------------------------------------------------------------------------
-Covers third_party/gif_encoder/NeuQuant.java
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (c) 1994 Anthony Dekker
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See
-"Kohonen neural networks for optimal colour quantization" in "Network:
-Computation in Neural Systems" Vol. 5 (1994) pp 351-367. for a discussion of
-the algorithm.
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Any party obtaining a copy of these files from the author, directly or
-indirectly, is granted, free of charge, a full and unrestricted irrevocable,
-world-wide, paid up, royalty-free, nonexclusive right and license to deal in
-this software and documentation files (the "Software"), including without
-limitation the rights to use, copy, modify, merge, publish, distribute,
-sublicense, and/or sell copies of the Software, and to permit persons who
-receive copies from any such party to do so, with the only requirement being
-that this copyright notice remain intact.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-Guava JDK5:
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+Error Prone:
Apache License
Version 2.0, January 2004
@@ -3105,31 +3340,7 @@ Guava JDK5:
limitations under the License.
-jibercsclient:
-
-These components
- com.google.android.rcs.core,
- com.google.android.rcs.core.utils.CaseInsensitiveMap,
- com.google.android.rcs.core.utils.DateTime,
- com.google.android.rcs.core.utils.InetAddresses,
- com.google.android.rcs.core.network.ConnectivityMonitor,
- com.google.android.rcs.client.PrivateDataStorage,
- com.google.android.rcs.client.utils.FastXmlSerializer,
- com.google.android.rcs.client.utils.XmlUtils,
- com.google.android.rcs.client.utils.QueuedWork
-are licensed under Apache v2.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+Google Auto:
Apache License
@@ -3309,42 +3520,34 @@ limitations under the License.
END OF TERMS AND CONDITIONS
-===============================================================================
+ APPENDIX: How to apply the Apache License to your work.
-These components
- com.google.android.rcs.core.utils.FastBase64,
- com.google.android.rcs.core.utils.LibraryLoaderHelper
-are licensed under BSD.
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+ Copyright [yyyy] [name of copyright owner]
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
- * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
+ http://www.apache.org/licenses/LICENSE-2.0
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-libphonenumber:
+Guava JDK5:
+
Apache License
Version 2.0, January 2004
@@ -3523,20 +3726,33 @@ libphonenumber:
END OF TERMS AND CONDITIONS
+ APPENDIX: How to apply the Apache License to your work.
-shortcutbadger:
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
+ Copyright [yyyy] [name of copyright owner]
- http://www.apache.org/licenses/LICENSE-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+Guava JDK7:
Apache License
@@ -3716,8 +3932,34 @@ limitations under the License.
END OF TERMS AND CONDITIONS
+ APPENDIX: How to apply the Apache License to your work.
-Volley:
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+J2ObjC:
Apache License
@@ -3923,7 +4165,8 @@ Volley:
limitations under the License.
-mime4j:
+JSR 250:
+
Apache License
Version 2.0, January 2004
@@ -4101,196 +4344,36 @@ mime4j:
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
-
-
-
- THIS PRODUCT ALSO INCLUDES THIRD PARTY SOFTWARE REDISTRIBUTED UNDER THE
- FOLLOWING LICENSES:
+ APPENDIX: How to apply the Apache License to your work.
- Apache Commons Logging,
- The Apache Software License, Version 1.1 (commons-logging-1.1.1.jar)
-
- The Apache Software License, Version 1.1
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- Apache Software Foundation (http://www.apache.org/)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The names "Apache" and "Apache Software Foundation" must
- not be used to endorse or promote products derived from this
- software without prior written permission. For written
- permission, please contact apache@apache.org.
-
- 5. Products derived from this software may not be called "Apache",
- nor may "Apache" appear in their name, without prior written
- permission of the Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
- Test messages from the Perl-MIME-Tools project,
-
- The "Artistic License"
-
- Preamble
-
- The intent of this document is to state the conditions under which a
- Package may be copied, such that the Copyright Holder maintains some
- semblance of artistic control over the development of the package,
- while giving the users of the package the right to use and distribute
- the Package in a more-or-less customary fashion, plus the right to make
- reasonable modifications.
-
- Definitions:
-
- "Package" refers to the collection of files distributed by the
- Copyright Holder, and derivatives of that collection of files
- created through textual modification.
-
- "Standard Version" refers to such a Package if it has not been
- modified, or has been modified in accordance with the wishes
- of the Copyright Holder as specified below.
-
- "Copyright Holder" is whoever is named in the copyright or
- copyrights for the package.
-
- "You" is you, if you're thinking about copying or distributing
- this Package.
-
- "Reasonable copying fee" is whatever you can justify on the
- basis of media cost, duplication charges, time of people involved,
- and so on. (You will not be required to justify it to the
- Copyright Holder, but only to the computing community at large
- as a market that must bear the fee.)
-
- "Freely Available" means that no fee is charged for the item
- itself, though there may be fees involved in handling the item.
- It also means that recipients of the item may redistribute it
- under the same conditions they received it.
-
- 1. You may make and give away verbatim copies of the source form of the
- Standard Version of this Package without restriction, provided that you
- duplicate all of the original copyright notices and associated disclaimers.
-
- 2. You may apply bug fixes, portability fixes and other modifications
- derived from the Public Domain or from the Copyright Holder. A Package
- modified in such a way shall still be considered the Standard Version.
-
- 3. You may otherwise modify your copy of this Package in any way, provided
- that you insert a prominent notice in each changed file stating how and
- when you changed that file, and provided that you do at least ONE of the
- following:
-
- a) place your modifications in the Public Domain or otherwise make them
- Freely Available, such as by posting said modifications to Usenet or
- an equivalent medium, or placing the modifications on a major archive
- site such as uunet.uu.net, or by allowing the Copyright Holder to include
- your modifications in the Standard Version of the Package.
-
- b) use the modified Package only within your corporation or organization.
-
- c) rename any non-standard executables so the names do not conflict
- with standard executables, which must also be provided, and provide
- a separate manual page for each non-standard executable that clearly
- documents how it differs from the Standard Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
- 4. You may distribute the programs of this Package in object code or
- executable form, provided that you do at least ONE of the following:
-
- a) distribute a Standard Version of the executables and library files,
- together with instructions (in the manual page or equivalent) on where
- to get the Standard Version.
-
- b) accompany the distribution with the machine-readable source of
- the Package with your modifications.
-
- c) give non-standard executables non-standard names, and clearly
- document the differences in manual pages (or equivalent), together
- with instructions on where to get the Standard Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
- 5. You may charge a reasonable copying fee for any distribution of this
- Package. You may charge any fee you choose for support of this
- Package. You may not charge a fee for this Package itself. However,
- you may distribute this Package in aggregate with other (possibly
- commercial) programs as part of a larger (possibly commercial) software
- distribution provided that you do not advertise this Package as a
- product of your own. You may embed this Package's interpreter within
- an executable of yours (by linking); this shall be construed as a mere
- form of aggregation, provided that the complete Standard Version of the
- interpreter is so embedded.
-
- 6. The scripts and library files supplied as input to or produced as
- output from the programs of this Package do not automatically fall
- under the copyright of this Package, but belong to whoever generated
- them, and may be sold commercially, and may be aggregated with this
- Package. If such scripts or library files are aggregated with this
- Package via the so-called "undump" or "unexec" methods of producing a
- binary executable image, then distribution of such an image shall
- neither be construed as a distribution of this Package nor shall it
- fall under the restrictions of Paragraphs 3 and 4, provided that you do
- not represent such an executable image as a Standard Version of this
- Package.
-
- 7. C subroutines (or comparably compiled subroutines in other
- languages) supplied by you and linked into this Package in order to
- emulate subroutines and variables of the language defined by this
- Package shall not be considered part of this Package, but are the
- equivalent of input as in Paragraph 6, provided these subroutines do
- not change the language in any way that would cause it to fail the
- regression tests for the language.
-
- 8. Aggregation of this Package with a commercial distribution is always
- permitted provided that the use of this Package is embedded; that is,
- when no overt attempt is made to make this Package's interfaces visible
- to the end user of the commercial distribution. Such use shall not be
- construed as a distribution of this Package.
-
- 9. The name of the Copyright Holder may not be used to endorse or promote
- products derived from this software without specific prior written permission.
-
- 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
- The End
+ Copyright [yyyy] [name of copyright owner]
-
-
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-Google Auto:
+JSR 330:
+JSR-330
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
@@ -4494,7 +4577,7 @@ Google Auto:
limitations under the License.
-Dagger:
+Material Components for Android:
Apache License
@@ -4700,7 +4783,8 @@ Dagger:
limitations under the License.
-Error Prone:
+OkHttp:
+
Apache License
Version 2.0, January 2004
@@ -4905,7 +4989,7 @@ Error Prone:
limitations under the License.
-J2ObjC:
+Okio:
Apache License
@@ -5111,7 +5195,7 @@ J2ObjC:
limitations under the License.
-Apache Commons IO:
+Volley:
Apache License
@@ -5317,8 +5401,31 @@ Apache Commons IO:
limitations under the License.
+carrierservices:
-JSR 250:
+These components
+ com.google.android.rcs.core,
+ com.google.android.rcs.core.utils.CaseInsensitiveMap,
+ com.google.android.rcs.core.utils.DateTime,
+ com.google.android.rcs.core.utils.InetAddresses,
+ com.google.android.rcs.core.network.ConnectivityMonitor,
+ com.google.android.rcs.client.PrivateDataStorage,
+ com.google.android.rcs.client.utils.FastXmlSerializer,
+ com.google.android.rcs.client.utils.XmlUtils,
+ com.google.android.rcs.client.utils.QueuedWork
+are licensed under Apache v2.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
Apache License
@@ -5498,24 +5605,223 @@ JSR 250:
END OF TERMS AND CONDITIONS
- APPENDIX: How to apply the Apache License to your work.
+===============================================================================
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+These components
+ com.google.android.rcs.core.utils.FastBase64,
+ com.google.android.rcs.core.utils.LibraryLoaderHelper
+are licensed under BSD.
- Copyright [yyyy] [name of copyright owner]
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+gRPC:
+
+
+ Apache License
+ Version 2.0, January 2004
+ https://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for any such Derivative Works as a whole, provided Your use,
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ Copyright 2015-2017 gRPC authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@@ -5524,41 +5830,9 @@ JSR 250:
limitations under the License.
-JSR 305:
-
-Copyright (c) 2007-2009, JSR305 expert group
-All rights reserved.
-
-http://www.opensource.org/licenses/bsd-license.php
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of the JSR305 expert group nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
+instrumentation:
-JSR 330:
-JSR-330
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
@@ -5762,7 +6036,7 @@ JSR-330
limitations under the License.
-carrierservices, rcsclientlib:
+jibercsclient:
These components
com.google.android.rcs.core,
@@ -6001,8 +6275,187 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-material_components, lib:
+libphonenumber:
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+
+mime4j:
Apache License
Version 2.0, January 2004
@@ -6180,34 +6633,206 @@ material_components, lib:
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
+
+
+
- APPENDIX: How to apply the Apache License to your work.
+ THIS PRODUCT ALSO INCLUDES THIRD PARTY SOFTWARE REDISTRIBUTED UNDER THE
+ FOLLOWING LICENSES:
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+ Apache Commons Logging,
+ The Apache Software License, Version 1.1 (commons-logging-1.1.1.jar)
+
+ The Apache Software License, Version 1.1
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ 3. The end-user documentation included with the redistribution,
+ if any, must include the following acknowledgment:
+ "This product includes software developed by the
+ Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself,
+ if and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "Apache" and "Apache Software Foundation" must
+ not be used to endorse or promote products derived from this
+ software without prior written permission. For written
+ permission, please contact apache@apache.org.
+
+ 5. Products derived from this software may not be called "Apache",
+ nor may "Apache" appear in their name, without prior written
+ permission of the Apache Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
- Copyright [yyyy] [name of copyright owner]
+ Test messages from the Perl-MIME-Tools project,
+
+ The "Artistic License"
+
+ Preamble
+
+ The intent of this document is to state the conditions under which a
+ Package may be copied, such that the Copyright Holder maintains some
+ semblance of artistic control over the development of the package,
+ while giving the users of the package the right to use and distribute
+ the Package in a more-or-less customary fashion, plus the right to make
+ reasonable modifications.
+
+ Definitions:
+
+ "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes
+ of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people involved,
+ and so on. (You will not be required to justify it to the
+ Copyright Holder, but only to the computing community at large
+ as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
+
+ 1. You may make and give away verbatim copies of the source form of the
+ Standard Version of this Package without restriction, provided that you
+ duplicate all of the original copyright notices and associated disclaimers.
+
+ 2. You may apply bug fixes, portability fixes and other modifications
+ derived from the Public Domain or from the Copyright Holder. A Package
+ modified in such a way shall still be considered the Standard Version.
+
+ 3. You may otherwise modify your copy of this Package in any way, provided
+ that you insert a prominent notice in each changed file stating how and
+ when you changed that file, and provided that you do at least ONE of the
+ following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or
+ an equivalent medium, or placing the modifications on a major archive
+ site such as uunet.uu.net, or by allowing the Copyright Holder to include
+ your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide
+ a separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ 4. You may distribute the programs of this Package in object code or
+ executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where
+ to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ 5. You may charge a reasonable copying fee for any distribution of this
+ Package. You may charge any fee you choose for support of this
+ Package. You may not charge a fee for this Package itself. However,
+ you may distribute this Package in aggregate with other (possibly
+ commercial) programs as part of a larger (possibly commercial) software
+ distribution provided that you do not advertise this Package as a
+ product of your own. You may embed this Package's interpreter within
+ an executable of yours (by linking); this shall be construed as a mere
+ form of aggregation, provided that the complete Standard Version of the
+ interpreter is so embedded.
+
+ 6. The scripts and library files supplied as input to or produced as
+ output from the programs of this Package do not automatically fall
+ under the copyright of this Package, but belong to whoever generated
+ them, and may be sold commercially, and may be aggregated with this
+ Package. If such scripts or library files are aggregated with this
+ Package via the so-called "undump" or "unexec" methods of producing a
+ binary executable image, then distribution of such an image shall
+ neither be construed as a distribution of this Package nor shall it
+ fall under the restrictions of Paragraphs 3 and 4, provided that you do
+ not represent such an executable image as a Standard Version of this
+ Package.
+
+ 7. C subroutines (or comparably compiled subroutines in other
+ languages) supplied by you and linked into this Package in order to
+ emulate subroutines and variables of the language defined by this
+ Package shall not be considered part of this Package, but are the
+ equivalent of input as in Paragraph 6, provided these subroutines do
+ not change the language in any way that would cause it to fail the
+ regression tests for the language.
+
+ 8. Aggregation of this Package with a commercial distribution is always
+ permitted provided that the use of this Package is embedded; that is,
+ when no overt attempt is made to make this Package's interfaces visible
+ to the end user of the commercial distribution. Such use shall not be
+ construed as a distribution of this Package.
+
+ 9. The name of the Copyright Holder may not be used to endorse or promote
+ products derived from this software without specific prior written permission.
+
+ 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ The End
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+
+
- http://www.apache.org/licenses/LICENSE-2.0
+shortcutbadger:
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
-Guava JDK7:
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
Apache License
@@ -6387,28 +7012,430 @@ Guava JDK7:
END OF TERMS AND CONDITIONS
- APPENDIX: How to apply the Apache License to your work.
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+Android SDK:
- Copyright [yyyy] [name of copyright owner]
+ANDROID SOFTWARE DEVELOPMENT KIT
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+Terms and Conditions
- http://www.apache.org/licenses/LICENSE-2.0
+This is the Android Software Development Kit License Agreement.
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
+1. Introduction
+
+1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and
+specifically including the Android system files, packaged APIs, and Google APIs add-ons) is
+licensed to you subject to the terms of this License Agreement. This License Agreement forms a
+legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600
+Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting this License Agreement
+
+2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the
+SDK if you do not accept this License Agreement.
+
+2.2 You can accept this License Agreement by:
+
+(A) clicking to accept or agree to this License Agreement, where this option is made available to
+you; or
+
+(B) by actually using the SDK. In this case, you agree that use of the SDK constitutes acceptance of
+the Licensing Agreement from that point onwards.
+
+2.3 You may not use the SDK and may not accept the Licensing Agreement if you are a person barred
+from receiving the SDK under the laws of the United States or other countries including the country
+in which you are resident or from which you use the SDK.
+
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other
+entity, you represent and warrant that you have full legal authority to bind your employer or such
+entity to this License Agreement. If you do not have the requisite authority, you may not accept
+the Licensing Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide,
+royalty-free, non- assignable and non-exclusive license to use the SDK solely to develop
+applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the
+SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property
+Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law,
+and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for
+backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create
+derivative works of the SDK or any part of the SDK. Except to the extent required by applicable
+third party licenses, you may not load any part of the SDK onto a mobile handset or any other
+hardware device except a personal computer, combine any part of the SDK with other software, or
+distribute any software or device incorporating a part of the SDK.
+
+3.4 Use, reproduction and distribution of components of the SDK licensed under an open source
+software license are governed solely by the terms of that open source software license and not
+this License Agreement.
+
+3.5 You agree that the form and nature of the SDK that Google provides may change without prior
+notice to you and that future versions of the SDK may be incompatible with applications developed
+on previous versions of the SDK. You agree that Google may stop (permanently or temporarily)
+providing the SDK (or any features within the SDK) to you or to users generally at Google's sole
+discretion, without prior notice to you.
+
+3.6 Nothing in this License Agreement gives you a right to use any of Google's trade names,
+trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including
+copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under
+this License Agreement in or to any software applications that you develop using the SDK, including
+any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this
+License Agreement and (b) any applicable law, regulation or generally accepted practices or
+guidelines in the relevant jurisdictions (including any laws regarding the export of data or
+software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications for general public users, you will
+protect the privacy and legal rights of those users. If the users provide you with user names,
+passwords, or other login information or personal information, your must make the users aware that
+the information will be available to your application, and you must provide legally adequate privacy
+notice and protection for those users. If your application stores personal or sensitive information
+provided by users, it must do so securely. If the user provides your application with Google Account
+information, your application may only use that information to access the user's Google Account
+when, and for the limited purposes for which, the user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or
+distribution of an application, that interferes with, disrupts, damages, or accesses in an
+unauthorized manner the servers, networks, or other properties or services of any third party
+including, but not limited to, Google or any mobile communications carrier.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or
+to any third party for) any data, content, or resources that you create, transmit or display through
+the Android platform and/or applications for the Android platform, and for the consequences of your
+actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or
+to any third party for) any breach of your obligations under this License Agreement, any applicable
+third party contract or Terms of Service, or any applicable law or regulation, and for the
+consequences (including any loss or damage which Google or any third party may suffer) of any such
+breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer
+credentials that may be issued to you by Google or which you may choose yourself and that you will
+be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage
+statistics from the software including but not limited to a unique identifier, associated IP
+address, version number of the software, and information on which tools and/or services in the SDK
+are being used and how they are being used. Before any of this information is collected, the SDK
+will notify you and seek your consent. If you withhold consent, the information will not be
+collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in
+accordance with Google's Privacy Policy.
+
+7. Third Party Applications for the Android Platform
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content
+or resources provided by a third party, you agree that Google is not responsible for those
+applications, data, content, or resources. You understand that all data, content or resources which
+you may access through such third party applications are the sole responsibility of the person from
+which they originated and that Google is not liable for any loss or damage that you may experience
+as a result of the use or access of any of those third party applications, data, content, or
+resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party
+application may be protected by intellectual property rights which are owned by the providers (or by
+other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute
+or create derivative works based on these data, content, or resources (either in whole or in part)
+unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may
+be subject to separate terms between you and the relevant third party. In that case, this License
+Agreement does not affect your legal relationship with these third parties.
+
+8. Using Android APIs
+
+8.1 Google Data APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be
+protected by intellectual property rights which are owned by Google or those parties that provide
+the data (or by other persons or companies on their behalf). Your use of any such API may be subject
+to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create
+derivative works based on this data (either in whole or in part) unless allowed by the relevant
+Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you
+shall retrieve data only with the user's explicit consent and only when, and for the limited
+purposes for which, the user has given you permission to do so.
+
+9. Terminating this License Agreement
+
+9.1 This License Agreement will continue to apply until terminated by either you or Google as set
+out below.
+
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK
+and any relevant developer credentials.
+
+9.3 Google may at any time, terminate this License Agreement with you if:
+
+(A) you have breached any provision of this License Agreement; or
+
+(B) Google is required to do so by law; or
+
+(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated
+its relationship with Google or ceased to offer certain parts of the SDK to you; or
+
+(D) Google decides to no longer providing the SDK or certain parts of the SDK to users in the
+country in which you are resident or from which you use the service, or the provision of the SDK or
+certain SDK services to you by Google is, in Google's sole discretion, no longer commercially
+viable.
+
+9.4 When this License Agreement comes to an end, all of the legal rights, obligations and
+liabilities that you and Google have benefited from, been subject to (or which have accrued over
+time whilst this License Agreement has been in force) or which are expressed to continue
+indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall
+continue to apply to such rights, obligations and liabilities indefinitely.
+
+10. DISCLAIMER OF WARRANTIES
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE
+SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE
+SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR
+COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS
+LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY
+LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN
+AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless
+Google, its affiliates and their respective directors, officers, employees and agents from and
+against any and all claims, actions, suits or proceedings, as well as any and all losses,
+liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or
+accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any
+copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any
+person or defames any person or violates their rights of publicity or privacy, and (c) any
+non-compliance by you with this License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK.
+When these changes are made, Google will make a new version of the License Agreement available on
+the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern
+your use of the SDK (excluding any services which Google may provide to you under a separate written
+agreement), and completely replace any prior agreements between you and Google in relation to the
+SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is
+contained in this License Agreement (or which Google has the benefit of under any applicable law),
+this will not be taken to be a formal waiver of Google's rights and that those rights or remedies
+will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision
+of this License Agreement is invalid, then that provision will be removed from this License
+Agreement without affecting the rest of this License Agreement. The remaining provisions of this
+License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the
+parent shall be third party beneficiaries to this License Agreement and that such other companies
+shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that
+confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall
+be third party beneficiaries to this License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST
+COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE
+LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The rights granted in this License Agreement may not be assigned or transferred by either you
+or Google without the prior written approval of the other party. Neither you nor Google shall be
+permitted to delegate their responsibilities or obligations under this License Agreement without the
+prior written approval of the other party.
+
+14.7 This License Agreement, and your relationship with Google under this License Agreement, shall
+be governed by the laws of the State of California without regard to its conflict of laws
+provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located
+within the county of Santa Clara, California to resolve any legal matter arising from this License
+Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for
+injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+April 10, 2009
+
+
+Animal Sniffer:
+
+The MIT License
+
+Copyright (c) 2008 Kohsuke Kawaguchi and codehaus.org.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+Glide:
+
+Covers library/
+
+Copyright 2014 Google, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ of conditions and the following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY GOOGLE, INC. ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE, INC. OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the
+authors and should not be interpreted as representing official policies, either expressed
+or implied, of Google, Inc.
+
+--------------------------------------------------------------------------
+Covers third_party/gif_decoder
+
+Copyright (c) 2013 Xcellent Creations, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+--------------------------------------------------------------------------
+Covers third_party/disklrucache
+
+Copyright 2012 Jake Wharton
+Copyright 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.
+--------------------------------------------------------------------------
+Covers third_party/gif_encoder/AnimatedGifEncoder.java and
+third_party/gif_encoder/LZWEncoder.java:
+
+No copyright asserted on the source code of this class. May be used for any
+purpose, however, refer to the Unisys LZW patent for restrictions on use of
+the associated LZWEncoder class. Please forward any corrections to
+kweiner@fmsware.com.
+
+-----------------------------------------------------------------------------
+Covers third_party/gif_encoder/NeuQuant.java
+
+Copyright (c) 1994 Anthony Dekker
+
+NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See
+"Kohonen neural networks for optimal colour quantization" in "Network:
+Computation in Neural Systems" Vol. 5 (1994) pp 351-367. for a discussion of
+the algorithm.
+
+Any party obtaining a copy of these files from the author, directly or
+indirectly, is granted, free of charge, a full and unrestricted irrevocable,
+world-wide, paid up, royalty-free, nonexclusive right and license to deal in
+this software and documentation files (the "Software"), including without
+limitation the rights to use, copy, modify, merge, publish, distribute,
+sublicense, and/or sell copies of the Software, and to permit persons who
+receive copies from any such party to do so, with the only requirement being
+that this copyright notice remain intact.
+
+
+JSR 305:
+
+Copyright (c) 2007-2009, JSR305 expert group
+All rights reserved.
+
+http://www.opensource.org/licenses/bsd-license.php
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the JSR305 expert group nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index f4c8c90f8..e0cd1706d 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -368,18 +368,30 @@ public class CallLogAdapter extends GroupingListAdapter
}
expandViewHolderActions(viewHolder);
- if (viewHolder.videoCallButtonView.getVisibility() == View.VISIBLE
- && LightbringerComponent.get(mActivity)
- .getLightbringer()
- .getPackageName()
- .equals(
- ((IntentProvider) viewHolder.videoCallButtonView.getTag())
- .getIntent(mActivity)
- .getPackage())) {
+ if (isLightbringerCallButtonVisible(viewHolder.videoCallButtonView)) {
CallIntentBuilder.increaseLightbringerCallButtonAppearInExpandedCallLogItemCount();
}
}
}
+
+ private boolean isLightbringerCallButtonVisible(View videoCallButtonView) {
+ if (videoCallButtonView == null) {
+ return false;
+ }
+ if (videoCallButtonView.getVisibility() != View.VISIBLE) {
+ return false;
+ }
+ IntentProvider intentProvider = (IntentProvider) videoCallButtonView.getTag();
+ if (intentProvider == null) {
+ return false;
+ }
+ String packageName =
+ LightbringerComponent.get(mActivity).getLightbringer().getPackageName();
+ if (packageName == null) {
+ return false;
+ }
+ return packageName.equals(intentProvider.getIntent(mActivity).getPackage());
+ }
};
private void checkMarkCallLogEntry(CallLogListItemViewHolder viewHolder) {
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index aa765d90e..6d4aea91f 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -20,7 +20,6 @@ import static android.Manifest.permission.READ_CALL_LOG;
import android.app.Activity;
import android.app.Fragment;
-import android.app.KeyguardManager;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -114,7 +113,6 @@ public class CallLogFragment extends Fragment
private CallLogQueryHandler mCallLogQueryHandler;
private boolean mScrollToTop;
private EmptyContentView mEmptyListView;
- private KeyguardManager mKeyguardManager;
private ContactInfoCache mContactInfoCache;
private final OnContactInfoChangedListener mOnContactInfoChangedListener =
new OnContactInfoChangedListener() {
@@ -219,7 +217,6 @@ public class CallLogFragment extends Fragment
final Activity activity = getActivity();
final ContentResolver resolver = activity.getContentResolver();
mCallLogQueryHandler = new CallLogQueryHandler(activity, resolver, this, mLogLimit);
- mKeyguardManager = (KeyguardManager) activity.getSystemService(Context.KEYGUARD_SERVICE);
if (PermissionsUtil.hasCallLogReadPermissions(getContext())) {
resolver.registerContentObserver(CallLog.CONTENT_URI, true, mCallLogObserver);
@@ -349,7 +346,7 @@ public class CallLogFragment extends Fragment
activityType == CallLogAdapter.ACTIVITY_TYPE_DIALTACTS
? (CallLogAdapter.OnActionModeStateChangedListener) getActivity()
: null,
- CallLogCache.getCallLogCache(getActivity()),
+ new CallLogCache(getActivity()),
mContactInfoCache,
getVoicemailPlaybackPresenter(),
new FilteredNumberAsyncQueryHandler(getActivity()),
@@ -432,8 +429,6 @@ public class CallLogFragment extends Fragment
@Override
public void onStop() {
- updateOnTransition();
-
super.onStop();
mAdapter.onStop();
mContactInfoCache.stop();
@@ -516,9 +511,7 @@ public class CallLogFragment extends Fragment
super.setMenuVisibility(menuVisible);
if (mMenuVisible != menuVisible) {
mMenuVisible = menuVisible;
- if (!menuVisible) {
- updateOnTransition();
- } else if (isResumed()) {
+ if (menuVisible && isResumed()) {
refreshData();
}
}
@@ -536,7 +529,6 @@ public class CallLogFragment extends Fragment
fetchCalls();
mCallLogQueryHandler.fetchVoicemailStatus();
mCallLogQueryHandler.fetchMissedCallsUnreadCount();
- updateOnTransition();
mRefreshDataRequired = false;
} else {
// Refresh the display of the existing data to update the timestamp text descriptions.
@@ -544,23 +536,6 @@ public class CallLogFragment extends Fragment
}
}
- /**
- * Updates the voicemail notification state.
- *
- * <p>TODO: Move to CallLogActivity
- */
- private void updateOnTransition() {
- // We don't want to update any call data when keyguard is on because the user has likely not
- // seen the new calls yet.
- // This might be called before onCreate() and thus we need to check null explicitly.
- if (mKeyguardManager != null
- && !mKeyguardManager.inKeyguardRestrictedInputMode()
- && mCallTypeFilter == Calls.VOICEMAIL_TYPE) {
- LogUtil.i("CallLogFragment.updateOnTransition", "clearing all new voicemails");
- CallLogNotificationsService.markAllNewVoicemailsAsOld(getActivity());
- }
- }
-
@Override
public void onEmptyViewActionButtonClicked() {
final Activity activity = getActivity();
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 27aa82577..884d07d50 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -353,7 +353,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
View.OnClickListener expandCollapseListener,
VoicemailPlaybackPresenter voicemailPlaybackPresenter) {
Resources resources = context.getResources();
- CallLogCache callLogCache = CallLogCache.getCallLogCache(context);
+ CallLogCache callLogCache = new CallLogCache(context);
PhoneCallDetailsHelper phoneCallDetailsHelper =
new PhoneCallDetailsHelper(context, resources, callLogCache);
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
index 893d6bed9..17018b38d 100644
--- a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
@@ -16,6 +16,7 @@
package com.android.dialer.app.calllog;
+import android.app.KeyguardManager;
import android.content.Intent;
import android.database.ContentObserver;
import android.media.AudioManager;
@@ -132,7 +133,7 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment {
@Override
public void onVisible() {
- LogUtil.enterBlock("VisualVoicemailCallLogFragment.onPageSelected");
+ LogUtil.enterBlock("VisualVoicemailCallLogFragment.onVisible");
super.onVisible();
if (getActivity() != null) {
Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
@@ -145,10 +146,15 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment {
@Override
public void onNotVisible() {
- LogUtil.enterBlock("VisualVoicemailCallLogFragment.onPageUnselected");
+ LogUtil.enterBlock("VisualVoicemailCallLogFragment.onNotVisible");
super.onNotVisible();
if (getActivity() != null) {
getActivity().setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
+ // onNotVisible will be called in the lock screen when the call ends
+ if (!getActivity().getSystemService(KeyguardManager.class).inKeyguardRestrictedInputMode()) {
+ LogUtil.i("VisualVoicemailCallLogFragment.onNotVisible", "clearing all new voicemails");
+ CallLogNotificationsService.markAllNewVoicemailsAsOld(getActivity());
+ }
}
}
}
diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
index 2e7c9339a..15de14318 100644
--- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
+++ b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
@@ -19,8 +19,14 @@ package com.android.dialer.app.calllog.calllogcache;
import android.content.Context;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
+import android.text.TextUtils;
+import android.util.ArrayMap;
import com.android.dialer.app.calllog.CallLogAdapter;
+import com.android.dialer.calllogutils.PhoneAccountUtils;
+import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.CallUtil;
+import java.util.Map;
+import javax.annotation.concurrent.ThreadSafe;
/**
* This is the base class for the CallLogCaches.
@@ -31,7 +37,8 @@ import com.android.dialer.util.CallUtil;
*
* <p>This is designed with the specific use case of the {@link CallLogAdapter} in mind.
*/
-public abstract class CallLogCache {
+@ThreadSafe
+public class CallLogCache {
// TODO: Dialer should be fixed so as not to check isVoicemail() so often but at the time of
// this writing, that was a much larger undertaking than creating this cache.
@@ -39,17 +46,18 @@ public abstract class CallLogCache {
private boolean mHasCheckedForVideoAvailability;
private int mVideoAvailability;
+ private final Map<PhoneAccountHandle, String> mPhoneAccountLabelCache = new ArrayMap<>();
+ private final Map<PhoneAccountHandle, Integer> mPhoneAccountColorCache = new ArrayMap<>();
+ private final Map<PhoneAccountHandle, Boolean> mPhoneAccountCallWithNoteCache = new ArrayMap<>();
public CallLogCache(Context context) {
mContext = context;
}
- /** Return the most compatible version of the TelecomCallLogCache. */
- public static CallLogCache getCallLogCache(Context context) {
- return new CallLogCacheLollipopMr1(context);
- }
-
- public void reset() {
+ public synchronized void reset() {
+ mPhoneAccountLabelCache.clear();
+ mPhoneAccountColorCache.clear();
+ mPhoneAccountCallWithNoteCache.clear();
mHasCheckedForVideoAvailability = false;
mVideoAvailability = 0;
}
@@ -58,8 +66,13 @@ public abstract class CallLogCache {
* Returns true if the given number is the number of the configured voicemail. To be able to
* mock-out this, it is not a static method.
*/
- public abstract boolean isVoicemailNumber(
- PhoneAccountHandle accountHandle, @Nullable CharSequence number);
+ public synchronized boolean isVoicemailNumber(
+ PhoneAccountHandle accountHandle, @Nullable CharSequence number) {
+ if (TextUtils.isEmpty(number)) {
+ return false;
+ }
+ return TelecomUtil.isVoicemailNumber(mContext, accountHandle, number.toString());
+ }
/**
* Returns {@code true} when the current sim supports checking video calling capabilities via the
@@ -74,10 +87,26 @@ public abstract class CallLogCache {
}
/** Extract account label from PhoneAccount object. */
- public abstract String getAccountLabel(PhoneAccountHandle accountHandle);
+ public synchronized String getAccountLabel(PhoneAccountHandle accountHandle) {
+ if (mPhoneAccountLabelCache.containsKey(accountHandle)) {
+ return mPhoneAccountLabelCache.get(accountHandle);
+ } else {
+ String label = PhoneAccountUtils.getAccountLabel(mContext, accountHandle);
+ mPhoneAccountLabelCache.put(accountHandle, label);
+ return label;
+ }
+ }
/** Extract account color from PhoneAccount object. */
- public abstract int getAccountColor(PhoneAccountHandle accountHandle);
+ public synchronized int getAccountColor(PhoneAccountHandle accountHandle) {
+ if (mPhoneAccountColorCache.containsKey(accountHandle)) {
+ return mPhoneAccountColorCache.get(accountHandle);
+ } else {
+ Integer color = PhoneAccountUtils.getAccountColor(mContext, accountHandle);
+ mPhoneAccountColorCache.put(accountHandle, color);
+ return color;
+ }
+ }
/**
* Determines if the PhoneAccount supports specifying a call subject (i.e. calling with a note)
@@ -86,5 +115,14 @@ public abstract class CallLogCache {
* @param accountHandle The PhoneAccount handle.
* @return {@code true} if calling with a note is supported, {@code false} otherwise.
*/
- public abstract boolean doesAccountSupportCallSubject(PhoneAccountHandle accountHandle);
+ public synchronized boolean doesAccountSupportCallSubject(PhoneAccountHandle accountHandle) {
+ if (mPhoneAccountCallWithNoteCache.containsKey(accountHandle)) {
+ return mPhoneAccountCallWithNoteCache.get(accountHandle);
+ } else {
+ Boolean supportsCallWithNote =
+ PhoneAccountUtils.getAccountSupportsCallSubject(mContext, accountHandle);
+ mPhoneAccountCallWithNoteCache.put(accountHandle, supportsCallWithNote);
+ return supportsCallWithNote;
+ }
+ }
}
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
index eb4f8e967..30870eb39 100644
--- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
+++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
@@ -62,6 +62,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
private String mPhoneNumberString;
private boolean isPinned;
private boolean isStarred;
+ private int position = -1;
public PhoneFavoriteTileView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -126,8 +127,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
CallSpecificAppData.Builder callSpecificAppData =
CallSpecificAppData.newBuilder()
.setCallInitiationType(CallInitiationType.Type.SPEED_DIAL)
- .setSpeedDialContactPosition(
- ((PhoneFavoriteListView) v.getParent()).getPositionForView(v));
+ .setSpeedDialContactPosition(position);
if (isStarred) {
callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.STARRED_CONTACT);
} else {
@@ -182,4 +182,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
// Unlike Contacts' tiles, the Dialer's favorites tiles are square.
return false;
}
+
+ public void setPosition(int position) {
+ this.position = position;
+ }
}
diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
index 876fbf146..dbd601a7d 100644
--- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
+++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
@@ -440,6 +440,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
tileView.setPhotoManager(mPhotoManager);
tileView.setListener(mListener);
tileView.loadFromContact(getItem(position));
+ tileView.setPosition(position);
return tileView;
}
diff --git a/java/com/android/dialer/app/res/values-bs/strings.xml b/java/com/android/dialer/app/res/values-bs/strings.xml
index 9d8914c4f..fb00ce4dc 100644
--- a/java/com/android/dialer/app/res/values-bs/strings.xml
+++ b/java/com/android/dialer/app/res/values-bs/strings.xml
@@ -100,7 +100,7 @@
<string name="description_video_call" msgid="3738199365585751727">"Videopoziv."</string>
<string name="description_send_text_message" msgid="8450269896765568596">"Pošalji SMS kontaktu <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="2258821530650350303">"Nepreslušana govorna pošta"</string>
- <string name="description_start_voice_search" msgid="8380022725973015261">"Pokreni glasovnu pretragu"</string>
+ <string name="description_start_voice_search" msgid="8380022725973015261">"Pokreni glasovno pretraživanje"</string>
<string name="menu_callNumber" msgid="1540773545517152514">"Pozovi <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
@@ -127,7 +127,7 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitavanje sa SIM kartice…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakti sa SIM kartice"</string>
- <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovna pretraga nije dostupna"</string>
+ <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovno pretraživanje nije dostupno"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nije moguće uputiti poziv jer je aplikacija Telefon onemogućena."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Traži kontakte"</string>
<string name="block_number_search_hint" msgid="5377706079015099416">"Dodajte broj ili tražite kontakte"</string>
@@ -157,7 +157,7 @@
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj u favorite"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da vidite sve brojeve ili dodirnite i držite da promijenite raspored."</string>
<string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string>
- <string name="select_all" msgid="408601760696146245">"Izaberi sve"</string>
+ <string name="select_all" msgid="408601760696146245">"Odaberi sve"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videopoziv"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalji o pozivu"</string>
diff --git a/java/com/android/dialer/app/res/values-da/strings.xml b/java/com/android/dialer/app/res/values-da/strings.xml
index 81fd5ddb5..aabe678d6 100644
--- a/java/com/android/dialer/app/res/values-da/strings.xml
+++ b/java/com/android/dialer/app/res/values-da/strings.xml
@@ -88,7 +88,7 @@
<string name="actionIncomingCall" msgid="891346596090030558">"Indgående opkald"</string>
<string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Massehandlingstilstanden startes"</string>
<string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingstilstanden blev afsluttet"</string>
- <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Vælg <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Valgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Fravalgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Afspil telefonsvarerbesked"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Vis kontaktpersonen <xliff:g id="NAME">%1$s</xliff:g>"</string>
diff --git a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
index b86ce8229..4100521ab 100644
--- a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
+++ b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
@@ -21,6 +21,7 @@ import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.preference.PreferenceManager;
import android.support.v4.os.BuildCompat;
@@ -56,7 +57,17 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
LogUtil.i(
"LegacyVoicemailNotificationReceiver.onReceive", "received legacy voicemail notification");
- Assert.checkArgument(BuildCompat.isAtLeastO());
+ if (!BuildCompat.isAtLeastO()) {
+ LogUtil.e(
+ "LegacyVoicemailNotificationReceiver.onReceive",
+ "SDK not finalized: SDK_INT="
+ + Build.VERSION.SDK_INT
+ + ", PREVIEW_SDK_INT="
+ + Build.VERSION.PREVIEW_SDK_INT
+ + ", RELEASE="
+ + Build.VERSION.RELEASE);
+ return;
+ }
PhoneAccountHandle phoneAccountHandle =
Assert.isNotNull(intent.getParcelableExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE));
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
index f2cdaf644..e3dc0b0b7 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
@@ -33,8 +33,8 @@ import android.view.View;
import android.view.View.OnClickListener;
import com.android.contacts.common.compat.TelephonyManagerCompat;
import com.android.dialer.app.voicemail.error.VoicemailErrorMessage.Action;
-import com.android.dialer.buildtype.BuildType;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.voicemail.VisualVoicemailTypeExtensions;
@@ -79,13 +79,11 @@ public class VoicemailTosMessageCreator {
if (hasAcceptedTos()) {
return null;
}
- // TODO: temporarily skip the terms of service for dogfood builds
- if (BuildType.get() == BuildType.DOGFOOD) {
- LogUtil.i(
- "VoicemailTosMessageCreator.maybeCreateTosMessage",
- "Skipping voicemail ToS for dogfood build");
+
+ if (!shouldShowTos()) {
return null;
}
+
logTosCreatedImpression();
return new VoicemailTosMessage(
@@ -121,6 +119,25 @@ public class VoicemailTosMessageCreator {
.setImageResourceId(getTosImageId());
}
+ private boolean shouldShowTos() {
+ if (isVvm3()) {
+ LogUtil.i("VoicemailTosMessageCreator.shouldShowTos", "showing TOS for verizon");
+ return true;
+ }
+
+ if (isVoicemailTranscriptionEnabled()) {
+ LogUtil.i(
+ "VoicemailTosMessageCreator.shouldShowTos", "showing TOS for Google transcription users");
+ return true;
+ }
+
+ return false;
+ }
+
+ private boolean isVoicemailTranscriptionEnabled() {
+ return ConfigProviderBindings.get(context).getBoolean("voicemail_transcription_enabled", false);
+ }
+
private void showDeclineTosDialog(final PhoneAccountHandle handle) {
if (isVvm3() && Vvm3VoicemailMessageCreator.PIN_NOT_SET == status.configurationState) {
LogUtil.i(
@@ -249,6 +266,10 @@ public class VoicemailTosMessageCreator {
}
private CharSequence getDialerTos() {
+ if (!isVoicemailTranscriptionEnabled()) {
+ return "";
+ }
+
return useSpanish()
? context.getString(R.string.dialer_terms_and_conditions_1_0_spanish)
: context.getString(R.string.dialer_terms_and_conditions_1_0_english);
diff --git a/java/com/android/dialer/backup/DialerBackupAgent.java b/java/com/android/dialer/backup/DialerBackupAgent.java
index 40de8e2a4..a0baf39f7 100644
--- a/java/com/android/dialer/backup/DialerBackupAgent.java
+++ b/java/com/android/dialer/backup/DialerBackupAgent.java
@@ -35,7 +35,6 @@ import android.telecom.PhoneAccountHandle;
import android.util.Pair;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.telecom.TelecomUtil;
@@ -96,76 +95,68 @@ public class DialerBackupAgent extends BackupAgent {
public void onFullBackup(FullBackupDataOutput data) throws IOException {
Logger.get(this).logImpression(DialerImpression.Type.BACKUP_ON_FULL_BACKUP);
LogUtil.i("DialerBackupAgent.onFullBackup", "performing dialer backup");
- boolean autoBackupEnabled =
- ConfigProviderBindings.get(this).getBoolean("enable_autobackup", true);
- boolean vmBackupEnabled = ConfigProviderBindings.get(this).getBoolean("enable_vm_backup", true);
+
List<PhoneAccountHandle> phoneAccountsToArchive =
DialerBackupUtils.getPhoneAccountsToArchive(this);
- if (autoBackupEnabled) {
- if (!maxVoicemailBackupReached && vmBackupEnabled && !phoneAccountsToArchive.isEmpty()) {
- voicemailsBackedupSoFar = 0;
- sizeOfVoicemailsBackedupSoFar = 0;
+ if (!maxVoicemailBackupReached && !phoneAccountsToArchive.isEmpty()) {
+ voicemailsBackedupSoFar = 0;
+ sizeOfVoicemailsBackedupSoFar = 0;
- LogUtil.i("DialerBackupAgent.onFullBackup", "autoBackup is enabled");
- ContentResolver contentResolver = getContentResolver();
- int limit = 1000;
+ LogUtil.i("DialerBackupAgent.onFullBackup", "autoBackup is enabled");
+ ContentResolver contentResolver = getContentResolver();
+ int limit = 1000;
- Uri uri =
- TelecomUtil.getCallLogUri(this)
- .buildUpon()
- .appendQueryParameter(Calls.LIMIT_PARAM_KEY, Integer.toString(limit))
- .build();
+ Uri uri =
+ TelecomUtil.getCallLogUri(this)
+ .buildUpon()
+ .appendQueryParameter(Calls.LIMIT_PARAM_KEY, Integer.toString(limit))
+ .build();
- LogUtil.i("DialerBackupAgent.onFullBackup", "backing up from: " + uri);
+ LogUtil.i("DialerBackupAgent.onFullBackup", "backing up from: " + uri);
- try (Cursor cursor =
- contentResolver.query(
- uri,
- null,
- String.format(
- "(%s = ? AND deleted = 0 AND %s = ? AND ?)",
- Calls.TYPE, Voicemails.SOURCE_PACKAGE),
- new String[] {
- Integer.toString(CallLog.Calls.VOICEMAIL_TYPE),
- VOICEMAIL_SOURCE_PACKAGE,
- DialerBackupUtils.getPhoneAccountClause(phoneAccountsToArchive)
- },
- ORDER_BY_DATE,
- null)) {
+ try (Cursor cursor =
+ contentResolver.query(
+ uri,
+ null,
+ String.format(
+ "(%s = ? AND deleted = 0 AND %s = ? AND ?)",
+ Calls.TYPE, Voicemails.SOURCE_PACKAGE),
+ new String[] {
+ Integer.toString(CallLog.Calls.VOICEMAIL_TYPE),
+ VOICEMAIL_SOURCE_PACKAGE,
+ DialerBackupUtils.getPhoneAccountClause(phoneAccountsToArchive)
+ },
+ ORDER_BY_DATE,
+ null)) {
- if (cursor == null) {
- LogUtil.i("DialerBackupAgent.onFullBackup", "cursor was null");
- return;
- }
+ if (cursor == null) {
+ LogUtil.i("DialerBackupAgent.onFullBackup", "cursor was null");
+ return;
+ }
- LogUtil.i("DialerBackupAgent.onFullBackup", "cursor count: " + cursor.getCount());
- if (cursor.moveToFirst()) {
- int fileNum = 0;
- do {
- backupRow(
- data, cursor, String.format(Locale.US, VOICEMAIL_BACKUP_FILE_FORMAT, fileNum++));
- } while (cursor.moveToNext() && !maxVoicemailBackupReached);
- } else {
- LogUtil.i("DialerBackupAgent.onFullBackup", "cursor.moveToFirst failed");
- }
+ LogUtil.i("DialerBackupAgent.onFullBackup", "cursor count: " + cursor.getCount());
+ if (cursor.moveToFirst()) {
+ int fileNum = 0;
+ do {
+ backupRow(
+ data, cursor, String.format(Locale.US, VOICEMAIL_BACKUP_FILE_FORMAT, fileNum++));
+ } while (cursor.moveToNext() && !maxVoicemailBackupReached);
+ } else {
+ LogUtil.i("DialerBackupAgent.onFullBackup", "cursor.moveToFirst failed");
}
}
- LogUtil.i(
- "DialerBackupAgent.onFullBackup",
- "vm files backed up: %d, vm size backed up:%d, "
- + "max vm backup reached:%b, vm backup enabled:%b phone accounts to archive: %d",
- voicemailsBackedupSoFar,
- sizeOfVoicemailsBackedupSoFar,
- maxVoicemailBackupReached,
- vmBackupEnabled,
- phoneAccountsToArchive.size());
- super.onFullBackup(data);
- Logger.get(this).logImpression(DialerImpression.Type.BACKUP_FULL_BACKED_UP);
- } else {
- Logger.get(this).logImpression(DialerImpression.Type.BACKUP_ON_BACKUP_DISABLED);
- LogUtil.i("DialerBackupAgent.onFullBackup", "autoBackup is disabled");
}
+ LogUtil.i(
+ "DialerBackupAgent.onFullBackup",
+ "vm files backed up: %d, vm size backed up:%d, "
+ + "max vm backup reached:%b, phone accounts to archive: %d",
+ voicemailsBackedupSoFar,
+ sizeOfVoicemailsBackedupSoFar,
+ maxVoicemailBackupReached,
+ phoneAccountsToArchive.size());
+ super.onFullBackup(data);
+ Logger.get(this).logImpression(DialerImpression.Type.BACKUP_FULL_BACKED_UP);
}
private void backupRow(FullBackupDataOutput data, Cursor cursor, String fileName)
@@ -218,34 +209,25 @@ public class DialerBackupAgent extends BackupAgent {
String fileName = destination.getName();
LogUtil.i("DialerBackupAgent.onRestoreFile", "file name: " + fileName);
- if (ConfigProviderBindings.get(this).getBoolean("enable_autobackup", true)) {
- if (fileName.endsWith(VOICEMAIL_BACKUP_FILE_SUFFIX)
- && ConfigProviderBindings.get(this).getBoolean("enable_vm_restore", true)) {
- if (DialerBackupUtils.canRestoreVoicemails(getContentResolver(), this)) {
- try {
- super.onRestoreFile(data, size, destination, type, mode, mtime);
- restoreVoicemail(destination);
- destination.delete();
- } catch (IOException e) {
- Logger.get(this).logImpression(DialerImpression.Type.BACKUP_ON_RESTORE_IO_EXCEPTION);
- LogUtil.e(
- "DialerBackupAgent.onRestoreFile",
- "could not restore voicemail - IOException: ",
- e);
- }
- } else {
- LogUtil.i(
- "DialerBackupAgent.onRestoreFile", "build does not support restoring voicemails");
+ if (fileName.endsWith(VOICEMAIL_BACKUP_FILE_SUFFIX)) {
+ if (DialerBackupUtils.canRestoreVoicemails(getContentResolver(), this)) {
+ try {
+ super.onRestoreFile(data, size, destination, type, mode, mtime);
+ restoreVoicemail(destination);
+ destination.delete();
+ } catch (IOException e) {
+ Logger.get(this).logImpression(DialerImpression.Type.BACKUP_ON_RESTORE_IO_EXCEPTION);
+ LogUtil.e(
+ "DialerBackupAgent.onRestoreFile", "could not restore voicemail - IOException: ", e);
}
-
} else {
- super.onRestoreFile(data, size, destination, type, mode, mtime);
- LogUtil.i("DialerBackupAgent.onRestoreFile", "restored: " + fileName);
- Logger.get(this).logImpression(DialerImpression.Type.BACKUP_RESTORED_FILE);
+ LogUtil.i("DialerBackupAgent.onRestoreFile", "build does not support restoring voicemails");
}
+
} else {
- Logger.get(this).logImpression(DialerImpression.Type.BACKUP_ON_RESTORE_DISABLED);
- LogUtil.i("DialerBackupAgent.onRestoreFile", "autoBackup is disabled");
+ super.onRestoreFile(data, size, destination, type, mode, mtime);
+ LogUtil.i("DialerBackupAgent.onRestoreFile", "restored: " + fileName);
+ Logger.get(this).logImpression(DialerImpression.Type.BACKUP_RESTORED_FILE);
}
}
diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
index 1002b27b1..7ec6611d9 100644
--- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
@@ -18,13 +18,11 @@ package com.android.dialer.callcomposer;
import android.Manifest;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.drawable.Animatable;
import android.hardware.Camera.CameraInfo;
import android.net.Uri;
import android.os.Bundle;
-import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -57,7 +55,6 @@ import com.android.dialer.util.PermissionsUtil;
public class CameraComposerFragment extends CallComposerFragment
implements CameraManagerListener, OnClickListener, CameraManager.MediaCallback {
- private static final String CAMERA_PRIVACY_PREF = "camera_privacy_permission";
private static final String CAMERA_DIRECTION_KEY = "camera_direction";
private static final String CAMERA_URI_KEY = "camera_key";
@@ -134,11 +131,8 @@ public class CameraComposerFragment extends CallComposerFragment
}
private void setupCamera() {
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
- if (!preferences.getBoolean(CAMERA_PRIVACY_PREF, false)) {
- Toast.makeText(getContext(), getString(R.string.camera_privacy_text), Toast.LENGTH_LONG)
- .show();
- preferences.edit().putBoolean(CAMERA_PRIVACY_PREF, true).apply();
+ if (!PermissionsUtil.hasCameraPrivacyToastShown(getContext())) {
+ PermissionsUtil.showCameraPermissionToast(getContext());
}
CameraManager.get().setListener(this);
preview.setShown();
@@ -399,6 +393,7 @@ public class CameraComposerFragment extends CallComposerFragment
Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_GRANTED);
LogUtil.i("CameraComposerFragment.onRequestPermissionsResult", "Permission granted.");
permissionView.setVisibility(View.GONE);
+ PermissionsUtil.setCameraPrivacyToastShown(getContext());
setupCamera();
} else if (requestCode == CAMERA_PERMISSION) {
Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_DENIED);
diff --git a/java/com/android/dialer/callcomposer/res/values-bs/strings.xml b/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
index a5ecb0c87..8ba9e72e8 100644
--- a/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
@@ -31,7 +31,7 @@
<string name="camera_permission_text" msgid="7863231776480341614">"Da snimite fotografiju, dajte pristup Kameri"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Da podijelite sliku, dozvolite pristup Medijima"</string>
<string name="description_call_composer_camera" msgid="388088245837924914">"Uslikaj"</string>
- <string name="description_call_composer_photo" msgid="6449208314952246454">"Izaberi fotografiju"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Odaberi fotografiju"</string>
<string name="description_call_composer_message" msgid="9132362446000908550">"Pošalji poruku"</string>
<string name="image_sent_messages" msgid="6520870555040566229">"Fotografija je poslana putem aplikacije Messages"</string>
<string name="message_sent_messages" msgid="6286576951151541098">"Poruka je poslana putem aplikacije Messages"</string>
diff --git a/java/com/android/dialer/calldetails/AndroidManifest.xml b/java/com/android/dialer/calldetails/AndroidManifest.xml
index fd887c4b5..9cf656e42 100644
--- a/java/com/android/dialer/calldetails/AndroidManifest.xml
+++ b/java/com/android/dialer/calldetails/AndroidManifest.xml
@@ -19,13 +19,9 @@
<application android:theme="@style/Theme.AppCompat">
<activity
android:label="@string/call_details"
+ android:exported="false"
android:name="com.android.dialer.calldetails.CallDetailsActivity"
android:theme="@style/DialerThemeBase.NoActionBar">
- <intent-filter>
- <action android:name="android.intent.action.VIEW"/>
- <category android:name="android.intent.category.DEFAULT"/>
- <data android:mimeType="vnd.android.cursor.item/calls"/>
- </intent-filter>
</activity>
</application>
</manifest>
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java
index e5449c804..36ea907ff 100644
--- a/java/com/android/dialer/callintent/CallIntentBuilder.java
+++ b/java/com/android/dialer/callintent/CallIntentBuilder.java
@@ -160,4 +160,11 @@ public class CallIntentBuilder {
public static int getLightbringerButtonAppearInSearchCount() {
return lightbringerButtonAppearInSearchCount;
}
+
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ public static void clearLightbringerCounts() {
+ lightbringerButtonAppearInCollapsedCallLogItemCount = 0;
+ lightbringerButtonAppearInExpandedCallLogItemCount = 0;
+ lightbringerButtonAppearInSearchCount = 0;
+ }
}
diff --git a/java/com/android/dialer/callintent/CallIntentParser.java b/java/com/android/dialer/callintent/CallIntentParser.java
index 01afce06d..336adb66b 100644
--- a/java/com/android/dialer/callintent/CallIntentParser.java
+++ b/java/com/android/dialer/callintent/CallIntentParser.java
@@ -19,12 +19,13 @@ package com.android.dialer.callintent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.protos.ProtoParsers;
/** Parses data for a call extra to get any dialer specific app data. */
public class CallIntentParser {
- static final String EXTRA_CALL_SPECIFIC_APP_DATA_WRAPPER =
- "com.android.dialer.callintent.CALL_SPECIFIC_APP_DATA_WRAPPER";
+
+
@Nullable
public static CallSpecificAppData getCallSpecificAppData(@Nullable Bundle extras) {
if (extras == null) {
@@ -35,19 +36,20 @@ public class CallIntentParser {
return null;
}
+ if (extras.getByteArray(Constants.EXTRA_CALL_SPECIFIC_APP_DATA) == null) {
+ LogUtil.i(
+ "CallIntentParser.getCallSpecificAppData",
+ "unexpected null byte array for call specific app data proto");
+ return null;
+ }
+
return ProtoParsers.getTrusted(
- extras.getBundle(Constants.EXTRA_CALL_SPECIFIC_APP_DATA),
- EXTRA_CALL_SPECIFIC_APP_DATA_WRAPPER,
- CallSpecificAppData.getDefaultInstance());
+ extras, Constants.EXTRA_CALL_SPECIFIC_APP_DATA, CallSpecificAppData.getDefaultInstance());
}
public static void putCallSpecificAppData(
@NonNull Bundle extras, @NonNull CallSpecificAppData callSpecificAppData) {
- // We wrap our bundle for consumers that may not have access to ProtoParsers in their class
- // loader. This is necessary to prevent ClassNotFoundException's
- Bundle wrapperBundle = new Bundle();
- ProtoParsers.put(wrapperBundle, EXTRA_CALL_SPECIFIC_APP_DATA_WRAPPER, callSpecificAppData);
- extras.putBundle(Constants.EXTRA_CALL_SPECIFIC_APP_DATA, wrapperBundle);
+ ProtoParsers.put(extras, Constants.EXTRA_CALL_SPECIFIC_APP_DATA, callSpecificAppData);
}
private CallIntentParser() {}
diff --git a/java/com/android/dialer/calllogutils/CallEntryFormatter.java b/java/com/android/dialer/calllogutils/CallEntryFormatter.java
index 6aa93af52..c5ec15748 100644
--- a/java/com/android/dialer/calllogutils/CallEntryFormatter.java
+++ b/java/com/android/dialer/calllogutils/CallEntryFormatter.java
@@ -95,9 +95,29 @@ public class CallEntryFormatter {
// example output: "1s"
formatPattern =
context.getString(R.string.call_duration_short_format_pattern, "s", secondsString);
+
+ // Temporary work around for a broken Hebrew(iw) translation.
+ if (formatPattern.endsWith("\'\'")) {
+ formatPattern = formatPattern.substring(0, formatPattern.length() - 1);
+ }
+ }
+
+ // If new translation issues arise, we should catch them here to prevent crashes.
+ try {
+ Date date = new Date(TimeUnit.SECONDS.toMillis(elapsedSeconds));
+ SimpleDateFormat format = new SimpleDateFormat(formatPattern);
+ String duration = format.format(date);
+
+ // SimpleDateFormat cannot display more than 59 minutes, instead it displays MINUTES % 60.
+ // Here we check for that value and replace it with the correct value.
+ if (elapsedSeconds >= TimeUnit.MINUTES.toSeconds(60)) {
+ int minutes = (int) (elapsedSeconds / 60);
+ duration = duration.replaceFirst(Integer.toString(minutes % 60), Integer.toString(minutes));
+ }
+ return duration;
+ } catch (Exception e) {
+ return "";
}
- SimpleDateFormat format = new SimpleDateFormat(formatPattern);
- return format.format(new Date(TimeUnit.SECONDS.toMillis(elapsedSeconds)));
}
private static CharSequence formatDurationA11y(Context context, long elapsedSeconds) {
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index e62771837..41fa8f9c5 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -170,6 +170,10 @@ public class ContactsFragment extends Fragment
fastScroller.updateContainerAndScrollBarPosition(recyclerView);
int firstVisibleItem = manager.findFirstVisibleItemPosition();
int firstCompletelyVisible = manager.findFirstCompletelyVisibleItemPosition();
+ if (firstCompletelyVisible == RecyclerView.NO_POSITION) {
+ // No items are visible, so there are no headers to update.
+ return;
+ }
String anchoredHeaderString = adapter.getHeaderString(firstCompletelyVisible);
// If the user swipes to the top of the list very quickly, there is some strange behavior
diff --git a/java/com/android/dialer/database/CallLogQueryHandler.java b/java/com/android/dialer/database/CallLogQueryHandler.java
index 35f7854ac..4867d9dce 100644
--- a/java/com/android/dialer/database/CallLogQueryHandler.java
+++ b/java/com/android/dialer/database/CallLogQueryHandler.java
@@ -188,6 +188,20 @@ public class CallLogQueryHandler extends NoNullCursorAsyncQueryHandler {
VoicemailComponent.get(mContext)
.getVoicemailClient()
.appendOmtpVoicemailSelectionClause(mContext, where, selectionArgs);
+ } else {
+ // Filter out all Duo entries other than video calls
+ where
+ .append(" AND (")
+ .append(Calls.PHONE_ACCOUNT_COMPONENT_NAME)
+ .append(" IS NULL OR ")
+ .append(Calls.PHONE_ACCOUNT_COMPONENT_NAME)
+ .append(" NOT LIKE 'com.google.android.apps.tachyon%' OR ")
+ .append(Calls.FEATURES)
+ .append(" & ")
+ .append(Calls.FEATURES_VIDEO)
+ .append(" == ")
+ .append(Calls.FEATURES_VIDEO)
+ .append(")");
}
final int limit = (mLogLimit == -1) ? NUM_LOGS_TO_DISPLAY : mLogLimit;
diff --git a/java/com/android/dialer/interactions/res/values-bs/strings.xml b/java/com/android/dialer/interactions/res/values-bs/strings.xml
index d7434f898..24601b51a 100644
--- a/java/com/android/dialer/interactions/res/values-bs/strings.xml
+++ b/java/com/android/dialer/interactions/res/values-bs/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sms_disambig_title" msgid="369677069797534410">"Izaberite broj"</string>
- <string name="call_disambig_title" msgid="2395382326030227603">"Izaberite broj"</string>
+ <string name="sms_disambig_title" msgid="369677069797534410">"Odaberite broj"</string>
+ <string name="call_disambig_title" msgid="2395382326030227603">"Odaberite broj"</string>
<string name="make_primary" msgid="9069345357862475091">"Zapamti ovaj izbor"</string>
</resources>
diff --git a/java/com/android/dialer/postcall/PostCall.java b/java/com/android/dialer/postcall/PostCall.java
index b17a9b66d..6d9ad01a8 100644
--- a/java/com/android/dialer/postcall/PostCall.java
+++ b/java/com/android/dialer/postcall/PostCall.java
@@ -26,6 +26,7 @@ import android.support.design.widget.Snackbar;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
+import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.configprovider.ConfigProvider;
import com.android.dialer.configprovider.ConfigProviderBindings;
@@ -84,12 +85,12 @@ public class PostCall {
? activity.getString(R.string.post_call_add_message)
: activity.getString(R.string.post_call_send_message);
+ String number = Assert.isNotNull(getPhoneNumber(activity));
OnClickListener onClickListener =
v -> {
Logger.get(activity)
.logImpression(DialerImpression.Type.POST_CALL_PROMPT_USER_TO_SEND_MESSAGE_CLICKED);
- activity.startActivity(
- PostCallActivity.newIntent(activity, getPhoneNumber(activity), isRcsPostCall));
+ activity.startActivity(PostCallActivity.newIntent(activity, number, isRcsPostCall));
};
int durationMs =
@@ -113,12 +114,13 @@ public class PostCall {
"returned from sending a post call message, message sent.");
String message = activity.getString(R.string.post_call_message_sent);
String addMessage = activity.getString(R.string.view);
+ String number = Assert.isNotNull(getPhoneNumber(activity));
OnClickListener onClickListener =
v -> {
Logger.get(activity)
.logImpression(
DialerImpression.Type.POST_CALL_PROMPT_USER_TO_VIEW_SENT_MESSAGE_CLICKED);
- Intent intent = IntentUtil.getSendSmsIntent(getPhoneNumber(activity));
+ Intent intent = IntentUtil.getSendSmsIntent(number);
DialerUtils.startActivityWithErrorToast(activity, intent);
};
diff --git a/java/com/android/dialer/protos/ProtoParsers.java b/java/com/android/dialer/protos/ProtoParsers.java
index 5a60799bc..e5292061b 100644
--- a/java/com/android/dialer/protos/ProtoParsers.java
+++ b/java/com/android/dialer/protos/ProtoParsers.java
@@ -30,8 +30,14 @@ public final class ProtoParsers {
/** Retrieve a proto from a Bundle which was not created within the current executable/version. */
@SuppressWarnings("unchecked") // We want to eventually optimize away parser classes, so cast
- public static <T extends MessageLite> T get(Bundle bundle, String key, T defaultInstance)
+ public static <T extends MessageLite> T get(
+ @NonNull Bundle bundle, @NonNull String key, @NonNull T defaultInstance)
throws InvalidProtocolBufferException {
+
+ Assert.isNotNull(bundle);
+ Assert.isNotNull(key);
+ Assert.isNotNull(defaultInstance);
+
byte[] bytes = bundle.getByteArray(key);
return (T) mergeFrom(bytes, defaultInstance.getDefaultInstanceForType());
}
@@ -41,7 +47,8 @@ public final class ProtoParsers {
*
* @throws RuntimeException if the proto cannot be parsed
*/
- public static <T extends MessageLite> T getTrusted(Bundle bundle, String key, T defaultInstance) {
+ public static <T extends MessageLite> T getTrusted(
+ @NonNull Bundle bundle, @NonNull String key, @NonNull T defaultInstance) {
try {
return get(bundle, key, defaultInstance);
} catch (InvalidProtocolBufferException e) {
@@ -54,7 +61,9 @@ public final class ProtoParsers {
*
* @throws RuntimeException if the proto cannot be parsed
*/
- public static <T extends MessageLite> T getTrusted(Intent intent, String key, T defaultInstance) {
+ public static <T extends MessageLite> T getTrusted(
+ @NonNull Intent intent, @NonNull String key, @NonNull T defaultInstance) {
+ Assert.isNotNull(intent);
return getTrusted(intent.getExtras(), key, defaultInstance);
}
@@ -64,7 +73,9 @@ public final class ProtoParsers {
*/
public static void put(
@NonNull Bundle bundle, @NonNull String key, @NonNull MessageLite message) {
- Assert.checkState(message != null);
+ Assert.isNotNull(message);
+ Assert.isNotNull(bundle);
+ Assert.isNotNull(key);
bundle.putByteArray(key, message.toByteArray());
}
@@ -72,8 +83,11 @@ public final class ProtoParsers {
* Stores a proto in an Intent, for later retrieval by {@link #get(Bundle, String, MessageLite)}.
* Needs separate method because Intent has similar to but different API than Bundle.
*/
- public static void put(@NonNull Intent intent, @NonNull String key, MessageLite message) {
- Assert.checkState(message != null);
+ public static void put(
+ @NonNull Intent intent, @NonNull String key, @NonNull MessageLite message) {
+ Assert.isNotNull(message);
+ Assert.isNotNull(intent);
+ Assert.isNotNull(key);
intent.putExtra(key, message.toByteArray());
}
diff --git a/java/com/android/dialer/theme/res/values-af/strings.xml b/java/com/android/dialer/theme/res/values-af/strings.xml
index 17e6ceac4..9681aee94 100644
--- a/java/com/android/dialer/theme/res/values-af/strings.xml
+++ b/java/com/android/dialer/theme/res/values-af/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefoonhokkie"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Foon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratoestemming is geaktiveer"</string>
<string name="video_call" msgid="8914878391104612532">"Video-oproep"</string>
<string name="call" msgid="3699617769606114168">"Bel"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-am/strings.xml b/java/com/android/dialer/theme/res/values-am/strings.xml
index 5b0b2fd1f..0bbcc02b7 100644
--- a/java/com/android/dialer/theme/res/values-am/strings.xml
+++ b/java/com/android/dialer/theme/res/values-am/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"የሕዝብ ስልክ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ስልክ"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"የካሜራ ፈቃድ ነቅቷል"</string>
<string name="video_call" msgid="8914878391104612532">"የቪዲዮ ጥሪ"</string>
<string name="call" msgid="3699617769606114168">"ደውል"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ar/strings.xml b/java/com/android/dialer/theme/res/values-ar/strings.xml
index ea3468e61..c474c6e44 100644
--- a/java/com/android/dialer/theme/res/values-ar/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ar/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"هاتف يعمل بالعملة"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"الهاتف"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"تم تمكين إذن الكاميرا"</string>
<string name="video_call" msgid="8914878391104612532">"مكالمة فيديو"</string>
<string name="call" msgid="3699617769606114168">"اتصال"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-az/strings.xml b/java/com/android/dialer/theme/res/values-az/strings.xml
index 91ead1b68..f3e7a014d 100644
--- a/java/com/android/dialer/theme/res/values-az/strings.xml
+++ b/java/com/android/dialer/theme/res/values-az/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Taksofon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera icazəsi aktiv edildi"</string>
<string name="video_call" msgid="8914878391104612532">"Video zəng"</string>
<string name="call" msgid="3699617769606114168">"Zəng edin"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml
index a1e59654f..e1a26fa90 100644
--- a/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonska govornica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Omogućena je dozvola za kameru"</string>
<string name="video_call" msgid="8914878391104612532">"Uputi video poziv"</string>
<string name="call" msgid="3699617769606114168">"Pozovi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-be/strings.xml b/java/com/android/dialer/theme/res/values-be/strings.xml
index 881aa7f20..305f608f0 100644
--- a/java/com/android/dialer/theme/res/values-be/strings.xml
+++ b/java/com/android/dialer/theme/res/values-be/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Таксафон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Тэлефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Уключаны дазвол на выкарыстанне камеры"</string>
<string name="video_call" msgid="8914878391104612532">"Відэавыклік"</string>
<string name="call" msgid="3699617769606114168">"Выклікаць"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-bg/strings.xml b/java/com/android/dialer/theme/res/values-bg/strings.xml
index debc23803..77c80863b 100644
--- a/java/com/android/dialer/theme/res/values-bg/strings.xml
+++ b/java/com/android/dialer/theme/res/values-bg/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Обществен телефон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Активирано бе разрешението за камерата"</string>
<string name="video_call" msgid="8914878391104612532">"Видеообаждане"</string>
<string name="call" msgid="3699617769606114168">"Обаждане"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-bn/strings.xml b/java/com/android/dialer/theme/res/values-bn/strings.xml
index 806ee8e02..1e13496ed 100644
--- a/java/com/android/dialer/theme/res/values-bn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-bn/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"পে ফোন"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ফোন"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ক্যামেরার অনুমতি সক্ষম করা হয়েছে"</string>
<string name="video_call" msgid="8914878391104612532">"ভিডিও কল"</string>
<string name="call" msgid="3699617769606114168">"কল করুন"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-bs/strings.xml b/java/com/android/dialer/theme/res/values-bs/strings.xml
index bed71a230..051e4e947 100644
--- a/java/com/android/dialer/theme/res/values-bs/strings.xml
+++ b/java/com/android/dialer/theme/res/values-bs/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonska govornica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Dozvola za kameru je omogućena"</string>
<string name="video_call" msgid="8914878391104612532">"Videopoziv"</string>
<string name="call" msgid="3699617769606114168">"Pozovi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ca/strings.xml b/java/com/android/dialer/theme/res/values-ca/strings.xml
index 5140ca574..ce3bd4316 100644
--- a/java/com/android/dialer/theme/res/values-ca/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ca/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telèfon públic"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telèfon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"S\'ha activat el permís d\'accés a la càmera"</string>
<string name="video_call" msgid="8914878391104612532">"Videotrucada"</string>
<string name="call" msgid="3699617769606114168">"Truca"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-cs/strings.xml b/java/com/android/dialer/theme/res/values-cs/strings.xml
index a951fe7a8..235260fb1 100644
--- a/java/com/android/dialer/theme/res/values-cs/strings.xml
+++ b/java/com/android/dialer/theme/res/values-cs/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonní automat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Byl povolen přístup k fotoaparátu"</string>
<string name="video_call" msgid="8914878391104612532">"Zahájit videohovor"</string>
<string name="call" msgid="3699617769606114168">"Volat"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-da/strings.xml b/java/com/android/dialer/theme/res/values-da/strings.xml
index 54f185041..552574486 100644
--- a/java/com/android/dialer/theme/res/values-da/strings.xml
+++ b/java/com/android/dialer/theme/res/values-da/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Mønttelefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Opkald"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratilladelse er aktiveret"</string>
<string name="video_call" msgid="8914878391104612532">"Videoopkald"</string>
<string name="call" msgid="3699617769606114168">"Ring op"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-de/strings.xml b/java/com/android/dialer/theme/res/values-de/strings.xml
index 0c97581cb..b1555773d 100644
--- a/java/com/android/dialer/theme/res/values-de/strings.xml
+++ b/java/com/android/dialer/theme/res/values-de/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Münztelefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Berechtigung für Kamera aktiviert"</string>
<string name="video_call" msgid="8914878391104612532">"Videoanruf"</string>
<string name="call" msgid="3699617769606114168">"Anrufen"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-el/strings.xml b/java/com/android/dialer/theme/res/values-el/strings.xml
index 1c34a69c7..156b7cdbe 100644
--- a/java/com/android/dialer/theme/res/values-el/strings.xml
+++ b/java/com/android/dialer/theme/res/values-el/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Τηλέφωνο με χρέωση"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Τηλέφωνο"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Το δικαίωμα χρήσης της κάμερας έχει ενεργοποιηθεί"</string>
<string name="video_call" msgid="8914878391104612532">"Βιντεοκλήση"</string>
<string name="call" msgid="3699617769606114168">"Κλήση"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-en-rAU/strings.xml b/java/com/android/dialer/theme/res/values-en-rAU/strings.xml
index 136d7df33..36de9e5ae 100644
--- a/java/com/android/dialer/theme/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/theme/res/values-en-rAU/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string>
<string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Call"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-en-rGB/strings.xml b/java/com/android/dialer/theme/res/values-en-rGB/strings.xml
index 136d7df33..36de9e5ae 100644
--- a/java/com/android/dialer/theme/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/theme/res/values-en-rGB/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string>
<string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Call"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-en-rIN/strings.xml b/java/com/android/dialer/theme/res/values-en-rIN/strings.xml
index 136d7df33..36de9e5ae 100644
--- a/java/com/android/dialer/theme/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/theme/res/values-en-rIN/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string>
<string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Call"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-es-rUS/strings.xml b/java/com/android/dialer/theme/res/values-es-rUS/strings.xml
index 90837b76a..be2eac8fc 100644
--- a/java/com/android/dialer/theme/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/theme/res/values-es-rUS/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Teléfono público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Se activó el permiso de la cámara"</string>
<string name="video_call" msgid="8914878391104612532">"Videollamada"</string>
<string name="call" msgid="3699617769606114168">"Llamar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-es/strings.xml b/java/com/android/dialer/theme/res/values-es/strings.xml
index c2d3ee3d4..c63374c24 100644
--- a/java/com/android/dialer/theme/res/values-es/strings.xml
+++ b/java/com/android/dialer/theme/res/values-es/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Teléfono público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Se ha habilitado el acceso a la cámara"</string>
<string name="video_call" msgid="8914878391104612532">"Videollamada"</string>
<string name="call" msgid="3699617769606114168">"Llamar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-et/strings.xml b/java/com/android/dialer/theme/res/values-et/strings.xml
index 269fa6403..1f76a4b20 100644
--- a/java/com/android/dialer/theme/res/values-et/strings.xml
+++ b/java/com/android/dialer/theme/res/values-et/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefoniautomaat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kaameraluba on antud"</string>
<string name="video_call" msgid="8914878391104612532">"Videokõne"</string>
<string name="call" msgid="3699617769606114168">"Helista"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-eu/strings.xml b/java/com/android/dialer/theme/res/values-eu/strings.xml
index 14345f05f..8b284671a 100644
--- a/java/com/android/dialer/theme/res/values-eu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-eu/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefono publikoa"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefonoa"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera atzitzeko baimena eman da"</string>
<string name="video_call" msgid="8914878391104612532">"Bideo-deia"</string>
<string name="call" msgid="3699617769606114168">"Deitu"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fa/strings.xml b/java/com/android/dialer/theme/res/values-fa/strings.xml
index f751f3404..340adb156 100644
--- a/java/com/android/dialer/theme/res/values-fa/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fa/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="ID">%d</xliff:g> <xliff:g id="UNKNOWN">%s</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"تلفن عمومی"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"تلفن"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"مجوز دوربین فعال شد"</string>
<string name="video_call" msgid="8914878391104612532">"تماس ویدیویی"</string>
<string name="call" msgid="3699617769606114168">"تماس"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fi/strings.xml b/java/com/android/dialer/theme/res/values-fi/strings.xml
index 0c09d7f43..52cab8a83 100644
--- a/java/com/android/dialer/theme/res/values-fi/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fi/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Maksupuhelin"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Puhelin"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameran käyttöoikeus myönnettiin"</string>
<string name="video_call" msgid="8914878391104612532">"Videopuhelu"</string>
<string name="call" msgid="3699617769606114168">"Soita"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml b/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml
index 7d901ca39..b1d0ff12d 100644
--- a/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Cabine téléphonique"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Téléphone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Autorisation d\'accès à l\'appareil photo activée"</string>
<string name="video_call" msgid="8914878391104612532">"Appel vidéo"</string>
<string name="call" msgid="3699617769606114168">"Appeler"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fr/strings.xml b/java/com/android/dialer/theme/res/values-fr/strings.xml
index 1c30ef1e7..b1d0ff12d 100644
--- a/java/com/android/dialer/theme/res/values-fr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fr/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Cabine téléphonique"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Téléphone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Autorisation d\'accès à l\'appareil photo accordée"</string>
<string name="video_call" msgid="8914878391104612532">"Appel vidéo"</string>
<string name="call" msgid="3699617769606114168">"Appeler"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-gl/strings.xml b/java/com/android/dialer/theme/res/values-gl/strings.xml
index 083d395ad..1788843f2 100644
--- a/java/com/android/dialer/theme/res/values-gl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-gl/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Teléfono público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Activouse o permiso de acceso á cámara"</string>
<string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Chamar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-gu/strings.xml b/java/com/android/dialer/theme/res/values-gu/strings.xml
index 4baba6971..8de6e2a4a 100644
--- a/java/com/android/dialer/theme/res/values-gu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-gu/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"પેફોન"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ફોન"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"કૅમેરાની પરવાનગી સક્ષમ કરી"</string>
<string name="video_call" msgid="8914878391104612532">"વિડિઓ કૉલ"</string>
<string name="call" msgid="3699617769606114168">"કૉલ કરો"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hi/strings.xml b/java/com/android/dialer/theme/res/values-hi/strings.xml
index 758be5d22..fbc56e9c9 100644
--- a/java/com/android/dialer/theme/res/values-hi/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hi/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"पे-फ़ोन"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"फ़ोन"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"कैमरे की अनुमति सक्षम की गई"</string>
<string name="video_call" msgid="8914878391104612532">"वीडियो कॉल"</string>
<string name="call" msgid="3699617769606114168">"कॉल करें"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hr/strings.xml b/java/com/android/dialer/theme/res/values-hr/strings.xml
index 89a5aeec2..73c6542f9 100644
--- a/java/com/android/dialer/theme/res/values-hr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hr/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Javna telefonska govornica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Omogućen je pristup kameri"</string>
<string name="video_call" msgid="8914878391104612532">"Videopoziv"</string>
<string name="call" msgid="3699617769606114168">"Pozovi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hu/strings.xml b/java/com/android/dialer/theme/res/values-hu/strings.xml
index 30051d430..d70977df4 100644
--- a/java/com/android/dialer/theme/res/values-hu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hu/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Nyilvános telefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameraengedély megadva"</string>
<string name="video_call" msgid="8914878391104612532">"Videohívás"</string>
<string name="call" msgid="3699617769606114168">"Hívás"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hy/strings.xml b/java/com/android/dialer/theme/res/values-hy/strings.xml
index 6577dab16..5f53c9fea 100644
--- a/java/com/android/dialer/theme/res/values-hy/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hy/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Բջջային տերմինալ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Հեռախոս"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Տեսախցիկից օգտվելու թույլտվությունը տրամադրված է"</string>
<string name="video_call" msgid="8914878391104612532">"Տեսազանգ"</string>
<string name="call" msgid="3699617769606114168">"Զանգել"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-in/strings.xml b/java/com/android/dialer/theme/res/values-in/strings.xml
index d2d72b832..193c6e949 100644
--- a/java/com/android/dialer/theme/res/values-in/strings.xml
+++ b/java/com/android/dialer/theme/res/values-in/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telepon Umum"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telepon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Izin kamera diaktifkan"</string>
<string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Telepon"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-is/strings.xml b/java/com/android/dialer/theme/res/values-is/strings.xml
index ff3faf836..6a67ad942 100644
--- a/java/com/android/dialer/theme/res/values-is/strings.xml
+++ b/java/com/android/dialer/theme/res/values-is/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Símasjálfsali"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Sími"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Myndavélarheimild virk"</string>
<string name="video_call" msgid="8914878391104612532">"Hringja myndsímtal"</string>
<string name="call" msgid="3699617769606114168">"Hringja"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-it/strings.xml b/java/com/android/dialer/theme/res/values-it/strings.xml
index 4b26288ac..46c6d56b8 100644
--- a/java/com/android/dialer/theme/res/values-it/strings.xml
+++ b/java/com/android/dialer/theme/res/values-it/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Cabina telefonica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefono"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Autorizzazioni della fotocamera attivate"</string>
<string name="video_call" msgid="8914878391104612532">"Videochiamata"</string>
<string name="call" msgid="3699617769606114168">"Chiama"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-iw/strings.xml b/java/com/android/dialer/theme/res/values-iw/strings.xml
index 09abf2ed1..1bc8cbbaa 100644
--- a/java/com/android/dialer/theme/res/values-iw/strings.xml
+++ b/java/com/android/dialer/theme/res/values-iw/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"טלפון ציבורי"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"טלפון"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"הרשאת הגישה למצלמה הופעלה"</string>
<string name="video_call" msgid="8914878391104612532">"שיחת וידאו"</string>
<string name="call" msgid="3699617769606114168">"התקשר"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ja/strings.xml b/java/com/android/dialer/theme/res/values-ja/strings.xml
index 551d67983..839495d5b 100644
--- a/java/com/android/dialer/theme/res/values-ja/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ja/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g>(<xliff:g id="ID">%d</xliff:g>)"</string>
<string name="payphone" msgid="7106361320283710387">"公衆電話"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"カメラへのアクセスを自動で許可しました"</string>
<string name="video_call" msgid="8914878391104612532">"ビデオハングアウト"</string>
<string name="call" msgid="3699617769606114168">"発信"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ka/strings.xml b/java/com/android/dialer/theme/res/values-ka/strings.xml
index ab225954e..37fdabdb1 100644
--- a/java/com/android/dialer/theme/res/values-ka/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ka/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"გადახდის ტელეფონი"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ტელეფონი"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"კამერაზე წვდომის ნებართვა ჩართულია"</string>
<string name="video_call" msgid="8914878391104612532">"ვიდეოზარი"</string>
<string name="call" msgid="3699617769606114168">"დარეკვა"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-kk/strings.xml b/java/com/android/dialer/theme/res/values-kk/strings.xml
index d3a1b7bb9..1b6a516e6 100644
--- a/java/com/android/dialer/theme/res/values-kk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-kk/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Автомат-телефон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Камера рұқсаты қосылды"</string>
<string name="video_call" msgid="8914878391104612532">"Бейне қоңырау"</string>
<string name="call" msgid="3699617769606114168">"Қоңырау шалу"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-km/strings.xml b/java/com/android/dialer/theme/res/values-km/strings.xml
index 900f1d690..cfc20104d 100644
--- a/java/com/android/dialer/theme/res/values-km/strings.xml
+++ b/java/com/android/dialer/theme/res/values-km/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ទូរស័ព្ទសាធារណៈ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ទូរស័ព្ទ"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"បានបើក​ការអនុញ្ញាត​កាមេរ៉ា"</string>
<string name="video_call" msgid="8914878391104612532">"ការ​ហៅវីដេអូ"</string>
<string name="call" msgid="3699617769606114168">"ហៅ​ទូរសព្ទ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-kn/strings.xml b/java/com/android/dialer/theme/res/values-kn/strings.xml
index ab9f816db..dffa10e08 100644
--- a/java/com/android/dialer/theme/res/values-kn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-kn/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ಪೇಫೋನ್"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ಫೋನ್"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ಕ್ಯಾಮರಾ ಅನುಮತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
<string name="video_call" msgid="8914878391104612532">"ವೀಡಿಯೊ ಕರೆ"</string>
<string name="call" msgid="3699617769606114168">"ಕರೆಮಾಡಿ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ko/strings.xml b/java/com/android/dialer/theme/res/values-ko/strings.xml
index b5ac55695..ff6710c95 100644
--- a/java/com/android/dialer/theme/res/values-ko/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ko/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"공중전화"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"휴대전화"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"카메라 권한 사용 가능"</string>
<string name="video_call" msgid="8914878391104612532">"화상 통화"</string>
<string name="call" msgid="3699617769606114168">"전화"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ky/strings.xml b/java/com/android/dialer/theme/res/values-ky/strings.xml
index 0a9bec294..036c27096 100644
--- a/java/com/android/dialer/theme/res/values-ky/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ky/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Таксофон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Камеранын уруксаты иштетилди"</string>
<string name="video_call" msgid="8914878391104612532">"Видео чалуу"</string>
<string name="call" msgid="3699617769606114168">"Чалуу"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-lo/strings.xml b/java/com/android/dialer/theme/res/values-lo/strings.xml
index d33d43e5b..9204a022d 100644
--- a/java/com/android/dialer/theme/res/values-lo/strings.xml
+++ b/java/com/android/dialer/theme/res/values-lo/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ຕູ້​ໂທ​ລະ​ສັບ​ສາ​ທາ​ລະ​ນະ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ໂທລະສັບ"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ເປີດໃຊ້ສິດອະນຸຍາດກ້ອງຖ່າຍຮູບແລ້ວ"</string>
<string name="video_call" msgid="8914878391104612532">"ໂທວິດີໂອ"</string>
<string name="call" msgid="3699617769606114168">"ໂທ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-lt/strings.xml b/java/com/android/dialer/theme/res/values-lt/strings.xml
index fdf31e227..be145363c 100644
--- a/java/com/android/dialer/theme/res/values-lt/strings.xml
+++ b/java/com/android/dialer/theme/res/values-lt/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="ID">%d</xliff:g> <xliff:g id="UNKNOWN">%s</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Taksofonas"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefonas"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Fotoaparato leidimas įgalintas"</string>
<string name="video_call" msgid="8914878391104612532">"Vaizdo skambutis"</string>
<string name="call" msgid="3699617769606114168">"Skambinti"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-lv/strings.xml b/java/com/android/dialer/theme/res/values-lv/strings.xml
index 031c5bdea..35b742f84 100644
--- a/java/com/android/dialer/theme/res/values-lv/strings.xml
+++ b/java/com/android/dialer/theme/res/values-lv/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Maksas tālrunis"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Tālrunis"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameras atļauja iespējota"</string>
<string name="video_call" msgid="8914878391104612532">"Videozvans"</string>
<string name="call" msgid="3699617769606114168">"Zvanīt"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-mk/strings.xml b/java/com/android/dialer/theme/res/values-mk/strings.xml
index d89d12e90..3975ae5ff 100644
--- a/java/com/android/dialer/theme/res/values-mk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-mk/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Говорница"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Дозволата за камера е овозможена"</string>
<string name="video_call" msgid="8914878391104612532">"Воспоставете видеоповик"</string>
<string name="call" msgid="3699617769606114168">"Повикајте"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ml/strings.xml b/java/com/android/dialer/theme/res/values-ml/strings.xml
index f02ceeb06..146bfdf60 100644
--- a/java/com/android/dialer/theme/res/values-ml/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ml/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"പണം നൽകി ഉപയോഗിക്കുന്ന ഫോൺ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ഫോണ്‍"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ക്യാമറ അനുമതി നൽകി"</string>
<string name="video_call" msgid="8914878391104612532">"വീഡിയോ കോള്‍"</string>
<string name="call" msgid="3699617769606114168">"വിളിക്കുക"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-mn/strings.xml b/java/com/android/dialer/theme/res/values-mn/strings.xml
index 7a07e5d4d..0e27e8db0 100644
--- a/java/com/android/dialer/theme/res/values-mn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-mn/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Утас"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Камерын зөвшөөрөл идэвхжсэн"</string>
<string name="video_call" msgid="8914878391104612532">"Видео дуудлага"</string>
<string name="call" msgid="3699617769606114168">"Залгах"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-mr/strings.xml b/java/com/android/dialer/theme/res/values-mr/strings.xml
index eeb9afa1e..7fa6f26d9 100644
--- a/java/com/android/dialer/theme/res/values-mr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-mr/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"सार्वजनिक फोन"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"फोन"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"कॅमेरा परवानगी सक्षम केली"</string>
<string name="video_call" msgid="8914878391104612532">"व्हिडिओ कॉल"</string>
<string name="call" msgid="3699617769606114168">"कॉल करा"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ms/strings.xml b/java/com/android/dialer/theme/res/values-ms/strings.xml
index 2e424fdf7..18df9122d 100644
--- a/java/com/android/dialer/theme/res/values-ms/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ms/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefon Awam"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kebenaran kamera didayakan"</string>
<string name="video_call" msgid="8914878391104612532">"Panggilan video"</string>
<string name="call" msgid="3699617769606114168">"Panggil"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-my/strings.xml b/java/com/android/dialer/theme/res/values-my/strings.xml
index 97b871b30..67b9b28c7 100644
--- a/java/com/android/dialer/theme/res/values-my/strings.xml
+++ b/java/com/android/dialer/theme/res/values-my/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ငွေပေးရသည့်ဖုန်း"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ဖုန်း"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ကင်မရာအသုံးပြုခွင့် ဖွင့်ထားပါသည်"</string>
<string name="video_call" msgid="8914878391104612532">"ဗီဒီယိုခေါ်ဆိုမှု"</string>
<string name="call" msgid="3699617769606114168">"ခေါ်ဆိုရန်"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-nb/strings.xml b/java/com/android/dialer/theme/res/values-nb/strings.xml
index 7587b7e30..1a6e593e5 100644
--- a/java/com/android/dialer/theme/res/values-nb/strings.xml
+++ b/java/com/android/dialer/theme/res/values-nb/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonkiosk"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratillatelsen er aktivert"</string>
<string name="video_call" msgid="8914878391104612532">"Videosamtale"</string>
<string name="call" msgid="3699617769606114168">"Ring"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ne/strings.xml b/java/com/android/dialer/theme/res/values-ne/strings.xml
index af1ad5e24..eb73de90c 100644
--- a/java/com/android/dialer/theme/res/values-ne/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ne/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"पेफोन"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"फोन"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"क्यामेरा सम्बन्धी अनुमतिहरूलाई सक्षम पारियो"</string>
<string name="video_call" msgid="8914878391104612532">"भिडियो कल"</string>
<string name="call" msgid="3699617769606114168">"कल गर्नुहोस्"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-nl/strings.xml b/java/com/android/dialer/theme/res/values-nl/strings.xml
index ab51c97ae..36e904cc2 100644
--- a/java/com/android/dialer/theme/res/values-nl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-nl/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefooncel"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefoon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Camerarechten ingeschakeld"</string>
<string name="video_call" msgid="8914878391104612532">"Videogesprek"</string>
<string name="call" msgid="3699617769606114168">"Bellen"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-no/strings.xml b/java/com/android/dialer/theme/res/values-no/strings.xml
index 7587b7e30..1a6e593e5 100644
--- a/java/com/android/dialer/theme/res/values-no/strings.xml
+++ b/java/com/android/dialer/theme/res/values-no/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonkiosk"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratillatelsen er aktivert"</string>
<string name="video_call" msgid="8914878391104612532">"Videosamtale"</string>
<string name="call" msgid="3699617769606114168">"Ring"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pa/strings.xml b/java/com/android/dialer/theme/res/values-pa/strings.xml
index 8784bcae1..af263c82c 100644
--- a/java/com/android/dialer/theme/res/values-pa/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pa/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ਪੇਫੋਨ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ਫੋਨ"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ਕੈਮਰਾ ਇਜਾਜ਼ਤ ਨੂੰ ਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
<string name="video_call" msgid="8914878391104612532">"ਵੀਡੀਓ ਕਾਲ"</string>
<string name="call" msgid="3699617769606114168">"ਕਾਲ ਕਰੋ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pl/strings.xml b/java/com/android/dialer/theme/res/values-pl/strings.xml
index 246261e97..a25df0a2a 100644
--- a/java/com/android/dialer/theme/res/values-pl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pl/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Automat telefoniczny"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Uprawnienia do korzystania z aparatu zostały włączone"</string>
<string name="video_call" msgid="8914878391104612532">"Rozmowa wideo"</string>
<string name="call" msgid="3699617769606114168">"Zadzwoń"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml b/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml
index c1356d9b3..9f44269aa 100644
--- a/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefone público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Permissão de câmera ativada"</string>
<string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Ligar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml b/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml
index 2b46e44a1..1b77257e8 100644
--- a/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefone público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Autorização da câmara ativada"</string>
<string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Telefonar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pt/strings.xml b/java/com/android/dialer/theme/res/values-pt/strings.xml
index c1356d9b3..9f44269aa 100644
--- a/java/com/android/dialer/theme/res/values-pt/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pt/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefone público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Permissão de câmera ativada"</string>
<string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Ligar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ro/strings.xml b/java/com/android/dialer/theme/res/values-ro/strings.xml
index 8978e9240..1cf8c8ca0 100644
--- a/java/com/android/dialer/theme/res/values-ro/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ro/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefon public"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Permisiunea pentru cameră a fost activată."</string>
<string name="video_call" msgid="8914878391104612532">"Apel video"</string>
<string name="call" msgid="3699617769606114168">"Apelați"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ru/strings.xml b/java/com/android/dialer/theme/res/values-ru/strings.xml
index a155052be..8aa6e8fa0 100644
--- a/java/com/android/dialer/theme/res/values-ru/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ru/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Телефон-автомат"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Доступ к камере разрешен"</string>
<string name="video_call" msgid="8914878391104612532">"Видеовызов"</string>
<string name="call" msgid="3699617769606114168">"Позвонить"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-si/strings.xml b/java/com/android/dialer/theme/res/values-si/strings.xml
index 424a11255..04d04687d 100644
--- a/java/com/android/dialer/theme/res/values-si/strings.xml
+++ b/java/com/android/dialer/theme/res/values-si/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"පේෆෝනය"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"දුරකථනය"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"කැමරා අවසර සබල කර ඇත"</string>
<string name="video_call" msgid="8914878391104612532">"වීඩියෝ ඇමතුම"</string>
<string name="call" msgid="3699617769606114168">"ඇමතුම"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sk/strings.xml b/java/com/android/dialer/theme/res/values-sk/strings.xml
index 411b85edc..9e56e12ab 100644
--- a/java/com/android/dialer/theme/res/values-sk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sk/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefónny automat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefón"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Povolenie pre fotoaparát je aktivované"</string>
<string name="video_call" msgid="8914878391104612532">"Videohovor"</string>
<string name="call" msgid="3699617769606114168">"Volať"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sl/strings.xml b/java/com/android/dialer/theme/res/values-sl/strings.xml
index 85a3e2b8e..623653563 100644
--- a/java/com/android/dialer/theme/res/values-sl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sl/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonska govorilnica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Dovoljenje za dostop do fotoaparata je omogočeno"</string>
<string name="video_call" msgid="8914878391104612532">"Videoklic"</string>
<string name="call" msgid="3699617769606114168">"Pokliči"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sq/strings.xml b/java/com/android/dialer/theme/res/values-sq/strings.xml
index 5cbd587d3..6fecf147a 100644
--- a/java/com/android/dialer/theme/res/values-sq/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sq/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefon me pagesë"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefoni"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Leja e kamerës është aktivizuar"</string>
<string name="video_call" msgid="8914878391104612532">"Telefonatë me video"</string>
<string name="call" msgid="3699617769606114168">"Telefono"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sr/strings.xml b/java/com/android/dialer/theme/res/values-sr/strings.xml
index 310da735d..8f910540b 100644
--- a/java/com/android/dialer/theme/res/values-sr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sr/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Телефонска говорница"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Омогућена је дозвола за камеру"</string>
<string name="video_call" msgid="8914878391104612532">"Упути видео позив"</string>
<string name="call" msgid="3699617769606114168">"Позови"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sv/strings.xml b/java/com/android/dialer/theme/res/values-sv/strings.xml
index af8e5f7b1..f31a3788c 100644
--- a/java/com/android/dialer/theme/res/values-sv/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sv/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonautomat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kamerabehörighet har aktiverats"</string>
<string name="video_call" msgid="8914878391104612532">"Videosamtal"</string>
<string name="call" msgid="3699617769606114168">"Ring"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sw/strings.xml b/java/com/android/dialer/theme/res/values-sw/strings.xml
index 31615febb..c35d56017 100644
--- a/java/com/android/dialer/theme/res/values-sw/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sw/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Simu ya kulipia"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Simu"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Imewasha ruhusa ya kamera"</string>
<string name="video_call" msgid="8914878391104612532">"Simu ya video"</string>
<string name="call" msgid="3699617769606114168">"Piga simu"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ta/strings.xml b/java/com/android/dialer/theme/res/values-ta/strings.xml
index ab15f0b0c..737e43edf 100644
--- a/java/com/android/dialer/theme/res/values-ta/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ta/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"கட்டணத் தொலைபேசி"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"மொபைல்"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"கேமராவிற்கான அனுமதி இயக்கப்பட்டது"</string>
<string name="video_call" msgid="8914878391104612532">"வீடியோ அழைப்பு"</string>
<string name="call" msgid="3699617769606114168">"அழை"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-te/strings.xml b/java/com/android/dialer/theme/res/values-te/strings.xml
index 4a6fca1fb..c1a02123c 100644
--- a/java/com/android/dialer/theme/res/values-te/strings.xml
+++ b/java/com/android/dialer/theme/res/values-te/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"పే ఫోన్"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ఫోన్"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"కెమెరా అనుమతిని ప్రారంభించాము"</string>
<string name="video_call" msgid="8914878391104612532">"వీడియో కాల్"</string>
<string name="call" msgid="3699617769606114168">"కాల్ చేయి"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-th/strings.xml b/java/com/android/dialer/theme/res/values-th/strings.xml
index 51db053fa..0df98d9c4 100644
--- a/java/com/android/dialer/theme/res/values-th/strings.xml
+++ b/java/com/android/dialer/theme/res/values-th/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"โทรศัพท์สาธารณะ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"โทรศัพท์"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"ให้สิทธิ์เข้าถึงกล้องถ่ายรูปแล้ว"</string>
<string name="video_call" msgid="8914878391104612532">"แฮงเอาท์วิดีโอ"</string>
<string name="call" msgid="3699617769606114168">"โทร"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-tl/strings.xml b/java/com/android/dialer/theme/res/values-tl/strings.xml
index 97f69ec1c..573b6b889 100644
--- a/java/com/android/dialer/theme/res/values-tl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-tl/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telepono"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Na-enable ang pahintulot sa camera"</string>
<string name="video_call" msgid="8914878391104612532">"Mag-video call"</string>
<string name="call" msgid="3699617769606114168">"Tawag"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-tr/strings.xml b/java/com/android/dialer/theme/res/values-tr/strings.xml
index b38f0674d..21e288964 100644
--- a/java/com/android/dialer/theme/res/values-tr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-tr/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Ankesörlü telefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera izni etkinleştirildi"</string>
<string name="video_call" msgid="8914878391104612532">"Görüntülü görüşme"</string>
<string name="call" msgid="3699617769606114168">"Telefon et"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-uk/strings.xml b/java/com/android/dialer/theme/res/values-uk/strings.xml
index f0702770a..dab89df98 100644
--- a/java/com/android/dialer/theme/res/values-uk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-uk/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Таксофон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Камері надано дозвіл"</string>
<string name="video_call" msgid="8914878391104612532">"Відеодзвінок"</string>
<string name="call" msgid="3699617769606114168">"Виклик"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ur/strings.xml b/java/com/android/dialer/theme/res/values-ur/strings.xml
index e9a4b44bb..187eb22d2 100644
--- a/java/com/android/dialer/theme/res/values-ur/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ur/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"پے فون"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"فون"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"کیمرا کی اجازت فعال ہے"</string>
<string name="video_call" msgid="8914878391104612532">"ویڈیو کال"</string>
<string name="call" msgid="3699617769606114168">"کال کریں"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-uz/strings.xml b/java/com/android/dialer/theme/res/values-uz/strings.xml
index 2bbaf2080..959ca779a 100644
--- a/java/com/android/dialer/theme/res/values-uz/strings.xml
+++ b/java/com/android/dialer/theme/res/values-uz/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Taksofon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Kameraga kirishga ruxsat berildi"</string>
<string name="video_call" msgid="8914878391104612532">"Video suhbat"</string>
<string name="call" msgid="3699617769606114168">"Chaqirish"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-vi/strings.xml b/java/com/android/dialer/theme/res/values-vi/strings.xml
index fae318091..38bd8ec4f 100644
--- a/java/com/android/dialer/theme/res/values-vi/strings.xml
+++ b/java/com/android/dialer/theme/res/values-vi/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Điện thoại công cộng"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Điện thoại"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Đã bật quyền sử dụng máy ảnh"</string>
<string name="video_call" msgid="8914878391104612532">"Gọi điện video"</string>
<string name="call" msgid="3699617769606114168">"Gọi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml b/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml
index 2e6096296..c80f19748 100644
--- a/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"公用电话"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"电话"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"已启用相机使用权限"</string>
<string name="video_call" msgid="8914878391104612532">"视频通话"</string>
<string name="call" msgid="3699617769606114168">"拨打电话"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml b/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml
index 7b08024ac..605089bbb 100644
--- a/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"公共電話"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"已啟用相機權限"</string>
<string name="video_call" msgid="8914878391104612532">"視像通話"</string>
<string name="call" msgid="3699617769606114168">"通話"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml b/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml
index 57d7fe2b1..7a5604c0a 100644
--- a/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"公用電話"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"已啟用相機權限"</string>
<string name="video_call" msgid="8914878391104612532">"視訊通話"</string>
<string name="call" msgid="3699617769606114168">"撥號"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zu/strings.xml b/java/com/android/dialer/theme/res/values-zu/strings.xml
index d0dd7288b..ae07c45cc 100644
--- a/java/com/android/dialer/theme/res/values-zu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zu/strings.xml
@@ -21,7 +21,6 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Ucingo olufakwa imali"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Ifoni"</string>
- <string name="camera_privacy_text" msgid="1318954032109938588">"Imvume yekhamera inikwe amandla"</string>
<string name="video_call" msgid="8914878391104612532">"Ikholi yevidiyo"</string>
<string name="call" msgid="3699617769606114168">"Shaya"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values/strings.xml b/java/com/android/dialer/theme/res/values/strings.xml
index af61d3596..74cabadf7 100644
--- a/java/com/android/dialer/theme/res/values/strings.xml
+++ b/java/com/android/dialer/theme/res/values/strings.xml
@@ -30,9 +30,6 @@
used in the Launcher icon. -->
<string name="launcherActivityLabel">Phone</string>
- <!-- Text presented to the user explaining that we have enabled the camera permission automatically -->
- <string name="camera_privacy_text">Camera permission enabled</string>
-
<!-- text on a button, Video call, as in to place a video call. -->
<string name="video_call">Video call</string>
diff --git a/java/com/android/dialer/util/PermissionsUtil.java b/java/com/android/dialer/util/PermissionsUtil.java
index 34828317d..cb973680d 100644
--- a/java/com/android/dialer/util/PermissionsUtil.java
+++ b/java/com/android/dialer/util/PermissionsUtil.java
@@ -38,6 +38,7 @@ import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.LocalBroadcastManager;
+import android.widget.Toast;
import com.android.dialer.common.LogUtil;
import java.util.ArrayList;
import java.util.Arrays;
@@ -47,6 +48,7 @@ import java.util.List;
/** Utility class to help with runtime permissions. */
public class PermissionsUtil {
+ private static final String PREFERENCE_CAMERA_ALLOWED_BY_USER = "camera_allowed_by_user";
private static final String PERMISSION_PREFERENCE = "dialer_permissions";
private static final String CEQUINT_PERMISSION = "com.cequint.ecid.CALLER_ID_LOOKUP";
@@ -207,4 +209,28 @@ public class PermissionsUtil {
}
return permissionsCurrentlyDenied.toArray(new String[permissionsCurrentlyDenied.size()]);
}
+
+ /**
+ * Since we are granted the camera permission automatically as a first-party app, we need to show
+ * a toast to let users know the permission was granted for privacy reasons.
+ *
+ * @return true if we've already shown the camera privacy toast.
+ */
+ public static boolean hasCameraPrivacyToastShown(@NonNull Context context) {
+ return DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context)
+ .getBoolean(PREFERENCE_CAMERA_ALLOWED_BY_USER, false);
+ }
+
+ public static void showCameraPermissionToast(@NonNull Context context) {
+ Toast.makeText(context, context.getString(R.string.camera_privacy_text), Toast.LENGTH_LONG)
+ .show();
+ setCameraPrivacyToastShown(context);
+ }
+
+ public static void setCameraPrivacyToastShown(@NonNull Context context) {
+ DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context)
+ .edit()
+ .putBoolean(PREFERENCE_CAMERA_ALLOWED_BY_USER, true)
+ .apply();
+ }
}
diff --git a/java/com/android/dialer/util/res/values-af/strings.xml b/java/com/android/dialer/util/res/values-af/strings.xml
index 7457e9b30..3b6780703 100644
--- a/java/com/android/dialer/util/res/values-af/strings.xml
+++ b/java/com/android/dialer/util/res/values-af/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Geen program daarvoor op hierdie toestel nie"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"As jy \'n WPS-oproep maak, sal dit jou huidige oproep afsny."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Gaan voort"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-am/strings.xml b/java/com/android/dialer/util/res/values-am/strings.xml
index 18fcb56c1..d3418b417 100644
--- a/java/com/android/dialer/util/res/values-am/strings.xml
+++ b/java/com/android/dialer/util/res/values-am/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ለዚያ የሚሆን መተግበሪያ በዚህ መሣሪያ ላይ የለም"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"የWPS ጥሪ ማድረግ አሁን ያለውን ጥሪዎን ያቋርጠዋል።"</string>
<string name="dialog_continue" msgid="4070630558441163574">"ቀጥል"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ar/strings.xml b/java/com/android/dialer/util/res/values-ar/strings.xml
index 8f25fb517..13a5235c3 100644
--- a/java/com/android/dialer/util/res/values-ar/strings.xml
+++ b/java/com/android/dialer/util/res/values-ar/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"لا يوجد تطبيق لإجراء ذلك على هذا الجهاز"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"‏سيؤدي إجراء مكالمة WPS إلى قطع اتصال مكالماتك الحالية."</string>
<string name="dialog_continue" msgid="4070630558441163574">"متابعة"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-az/strings.xml b/java/com/android/dialer/util/res/values-az/strings.xml
index ffe8ec5a8..3b6674127 100644
--- a/java/com/android/dialer/util/res/values-az/strings.xml
+++ b/java/com/android/dialer/util/res/values-az/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Bu cihazda onun üçün heç bir proqram yoxdur"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS zənginin edilməsi mövcud zənginizi sonlandıracaq."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Davam edin"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/util/res/values-b+sr+Latn/strings.xml
index 8f16f823a..803c954a1 100644
--- a/java/com/android/dialer/util/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/util/res/values-b+sr+Latn/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Na ovom uređaju nema aplikacija za to"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ako uputite WPS poziv, prekinućete postojeći poziv."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Nastavi"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-be/strings.xml b/java/com/android/dialer/util/res/values-be/strings.xml
index f88ca1932..120247f42 100644
--- a/java/com/android/dialer/util/res/values-be/strings.xml
+++ b/java/com/android/dialer/util/res/values-be/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"На прыладзе няма праграмы для гэтага"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Выкананне выкліку WPS прывядзе да раз\'яднання бягучага выкліку."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Працягнуць"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-bg/strings.xml b/java/com/android/dialer/util/res/values-bg/strings.xml
index 44bb00fe4..3a425abf1 100644
--- a/java/com/android/dialer/util/res/values-bg/strings.xml
+++ b/java/com/android/dialer/util/res/values-bg/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"На устройството няма приложение за това действие"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ако извършите обаждане през WPS, текущото ви обаждане ще бъде прекъснато."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Напред"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-bn/strings.xml b/java/com/android/dialer/util/res/values-bn/strings.xml
index 769c3c2f2..186b34146 100644
--- a/java/com/android/dialer/util/res/values-bn/strings.xml
+++ b/java/com/android/dialer/util/res/values-bn/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"এর জন্য এই ডিভাইসে কোনো অ্যাপ্লিকেশান নেই"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"একটি WPS কল করা হলে তা আপনার বিদ্যমান কলটি কেটে দেবে৷"</string>
<string name="dialog_continue" msgid="4070630558441163574">"চালিয়ে যান"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-bs/strings.xml b/java/com/android/dialer/util/res/values-bs/strings.xml
index a36bd98d2..e000c5fe4 100644
--- a/java/com/android/dialer/util/res/values-bs/strings.xml
+++ b/java/com/android/dialer/util/res/values-bs/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Na ovom uređaju nema aplikacije za to"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Upućivanje WPS poziva prekinut će trenutni poziv."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Nastavi"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ca/strings.xml b/java/com/android/dialer/util/res/values-ca/strings.xml
index c2a661fc8..8b6b2da78 100644
--- a/java/com/android/dialer/util/res/values-ca/strings.xml
+++ b/java/com/android/dialer/util/res/values-ca/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"No hi ha cap aplicació per a això en aquest dispositiu."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"En fer una trucada WPS, es desconnectarà la trucada en curs."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continua"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-cs/strings.xml b/java/com/android/dialer/util/res/values-cs/strings.xml
index d7de840bd..0e74288b2 100644
--- a/java/com/android/dialer/util/res/values-cs/strings.xml
+++ b/java/com/android/dialer/util/res/values-cs/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Pro tuto akci v zařízení nemáte žádnou aplikaci."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Zahájením hovoru WPS odpojíte probíhající hovor."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Pokračovat"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-da/strings.xml b/java/com/android/dialer/util/res/values-da/strings.xml
index 555bb69d1..d38292f2e 100644
--- a/java/com/android/dialer/util/res/values-da/strings.xml
+++ b/java/com/android/dialer/util/res/values-da/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Der findes Ingen app til det på denne enhed"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Hvis du foretager et WPS-opkald, afsluttes dit nuværende opkald."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Fortsæt"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-de/strings.xml b/java/com/android/dialer/util/res/values-de/strings.xml
index 7d154b6a3..dc23b32ee 100644
--- a/java/com/android/dialer/util/res/values-de/strings.xml
+++ b/java/com/android/dialer/util/res/values-de/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Keine entsprechende App auf diesem Gerät"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Wenn du jetzt einen Anruf über WPS tätigst, wird deine bestehende Verbindung getrennt."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Weiter"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-el/strings.xml b/java/com/android/dialer/util/res/values-el/strings.xml
index efbdc4e6d..996cb2ab2 100644
--- a/java/com/android/dialer/util/res/values-el/strings.xml
+++ b/java/com/android/dialer/util/res/values-el/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Δεν υπάρχει εφαρμογή γι\' αυτήν την ενέργεια σε αυτήν τη συσκευή"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Η διενέργεια κλήσης μέσω WPS θα αποσυνδέσει την υφιστάμενη κλήση."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Συνέχεια"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-en-rAU/strings.xml b/java/com/android/dialer/util/res/values-en-rAU/strings.xml
index 545a2a884..3cdf170a2 100644
--- a/java/com/android/dialer/util/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/util/res/values-en-rAU/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"No app for that on this device"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Placing a WPS call will disconnect your existing call."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continue"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-en-rGB/strings.xml b/java/com/android/dialer/util/res/values-en-rGB/strings.xml
index 545a2a884..3cdf170a2 100644
--- a/java/com/android/dialer/util/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/util/res/values-en-rGB/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"No app for that on this device"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Placing a WPS call will disconnect your existing call."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continue"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-en-rIN/strings.xml b/java/com/android/dialer/util/res/values-en-rIN/strings.xml
index 545a2a884..3cdf170a2 100644
--- a/java/com/android/dialer/util/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/util/res/values-en-rIN/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"No app for that on this device"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Placing a WPS call will disconnect your existing call."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continue"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-es-rUS/strings.xml b/java/com/android/dialer/util/res/values-es-rUS/strings.xml
index 4aa072520..e9c86317c 100644
--- a/java/com/android/dialer/util/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/util/res/values-es-rUS/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"No hay una aplicación para esa acción en este dispositivo."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Realizar una llamada de WPS desconectará tu llamada existente."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuar"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-es/strings.xml b/java/com/android/dialer/util/res/values-es/strings.xml
index 6c92947ff..0672f65f8 100644
--- a/java/com/android/dialer/util/res/values-es/strings.xml
+++ b/java/com/android/dialer/util/res/values-es/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"No hay aplicaciones para esa acción en este dispositivo"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Al hacer una llamada WPS, se finalizará tu llamada actual."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuar"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-et/strings.xml b/java/com/android/dialer/util/res/values-et/strings.xml
index 465d2b401..20429fbd2 100644
--- a/java/com/android/dialer/util/res/values-et/strings.xml
+++ b/java/com/android/dialer/util/res/values-et/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Seadmes pole selleks sobilikku rakendust"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS-kõne tegemisel katkestatakse teie praegune kõne."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Jätka"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-eu/strings.xml b/java/com/android/dialer/util/res/values-eu/strings.xml
index ba434ce52..89b35c2c1 100644
--- a/java/com/android/dialer/util/res/values-eu/strings.xml
+++ b/java/com/android/dialer/util/res/values-eu/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Ez dago hori egin dezakeen aplikaziorik gailu honetan"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS dei bat egiten baduzu, eten egingo da uneko deia."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Jarraitu"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-fa/strings.xml b/java/com/android/dialer/util/res/values-fa/strings.xml
index c22c38699..c98fdc9bb 100644
--- a/java/com/android/dialer/util/res/values-fa/strings.xml
+++ b/java/com/android/dialer/util/res/values-fa/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"هیچ برنامه‌ای برای انجام این کار در این دستگاه نصب نیست"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"‏اگر تماس WPS برقرار کنید، تماس فعلی‌تان قطع می‌شود."</string>
<string name="dialog_continue" msgid="4070630558441163574">"ادامه"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-fi/strings.xml b/java/com/android/dialer/util/res/values-fi/strings.xml
index 237232f5d..58494d10e 100644
--- a/java/com/android/dialer/util/res/values-fi/strings.xml
+++ b/java/com/android/dialer/util/res/values-fi/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Laitteessa ei ole kyseiseen toimintoon tarvittavaa sovellusta"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS-puhelun soittaminen katkaisee meneillään olevan puhelun."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Jatka"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-fr-rCA/strings.xml b/java/com/android/dialer/util/res/values-fr-rCA/strings.xml
index 1d73fcfa7..e82fb5df0 100644
--- a/java/com/android/dialer/util/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/util/res/values-fr-rCA/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Cette action ne peut être effectuée par aucune application sur cet appareil."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Si vous faites un appel WPS, vous déconnecterez l\'appel en cours."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuer"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-fr/strings.xml b/java/com/android/dialer/util/res/values-fr/strings.xml
index 48f1dbbef..3e411d33f 100644
--- a/java/com/android/dialer/util/res/values-fr/strings.xml
+++ b/java/com/android/dialer/util/res/values-fr/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Cette action ne peut être effectuée via aucune application sur cet appareil."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"L\'émission d\'un appel WPS mettra fin à l\'appel en cours."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuer"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-gl/strings.xml b/java/com/android/dialer/util/res/values-gl/strings.xml
index 8cdcffaf7..c5b544810 100644
--- a/java/com/android/dialer/util/res/values-gl/strings.xml
+++ b/java/com/android/dialer/util/res/values-gl/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Non hai ningunha aplicación para esa acción neste dispositivo"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Se realizas unha chamada WPS, desconectarase a túa chamada actual."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuar"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-gu/strings.xml b/java/com/android/dialer/util/res/values-gu/strings.xml
index ee4b59242..e3342b100 100644
--- a/java/com/android/dialer/util/res/values-gu/strings.xml
+++ b/java/com/android/dialer/util/res/values-gu/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"આ ઉપકરણ પર તે માટે કોઈ ઍપ્લિકેશન નથી"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS કૉલ કરવાનું તમારા અસ્તિત્વમાંના કૉલને ડિસ્કનેક્ટ કરશે."</string>
<string name="dialog_continue" msgid="4070630558441163574">"ચાલુ રાખો"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-hi/strings.xml b/java/com/android/dialer/util/res/values-hi/strings.xml
index 9a1bc3550..08d52c784 100644
--- a/java/com/android/dialer/util/res/values-hi/strings.xml
+++ b/java/com/android/dialer/util/res/values-hi/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"उसके लिए इस डिवाइस पर कोई एेप नहीं है"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS कॉल करने से आपका मौजूदा कॉल डिसकनेक्ट हो जाएगा."</string>
<string name="dialog_continue" msgid="4070630558441163574">"जारी रखें"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-hr/strings.xml b/java/com/android/dialer/util/res/values-hr/strings.xml
index 1fc54dad7..16964ba48 100644
--- a/java/com/android/dialer/util/res/values-hr/strings.xml
+++ b/java/com/android/dialer/util/res/values-hr/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Na ovom uređaju nema aplikacije za to"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Uspostavljanje WPS poziva prekinut će postojeći poziv."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Nastavi"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-hu/strings.xml b/java/com/android/dialer/util/res/values-hu/strings.xml
index ad5f29d8e..5c503823a 100644
--- a/java/com/android/dialer/util/res/values-hu/strings.xml
+++ b/java/com/android/dialer/util/res/values-hu/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Nincs megfelelő alkalmazás a művelethez ezen az eszközön"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS-hívás indításával megszakítja a folyamatban lévő hívást."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Folytatás"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-hy/strings.xml b/java/com/android/dialer/util/res/values-hy/strings.xml
index 18f2001c9..8a2c75e14 100644
--- a/java/com/android/dialer/util/res/values-hy/strings.xml
+++ b/java/com/android/dialer/util/res/values-hy/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Սարքի վրա համապատասխան հավելված չկա"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Եթե WPS-ի միջոցով զանգ կատարեք, ձեր ընթացիկ զանգը կընդհատվի:"</string>
<string name="dialog_continue" msgid="4070630558441163574">"Շարունակել"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-in/strings.xml b/java/com/android/dialer/util/res/values-in/strings.xml
index 55a5e3eb9..8abd5fb1f 100644
--- a/java/com/android/dialer/util/res/values-in/strings.xml
+++ b/java/com/android/dialer/util/res/values-in/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Tidak ada aplikasi untuk tindakan tersebut di perangkat ini"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Melakukan panggilan WPS akan mengakhiri panggilan yang ada."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Lanjutkan"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-is/strings.xml b/java/com/android/dialer/util/res/values-is/strings.xml
index e6615e349..8ba1a2dad 100644
--- a/java/com/android/dialer/util/res/values-is/strings.xml
+++ b/java/com/android/dialer/util/res/values-is/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Ekkert forrit fyrir þetta er í tækinu"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ef þú hringir WPS-símtal slitnar núverandi símtal."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Áfram"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-it/strings.xml b/java/com/android/dialer/util/res/values-it/strings.xml
index 3ed55c650..3ef5f83f3 100644
--- a/java/com/android/dialer/util/res/values-it/strings.xml
+++ b/java/com/android/dialer/util/res/values-it/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Sul dispositivo non sono presenti app per tale azione"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Se effettui una chiamata WPS, la chiamata esistente verrà disconnessa."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continua"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-iw/strings.xml b/java/com/android/dialer/util/res/values-iw/strings.xml
index 5a1062dd8..8863eb60e 100644
--- a/java/com/android/dialer/util/res/values-iw/strings.xml
+++ b/java/com/android/dialer/util/res/values-iw/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"אין אפליקציה עבור הפעולה הזו במכשיר הזה"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"התקשרות באמצעות השירות האלחוטי המועדף תנתק את השיחה הנוכחית."</string>
<string name="dialog_continue" msgid="4070630558441163574">"המשך"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ja/strings.xml b/java/com/android/dialer/util/res/values-ja/strings.xml
index 78986b1d6..a447ee9d4 100644
--- a/java/com/android/dialer/util/res/values-ja/strings.xml
+++ b/java/com/android/dialer/util/res/values-ja/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"この操作を行うアプリが端末上にありません"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS で通話を発信すると現在の通話が切断されます。"</string>
<string name="dialog_continue" msgid="4070630558441163574">"次へ"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ka/strings.xml b/java/com/android/dialer/util/res/values-ka/strings.xml
index 13e7ad0c9..379e3b3c5 100644
--- a/java/com/android/dialer/util/res/values-ka/strings.xml
+++ b/java/com/android/dialer/util/res/values-ka/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ამ მოწყობილობაზე არ არის შესაბამისი აპლიკაცია"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS ზარის განხორციელება თქვენს მიმდინარე ზარს გათიშავს."</string>
<string name="dialog_continue" msgid="4070630558441163574">"გაგრძელება"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-kk/strings.xml b/java/com/android/dialer/util/res/values-kk/strings.xml
index 49b60913b..8683b850a 100644
--- a/java/com/android/dialer/util/res/values-kk/strings.xml
+++ b/java/com/android/dialer/util/res/values-kk/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Бұл үшін осы құрылғыда қолданба жоқ"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS қоңырауын шалу қазіргі қоңырауды тоқтатады."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Жалғастыру"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-km/strings.xml b/java/com/android/dialer/util/res/values-km/strings.xml
index f55fdf5e0..37cd04513 100644
--- a/java/com/android/dialer/util/res/values-km/strings.xml
+++ b/java/com/android/dialer/util/res/values-km/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"មិនមានកម្មវិធីសម្រាប់សកម្មភាពនេះនៅលើឧបករណ៍នេះទេ"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"ការ​ហៅ​ចេញ​​ដោយ​ប្រើ​សេវា WPS នឹង​ផ្ដាច់​ការ​ហៅ​ដែល​មាន​​របស់​អ្នក។"</string>
<string name="dialog_continue" msgid="4070630558441163574">"បន្ត"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-kn/strings.xml b/java/com/android/dialer/util/res/values-kn/strings.xml
index d6de0f84f..8fc851b5e 100644
--- a/java/com/android/dialer/util/res/values-kn/strings.xml
+++ b/java/com/android/dialer/util/res/values-kn/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ಈ ಸಾಧನದಲ್ಲಿ ಅದಕ್ಕಾಗಿ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಲ್ಲ"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS ಕರೆ ಅನ್ನು ಮಾಡುವುದರಿಂದ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ನಿಮ್ಮ ಕರೆ ಕಡಿತಗೊಳ್ಳುತ್ತದೆ."</string>
<string name="dialog_continue" msgid="4070630558441163574">"ಮುಂದುವರಿಸಿ"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ko/strings.xml b/java/com/android/dialer/util/res/values-ko/strings.xml
index f7a0679b1..aa0c138e1 100644
--- a/java/com/android/dialer/util/res/values-ko/strings.xml
+++ b/java/com/android/dialer/util/res/values-ko/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"이 기기에 작업을 처리할 수 있는 앱이 없습니다."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS 전화를 걸면 기존 전화 연결이 해제됩니다."</string>
<string name="dialog_continue" msgid="4070630558441163574">"계속"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ky/strings.xml b/java/com/android/dialer/util/res/values-ky/strings.xml
index e37ace837..80dea0a1a 100644
--- a/java/com/android/dialer/util/res/values-ky/strings.xml
+++ b/java/com/android/dialer/util/res/values-ky/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Бул түзмөктө ал үчүн колдонмо жок"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Азыр WPS аркылуу чалсаңыз, учурдагы чалуу үзүлүп калат."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Улантуу"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-lo/strings.xml b/java/com/android/dialer/util/res/values-lo/strings.xml
index d7c6764ca..a003183a5 100644
--- a/java/com/android/dialer/util/res/values-lo/strings.xml
+++ b/java/com/android/dialer/util/res/values-lo/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ບໍ່​ມີ​ແອັ​ບຯ​ສຳ​ລັບ​ສິ່ງນັ້ນ​ຢູ່​ໃນ​ອຸ​ປະ​ກອນ​ນີ້"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"ການໂທ WPS ຈະຕັດສາຍທີ່ມີຢູ່ແລ້ວຂອງທ່ານ."</string>
<string name="dialog_continue" msgid="4070630558441163574">"ດຳເນີນການຕໍ່"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-lt/strings.xml b/java/com/android/dialer/util/res/values-lt/strings.xml
index bf77d5c05..00fd0c169 100644
--- a/java/com/android/dialer/util/res/values-lt/strings.xml
+++ b/java/com/android/dialer/util/res/values-lt/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Šiame įrenginyje nėra tam skirtos programos"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Pradėjus WPS skambutį bus atjungtas dabartinis skambutis."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Tęsti"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-lv/strings.xml b/java/com/android/dialer/util/res/values-lv/strings.xml
index 7b462646a..d29c06a2f 100644
--- a/java/com/android/dialer/util/res/values-lv/strings.xml
+++ b/java/com/android/dialer/util/res/values-lv/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Šajā ierīcē nav nevienas šai darbībai piemērotas lietotnes."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Veicot WPS zvanu, tiks pārtraukts esošais zvans."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Turpināt"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-mk/strings.xml b/java/com/android/dialer/util/res/values-mk/strings.xml
index 4451d707a..5f45fbf23 100644
--- a/java/com/android/dialer/util/res/values-mk/strings.xml
+++ b/java/com/android/dialer/util/res/values-mk/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Нема апликација за тоа на уредот"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Воспоставувањето повик преку WPS ќе го исклучи вашиот тековен повик."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Продолжи"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ml/strings.xml b/java/com/android/dialer/util/res/values-ml/strings.xml
index d861641dd..be9828973 100644
--- a/java/com/android/dialer/util/res/values-ml/strings.xml
+++ b/java/com/android/dialer/util/res/values-ml/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"അതിനായി ഈ ഉപകരണത്തിൽ അപ്ലിക്കേഷനുകളൊന്നുമില്ല"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"ഒരു WPS കോൾ ചെയ്യുന്നത് നിങ്ങളുടെ നിലവിലെ കോൾ വിച്ഛേദിക്കാനിടയാക്കും."</string>
<string name="dialog_continue" msgid="4070630558441163574">"തുടരുക"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-mn/strings.xml b/java/com/android/dialer/util/res/values-mn/strings.xml
index 51fe7ca3d..314db16cf 100644
--- a/java/com/android/dialer/util/res/values-mn/strings.xml
+++ b/java/com/android/dialer/util/res/values-mn/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Энэхүү төхөөрөмж дээр тухайн үйлдлийг гүйцэтгэх апликейшн байхгүй байна."</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS дуудлага хийвэл одоо байгаа дуудлагыг таслах болно."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Үргэлжлүүлэх"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-mr/strings.xml b/java/com/android/dialer/util/res/values-mr/strings.xml
index 4cb82304a..37bef2933 100644
--- a/java/com/android/dialer/util/res/values-mr/strings.xml
+++ b/java/com/android/dialer/util/res/values-mr/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"या डिव्हाइसवर त्यासाठी कोणताही अॅप नाही"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS कॉल केल्याने आपला विद्यमान कॉल डिस्कनेक्ट केला जाईल."</string>
<string name="dialog_continue" msgid="4070630558441163574">"सुरु ठेवा"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ms/strings.xml b/java/com/android/dialer/util/res/values-ms/strings.xml
index d149cc519..fbda09d42 100644
--- a/java/com/android/dialer/util/res/values-ms/strings.xml
+++ b/java/com/android/dialer/util/res/values-ms/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Tiada apl untuk tindakan itu pada peranti ini"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Membuat panggilan WPS akan memutuskan panggilan anda yang sedia ada."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Teruskan"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-my/strings.xml b/java/com/android/dialer/util/res/values-my/strings.xml
index 7ec6501d4..3a5b79fc6 100644
--- a/java/com/android/dialer/util/res/values-my/strings.xml
+++ b/java/com/android/dialer/util/res/values-my/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ဒီကိရိယာထဲမှာ အဲဒါ့အတွက် app မရှိပါ"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS ခေါ်ဆိုပါက သင့်လက်ရှိခေါ်ဆိုမှု ပြတ်တောက်သွားပါမည်။"</string>
<string name="dialog_continue" msgid="4070630558441163574">"ဆက်လုပ်ရန်"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-nb/strings.xml b/java/com/android/dialer/util/res/values-nb/strings.xml
index 52ae935c8..c1c1b238b 100644
--- a/java/com/android/dialer/util/res/values-nb/strings.xml
+++ b/java/com/android/dialer/util/res/values-nb/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Det finnes ingen apper for det på denne enheten"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Den pågående samtalen brytes hvis du foretar et WPS-anrop (Wireless Priority Service)."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Fortsett"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ne/strings.xml b/java/com/android/dialer/util/res/values-ne/strings.xml
index aedc538af..b596a8510 100644
--- a/java/com/android/dialer/util/res/values-ne/strings.xml
+++ b/java/com/android/dialer/util/res/values-ne/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"यस यन्त्रमा त्यसका लागि कुनै पनि अनुप्रयोग छैन"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS कल गर्नुले तपाईंको जारी कललाई विच्छेद गर्ने छ।"</string>
<string name="dialog_continue" msgid="4070630558441163574">"जारी राख्नुहोस्"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-nl/strings.xml b/java/com/android/dialer/util/res/values-nl/strings.xml
index a9fc32e70..d09054cc8 100644
--- a/java/com/android/dialer/util/res/values-nl/strings.xml
+++ b/java/com/android/dialer/util/res/values-nl/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Daarvoor is geen app beschikbaar op dit apparaat"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Als je een WPS-oproep plaatst, wordt je huidige gesprek afgebroken."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Doorgaan"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-no/strings.xml b/java/com/android/dialer/util/res/values-no/strings.xml
index 52ae935c8..c1c1b238b 100644
--- a/java/com/android/dialer/util/res/values-no/strings.xml
+++ b/java/com/android/dialer/util/res/values-no/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Det finnes ingen apper for det på denne enheten"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Den pågående samtalen brytes hvis du foretar et WPS-anrop (Wireless Priority Service)."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Fortsett"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-pa/strings.xml b/java/com/android/dialer/util/res/values-pa/strings.xml
index 4ad601fc3..dfb47c590 100644
--- a/java/com/android/dialer/util/res/values-pa/strings.xml
+++ b/java/com/android/dialer/util/res/values-pa/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ਉਸ ਲਈ ਇਸ ਡੀਵਾਈਸ ਤੇ ਕੋਈ ਐਪ ਨਹੀਂ"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"ਇੱਕ WPS ਕਾਲ ਕਰਨਾ ਤੁਹਾਡੀ ਮੌਜੂਦਾ ਕਾਲ ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰ ਦੇਵੇਗਾ।"</string>
<string name="dialog_continue" msgid="4070630558441163574">"ਜਾਰੀ ਰੱਖੋ"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-pl/strings.xml b/java/com/android/dialer/util/res/values-pl/strings.xml
index c49c55ae8..4ea0d8b9c 100644
--- a/java/com/android/dialer/util/res/values-pl/strings.xml
+++ b/java/com/android/dialer/util/res/values-pl/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Na urządzeniu nie ma aplikacji, która mogłaby wykonać tę czynność"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Jeśli nawiążesz połączenie WPS, bieżące połączenie zostanie przerwane."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Dalej"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-pt-rBR/strings.xml b/java/com/android/dialer/util/res/values-pt-rBR/strings.xml
index 04eb8c663..af5ec9343 100644
--- a/java/com/android/dialer/util/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/util/res/values-pt-rBR/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Nenhum app está disponível para essa ação neste dispositivo"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Fazer uma chamada usando o WPS desconectará a chamada atual."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuar"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-pt-rPT/strings.xml b/java/com/android/dialer/util/res/values-pt-rPT/strings.xml
index b90230216..1626e9e3a 100644
--- a/java/com/android/dialer/util/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/util/res/values-pt-rPT/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Não existe nenhuma aplicação para isso neste dispositivo"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Efetuar uma chamada WPS irá desligar a sua chamada atual."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuar"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-pt/strings.xml b/java/com/android/dialer/util/res/values-pt/strings.xml
index 04eb8c663..af5ec9343 100644
--- a/java/com/android/dialer/util/res/values-pt/strings.xml
+++ b/java/com/android/dialer/util/res/values-pt/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Nenhum app está disponível para essa ação neste dispositivo"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Fazer uma chamada usando o WPS desconectará a chamada atual."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuar"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ro/strings.xml b/java/com/android/dialer/util/res/values-ro/strings.xml
index 40cbc3623..c5d7d3f38 100644
--- a/java/com/android/dialer/util/res/values-ro/strings.xml
+++ b/java/com/android/dialer/util/res/values-ro/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Pe dispozitiv nu există nicio aplicație pentru această acțiune"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Dacă inițiați un apel WPS, apelul existent va fi deconectat."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Continuați"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ru/strings.xml b/java/com/android/dialer/util/res/values-ru/strings.xml
index c2908f9dc..837a07560 100644
--- a/java/com/android/dialer/util/res/values-ru/strings.xml
+++ b/java/com/android/dialer/util/res/values-ru/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"На устройстве нет подходящего приложения"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Если вы начнете WPS-вызов, текущий вызов будет прекращен."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Продолжить"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-si/strings.xml b/java/com/android/dialer/util/res/values-si/strings.xml
index f7404d7a1..f91ef87e7 100644
--- a/java/com/android/dialer/util/res/values-si/strings.xml
+++ b/java/com/android/dialer/util/res/values-si/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"මෙම උපාංගයෙහි ඒ සඳහා යෙදුමක් නැත"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS ඇමතුමක් කිරීමෙන් ඔබේ දැනට පවතින ඇමතුම විසන්ධි කරනු ඇත."</string>
<string name="dialog_continue" msgid="4070630558441163574">"දිගටම කරගෙන යන්න"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-sk/strings.xml b/java/com/android/dialer/util/res/values-sk/strings.xml
index 4a1ed0230..731abb9fe 100644
--- a/java/com/android/dialer/util/res/values-sk/strings.xml
+++ b/java/com/android/dialer/util/res/values-sk/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Na tomto zariadení nie je aplikácia na vykonanie danej akcie"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Uskutočnením hovoru cez WPS prerušíte existujúci hovor."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Pokračovať"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-sl/strings.xml b/java/com/android/dialer/util/res/values-sl/strings.xml
index e18514d0c..cde40ea70 100644
--- a/java/com/android/dialer/util/res/values-sl/strings.xml
+++ b/java/com/android/dialer/util/res/values-sl/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"V tej napravi ni aplikacije za to"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Če začnete klic WPS, bo obstoječi klic prekinjen."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Nadaljuj"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-sq/strings.xml b/java/com/android/dialer/util/res/values-sq/strings.xml
index 8046d926f..ab53f1e27 100644
--- a/java/com/android/dialer/util/res/values-sq/strings.xml
+++ b/java/com/android/dialer/util/res/values-sq/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Nuk ka aplikacion për atë në këtë pajisje"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Kryerja e një telefonate WPS do të shkëputë telefonatën tënde ekzistuese."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Vazhdo"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-sr/strings.xml b/java/com/android/dialer/util/res/values-sr/strings.xml
index d7de55254..5193c6a0e 100644
--- a/java/com/android/dialer/util/res/values-sr/strings.xml
+++ b/java/com/android/dialer/util/res/values-sr/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"На овом уређају нема апликација за то"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ако упутите WPS позив, прекинућете постојећи позив."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Настави"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-sv/strings.xml b/java/com/android/dialer/util/res/values-sv/strings.xml
index 5b17b0690..23c34f020 100644
--- a/java/com/android/dialer/util/res/values-sv/strings.xml
+++ b/java/com/android/dialer/util/res/values-sv/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Det finns ingen app för detta på enheten"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ringer du ett WPS-samtal kopplas det nuvarande samtalet bort."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Fortsätt"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-sw/strings.xml b/java/com/android/dialer/util/res/values-sw/strings.xml
index 8ee684311..6dabc8424 100644
--- a/java/com/android/dialer/util/res/values-sw/strings.xml
+++ b/java/com/android/dialer/util/res/values-sw/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Hakuna programu kwa ajili ya hiyo kwenye kifaa hiki"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ukipiga simu ya WPS, simu inayoendelea sasa itakatwa."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Endelea"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ta/strings.xml b/java/com/android/dialer/util/res/values-ta/strings.xml
index ed63669e4..4f1b6919b 100644
--- a/java/com/android/dialer/util/res/values-ta/strings.xml
+++ b/java/com/android/dialer/util/res/values-ta/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"சாதனத்தில் இந்தச் செயலைச் செய்வதற்கான பயன்பாடு எதுவும் இல்லை"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS அழைப்பை மேற்கொண்டால், தற்போது செயலில் உள்ள அழைப்புத் துண்டிக்கப்படும்."</string>
<string name="dialog_continue" msgid="4070630558441163574">"தொடர்க"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-te/strings.xml b/java/com/android/dialer/util/res/values-te/strings.xml
index 44c84f5bf..3e54163c8 100644
--- a/java/com/android/dialer/util/res/values-te/strings.xml
+++ b/java/com/android/dialer/util/res/values-te/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ఈ పరికరంలో దాని కోసం అనువర్తనం ఏదీ లేదు"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS కాల్ చేయడం వలన మీరు ప్రస్తుతం మాట్లాడుతున్న కాల్ డిస్‌కనెక్ట్ అవుతుంది."</string>
<string name="dialog_continue" msgid="4070630558441163574">"కొనసాగించు"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-th/strings.xml b/java/com/android/dialer/util/res/values-th/strings.xml
index f0055733a..59341c3b6 100644
--- a/java/com/android/dialer/util/res/values-th/strings.xml
+++ b/java/com/android/dialer/util/res/values-th/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"ไม่มีแอปสำหรับการทำงานนั้นบนอุปกรณ์นี้"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"หากคุณโทรผ่านบริการ WPS ตอนนี้ สายที่โทรอยู่จะตัดการเชื่อมต่อ"</string>
<string name="dialog_continue" msgid="4070630558441163574">"ต่อไป"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-tl/strings.xml b/java/com/android/dialer/util/res/values-tl/strings.xml
index 73de8b52a..e2a2ed062 100644
--- a/java/com/android/dialer/util/res/values-tl/strings.xml
+++ b/java/com/android/dialer/util/res/values-tl/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Walang app para doon sa device na ito"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ang paggawa ng WPS na tawag ay puputulin sa koneksyon ang dati mo nang tawag."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Magpatuloy"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-tr/strings.xml b/java/com/android/dialer/util/res/values-tr/strings.xml
index 108b20a0b..dcd3e83e0 100644
--- a/java/com/android/dialer/util/res/values-tr/strings.xml
+++ b/java/com/android/dialer/util/res/values-tr/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Bu cihazda bu işlem için uygun uygulama yok"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS çağrısı yaparsanız, devam eden çağrı sonlandırılır."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Devam"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-uk/strings.xml b/java/com/android/dialer/util/res/values-uk/strings.xml
index d57b1de11..2b5bd38b8 100644
--- a/java/com/android/dialer/util/res/values-uk/strings.xml
+++ b/java/com/android/dialer/util/res/values-uk/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"На цьому пристрої немає додатка, який може виконати цю дію"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Якщо здійснити виклик WPS, буде роз’єднано поточний виклик."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Продовжити"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-ur/strings.xml b/java/com/android/dialer/util/res/values-ur/strings.xml
index 7c036d096..2e3f8a0cb 100644
--- a/java/com/android/dialer/util/res/values-ur/strings.xml
+++ b/java/com/android/dialer/util/res/values-ur/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"اس آلہ پر اس کیلئے کوئی ایپ نہیں ہے"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"‏WPS کال کرنے سے آپ کی موجودہ کال غیر منسلک ہو جائے گی۔"</string>
<string name="dialog_continue" msgid="4070630558441163574">"جاری رکھیں"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-uz/strings.xml b/java/com/android/dialer/util/res/values-uz/strings.xml
index 0e28bf7a0..ca7c8218f 100644
--- a/java/com/android/dialer/util/res/values-uz/strings.xml
+++ b/java/com/android/dialer/util/res/values-uz/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Qurilmada buni bajaradigan ilova yo‘q"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"WPS-chaqiruv boshlab yuborilsa, hozirgi qo‘ng‘iroq tugatiladi."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Davom ettirish"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-vi/strings.xml b/java/com/android/dialer/util/res/values-vi/strings.xml
index 925b91ecf..8a225a305 100644
--- a/java/com/android/dialer/util/res/values-vi/strings.xml
+++ b/java/com/android/dialer/util/res/values-vi/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Không có ứng dụng nào cho thao tác đó trên thiết bị này"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Việc thực hiện cuộc gọi WPS sẽ ngắt kết nối cuộc gọi hiện có của bạn."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Tiếp tục"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-zh-rCN/strings.xml b/java/com/android/dialer/util/res/values-zh-rCN/strings.xml
index 6d3e8218f..0f2d65828 100644
--- a/java/com/android/dialer/util/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/util/res/values-zh-rCN/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"此设备上没有可执行此操作的应用"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"拨打 WPS 电话会中断现有通话。"</string>
<string name="dialog_continue" msgid="4070630558441163574">"继续"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-zh-rHK/strings.xml b/java/com/android/dialer/util/res/values-zh-rHK/strings.xml
index 2193cfa35..873de4dcf 100644
--- a/java/com/android/dialer/util/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/util/res/values-zh-rHK/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"這部裝置上沒有可用的應用程式"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"撥打 WPS 電話會掛斷現有通話。"</string>
<string name="dialog_continue" msgid="4070630558441163574">"繼續"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-zh-rTW/strings.xml b/java/com/android/dialer/util/res/values-zh-rTW/strings.xml
index 192631831..6af0cd176 100644
--- a/java/com/android/dialer/util/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/util/res/values-zh-rTW/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"這個裝置未安裝可執行該操作的應用程式"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"撥打 WPS 電話會中斷你正在進行的通話。"</string>
<string name="dialog_continue" msgid="4070630558441163574">"繼續"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values-zu/strings.xml b/java/com/android/dialer/util/res/values-zu/strings.xml
index cdc7f892b..ea15b7d43 100644
--- a/java/com/android/dialer/util/res/values-zu/strings.xml
+++ b/java/com/android/dialer/util/res/values-zu/strings.xml
@@ -23,4 +23,6 @@
<string name="activity_not_available" msgid="8360067109103762211">"Alukho uhlelo lokusebenza lalokho kule divayisi"</string>
<string name="outgoing_wps_warning" msgid="7505673114152005234">"Ukwenza ikholi ye-WPS kuzonqamula ikholi yakho ekhona."</string>
<string name="dialog_continue" msgid="4070630558441163574">"Qhubeka"</string>
+ <!-- no translation found for camera_privacy_text (4268584469444688293) -->
+ <skip />
</resources>
diff --git a/java/com/android/dialer/util/res/values/strings.xml b/java/com/android/dialer/util/res/values/strings.xml
index 43ea6e31a..a4d944c19 100644
--- a/java/com/android/dialer/util/res/values/strings.xml
+++ b/java/com/android/dialer/util/res/values/strings.xml
@@ -39,4 +39,6 @@
<!-- Text for button which indicates that the user wants to proceed with an action. -->
<string name="dialog_continue">Continue</string>
+ <!-- Text presented to the user explaining that we have enabled the camera permission automatically [CHAR LIMIT=NONE] -->
+ <string name="camera_privacy_text">Camera permission enabled</string>
</resources>
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index e36d9cf9e..30877ffa5 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -414,7 +414,7 @@ public class CallButtonPresenter
final boolean showMute = call.can(android.telecom.Call.Details.CAPABILITY_MUTE);
final boolean hasCameraPermission =
- isVideo && VideoUtils.hasCameraPermissionAndAllowedByUser(mContext);
+ isVideo && VideoUtils.hasCameraPermissionAndShownPrivacyToast(mContext);
// Disabling local video doesn't seem to work when dialing. See b/30256571.
final boolean showPauseVideo =
isVideo
diff --git a/java/com/android/incallui/ContactInfoCache.java b/java/com/android/incallui/ContactInfoCache.java
index fdfba3b9f..d50a5c26d 100644
--- a/java/com/android/incallui/ContactInfoCache.java
+++ b/java/com/android/incallui/ContactInfoCache.java
@@ -266,6 +266,8 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
cce.userType = info.userType;
cce.originalPhoneNumber = info.phoneNumber;
cce.shouldShowLocation = info.shouldShowGeoDescription;
+ cce.isEmergencyNumber = info.isEmergencyNumber();
+ cce.isVoicemailNumber = info.isVoiceMailNumber();
if (info.contactExists) {
cce.contactLookupResult = ContactLookupResult.Type.LOCAL_CONTACT;
@@ -428,6 +430,19 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
+ "; didLocalLookup = "
+ didLocalLookup);
+ ContactCacheEntry existingCacheEntry = mInfoMap.get(callId);
+ Log.d(TAG, "Existing cacheEntry in hashMap " + existingCacheEntry);
+
+ // Mark it as emergency/voicemail if the cache exists and was emergency/voicemail before the
+ // number changed.
+ if (existingCacheEntry != null) {
+ if (existingCacheEntry.isEmergencyNumber) {
+ callerInfo.markAsEmergency(mContext);
+ } else if (existingCacheEntry.isVoicemailNumber) {
+ callerInfo.markAsVoiceMail(mContext);
+ }
+ }
+
int presentationMode = numberPresentation;
if (callerInfo.contactExists
|| callerInfo.isEmergencyNumber()
@@ -439,9 +454,6 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
ContactCacheEntry cacheEntry = buildEntry(mContext, callerInfo, presentationMode);
cacheEntry.queryId = queryToken.mQueryId;
- ContactCacheEntry existingCacheEntry = mInfoMap.get(callId);
- Log.d(TAG, "Existing cacheEntry in hashMap " + existingCacheEntry);
-
if (didLocalLookup) {
if (cacheEntry.displayPhotoUri != null) {
// When the difference between 2 numbers is only the prefix (e.g. + or IDD),
@@ -704,6 +716,8 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
boolean shouldShowLocation;
boolean isBusiness;
+ boolean isEmergencyNumber;
+ boolean isVoicemailNumber;
@Override
public String toString() {
@@ -743,6 +757,10 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
+ originalPhoneNumber
+ ", shouldShowLocation="
+ shouldShowLocation
+ + ", isEmergencyNumber="
+ + isEmergencyNumber
+ + ", isVoicemailNumber="
+ + isVoicemailNumber
+ '}';
}
}
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 458df5149..53017a10e 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -66,6 +66,7 @@ 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.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.enrichedcall.Session;
import com.android.dialer.multimedia.MultimediaData;
@@ -308,11 +309,19 @@ public class StatusBarNotifier
if (callState == DialerCall.State.INCOMING
|| callState == DialerCall.State.CALL_WAITING
|| isVideoUpgradeRequest) {
- boolean alreadyActive =
- callList.getActiveOrBackgroundCall() != null
- && InCallPresenter.getInstance().isShowingInCallUi();
- notificationType =
- alreadyActive ? NOTIFICATION_INCOMING_CALL_QUIET : NOTIFICATION_INCOMING_CALL;
+ if (ConfigProviderBindings.get(mContext)
+ .getBoolean("quiet_incoming_call_if_ui_showing", true)) {
+ notificationType =
+ InCallPresenter.getInstance().isShowingInCallUi()
+ ? NOTIFICATION_INCOMING_CALL_QUIET
+ : NOTIFICATION_INCOMING_CALL;
+ } else {
+ boolean alreadyActive =
+ callList.getActiveOrBackgroundCall() != null
+ && InCallPresenter.getInstance().isShowingInCallUi();
+ notificationType =
+ alreadyActive ? NOTIFICATION_INCOMING_CALL_QUIET : NOTIFICATION_INCOMING_CALL;
+ }
} else {
notificationType = NOTIFICATION_IN_CALL;
}
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java
index bd9837097..a10602227 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -30,6 +30,7 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
import com.android.dialer.configprovider.ConfigProviderBindings;
+import com.android.dialer.util.PermissionsUtil;
import com.android.incallui.InCallPresenter.InCallDetailsListener;
import com.android.incallui.InCallPresenter.InCallOrientationListener;
import com.android.incallui.InCallPresenter.InCallStateListener;
@@ -186,7 +187,7 @@ public class VideoCallPresenter
*/
public static boolean showOutgoingVideo(
Context context, int videoState, int sessionModificationState) {
- if (!VideoUtils.hasCameraPermissionAndAllowedByUser(context)) {
+ if (!VideoUtils.hasCameraPermissionAndShownPrivacyToast(context)) {
LogUtil.i("VideoCallPresenter.showOutgoingVideo", "Camera permission is disabled by user.");
return false;
}
@@ -421,7 +422,7 @@ public class VideoCallPresenter
@Override
public void onCameraPermissionGranted() {
LogUtil.i("VideoCallPresenter.onCameraPermissionGranted", "");
- VideoUtils.setCameraAllowedByUser(mContext);
+ PermissionsUtil.setCameraPrivacyToastShown(mContext);
enableCamera(mPrimaryCall.getVideoCall(), isCameraRequired());
showVideoUi(
mPrimaryCall.getVideoState(),
@@ -839,7 +840,7 @@ public class VideoCallPresenter
return;
}
- boolean hasCameraPermission = VideoUtils.hasCameraPermissionAndAllowedByUser(mContext);
+ boolean hasCameraPermission = VideoUtils.hasCameraPermissionAndShownPrivacyToast(mContext);
if (!hasCameraPermission) {
videoCall.setCamera(null);
mPreviewSurfaceState = PreviewSurfaceState.NONE;
@@ -1081,22 +1082,23 @@ public class VideoCallPresenter
}
@Override
- public boolean shouldShowCameraPermissionDialog() {
+ public boolean shouldShowCameraPermissionToast() {
if (mPrimaryCall == null) {
- LogUtil.i("VideoCallPresenter.shouldShowCameraPermissionDialog", "null call");
+ LogUtil.i("VideoCallPresenter.shouldShowCameraPermissionToast", "null call");
return false;
}
if (mPrimaryCall.didShowCameraPermission()) {
LogUtil.i(
- "VideoCallPresenter.shouldShowCameraPermissionDialog", "already shown for this call");
+ "VideoCallPresenter.shouldShowCameraPermissionToast", "already shown for this call");
return false;
}
if (!ConfigProviderBindings.get(mContext)
.getBoolean("camera_permission_dialog_allowed", true)) {
- LogUtil.i("VideoCallPresenter.shouldShowCameraPermissionDialog", "disabled by config");
+ LogUtil.i("VideoCallPresenter.shouldShowCameraPermissionToast", "disabled by config");
return false;
}
- return !VideoUtils.hasCameraPermission(mContext) || !VideoUtils.isCameraAllowedByUser(mContext);
+ return !VideoUtils.hasCameraPermission(mContext)
+ || !PermissionsUtil.hasCameraPrivacyToastShown(mContext);
}
@Override
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 44310536d..b5dd1175b 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -718,7 +718,7 @@ public class AnswerFragment extends Fragment
}
view.setSystemUiVisibility(flags);
if (isVideoCall() || isVideoUpgradeRequest()) {
- if (VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+ if (VideoUtils.hasCameraPermissionAndShownPrivacyToast(getContext())) {
if (isSelfManagedCamera()) {
answerVideoCallScreen = new SelfManagedAnswerVideoCallScreen(getCallId(), this, view);
} else {
diff --git a/java/com/android/incallui/call/TelecomAdapter.java b/java/com/android/incallui/call/TelecomAdapter.java
index 4fc9f81eb..005278bff 100644
--- a/java/com/android/incallui/call/TelecomAdapter.java
+++ b/java/com/android/incallui/call/TelecomAdapter.java
@@ -88,9 +88,13 @@ public class TelecomAdapter implements InCallServiceListener {
List<android.telecom.Call> conferenceable = call.getConferenceableCalls();
if (!conferenceable.isEmpty()) {
call.conference(conferenceable.get(0));
+ // It's safe to clear restrict count for merge action.
+ DialerCall.clearRestrictedCount();
} else {
if (call.getDetails().can(android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE)) {
call.mergeConference();
+ // It's safe to clear restrict count for merge action.
+ DialerCall.clearRestrictedCount();
}
}
} else {
diff --git a/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java b/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java
index da0c9d6be..a0ca8cd04 100644
--- a/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java
+++ b/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java
@@ -41,7 +41,7 @@ public class EnableWifiCallingPrompt implements DisconnectDialog {
@Override
public boolean shouldShow(DisconnectCause disconnectCause) {
String reason = disconnectCause.getReason();
- if (reason.startsWith(REASON_WIFI_ON_BUT_WFC_OFF)) {
+ if (reason != null && reason.startsWith(REASON_WIFI_ON_BUT_WFC_OFF)) {
LogUtil.i(
"EnableWifiCallingPrompt.shouldShowPrompt",
"showing prompt for disconnect cause: %s",
diff --git a/java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java b/java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java
index 34db976b2..526d45ed7 100644
--- a/java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java
+++ b/java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java
@@ -24,6 +24,7 @@ import android.support.annotation.NonNull;
import android.telecom.DisconnectCause;
import android.telecom.PhoneAccountHandle;
import android.util.Pair;
+import com.android.contacts.common.compat.telecom.TelecomManagerCompat;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.common.LogUtil;
@@ -33,12 +34,10 @@ import com.android.incallui.call.DialerCall;
/** Prompt user to make voice call if video call is not currently available. */
public class VideoCallNotAvailablePrompt implements DisconnectDialog {
- private static final String REASON_IMS_ACCESS_BLOCKED = "IMS_ACCESS_BLOCKED";
-
@Override
public boolean shouldShow(DisconnectCause disconnectCause) {
if (disconnectCause.getCode() == DisconnectCause.ERROR
- && REASON_IMS_ACCESS_BLOCKED.equals(disconnectCause.getReason())) {
+ && TelecomManagerCompat.REASON_IMS_ACCESS_BLOCKED.equals(disconnectCause.getReason())) {
LogUtil.i(
"VideoCallNotAvailablePrompt.shouldShowPrompt",
"showing prompt for disconnect cause: %s",
diff --git a/java/com/android/incallui/disconnectdialog/res/values-af/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-af/strings.xml
index dae242699..5f07dfc1c 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-af/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-af/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktiveer"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Video-oproepe is nie nou beskikbaar nie"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Probeer weer later bel of gaan voort met die oproep as \'n stemoproep."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Stemoproep"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-am/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-am/strings.xml
index dae242699..62a77e482 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-am/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-am/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"አንቃ"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"የቪዲዮ ጥሪ ለጊዜው አይገኝም"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"በኋላ እንደገና ለመደወል ይሞክሩ ወይም ጥሪውን እንደ የድምጽ ጥሪ ይቀጥሉ።"</string>
+ <string name="voice_call" msgid="6748636104112578475">"የድምጽ ጥሪ"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ar/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ar/strings.xml
index dae242699..e29ee2f96 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ar/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ar/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"تمكين"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"اتصال الفيديو غير متوفر حاليًا"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"حاول الاتصال مرة أخرى لاحقًا أو أكمل المكالمة كمكالمة صوتية."</string>
+ <string name="voice_call" msgid="6748636104112578475">"مكالمة صوتية"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-be/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-be/strings.xml
index dae242699..d4cab2640 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-be/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-be/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Уключыць"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Відэавыклікі зараз недаступныя"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Паспрабуйце зрабіць выклік пазней або працягніце выклік як галасавы."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Галасавы выклік"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-bg/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-bg/strings.xml
index dae242699..e9211abee 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-bg/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-bg/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Активиране"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"В момента не е възможно видеообаждане"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Опитайте да се обадите отново по-късно или продължете обаждането като гласово."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Гласово обаждане"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-cs/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-cs/strings.xml
index dae242699..502434ae3 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-cs/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-cs/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Zapnout"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Videohovory momentálně nejsou dostupné"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Zkuste zavolat později nebo v hovoru pokračujte bez videa."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Hlasový hovor"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-da/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-da/strings.xml
index dae242699..817226eeb 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-da/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-da/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktivér"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Det er ikke muligt at foretage videoopkald i øjeblikket"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Prøv at ringe igen senere, eller fortsæt med et taleopkald."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Taleopkald"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-de/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-de/strings.xml
index dae242699..8ebc527fc 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-de/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-de/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktivieren"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Videoanrufe sind momentan nicht verfügbar"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Versuche es später noch einmal oder setze den Anruf als Sprachanruf fort."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Sprachanruf"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-es-rUS/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-es-rUS/strings.xml
index dae242699..98afb12bb 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-es-rUS/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Habilitar"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"La videollamada no está disponible en este momento"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Prueba llamando de nuevo más tarde o continúa la llamada como una llamada de voz."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Llamada de voz"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-es/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-es/strings.xml
index dae242699..580ac8b11 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-es/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-es/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Habilitar"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"No se pueden hacer videollamadas en estos momentos"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Prueba a llamar de nuevo más tarde o haz una llamada de voz."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Llamada de voz"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-eu/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-eu/strings.xml
index dae242699..c207d39d5 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-eu/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-eu/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Gaitu"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Une honetan, bideo-deiak ez daude erabilgarri"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Saiatu geroago berriro deitzen, edo aldatu ahots-deira."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Ahots-deia"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-fa/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-fa/strings.xml
index dae242699..73c2a8693 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-fa/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-fa/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"فعال کردن"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"تماس ویدیویی درحال حاضر امکان‌پذیر نیست"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"بعداً دوباره تماس بگیرید یا با تماس صوتی ادامه دهید."</string>
+ <string name="voice_call" msgid="6748636104112578475">"تماس صوتی"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-fi/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-fi/strings.xml
index dae242699..93d4cc7ca 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-fi/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-fi/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Ota käyttöön"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Videopuhelut ei ole tällä hetkellä saatavilla"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Yritä soittaa myöhemmin uudelleen tai jatka puhelua äänipuheluna."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Puhelu"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-fr/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-fr/strings.xml
index dae242699..f9dfdfad4 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-fr/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-fr/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Activer"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"La fonction d\'appel vidéo est momentanément indisponible"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Réessayez plus tard ou reprenez l\'appel en mode vocal."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Appel vocal"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-gl/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-gl/strings.xml
index dae242699..3313c4436 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-gl/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-gl/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Activar"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"As videochamadas non están dispoñibles actualmente"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Proba a chamar de novo máis tarde ou continuar a chamada como unha chamada de voz."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Chamada de voz"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml
index dae242699..820153922 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"सक्षम करें"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"इस समय वीडियो कॉलिंग की सुविधा उपलब्ध नहीं है"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"बाद में दोबारा कॉल करने की कोशिश करें या कॉल को वॉइस कॉल के रूप में जारी रखें."</string>
+ <string name="voice_call" msgid="6748636104112578475">"वॉइस कॉल"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-hr/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-hr/strings.xml
index dae242699..c1b56b7f7 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-hr/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-hr/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Omogući"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Videopozivanje trenutačno nije dostupno"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Pokušajte ponovno nazvati kasnije ili nastavite poziv kao glasovni."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Glasovni poziv"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-hu/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-hu/strings.xml
index dae242699..e1f9bd9d1 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-hu/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-hu/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Engedélyezés"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"A videohívás jelenleg nem érhető el"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Indítson hívást később, vagy folytassa hanghívásként."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Hanghívás"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-hy/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-hy/strings.xml
index dae242699..d2c10be1f 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-hy/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-hy/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Միացնել"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Տեսազանգը ներկայումս հասանելի չէ"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Ավելի ուշ նորից փորձեք զանգել կամ շարունակեք զանգն առանց տեսապատկերի:"</string>
+ <string name="voice_call" msgid="6748636104112578475">"Զանգ"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-in/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-in/strings.xml
index dae242699..8b895bc2a 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-in/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-in/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktifkan"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Video call saat ini tidak tersedia"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Coba lagi nanti atau lanjutkan sebagai panggilan suara."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Panggilan suara"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-it/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-it/strings.xml
index dae242699..1b862f766 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-it/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-it/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Abilita"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Le videochiamate non sono disponibili in questo momento"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Prova a chiamare di nuovo più tardi o continua la chiamata come chiamata vocale."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Chiamata vocale"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-iw/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-iw/strings.xml
index dae242699..91af8a9e5 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-iw/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-iw/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"הפעלה"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"לא ניתן לשוחח בשיחת וידאו כרגע"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"מומלץ לנסות להתקשר מאוחר יותר או להמשיך לשוחח בשיחה קולית."</string>
+ <string name="voice_call" msgid="6748636104112578475">"שיחה קולית"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ka/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ka/strings.xml
index dae242699..804597972 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ka/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ka/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"ჩართვა"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"ვიდეოზარი ამჟამად მიუწვდომელია"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"სცადეთ, დარეკოთ მოგვიანებით ან გააგრძელოთ ხმოვანი ზარით."</string>
+ <string name="voice_call" msgid="6748636104112578475">"ხმოვანი ზარი"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-kk/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-kk/strings.xml
index dae242699..47294f9ff 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-kk/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-kk/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Қосу"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Бейне қоңырау қазір қолжетімді емес"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Кейінірек қайталап көріңіз немесе дасуыстық қоңырау ретінде жалғастырыңыз."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Дауыстық қоңырау"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-km/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-km/strings.xml
index dae242699..6e1c0fea1 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-km/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-km/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"បើក"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"ការហៅ​វីដេអូ​មិន​អាច​ធ្វើ​បាន​ទេ​នៅពេល​នេះ"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"សាកល្បងហៅ​ម្ដងទៀត​នៅពេលក្រោយ ឬ​បន្ត​ការហៅ​ជា​សំឡេង។"</string>
+ <string name="voice_call" msgid="6748636104112578475">"ការ​ហៅ​ជា​សំឡេង"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ky/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ky/strings.xml
index dae242699..15531690a 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ky/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ky/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Иштетүү"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Видео режиминде чалуу учурда жеткиликсиз"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Кийинчерээк кайра чалыңыз же үн режиминде чалып көрүңүз."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Үн чалуусу"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-mk/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-mk/strings.xml
index dae242699..3c061df22 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-mk/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-mk/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Овозможи"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Видеоповикувањето е недостапно во моментов."</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Обидете се да повикате повторно подоцна или продолжете со гласовен повик."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Гласовен повик"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ms/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ms/strings.xml
index dae242699..efe87996e 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ms/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ms/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Dayakan"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Panggilan video tidak tersedia pada masa ini"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Cuba hubungi semula kemudian atau teruskan panggilan sebagai panggilan suara."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Panggilan suara"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-my/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-my/strings.xml
index dae242699..04a4f3a26 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-my/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-my/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"ဖွင့်ရန်"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"ဗီဒီယိုခေါ်ဆိုမှုကို လက်ရှိတွင် မရရှိနိုင်ပါ"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"နောက်မှ ထပ်မံခေါ်ဆိုကြည့်ပါ (သို့) အသံခေါ်ဆိုမှု ဆက်လုပ်ကြည့်ပါ။"</string>
+ <string name="voice_call" msgid="6748636104112578475">"အသံခေါ်ဆိုမှု"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-pt-rPT/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-pt-rPT/strings.xml
index 7d11ede5f..fb6980a88 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-pt-rPT/strings.xml
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Ativar"</string>
- <string name="video_call_not_available_title" msgid="987490011944013201">"Neste momento, as videochamadas não estão disponíveis"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Neste momento, não é possível efetuar videochamadas"</string>
<string name="video_call_not_available_message" msgid="2284146863894603221">"Experimente efetuar a videochamada mais tarde ou continue a chamada como uma chamada de voz."</string>
<string name="voice_call" msgid="6748636104112578475">"Chamada de voz"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ro/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ro/strings.xml
index dae242699..783619256 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ro/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ro/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Activați"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Apelarea video este indisponibilă momentan"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Încercați să apelați din nou mai târziu sau continuați ca apel vocal."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Apel vocal"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ru/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ru/strings.xml
index dae242699..ffc3f613b 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ru/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ru/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Включить"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"В настоящее время видеовызовы недоступны"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Повторите попытку позже или продолжайте выполнять вызов как голосовой."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Голосовой вызов"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-si/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-si/strings.xml
index dae242699..694887700 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-si/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-si/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"සබල කරන්න"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"වීඩියෝ ඇමතීම දැනට ලබා ගැනීමට නොහැකිය"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"පසුව නැවත ඇමතීම උත්සාහ කරන්න නැතහොත් ඇමතුම හඬ ඇමතුමක් ලෙස දිගටම කරගෙන යන්න."</string>
+ <string name="voice_call" msgid="6748636104112578475">"හඬ ඇමතීම"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-sk/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sk/strings.xml
index dae242699..8f4b059b0 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-sk/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-sk/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Povoliť"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Videohovor momentálne nie je k dispozícii"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Skúste zavolať znova neskôr alebo pokračujte v hovore bez videa."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Hlasový hovor"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-sq/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sq/strings.xml
index dae242699..cccc83f93 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-sq/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-sq/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktivizo"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Telefonatat me video nuk ofrohen aktualisht"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Provo të telefonosh përsëri më vonë ose vazhdoje telefonatën si një telefonatë zanore."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Telefonatë me video"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml
index dae242699..e6be38418 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktivera"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Det går inte att ringa videosamtal just nu"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Försök ringa upp igen senare eller fortsätt samtalet som ett röstsamtal"</string>
+ <string name="voice_call" msgid="6748636104112578475">"Röstsamtal"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-sw/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sw/strings.xml
index dae242699..6d6a6a06d 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-sw/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-sw/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Washa"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Kipengele cha kupiga simu za video hakipatikani kwa sasa"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Jaribu kupiga simu ya video tena hapo baadaye au uendelee na mazungumzo kama simu ya sauti."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Simu ya sauti"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml
index dae242699..17f29af56 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"I-enable"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Kasalukuyang hindi available ang pakikipag-video call"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Subukang tumawag muli sa ibang pagkakataon o ipagpatuloy ang tawag bilang isang voice call."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Voice call"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-tr/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-tr/strings.xml
index dae242699..a0ba4fa8a 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-tr/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-tr/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Etkinleştir"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Görüntülü görüşme şu anda kullanılamıyor"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Görüntülü görüşme yapmayı daha sonra tekrar deneyin veya görüşmeye sesli arama olarak devam edin."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Sesli arama"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml
index dae242699..4fa8b50d4 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"فعال کریں"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"ویڈیو کالنگ فی الحال دستیاب نہیں ہے"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"بعد میں دوبارہ کال کرنے کی کوشش کریں یا کال کو بطور صوتی کال جاری رکھیں۔"</string>
+ <string name="voice_call" msgid="6748636104112578475">"صوتی کال"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-uz/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-uz/strings.xml
index dae242699..229e6e798 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-uz/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-uz/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Yoqish"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Video muloqot funksiyasidan hozirgi vaqtda foydalanib bo‘lmaydi."</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Keyinroq qayta urinib ko‘ring yoki ovozli muloqot rejimida o‘ting."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Ovozli muloqot"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-vi/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-vi/strings.xml
index dae242699..3e49451b4 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-vi/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-vi/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Bật"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"Hiện không sử dụng được tính năng gọi điện video"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"Hãy thử gọi lại sau hoặc tiếp tục gọi dưới dạng cuộc gọi thoại."</string>
+ <string name="voice_call" msgid="6748636104112578475">"Cuộc gọi thoại"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-zh-rCN/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-zh-rCN/strings.xml
index dae242699..3f8cd6d62 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-zh-rCN/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"启用"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"当前无法使用视频通话功能"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"请稍后再试,或者改用语音通话。"</string>
+ <string name="voice_call" msgid="6748636104112578475">"语音通话"</string>
</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-zh-rTW/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-zh-rTW/strings.xml
index dae242699..5201a341d 100644
--- a/java/com/android/incallui/disconnectdialog/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/disconnectdialog/res/values-zh-rTW/strings.xml
@@ -17,12 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for incall_enable_wifi_calling_button (3295230556186542328) -->
- <skip />
- <!-- no translation found for video_call_not_available_title (987490011944013201) -->
- <skip />
- <!-- no translation found for video_call_not_available_message (2284146863894603221) -->
- <skip />
- <!-- no translation found for voice_call (6748636104112578475) -->
- <skip />
+ <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"啟用"</string>
+ <string name="video_call_not_available_title" msgid="987490011944013201">"目前無法使用視訊通話功能"</string>
+ <string name="video_call_not_available_message" msgid="2284146863894603221">"請稍後再嘗試撥打電話,或以語音方式繼續進行通話。"</string>
+ <string name="voice_call" msgid="6748636104112578475">"語音通話"</string>
</resources>
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
index 489f72b7d..95bdd6b78 100644
--- a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -50,6 +50,7 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.ActivityCompat;
+import com.android.dialer.util.PermissionsUtil;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
import com.android.incallui.contactgrid.ContactGridManager;
@@ -65,7 +66,6 @@ import com.android.incallui.incall.protocol.InCallScreenDelegateFactory;
import com.android.incallui.incall.protocol.PrimaryCallState;
import com.android.incallui.incall.protocol.PrimaryInfo;
import com.android.incallui.incall.protocol.SecondaryInfo;
-import com.android.incallui.video.impl.CameraPermissionDialogFragment.CameraPermissionDialogCallback;
import com.android.incallui.video.impl.CheckableImageButton.OnCheckedChangeListener;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
@@ -85,15 +85,12 @@ public class SurfaceViewVideoCallFragment extends Fragment
OnClickListener,
OnCheckedChangeListener,
AudioRouteSelectorPresenter,
- OnSystemUiVisibilityChangeListener,
- CameraPermissionDialogCallback {
+ OnSystemUiVisibilityChangeListener {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
static final String ARG_CALL_ID = "call_id";
private static final int CAMERA_PERMISSION_REQUEST_CODE = 1;
- private static final String CAMERA_PERMISSION_DIALOG_FRAMENT_TAG =
- "CameraPermissionDialogFragment";
private static final long CAMERA_PERMISSION_DIALOG_DELAY_IN_MILLIS = 2000L;
private static final long VIDEO_OFF_VIEW_FADE_OUT_DELAY_IN_MILLIS = 2000L;
@@ -131,7 +128,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
new Runnable() {
@Override
public void run() {
- if (videoCallScreenDelegate.shouldShowCameraPermissionDialog()) {
+ if (videoCallScreenDelegate.shouldShowCameraPermissionToast()) {
LogUtil.i(
"SurfaceViewVideoCallFragment.cameraPermissionDialogRunnable", "showing dialog");
checkCameraPermission();
@@ -612,7 +609,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
@Override
public void onCheckedChanged(CheckableImageButton button, boolean isChecked) {
if (button == cameraOffButton) {
- if (!isChecked && !VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+ if (!isChecked && !VideoUtils.hasCameraPermissionAndShownPrivacyToast(getContext())) {
LogUtil.i("SurfaceViewVideoCallFragment.onCheckedChanged", "show camera permission dialog");
checkCameraPermission();
} else {
@@ -1048,24 +1045,19 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
}
- @Override
- public void onCameraPermissionGranted() {
- videoCallScreenDelegate.onCameraPermissionGranted();
- }
-
private void checkCameraPermission() {
// Checks if user has consent of camera permission and the permission is granted.
// If camera permission is revoked, shows system permission dialog.
// If camera permission is granted but user doesn't have consent of camera permission
// (which means it's first time making video call), shows custom dialog instead. This
// will only be shown to user once.
- if (!VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+ if (!VideoUtils.hasCameraPermissionAndShownPrivacyToast(getContext())) {
videoCallScreenDelegate.onCameraPermissionDialogShown();
if (!VideoUtils.hasCameraPermission(getContext())) {
requestPermissions(new String[] {permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE);
} else {
- CameraPermissionDialogFragment.newInstance()
- .show(getChildFragmentManager(), CAMERA_PERMISSION_DIALOG_FRAMENT_TAG);
+ PermissionsUtil.showCameraPermissionToast(getContext());
+ videoCallScreenDelegate.onCameraPermissionGranted();
}
}
}
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index f9b5d45fa..203710e5f 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
+import android.graphics.Matrix;
import android.graphics.Outline;
import android.graphics.Point;
import android.graphics.drawable.Animatable;
@@ -44,11 +45,11 @@ import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnClickListener;
+import android.view.View.OnLayoutChangeListener;
import android.view.View.OnSystemUiVisibilityChangeListener;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
import android.view.ViewOutlineProvider;
-import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Interpolator;
@@ -59,8 +60,8 @@ import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.compat.ActivityCompat;
+import com.android.dialer.util.PermissionsUtil;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
import com.android.incallui.contactgrid.ContactGridManager;
@@ -76,7 +77,6 @@ import com.android.incallui.incall.protocol.InCallScreenDelegateFactory;
import com.android.incallui.incall.protocol.PrimaryCallState;
import com.android.incallui.incall.protocol.PrimaryInfo;
import com.android.incallui.incall.protocol.SecondaryInfo;
-import com.android.incallui.video.impl.CameraPermissionDialogFragment.CameraPermissionDialogCallback;
import com.android.incallui.video.impl.CheckableImageButton.OnCheckedChangeListener;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
@@ -94,8 +94,7 @@ public class VideoCallFragment extends Fragment
OnClickListener,
OnCheckedChangeListener,
AudioRouteSelectorPresenter,
- OnSystemUiVisibilityChangeListener,
- CameraPermissionDialogCallback {
+ OnSystemUiVisibilityChangeListener {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
static final String ARG_CALL_ID = "call_id";
@@ -107,8 +106,6 @@ public class VideoCallFragment extends Fragment
private static final float ASPECT_RATIO_MATCH_THRESHOLD = 0.2f;
private static final int CAMERA_PERMISSION_REQUEST_CODE = 1;
- private static final String CAMERA_PERMISSION_DIALOG_FRAMENT_TAG =
- "CameraPermissionDialogFragment";
private static final long CAMERA_PERMISSION_DIALOG_DELAY_IN_MILLIS = 2000L;
private static final long VIDEO_OFF_VIEW_FADE_OUT_DELAY_IN_MILLIS = 2000L;
@@ -123,9 +120,6 @@ public class VideoCallFragment extends Fragment
}
};
- // Must use a named method reference as otherwise they do not match.
- // https://stackoverflow.com/questions/28190304/two-exact-method-references-are-not-equal
- private final Runnable updatePreviewVideoIfSafe = this::updatePreviewVideoScaling;
private InCallScreenDelegate inCallScreenDelegate;
private VideoCallScreenDelegate videoCallScreenDelegate;
private InCallButtonUiDelegate inCallButtonUiDelegate;
@@ -161,7 +155,7 @@ public class VideoCallFragment extends Fragment
new Runnable() {
@Override
public void run() {
- if (videoCallScreenDelegate.shouldShowCameraPermissionDialog()) {
+ if (videoCallScreenDelegate.shouldShowCameraPermissionToast()) {
LogUtil.i("VideoCallFragment.cameraPermissionDialogRunnable", "showing dialog");
checkCameraPermission();
}
@@ -257,25 +251,43 @@ public class VideoCallFragment extends Fragment
greenScreenBackgroundView = view.findViewById(R.id.videocall_green_screen_background);
fullscreenBackgroundView = view.findViewById(R.id.videocall_fullscreen_background);
- // We need the texture view size to be able to scale the remote video. At this point the view
- // layout won't be complete so add a layout listener.
- ViewTreeObserver observer = remoteTextureView.getViewTreeObserver();
- observer.addOnGlobalLayoutListener(
- new ViewTreeObserver.OnGlobalLayoutListener() {
+ remoteTextureView.addOnLayoutChangeListener(
+ new OnLayoutChangeListener() {
@Override
- public void onGlobalLayout() {
- LogUtil.i("VideoCallFragment.onGlobalLayout", null);
+ public void onLayoutChange(
+ View v,
+ int left,
+ int top,
+ int right,
+ int bottom,
+ int oldLeft,
+ int oldTop,
+ int oldRight,
+ int oldBottom) {
+ LogUtil.i("VideoCallFragment.onLayoutChange", "remoteTextureView layout changed");
updateRemoteVideoScaling();
- updatePreviewVideoScaling();
- updateVideoOffViews();
- // Remove the listener so we don't continually re-layout.
- ViewTreeObserver observer = remoteTextureView.getViewTreeObserver();
- if (observer.isAlive()) {
- observer.removeOnGlobalLayoutListener(this);
- }
+ updateRemoteOffView();
}
});
+ previewTextureView.addOnLayoutChangeListener(
+ new OnLayoutChangeListener() {
+ @Override
+ public void onLayoutChange(
+ View v,
+ int left,
+ int top,
+ int right,
+ int bottom,
+ int oldLeft,
+ int oldTop,
+ int oldRight,
+ int oldBottom) {
+ LogUtil.i("VideoCallFragment.onLayoutChange", "previewTextureView layout changed");
+ fixPreviewRotation();
+ updatePreviewOffView();
+ }
+ });
return view;
}
@@ -354,9 +366,6 @@ public class VideoCallFragment extends Fragment
super.onPause();
LogUtil.i("VideoCallFragment.onPause", null);
inCallScreenDelegate.onInCallScreenPaused();
-
- // If this is scheduled we should remove it
- ThreadUtil.getUiThreadHandler().removeCallbacks(updatePreviewVideoIfSafe);
}
@Override
@@ -461,7 +470,7 @@ public class VideoCallFragment extends Fragment
View view = getView();
if (view != null) {
// Code is more expressive with all flags present, even though some may be combined
- //noinspection PointlessBitwiseExpression
+ // noinspection PointlessBitwiseExpression
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
}
@@ -641,7 +650,7 @@ public class VideoCallFragment extends Fragment
@Override
public void onCheckedChanged(CheckableImageButton button, boolean isChecked) {
if (button == cameraOffButton) {
- if (!isChecked && !VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+ if (!isChecked && !VideoUtils.hasCameraPermissionAndShownPrivacyToast(getContext())) {
LogUtil.i("VideoCallFragment.onCheckedChanged", "show camera permission dialog");
checkCameraPermission();
} else {
@@ -662,15 +671,19 @@ public class VideoCallFragment extends Fragment
"showPreview: %b, shouldShowRemote: %b",
shouldShowPreview,
shouldShowRemote);
- this.shouldShowPreview = shouldShowPreview;
- this.shouldShowRemote = shouldShowRemote;
- this.isRemotelyHeld = isRemotelyHeld;
videoCallScreenDelegate.getLocalVideoSurfaceTexture().attachToTextureView(previewTextureView);
videoCallScreenDelegate.getRemoteVideoSurfaceTexture().attachToTextureView(remoteTextureView);
- updateVideoOffViews();
- updateRemoteVideoScaling();
+ this.isRemotelyHeld = isRemotelyHeld;
+ if (this.shouldShowRemote != shouldShowRemote) {
+ this.shouldShowRemote = shouldShowRemote;
+ updateRemoteOffView();
+ }
+ if (this.shouldShowPreview != shouldShowPreview) {
+ this.shouldShowPreview = shouldShowPreview;
+ updatePreviewOffView();
+ }
}
@Override
@@ -732,7 +745,6 @@ public class VideoCallFragment extends Fragment
} else {
exitFullscreenMode();
}
- updateVideoOffViews();
OnHoldFragment onHoldFragment =
((OnHoldFragment)
@@ -949,31 +961,15 @@ public class VideoCallFragment extends Fragment
// Do nothing
}
- private void updatePreviewVideoScaling() {
- if (previewTextureView.getWidth() == 0 || previewTextureView.getHeight() == 0) {
- LogUtil.i("VideoCallFragment.updatePreviewVideoScaling", "view layout hasn't finished yet");
- return;
- }
- VideoSurfaceTexture localVideoSurfaceTexture =
- videoCallScreenDelegate.getLocalVideoSurfaceTexture();
- Point cameraDimensions = localVideoSurfaceTexture.getSurfaceDimensions();
- if (cameraDimensions == null) {
- LogUtil.i(
- "VideoCallFragment.updatePreviewVideoScaling", "camera dimensions haven't been set");
- return;
- }
- if (isLandscape()) {
- VideoSurfaceBindings.scaleVideoAndFillView(
- previewTextureView,
- cameraDimensions.x,
- cameraDimensions.y,
- videoCallScreenDelegate.getDeviceOrientation());
- } else {
- VideoSurfaceBindings.scaleVideoAndFillView(
- previewTextureView,
- cameraDimensions.y,
- cameraDimensions.x,
- videoCallScreenDelegate.getDeviceOrientation());
+ private void fixPreviewRotation() {
+ int rotationDegrees = getRotationDegrees();
+ if (rotationDegrees == 90 || rotationDegrees == 270) {
+ int viewWidth = previewTextureView.getWidth();
+ int viewHeight = previewTextureView.getHeight();
+ Matrix transform = new Matrix();
+ // Multiplying by -1 prevents the image from being upside down in landscape mode.
+ transform.postRotate(rotationDegrees * -1.0f, viewWidth / 2.0f, viewHeight / 2.0f);
+ previewTextureView.setTransform(transform);
}
}
@@ -1010,6 +1006,22 @@ public class VideoCallFragment extends Fragment
return rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270;
}
+ private int getRotationDegrees() {
+ int rotation = getActivity().getWindowManager().getDefaultDisplay().getRotation();
+ switch (rotation) {
+ case Surface.ROTATION_0:
+ return 0;
+ case Surface.ROTATION_90:
+ return 90;
+ case Surface.ROTATION_180:
+ return 180;
+ case Surface.ROTATION_270:
+ return 270;
+ default:
+ throw Assert.createAssertionFailException("unsupported rotation: " + rotation);
+ }
+ }
+
private void enterGreenScreenMode() {
LogUtil.i("VideoCallFragment.enterGreenScreenMode", null);
RelativeLayout.LayoutParams params =
@@ -1019,7 +1031,6 @@ public class VideoCallFragment extends Fragment
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
previewTextureView.setLayoutParams(params);
previewTextureView.setOutlineProvider(null);
- updatePreviewVideoScaling();
updateOverlayBackground();
contactGridManager.setIsMiddleRowVisible(true);
updateMutePreviewOverlayVisibility();
@@ -1055,12 +1066,11 @@ public class VideoCallFragment extends Fragment
previewOffBlurredImageView.setLayoutParams(params);
previewOffBlurredImageView.setOutlineProvider(circleOutlineProvider);
previewOffBlurredImageView.setClipToOutline(true);
-
- // Wait until the layout pass has finished before updating the scaling
- ThreadUtil.postOnUiThread(updatePreviewVideoIfSafe);
}
- private void updateVideoOffViews() {
+ private void updatePreviewOffView() {
+ LogUtil.enterBlock("VideoCallFragment.updatePreviewOffView");
+
// Always hide the preview off and remote off views in green screen mode.
boolean previewEnabled = isInGreenScreenMode || shouldShowPreview;
previewOffOverlay.setVisibility(previewEnabled ? View.GONE : View.VISIBLE);
@@ -1070,7 +1080,10 @@ public class VideoCallFragment extends Fragment
shouldShowPreview,
BLUR_PREVIEW_RADIUS,
BLUR_PREVIEW_SCALE_FACTOR);
+ }
+ private void updateRemoteOffView() {
+ LogUtil.enterBlock("VideoCallFragment.updateRemoteOffView");
boolean remoteEnabled = isInGreenScreenMode || shouldShowRemote;
boolean isResumed = remoteEnabled && !isRemotelyHeld;
if (isResumed) {
@@ -1097,7 +1110,6 @@ public class VideoCallFragment extends Fragment
isRemotelyHeld ? R.string.videocall_remotely_held : R.string.videocall_remote_video_off);
remoteVideoOff.setVisibility(View.VISIBLE);
}
- LogUtil.i("VideoCallFragment.updateVideoOffViews", "calling updateBlurredImageView");
updateBlurredImageView(
remoteTextureView,
remoteOffBlurredImageView,
@@ -1125,6 +1137,8 @@ public class VideoCallFragment extends Fragment
int width = Math.round(textureView.getWidth() * scaleFactor);
int height = Math.round(textureView.getHeight() * scaleFactor);
+ LogUtil.i("VideoCallFragment.updateBlurredImageView", "width: %d, height: %d", width, height);
+
// This call takes less than 10 milliseconds.
Bitmap bitmap = textureView.getBitmap(width, height);
@@ -1239,26 +1253,21 @@ public class VideoCallFragment extends Fragment
videoCallScreenDelegate.onSystemUiVisibilityChange(navBarVisible);
}
- @Override
- public void onCameraPermissionGranted() {
- videoCallScreenDelegate.onCameraPermissionGranted();
- }
-
private void checkCameraPermission() {
// Checks if user has consent of camera permission and the permission is granted.
// If camera permission is revoked, shows system permission dialog.
// If camera permission is granted but user doesn't have consent of camera permission
// (which means it's first time making video call), shows custom dialog instead. This
// will only be shown to user once.
- if (!VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+ if (!VideoUtils.hasCameraPermissionAndShownPrivacyToast(getContext())) {
videoCallScreenDelegate.onCameraPermissionDialogShown();
if (!VideoUtils.hasCameraPermission(getContext())) {
requestPermissions(new String[] {permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE);
} else {
- CameraPermissionDialogFragment.newInstance()
- .show(getChildFragmentManager(), CAMERA_PERMISSION_DIALOG_FRAMENT_TAG);
+ PermissionsUtil.showCameraPermissionToast(getContext());
+ videoCallScreenDelegate.onCameraPermissionGranted();
}
}
}
}
-//LINT.ThenChange(//depot/google3/third_party/java_src/android_app/dialer/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java)
+// LINT.ThenChange(//depot/google3/third_party/java_src/android_app/dialer/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java)
diff --git a/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java b/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
index e7e69df2f..55ea23f5e 100644
--- a/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
+++ b/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
@@ -37,7 +37,7 @@ public interface VideoCallScreenDelegate {
void onCameraPermissionGranted();
- boolean shouldShowCameraPermissionDialog();
+ boolean shouldShowCameraPermissionToast();
void onCameraPermissionDialogShown();
diff --git a/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java b/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java
index 8cac40229..1af7dff4f 100644
--- a/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java
+++ b/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java
@@ -67,9 +67,6 @@ public class VideoSurfaceTextureImpl implements VideoSurfaceTexture {
"VideoSurfaceTextureImpl.setSurfaceDimensions",
"surfaceDimensions: " + surfaceDimensions + " " + toString());
this.surfaceDimensions = surfaceDimensions;
- if (surfaceDimensions != null && savedSurfaceTexture != null) {
- savedSurfaceTexture.setDefaultBufferSize(surfaceDimensions.x, surfaceDimensions.y);
- }
}
@Override
diff --git a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
index 55ee2db21..961de9e9a 100644
--- a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
+++ b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
@@ -91,7 +91,9 @@ public class LightbringerTech implements VideoTech, LightbringerListener {
}
@Override
- public void onRemovedFromCallList() {}
+ public void onRemovedFromCallList() {
+ lightbringer.unregisterListener(this);
+ }
@Override
public int getSessionModificationState() {
diff --git a/java/com/android/incallui/videotech/utils/VideoUtils.java b/java/com/android/incallui/videotech/utils/VideoUtils.java
index 527654030..9dfc68728 100644
--- a/java/com/android/incallui/videotech/utils/VideoUtils.java
+++ b/java/com/android/incallui/videotech/utils/VideoUtils.java
@@ -20,12 +20,10 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
-import com.android.dialer.util.DialerUtils;
+import com.android.dialer.util.PermissionsUtil;
public class VideoUtils {
- private static final String PREFERENCE_CAMERA_ALLOWED_BY_USER = "camera_allowed_by_user";
-
public static boolean hasSentVideoUpgradeRequest(@SessionModificationState int state) {
return state == SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE
|| state == SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_FAILED
@@ -37,24 +35,12 @@ public class VideoUtils {
return state == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
}
- public static boolean hasCameraPermissionAndAllowedByUser(@NonNull Context context) {
- return isCameraAllowedByUser(context) && hasCameraPermission(context);
+ public static boolean hasCameraPermissionAndShownPrivacyToast(@NonNull Context context) {
+ return PermissionsUtil.hasCameraPrivacyToastShown(context) && hasCameraPermission(context);
}
public static boolean hasCameraPermission(@NonNull Context context) {
return ContextCompat.checkSelfPermission(context, android.Manifest.permission.CAMERA)
== PackageManager.PERMISSION_GRANTED;
}
-
- public static boolean isCameraAllowedByUser(@NonNull Context context) {
- return DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context)
- .getBoolean(PREFERENCE_CAMERA_ALLOWED_BY_USER, false);
- }
-
- public static void setCameraAllowedByUser(@NonNull Context context) {
- DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context)
- .edit()
- .putBoolean(PREFERENCE_CAMERA_ALLOWED_BY_USER, true)
- .apply();
- }
}
diff --git a/java/com/android/voicemail/AndroidManifest.xml b/java/com/android/voicemail/AndroidManifest.xml
index aedfd6fbf..817cf1b55 100644
--- a/java/com/android/voicemail/AndroidManifest.xml
+++ b/java/com/android/voicemail/AndroidManifest.xml
@@ -14,7 +14,7 @@
~ limitations under the License
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.voicemailomtp">
+ package="com.android.voicemail">
<uses-sdk
android:minSdkVersion="23"
@@ -32,5 +32,22 @@
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <application/>
+ <application>
+ <receiver
+ android:name=".VoicemailSecretCodeReceiver"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.provider.Telephony.SECRET_CODE" />
+ <data android:scheme="android_secret_code" />
+ </intent-filter>
+ </receiver>
+
+ <receiver android:name="com.android.voicemail.VoicemailPowerCycleReceiver"
+ android:exported="false">
+ <intent-filter>
+ <action android:name="android.intent.action.BOOT_COMPLETED" />
+ <action android:name="android.intent.action.ACTION_SHUTDOWN" />
+ </intent-filter>
+ </receiver>
+ </application>
</manifest>
diff --git a/java/com/android/voicemail/VoicemailClient.java b/java/com/android/voicemail/VoicemailClient.java
index 97b824b27..28d2bf0ff 100644
--- a/java/com/android/voicemail/VoicemailClient.java
+++ b/java/com/android/voicemail/VoicemailClient.java
@@ -18,7 +18,10 @@ package com.android.voicemail;
import android.content.Context;
import android.content.Intent;
+import android.os.PersistableBundle;
import android.provider.VoicemailContract.Voicemails;
+import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
@@ -52,6 +55,12 @@ public interface VoicemailClient {
"com.android.voicemail.VoicemailClient.ACTION_SHOW_LEGACY_VOICEMAIL";
/**
+ * Secret code to launch the voicemail config activity intended for OEMs and Carriers. {@code
+ * *#*#VVMCONFIG#*#*}
+ */
+ String VOICEMAIL_SECRET_CODE = "886266344";
+
+ /**
* Whether the visual voicemail service is enabled for the {@code phoneAccountHandle}. "Enable"
* means the user "wants" to have this service on, and does not mean the service is actually
* functional(For example, the service is blocked on the carrier side. The service will be
@@ -122,4 +131,21 @@ public interface VoicemailClient {
* provisioning. Being "activated" means all setup are completed, and VVM is expected to work.
*/
boolean isActivated(Context context, PhoneAccountHandle phoneAccountHandle);
+
+ /**
+ * Called when {@link #VOICEMAIL_SECRET_CODE} is dialed. {@code context} will be a broadcast
+ * receiver context.
+ */
+ @MainThread
+ void showConfigUi(@NonNull Context context);
+
+ @NonNull
+ PersistableBundle getConfig(
+ @NonNull Context context, @Nullable PhoneAccountHandle phoneAccountHandle);
+
+ @MainThread
+ void onBoot(@NonNull Context context);
+
+ @MainThread
+ void onShutdown(@NonNull Context context);
}
diff --git a/java/com/android/voicemail/VoicemailPowerCycleReceiver.java b/java/com/android/voicemail/VoicemailPowerCycleReceiver.java
new file mode 100644
index 000000000..e9362b42d
--- /dev/null
+++ b/java/com/android/voicemail/VoicemailPowerCycleReceiver.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.voicemail;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import com.android.dialer.common.Assert;
+
+/** Receives {@link Intent#ACTION_BOOT_COMPLETED} and {@link Intent#ACTION_SHUTDOWN} */
+public class VoicemailPowerCycleReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ VoicemailClient voicemailClient = VoicemailComponent.get(context).getVoicemailClient();
+ if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
+ voicemailClient.onBoot(context);
+ } else if (Intent.ACTION_SHUTDOWN.equals(intent.getAction())) {
+ voicemailClient.onShutdown(context);
+ } else {
+ throw Assert.createAssertionFailException("unexpected action: " + intent.getAction());
+ }
+ }
+}
diff --git a/java/com/android/voicemail/VoicemailSecretCodeReceiver.java b/java/com/android/voicemail/VoicemailSecretCodeReceiver.java
new file mode 100644
index 000000000..6d142410c
--- /dev/null
+++ b/java/com/android/voicemail/VoicemailSecretCodeReceiver.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import com.android.dialer.common.LogUtil;
+
+/** Receives android.provider.Telephony.SECRET_CODE */
+public class VoicemailSecretCodeReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String host = intent.getData().getHost();
+ if (!VoicemailClient.VOICEMAIL_SECRET_CODE.equals(host)) {
+ return;
+ }
+ LogUtil.i("VoicemailSecretCodeReceiver.onReceive", "secret code received");
+ VoicemailComponent.get(context).getVoicemailClient().showConfigUi(context);
+ }
+}
diff --git a/java/com/android/voicemail/impl/AndroidManifest.xml b/java/com/android/voicemail/impl/AndroidManifest.xml
index be7dac10d..49d93f54e 100644
--- a/java/com/android/voicemail/impl/AndroidManifest.xml
+++ b/java/com/android/voicemail/impl/AndroidManifest.xml
@@ -15,7 +15,7 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.voicemailomtp">
+ package="com.android.voicemail.impl">
<application
android:allowBackup="false"
@@ -117,13 +117,6 @@
android:windowSoftInputMode="stateVisible|adjustResize">
</activity>
- <receiver android:name="com.android.voicemail.impl.VoicemailBootReceiver"
- android:exported="false">
- <intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED" />
- </intent-filter>
- </receiver>
-
<receiver android:name="com.android.voicemail.impl.CarrierVvmPackageInstalledReceiver"
android:permission="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
android:exported="true">
diff --git a/java/com/android/voicemail/impl/OmtpService.java b/java/com/android/voicemail/impl/OmtpService.java
index b82cc5f68..4db1aeb7e 100644
--- a/java/com/android/voicemail/impl/OmtpService.java
+++ b/java/com/android/voicemail/impl/OmtpService.java
@@ -17,9 +17,13 @@
package com.android.voicemail.impl;
import android.annotation.TargetApi;
+import android.content.Context;
import android.content.Intent;
import android.os.Build.VERSION_CODES;
import android.os.UserManager;
+import android.preference.PreferenceManager;
+import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
import android.telecom.PhoneAccountHandle;
import android.telephony.VisualVoicemailService;
import android.telephony.VisualVoicemailSms;
@@ -40,6 +44,8 @@ public class OmtpService extends VisualVoicemailService {
public static final String EXTRA_VOICEMAIL_SMS = "extra_voicemail_sms";
+ private static final String IS_SHUTTING_DOWN = "com.android.voicemail.impl.is_shutting_down";
+
@Override
public void onCellServiceConnected(
VisualVoicemailTask task, final PhoneAccountHandle phoneAccountHandle) {
@@ -50,7 +56,7 @@ public class OmtpService extends VisualVoicemailService {
return;
}
- if (!isUserUnlocked()) {
+ if (!isUserUnlocked(this)) {
VvmLog.i(TAG, "onCellServiceConnected: user locked");
task.finish();
return;
@@ -75,7 +81,7 @@ public class OmtpService extends VisualVoicemailService {
return;
}
- if (!isUserUnlocked()) {
+ if (!isUserUnlocked(this)) {
LegacyModeSmsHandler.handle(this, sms);
return;
}
@@ -105,12 +111,18 @@ public class OmtpService extends VisualVoicemailService {
return;
}
- if (!isUserUnlocked()) {
+ if (!isUserUnlocked(this)) {
VvmLog.i(TAG, "onSimRemoved: user locked");
task.finish();
return;
}
+ if (isShuttingDown(this)) {
+ VvmLog.i(TAG, "onSimRemoved: system shutting down, ignoring");
+ task.finish();
+ return;
+ }
+
Logger.get(this).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
VvmAccountManager.removeAccount(this, phoneAccountHandle);
task.finish();
@@ -124,7 +136,7 @@ public class OmtpService extends VisualVoicemailService {
task.finish();
return;
}
- if (!isUserUnlocked()) {
+ if (!isUserUnlocked(this)) {
VvmLog.i(TAG, "onStopped: user locked");
task.finish();
return;
@@ -132,6 +144,22 @@ public class OmtpService extends VisualVoicemailService {
Logger.get(this).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
}
+ @MainThread
+ static void onBoot(@NonNull Context context) {
+ VvmLog.i(TAG, "onBoot");
+ Assert.isTrue(isUserUnlocked(context));
+ Assert.isMainThread();
+ setShuttingDown(context, false);
+ }
+
+ @MainThread
+ static void onShutdown(@NonNull Context context) {
+ VvmLog.i(TAG, "onShutdown");
+ Assert.isTrue(isUserUnlocked(context));
+ Assert.isMainThread();
+ setShuttingDown(context, true);
+ }
+
private boolean isModuleEnabled() {
return VoicemailComponent.get(this).getVoicemailClient().isVoicemailModuleEnabled();
}
@@ -150,8 +178,20 @@ public class OmtpService extends VisualVoicemailService {
return true;
}
- private boolean isUserUnlocked() {
- UserManager userManager = getSystemService(UserManager.class);
+ private static boolean isUserUnlocked(@NonNull Context context) {
+ UserManager userManager = context.getSystemService(UserManager.class);
return userManager.isUserUnlocked();
}
+
+ private static void setShuttingDown(Context context, boolean value) {
+ PreferenceManager.getDefaultSharedPreferences(context)
+ .edit()
+ .putBoolean(IS_SHUTTING_DOWN, value)
+ .apply();
+ }
+
+ private static boolean isShuttingDown(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean(IS_SHUTTING_DOWN, false);
+ }
}
diff --git a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
index 4a9e43370..700e1cbca 100644
--- a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
+++ b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java
@@ -15,9 +15,11 @@
*/
package com.android.voicemail.impl;
+import android.annotation.TargetApi;
import android.app.PendingIntent;
import android.content.Context;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.annotation.NonNull;
@@ -30,6 +32,7 @@ import android.telephony.VisualVoicemailSmsFilterSettings;
import android.text.TextUtils;
import android.util.ArraySet;
import com.android.dialer.common.Assert;
+import com.android.voicemail.impl.configui.ConfigOverrideFragment;
import com.android.voicemail.impl.protocol.VisualVoicemailProtocol;
import com.android.voicemail.impl.protocol.VisualVoicemailProtocolFactory;
import com.android.voicemail.impl.sms.StatusMessage;
@@ -48,27 +51,28 @@ import java.util.Set;
*
* <p>The current hidden configs are: {@link #getSslPort()} {@link #getDisabledCapabilities()}
*/
+@TargetApi(VERSION_CODES.O)
public class OmtpVvmCarrierConfigHelper {
private static final String TAG = "OmtpVvmCarrierCfgHlpr";
- static final String KEY_VVM_TYPE_STRING = CarrierConfigManager.KEY_VVM_TYPE_STRING;
- static final String KEY_VVM_DESTINATION_NUMBER_STRING =
+ public static final String KEY_VVM_TYPE_STRING = CarrierConfigManager.KEY_VVM_TYPE_STRING;
+ public static final String KEY_VVM_DESTINATION_NUMBER_STRING =
CarrierConfigManager.KEY_VVM_DESTINATION_NUMBER_STRING;
- static final String KEY_VVM_PORT_NUMBER_INT = CarrierConfigManager.KEY_VVM_PORT_NUMBER_INT;
- static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING =
+ public static final String KEY_VVM_PORT_NUMBER_INT = CarrierConfigManager.KEY_VVM_PORT_NUMBER_INT;
+ public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING =
CarrierConfigManager.KEY_CARRIER_VVM_PACKAGE_NAME_STRING;
- static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY =
+ public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY =
"carrier_vvm_package_name_string_array";
- static final String KEY_VVM_PREFETCH_BOOL = CarrierConfigManager.KEY_VVM_PREFETCH_BOOL;
- static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL =
+ public static final String KEY_VVM_PREFETCH_BOOL = CarrierConfigManager.KEY_VVM_PREFETCH_BOOL;
+ public static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL =
CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL;
/** @see #getSslPort() */
- static final String KEY_VVM_SSL_PORT_NUMBER_INT = "vvm_ssl_port_number_int";
+ public static final String KEY_VVM_SSL_PORT_NUMBER_INT = "vvm_ssl_port_number_int";
/** @see #isLegacyModeEnabled() */
- static final String KEY_VVM_LEGACY_MODE_ENABLED_BOOL = "vvm_legacy_mode_enabled_bool";
+ public static final String KEY_VVM_LEGACY_MODE_ENABLED_BOOL = "vvm_legacy_mode_enabled_bool";
/**
* Ban a capability reported by the server from being used. The array of string should be a subset
@@ -76,10 +80,10 @@ public class OmtpVvmCarrierConfigHelper {
*
* @see #getDisabledCapabilities()
*/
- static final String KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY =
+ public static final String KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY =
"vvm_disabled_capabilities_string_array";
- static final String KEY_VVM_CLIENT_PREFIX_STRING = "vvm_client_prefix_string";
+ public static final String KEY_VVM_CLIENT_PREFIX_STRING = "vvm_client_prefix_string";
private final Context mContext;
private final PersistableBundle mCarrierConfig;
@@ -87,6 +91,8 @@ public class OmtpVvmCarrierConfigHelper {
private final VisualVoicemailProtocol mProtocol;
private final PersistableBundle mTelephonyConfig;
+ @Nullable private final PersistableBundle mOverrideConfig;
+
private PhoneAccountHandle mPhoneAccountHandle;
public OmtpVvmCarrierConfigHelper(Context context, @Nullable PhoneAccountHandle handle) {
@@ -100,6 +106,7 @@ public class OmtpVvmCarrierConfigHelper {
VvmLog.e(TAG, "PhoneAccountHandle is invalid");
mCarrierConfig = null;
mTelephonyConfig = null;
+ mOverrideConfig = null;
mVvmType = null;
mProtocol = null;
return;
@@ -111,6 +118,13 @@ public class OmtpVvmCarrierConfigHelper {
mVvmType = getVvmType();
mProtocol = VisualVoicemailProtocolFactory.create(mContext.getResources(), mVvmType);
+
+ if (ConfigOverrideFragment.isOverridden(context)) {
+ mOverrideConfig = ConfigOverrideFragment.getConfig(context);
+ VvmLog.w(TAG, "Config override is activated: " + mOverrideConfig);
+ } else {
+ mOverrideConfig = null;
+ }
}
@VisibleForTesting
@@ -119,10 +133,23 @@ public class OmtpVvmCarrierConfigHelper {
mContext = context;
mCarrierConfig = carrierConfig;
mTelephonyConfig = telephonyConfig;
+ mOverrideConfig = null;
mVvmType = getVvmType();
mProtocol = VisualVoicemailProtocolFactory.create(mContext.getResources(), mVvmType);
}
+ public PersistableBundle getConfig() {
+ PersistableBundle result = new PersistableBundle();
+ if (mTelephonyConfig != null) {
+ result.putAll(mTelephonyConfig);
+ }
+ if (mCarrierConfig != null) {
+ result.putAll(mCarrierConfig);
+ }
+
+ return result;
+ }
+
public Context getContext() {
return mContext;
}
@@ -426,6 +453,13 @@ public class OmtpVvmCarrierConfigHelper {
@Nullable
private Object getValue(String key, Object defaultValue) {
Object result;
+ if (mOverrideConfig != null) {
+ result = mOverrideConfig.get(key);
+ if (result != null) {
+ return result;
+ }
+ }
+
if (mCarrierConfig != null) {
result = mCarrierConfig.get(key);
if (result != null) {
diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java
index 83ce6c588..1b9890381 100644
--- a/java/com/android/voicemail/impl/VoicemailClientImpl.java
+++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java
@@ -17,8 +17,11 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.os.Build.VERSION_CODES;
+import android.os.PersistableBundle;
import android.provider.VoicemailContract.Status;
import android.provider.VoicemailContract.Voicemails;
+import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccountHandle;
@@ -28,6 +31,7 @@ import com.android.dialer.common.LogUtil;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.VisualVoicemailTypeExtensions;
import com.android.voicemail.VoicemailClient;
+import com.android.voicemail.impl.configui.VoicemailSecretCodeActivity;
import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
import com.android.voicemail.impl.settings.VoicemailChangePinActivity;
import com.android.voicemail.impl.settings.VoicemailSettingsFragment;
@@ -126,6 +130,31 @@ public class VoicemailClientImpl implements VoicemailClient {
return VvmAccountManager.isAccountActivated(context, phoneAccountHandle);
}
+ @Override
+ public void showConfigUi(@NonNull Context context) {
+ Intent intent = new Intent(context, VoicemailSecretCodeActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(intent);
+ }
+
+ @Override
+ public PersistableBundle getConfig(Context context, PhoneAccountHandle phoneAccountHandle) {
+ return new OmtpVvmCarrierConfigHelper(context, phoneAccountHandle).getConfig();
+ }
+
+ @Override
+ @MainThread
+ public void onBoot(@NonNull Context context) {
+ OmtpService.onBoot(context);
+ StatusCheckJobService.schedule(context);
+ }
+
+ @Override
+ @MainThread
+ public void onShutdown(@NonNull Context context) {
+ OmtpService.onShutdown(context);
+ }
+
@TargetApi(VERSION_CODES.O)
@Override
public void appendOmtpVoicemailSelectionClause(
diff --git a/java/com/android/voicemail/impl/VoicemailClientReceiver.java b/java/com/android/voicemail/impl/VoicemailClientReceiver.java
index 49a55a41b..688636e6c 100644
--- a/java/com/android/voicemail/impl/VoicemailClientReceiver.java
+++ b/java/com/android/voicemail/impl/VoicemailClientReceiver.java
@@ -23,6 +23,7 @@ import android.telecom.PhoneAccountHandle;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.voicemail.VoicemailClient;
+import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.sync.UploadTask;
import com.android.voicemail.impl.sync.VvmAccountManager;
@@ -31,6 +32,11 @@ public class VoicemailClientReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
+ if (!VoicemailComponent.get(context).getVoicemailClient().isVoicemailModuleEnabled()) {
+ LogUtil.i(
+ "VoicemailClientReceiver.onReceive", "module disabled, ignoring " + intent.getAction());
+ return;
+ }
switch (intent.getAction()) {
case VoicemailClient.ACTION_UPLOAD:
doUpload(context);
diff --git a/java/com/android/voicemail/impl/configui/AndroidManifest.xml b/java/com/android/voicemail/impl/configui/AndroidManifest.xml
new file mode 100644
index 000000000..95796f978
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/AndroidManifest.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.voicemail.impl.configui">
+
+ <application>
+ <activity android:name="com.android.voicemail.impl.configui.VoicemailSecretCodeActivity"
+ android:exported="false">
+ </activity>
+ </application>
+</manifest>
diff --git a/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java b/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java
new file mode 100644
index 000000000..18b2b9274
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl.configui;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.os.PersistableBundle;
+import android.preference.EditTextPreference;
+import android.preference.Preference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.text.TextUtils;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.concurrent.ThreadUtil;
+import com.android.voicemail.VoicemailComponent;
+
+/**
+ * Fragment to edit the override values for the {@link import
+ * com.android.voicemail.impl.OmtpVvmCarrierConfigHelper}
+ */
+public class ConfigOverrideFragment extends PreferenceFragment
+ implements OnPreferenceChangeListener {
+
+ /**
+ * Any preference with key that starts with this prefix will be written to the dialer carrier
+ * config.
+ */
+ @VisibleForTesting static final String CONFIG_OVERRIDE_KEY_PREFIX = "vvm_config_override_key_";
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ PreferenceManager.setDefaultValues(getActivity(), R.xml.vvm_config_override, false);
+ addPreferencesFromResource(R.xml.vvm_config_override);
+
+ // add listener so the value of a EditTextPreference will be updated to the summary.
+ for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
+ Preference preference = getPreferenceScreen().getPreference(i);
+ preference.setOnPreferenceChangeListener(this);
+ updatePreference(preference);
+ }
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Assert.isMainThread();
+ ThreadUtil.postOnUiThread(() -> updatePreference(preference));
+ return true;
+ }
+
+ private void updatePreference(Preference preference) {
+ if (preference instanceof EditTextPreference) {
+ EditTextPreference editTextPreference = (EditTextPreference) preference;
+ editTextPreference.setSummary(editTextPreference.getText());
+ }
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+ if (TextUtils.equals(
+ preference.getKey(), getString(R.string.vvm_config_override_load_current_key))) {
+ loadCurrentConfig();
+ }
+ return super.onPreferenceTreeClick(preferenceScreen, preference);
+ }
+
+ /**
+ * Loads the config for the currently carrier into the override values, from the dialer or the
+ * carrier config app. This is a "reset" button to load the defaults.
+ */
+ private void loadCurrentConfig() {
+ Context context = getActivity();
+ PhoneAccountHandle phoneAccountHandle =
+ context
+ .getSystemService(TelecomManager.class)
+ .getDefaultOutgoingPhoneAccount(PhoneAccount.SCHEME_VOICEMAIL);
+
+ PersistableBundle config =
+ VoicemailComponent.get(context).getVoicemailClient().getConfig(context, phoneAccountHandle);
+
+ for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
+ Preference preference = getPreferenceScreen().getPreference(i);
+ String key = preference.getKey();
+ if (!key.startsWith(CONFIG_OVERRIDE_KEY_PREFIX)) {
+ continue;
+ }
+
+ String configKey = key.substring(CONFIG_OVERRIDE_KEY_PREFIX.length());
+
+ if (configKey.endsWith("bool")) {
+ ((SwitchPreference) preference).setChecked(config.getBoolean(configKey));
+ } else if (configKey.endsWith("int")) {
+ ((EditTextPreference) preference).setText(String.valueOf(config.getInt(configKey)));
+ } else if (configKey.endsWith("string")) {
+ ((EditTextPreference) preference).setText(config.getString(configKey));
+ } else if (configKey.endsWith("string_array")) {
+ ((EditTextPreference) preference).setText(toCsv(config.getStringArray(configKey)));
+ } else {
+ throw Assert.createAssertionFailException("unknown type for key " + configKey);
+ }
+ updatePreference(preference);
+ }
+ }
+
+ public static boolean isOverridden(Context context) {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean(context.getString(R.string.vvm_config_override_enabled_key), false);
+ }
+
+ public static PersistableBundle getConfig(Context context) {
+ Assert.checkState(isOverridden(context));
+ PersistableBundle result = new PersistableBundle();
+
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
+ for (String key : preferences.getAll().keySet()) {
+ if (!key.startsWith(CONFIG_OVERRIDE_KEY_PREFIX)) {
+ continue;
+ }
+ String configKey = key.substring(CONFIG_OVERRIDE_KEY_PREFIX.length());
+ if (configKey.endsWith("bool")) {
+ result.putBoolean(configKey, preferences.getBoolean(key, false));
+ } else if (configKey.endsWith("int")) {
+ result.putInt(configKey, Integer.valueOf(preferences.getString(key, null)));
+ } else if (configKey.endsWith("string")) {
+ result.putString(configKey, preferences.getString(key, null));
+ } else if (configKey.endsWith("string_array")) {
+ result.putStringArray(configKey, fromCsv(preferences.getString(key, null)));
+ } else {
+ throw Assert.createAssertionFailException("unknown type for key " + configKey);
+ }
+ }
+ return result;
+ }
+
+ private static String toCsv(String[] array) {
+ if (array == null) {
+ return "";
+ }
+ StringBuilder result = new StringBuilder();
+ for (String element : array) {
+ if (result.length() != 0) {
+ result.append(",");
+ }
+ result.append(element);
+ }
+ return result.toString();
+ };
+
+ private static String[] fromCsv(String csv) {
+ return csv.split(",");
+ }
+}
diff --git a/java/com/android/voicemail/impl/configui/VoicemailSecretCodeActivity.java b/java/com/android/voicemail/impl/configui/VoicemailSecretCodeActivity.java
new file mode 100644
index 000000000..beeb9564d
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/VoicemailSecretCodeActivity.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.voicemail.impl.configui;
+
+import android.content.Intent;
+import android.preference.PreferenceActivity;
+import android.provider.VoicemailContract;
+import java.util.List;
+
+/** Activity launched by simulator->voicemail, provides debug features. */
+@SuppressWarnings("FragmentInjection") // not exported
+public class VoicemailSecretCodeActivity extends PreferenceActivity {
+
+ private Header syncHeader;
+
+ @Override
+ public void onBuildHeaders(List<Header> target) {
+ super.onBuildHeaders(target);
+ syncHeader = new Header();
+ syncHeader.title = "Sync";
+ target.add(syncHeader);
+
+ Header configOverride = new Header();
+ configOverride.fragment = ConfigOverrideFragment.class.getName();
+ configOverride.title = "VVM config override";
+ target.add(configOverride);
+ }
+
+ @Override
+ public void onHeaderClick(Header header, int position) {
+ if (header == syncHeader) {
+ Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
+ intent.setPackage(getPackageName());
+ sendBroadcast(intent);
+ return;
+ }
+ super.onHeaderClick(header, position);
+ }
+
+ @Override
+ protected boolean isValidFragment(String fragmentName) {
+ return true;
+ }
+}
diff --git a/java/com/android/voicemail/impl/configui/res/values-af/strings.xml b/java/com/android/voicemail/impl/configui/res/values-af/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-af/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-am/strings.xml b/java/com/android/voicemail/impl/configui/res/values-am/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-am/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ar/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ar/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ar/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-az/strings.xml b/java/com/android/voicemail/impl/configui/res/values-az/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-az/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-b+sr+Latn/strings.xml b/java/com/android/voicemail/impl/configui/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-be/strings.xml b/java/com/android/voicemail/impl/configui/res/values-be/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-be/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-bg/strings.xml b/java/com/android/voicemail/impl/configui/res/values-bg/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-bg/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-bn/strings.xml b/java/com/android/voicemail/impl/configui/res/values-bn/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-bn/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-bs/strings.xml b/java/com/android/voicemail/impl/configui/res/values-bs/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-bs/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ca/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ca/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ca/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-cs/strings.xml b/java/com/android/voicemail/impl/configui/res/values-cs/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-cs/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-da/strings.xml b/java/com/android/voicemail/impl/configui/res/values-da/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-da/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-de/strings.xml b/java/com/android/voicemail/impl/configui/res/values-de/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-de/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-el/strings.xml b/java/com/android/voicemail/impl/configui/res/values-el/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-el/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-en-rAU/strings.xml b/java/com/android/voicemail/impl/configui/res/values-en-rAU/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-en-rAU/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-en-rGB/strings.xml b/java/com/android/voicemail/impl/configui/res/values-en-rGB/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-en-rGB/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-en-rIN/strings.xml b/java/com/android/voicemail/impl/configui/res/values-en-rIN/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-en-rIN/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-es-rUS/strings.xml b/java/com/android/voicemail/impl/configui/res/values-es-rUS/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-es-rUS/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-es/strings.xml b/java/com/android/voicemail/impl/configui/res/values-es/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-es/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-et/strings.xml b/java/com/android/voicemail/impl/configui/res/values-et/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-et/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-eu/strings.xml b/java/com/android/voicemail/impl/configui/res/values-eu/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-eu/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-fa/strings.xml b/java/com/android/voicemail/impl/configui/res/values-fa/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-fa/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-fi/strings.xml b/java/com/android/voicemail/impl/configui/res/values-fi/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-fi/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-fr-rCA/strings.xml b/java/com/android/voicemail/impl/configui/res/values-fr-rCA/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-fr-rCA/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-fr/strings.xml b/java/com/android/voicemail/impl/configui/res/values-fr/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-fr/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-gl/strings.xml b/java/com/android/voicemail/impl/configui/res/values-gl/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-gl/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-gu/strings.xml b/java/com/android/voicemail/impl/configui/res/values-gu/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-gu/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-hi/strings.xml b/java/com/android/voicemail/impl/configui/res/values-hi/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-hi/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-hr/strings.xml b/java/com/android/voicemail/impl/configui/res/values-hr/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-hr/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-hu/strings.xml b/java/com/android/voicemail/impl/configui/res/values-hu/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-hu/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-hy/strings.xml b/java/com/android/voicemail/impl/configui/res/values-hy/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-hy/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-in/strings.xml b/java/com/android/voicemail/impl/configui/res/values-in/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-in/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-is/strings.xml b/java/com/android/voicemail/impl/configui/res/values-is/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-is/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-it/strings.xml b/java/com/android/voicemail/impl/configui/res/values-it/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-it/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-iw/strings.xml b/java/com/android/voicemail/impl/configui/res/values-iw/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-iw/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ja/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ja/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ja/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ka/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ka/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ka/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-kk/strings.xml b/java/com/android/voicemail/impl/configui/res/values-kk/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-kk/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-km/strings.xml b/java/com/android/voicemail/impl/configui/res/values-km/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-km/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-kn/strings.xml b/java/com/android/voicemail/impl/configui/res/values-kn/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-kn/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ko/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ko/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ko/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ky/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ky/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ky/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-lo/strings.xml b/java/com/android/voicemail/impl/configui/res/values-lo/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-lo/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-lt/strings.xml b/java/com/android/voicemail/impl/configui/res/values-lt/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-lt/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-lv/strings.xml b/java/com/android/voicemail/impl/configui/res/values-lv/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-lv/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-mk/strings.xml b/java/com/android/voicemail/impl/configui/res/values-mk/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-mk/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ml/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ml/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ml/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-mn/strings.xml b/java/com/android/voicemail/impl/configui/res/values-mn/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-mn/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-mr/strings.xml b/java/com/android/voicemail/impl/configui/res/values-mr/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-mr/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ms/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ms/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ms/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-my/strings.xml b/java/com/android/voicemail/impl/configui/res/values-my/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-my/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-nb/strings.xml b/java/com/android/voicemail/impl/configui/res/values-nb/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-nb/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ne/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ne/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ne/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-nl/strings.xml b/java/com/android/voicemail/impl/configui/res/values-nl/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-nl/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-no/strings.xml b/java/com/android/voicemail/impl/configui/res/values-no/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-no/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-pa/strings.xml b/java/com/android/voicemail/impl/configui/res/values-pa/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-pa/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-pl/strings.xml b/java/com/android/voicemail/impl/configui/res/values-pl/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-pl/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-pt-rBR/strings.xml b/java/com/android/voicemail/impl/configui/res/values-pt-rBR/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-pt-rBR/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-pt-rPT/strings.xml b/java/com/android/voicemail/impl/configui/res/values-pt-rPT/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-pt-rPT/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-pt/strings.xml b/java/com/android/voicemail/impl/configui/res/values-pt/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-pt/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ro/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ro/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ro/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ru/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ru/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ru/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-si/strings.xml b/java/com/android/voicemail/impl/configui/res/values-si/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-si/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-sk/strings.xml b/java/com/android/voicemail/impl/configui/res/values-sk/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-sk/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-sl/strings.xml b/java/com/android/voicemail/impl/configui/res/values-sl/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-sl/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-sq/strings.xml b/java/com/android/voicemail/impl/configui/res/values-sq/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-sq/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-sr/strings.xml b/java/com/android/voicemail/impl/configui/res/values-sr/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-sr/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-sv/strings.xml b/java/com/android/voicemail/impl/configui/res/values-sv/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-sv/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-sw/strings.xml b/java/com/android/voicemail/impl/configui/res/values-sw/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-sw/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ta/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ta/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ta/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-te/strings.xml b/java/com/android/voicemail/impl/configui/res/values-te/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-te/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-th/strings.xml b/java/com/android/voicemail/impl/configui/res/values-th/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-th/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-tl/strings.xml b/java/com/android/voicemail/impl/configui/res/values-tl/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-tl/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-tr/strings.xml b/java/com/android/voicemail/impl/configui/res/values-tr/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-tr/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-uk/strings.xml b/java/com/android/voicemail/impl/configui/res/values-uk/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-uk/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-ur/strings.xml b/java/com/android/voicemail/impl/configui/res/values-ur/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-ur/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-uz/strings.xml b/java/com/android/voicemail/impl/configui/res/values-uz/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-uz/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-vi/strings.xml b/java/com/android/voicemail/impl/configui/res/values-vi/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-vi/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-zh-rCN/strings.xml b/java/com/android/voicemail/impl/configui/res/values-zh-rCN/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-zh-rCN/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-zh-rHK/strings.xml b/java/com/android/voicemail/impl/configui/res/values-zh-rHK/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-zh-rHK/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-zh-rTW/strings.xml b/java/com/android/voicemail/impl/configui/res/values-zh-rTW/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-zh-rTW/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values-zu/strings.xml b/java/com/android/voicemail/impl/configui/res/values-zu/strings.xml
new file mode 100644
index 000000000..826efd3cd
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values-zu/strings.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/values/strings.xml b/java/com/android/voicemail/impl/configui/res/values/strings.xml
new file mode 100644
index 000000000..fea76be02
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/values/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="vvm_config_override_load_current_key" translatable="false">vvm_config_override_load_current</string>
+ <string name="vvm_config_override_enabled_key" translatable="false">vvm_config_override_enabled</string>
+
+</resources>
diff --git a/java/com/android/voicemail/impl/configui/res/xml/vvm_config_override.xml b/java/com/android/voicemail/impl/configui/res/xml/vvm_config_override.xml
new file mode 100644
index 000000000..c4a23c789
--- /dev/null
+++ b/java/com/android/voicemail/impl/configui/res/xml/vvm_config_override.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <Preference
+ android:key="@string/vvm_config_override_load_current_key"
+ android:title="Load current"/>
+
+ <SwitchPreference
+ android:key="@string/vvm_config_override_enabled_key"
+ android:title="Override enabled"
+ android:defaultValue="false"/>
+
+ <!-- Keys should be a key in CarrierConfigManager prefixed with "vvm_config_override_key_" -->
+ <EditTextPreference
+ android:key="vvm_config_override_key_vvm_type_string"
+ android:title="type"
+ android:defaultValue="vvm_type_omtp"
+ />
+
+ <EditTextPreference
+ android:key="vvm_config_override_key_vvm_destination_number_string"
+ android:title="destination number"
+ />
+
+ <EditTextPreference
+ android:key="vvm_config_override_key_vvm_port_number_int"
+ android:title="destination port"
+ />
+ <EditTextPreference
+ android:key="vvm_config_override_key_carrier_vvm_package_name_string_array"
+ android:title="vvm package name (CSV)"
+ />
+
+ <SwitchPreference
+ android:key="vvm_config_override_key_vvm_prefetch_bool"
+ android:title="prefetch"
+ android:defaultValue="true"/>
+
+ <SwitchPreference
+ android:key="vvm_config_override_key_vvm_cellular_data_required_bool"
+ android:title="cellular data required"
+ android:defaultValue="false"/>
+ <EditTextPreference
+ android:key="vvm_config_override_key_vvm_ssl_port_number_int"
+ android:title="SSL port"
+ />
+
+ <SwitchPreference
+ android:key="vvm_config_override_key_vvm_legacy_mode_enabled_bool"
+ android:title="legacy mode"
+ android:defaultValue="false"/>
+
+ <EditTextPreference
+ android:key="vvm_config_override_key_vvm_disabled_capabilities_string_array"
+ android:title="disabled capabilities (CSV)"
+ />
+
+ <EditTextPreference
+ android:key="vvm_config_override_key_vvm_client_prefix_string"
+ android:title="client prefix"
+ />
+</PreferenceScreen> \ No newline at end of file
diff --git a/java/com/android/voicemail/impl/res/values/strings.xml b/java/com/android/voicemail/impl/res/values/strings.xml
index 375a1e9ba..a846541ea 100644
--- a/java/com/android/voicemail/impl/res/values/strings.xml
+++ b/java/com/android/voicemail/impl/res/values/strings.xml
@@ -107,4 +107,8 @@
<string name="change_pin_succeeded">Voicemail PIN updated</string>
<!-- The error message to show if the server reported an error while attempting to change the voicemail PIN -->
<string name="change_pin_system_error">Unable to set PIN</string>
+
+ <string name="vvm_config_override_load_current_key" translatable="false">vvm_config_override_load_current</string>
+ <string name="vvm_config_override_enabled_key" translatable="false">vvm_config_override_enabled</string>
+
</resources>
diff --git a/java/com/android/voicemail/stub/StubVoicemailClient.java b/java/com/android/voicemail/stub/StubVoicemailClient.java
index e2b470799..e5d51455c 100644
--- a/java/com/android/voicemail/stub/StubVoicemailClient.java
+++ b/java/com/android/voicemail/stub/StubVoicemailClient.java
@@ -18,6 +18,9 @@ package com.android.voicemail.stub;
import android.content.Context;
import android.content.Intent;
+import android.os.PersistableBundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import com.android.voicemail.VoicemailClient;
@@ -81,4 +84,19 @@ public final class StubVoicemailClient implements VoicemailClient {
public boolean isActivated(Context context, PhoneAccountHandle phoneAccountHandle) {
return false;
}
+
+ @Override
+ public void showConfigUi(@NonNull Context context) {}
+
+ @Override
+ public PersistableBundle getConfig(
+ @NonNull Context context, @Nullable PhoneAccountHandle phoneAccountHandle) {
+ return new PersistableBundle();
+ }
+
+ @Override
+ public void onBoot(@NonNull Context context) {}
+
+ @Override
+ public void onShutdown(@NonNull Context context) {}
}