diff options
author | Eric Erfanian <erfanian@google.com> | 2017-07-27 20:30:24 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-07-27 20:30:24 +0000 |
commit | f47440d2cf7004098d3ef88849d45620e4945d09 (patch) | |
tree | 978e817617700854b5e2ed6f166f883c3bf6ffe9 | |
parent | 2738f04ee3836e345d8864c6f55aa0b7a4b2d130 (diff) | |
parent | ff2ad7ffdba7c74077eae3016b32174f0f2dad30 (diff) |
Update oc-dr1-dev to v11 RC17
am: ff2ad7ffdb
Change-Id: Ib6c6e81750e735dbd9711b7d4a87ea5630178968
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) {} } |