Import translations. DO NOT MERGE am: 5fc22b92d2  -s ours am: 04d29c1e08  -s ours
am: 0602dd0831  -s ours

Change-Id: Ic7481ff391b93b60dd52b2bd91c5fe20dd443353
diff --git a/Android.mk b/Android.mk
index cf543aa..efbdb09 100644
--- a/Android.mk
+++ b/Android.mk
@@ -554,4 +554,4 @@
 
 include $(BUILD_PREBUILT)
 
-include $(CLEAR_VARS)
\ No newline at end of file
+include $(CLEAR_VARS)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5420ec0..79912dc 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,8 +16,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   coreApp="true"
   package="com.android.dialer"
-  android:versionCode="150000"
-  android:versionName="11.0">
+  android:versionCode="160000"
+  android:versionName="12.0">
 
   <uses-sdk
     android:minSdkVersion="23"
@@ -114,6 +114,7 @@
     android:usesCleartextTraffic="false">
 
 
+
   </application>
 
 </manifest>
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_report_grey600_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_report_grey600_24.png
deleted file mode 100644
index 63edb42..0000000
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_report_grey600_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_report_grey600_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_report_grey600_24.png
deleted file mode 100644
index 88fa794..0000000
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_report_grey600_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_report_grey600_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_report_grey600_24.png
deleted file mode 100644
index 9b9d49f..0000000
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_report_grey600_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_report_grey600_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_report_grey600_24.png
deleted file mode 100644
index e0721e6..0000000
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_report_grey600_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_grey600_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_grey600_24.png
deleted file mode 100644
index 29ac881..0000000
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_grey600_24.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/compat/TelephonyManagerCompat.java b/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
index 02113ca..b428908 100644
--- a/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
+++ b/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
@@ -32,7 +32,7 @@
 
 public class TelephonyManagerCompat {
 
-  // TODO: Use public API for these constants when available
+  // TODO(maxwelb): Use public API for these constants when available
   public static final String EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE =
       "android.telephony.event.EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE";
   public static final String EVENT_HANDOVER_TO_WIFI_FAILED =
@@ -120,7 +120,7 @@
   }
 
   /**
-   * This method uses a new system API to enable or disable visual voicemail. TODO: restrict
+   * This method uses a new system API to enable or disable visual voicemail. TODO(twyen): restrict
    * to N MR1, not needed in future SDK.
    */
   public static void setVisualVoicemailEnabled(
@@ -138,7 +138,7 @@
   }
 
   /**
-   * This method uses a new system API to check if visual voicemail is enabled TODO: restrict
+   * This method uses a new system API to check if visual voicemail is enabled TODO(twyen): restrict
    * to N MR1, not needed in future SDK.
    */
   public static boolean isVisualVoicemailEnabled(
diff --git a/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java b/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
index 8393b26..172fb11 100644
--- a/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
+++ b/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
@@ -23,7 +23,7 @@
 /** Compatibility class for {@link android.telecom.TelecomManager}. */
 public class TelecomManagerCompat {
 
-  // TODO: remove once this is available in android.telecom.Call
+  // TODO(mdooley): remove once this is available in android.telecom.Call
   // b/33779976
   public static final String EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS =
       "android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
@@ -35,6 +35,11 @@
   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(wangqi): 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/database/NoNullCursorAsyncQueryHandler.java b/java/com/android/contacts/common/database/NoNullCursorAsyncQueryHandler.java
index d5e6135..5d10720 100644
--- a/java/com/android/contacts/common/database/NoNullCursorAsyncQueryHandler.java
+++ b/java/com/android/contacts/common/database/NoNullCursorAsyncQueryHandler.java
@@ -20,6 +20,9 @@
 import android.content.ContentResolver;
 import android.database.Cursor;
 import android.net.Uri;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * An {@AsyncQueryHandler} that will never return a null cursor.
@@ -27,6 +30,8 @@
  * <p>Instead, will return a {@link Cursor} with 0 records.
  */
 public abstract class NoNullCursorAsyncQueryHandler extends AsyncQueryHandler {
+  private static final AtomicInteger pendingQueryCount = new AtomicInteger();
+  @Nullable private static PendingQueryCountChangedListener pendingQueryCountChangedListener;
 
   public NoNullCursorAsyncQueryHandler(ContentResolver cr) {
     super(cr);
@@ -41,6 +46,11 @@
       String selection,
       String[] selectionArgs,
       String orderBy) {
+    pendingQueryCount.getAndIncrement();
+    if (pendingQueryCountChangedListener != null) {
+      pendingQueryCountChangedListener.onPendingQueryCountChanged();
+    }
+
     final CookieWithProjection projectionCookie = new CookieWithProjection(cookie, projection);
     super.startQuery(token, projectionCookie, uri, projection, selection, selectionArgs, orderBy);
   }
@@ -55,10 +65,31 @@
       cursor = new EmptyCursor(projectionCookie.projection);
     }
     onNotNullableQueryComplete(token, projectionCookie.originalCookie, cursor);
+
+    pendingQueryCount.getAndDecrement();
+    if (pendingQueryCountChangedListener != null) {
+      pendingQueryCountChangedListener.onPendingQueryCountChanged();
+    }
   }
 
   protected abstract void onNotNullableQueryComplete(int token, Object cookie, Cursor cursor);
 
+  @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+  public static void setPendingQueryCountChangedListener(
+      @Nullable PendingQueryCountChangedListener listener) {
+    pendingQueryCountChangedListener = listener;
+  }
+
+  @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+  public static int getPendingQueryCount() {
+    return pendingQueryCount.get();
+  }
+
+  /** Callback to listen for changes in the number of queries that have not completed. */
+  public interface PendingQueryCountChangedListener {
+    void onPendingQueryCountChanged();
+  }
+
   /** Class to add projection to an existing cookie. */
   private static class CookieWithProjection {
 
diff --git a/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java b/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
index 5c401fe..73809c4 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.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 @@
   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 static final Rect sRect = new Rect();
-  private static final char[] sFirstChar = new char[1];
+  private final Rect mRect = new Rect();
+  private final char[] mFirstChar = new char[1];
+
   /** Letter tile */
-  private static TypedArray sColors;
+  @NonNull private final TypedArray mColors;
 
-  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 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;
 
-  private final Paint mPaint;
   @ContactType private int mContactType = TYPE_DEFAULT;
   private float mScale = 1.0f;
   private float mOffset = 0.0f;
@@ -117,33 +116,25 @@
   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");
+    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);
 
-      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();
+    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 @@
     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 @@
 
   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 @@
       }
 
       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 @@
   /** 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 @@
     return this;
   }
 
-  public LetterTileDrawable setContactType(@ContactType int contactType) {
+  private LetterTileDrawable setContactType(@ContactType int contactType) {
     mContactType = contactType;
     return this;
   }
diff --git a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java
index de7903e..558f3b2 100644
--- a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java
+++ b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java
@@ -278,7 +278,7 @@
   @MainThread
   public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
     Assert.isMainThread();
-    // TODO: define and verify behavior for "Nearby places", corp directories,
+    // TODO(strongarm): define and verify behavior for "Nearby places", corp directories,
     // and dividers listed in UI between these categories
     if (mCursorReranker != null
         && data != null
diff --git a/java/com/android/contacts/common/res/values-zh-rHK/strings.xml b/java/com/android/contacts/common/res/values-zh-rHK/strings.xml
index 842ac87..122d0fe 100644
--- a/java/com/android/contacts/common/res/values-zh-rHK/strings.xml
+++ b/java/com/android/contacts/common/res/values-zh-rHK/strings.xml
@@ -64,7 +64,7 @@
     <string name="sms_mms" msgid="5187888900503248542">"傳送短訊至 MMS 電話號碼"</string>
     <string name="sms_by_shortcut" msgid="8005496406639963582">"<xliff:g id="CONTACT_NAME">%s</xliff:g> (訊息)"</string>
     <string name="clearFrequentsConfirmation_title" msgid="7465690215775790243">"清除常用聯絡人?"</string>
-    <string name="clearFrequentsConfirmation" msgid="5750611450893399198">"您將清除「通訊錄」應用程式和「電話」應用程式中的常用聯絡人名單,並強制電子郵件應用程式重新取得您的寄件偏好設定。"</string>
+    <string name="clearFrequentsConfirmation" msgid="5750611450893399198">"您將清除「通訊錄」應用程式和「電話」應用程式中的常用聯絡人名單,並強制電子郵件應用程式重新取得您的寄件喜好設定。"</string>
     <string name="clearFrequentsProgress_title" msgid="2057183487226039454">"正在清除常用聯絡人…"</string>
     <string name="status_available" msgid="2648156525685472626">"在線"</string>
     <string name="status_away" msgid="2298688367552893953">"離開"</string>
diff --git a/java/com/android/contacts/common/res/values/colors.xml b/java/com/android/contacts/common/res/values/colors.xml
index 434d193..20b28c9 100644
--- a/java/com/android/contacts/common/res/values/colors.xml
+++ b/java/com/android/contacts/common/res/values/colors.xml
@@ -60,6 +60,7 @@
   <color name="textColorIconOverlayShadow">#000</color>
 
 
+
   <array name="letter_tile_colors">
     <item>#DB4437</item>
     <item>#E91E63</item>
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
old mode 100644
new mode 100755
index 1acf348..10ed4a2
--- 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
old mode 100644
new mode 100755
index c56f8a4..51f5482
--- a/java/com/android/dialer/about/res/raw/third_party_licenses
+++ b/java/com/android/dialer/about/res/raw/third_party_licenses
@@ -194,6 +194,212 @@
 
 
 
+Android Common:
+
+
+                                 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
+
+   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 Compat Support Library:
 
 
@@ -388,6 +594,588 @@
 
 
 
+Android Compatibility Library v13:
+
+
+   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.
+
+
+                                 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
+
+
+
+Android Compatibility Library v4:
+
+
+   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.
+
+
+                                 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
+
+
+
+Android Compatibility Library v7:
+
+
+   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.
+
+
+                                 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
+
+
+
 Android Core UI Support Library:
 
 
@@ -968,6 +1756,200 @@
 
 
 
+Android Dynamic Animation 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.
+
+
+                                 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
+
+
+
 Android Fragments Support Library:
 
 
@@ -1740,860 +2722,7 @@
 
    END OF TERMS AND CONDITIONS
 
-Android Compatibility Library v13:
-
-
-   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.
-
-
-                                 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
-
-
-
-Android Compatibility Library v4:
-
-
-   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.
-
-
-                                 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
-
-
-
-Android Compatibility Library v7:
-
-
-   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.
-
-
-                                 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
-
-
-
-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.
-
-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
-
-
-Android Common:
+Apache Commons IO:
 
 
                                  Apache License
@@ -2799,107 +2928,2909 @@
    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."
+
+      "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
+
+   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
+                        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
+
+   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.
+
+
+Google Auto:
+
+
+                                 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
+
+   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.
+
+
+Guava JDK5:
+
+
+                                 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
+
+   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.
+
+
+Guava JDK7:
+
+
+                                 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
+
+   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.
+   
+
+
+J2ObjC:
+
+
+                                 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
+
+   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.
+
+
+JSR 250:
+
+
+                                 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
+
+   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.
+
+
+JSR 330:
+
+JSR-330
+                                 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
+
+   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.
+
+
+Material Components for Android:
+
+
+                                 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
+
+   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.
+
+
+OkHttp:
+
+
+                                 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
+
+   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.
+
+
+Okio:
+
+
+                                 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
+
+   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.
+
+
+Volley:
+
+
+                                 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
+
+   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.
+
+
+carrierservices:
+
+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
+    http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT 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.
 
 
-Guava JDK5:
+                                 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
+
+===============================================================================
+
+These components
+  com.google.android.rcs.core.utils.FastBase64,
+  com.google.android.rcs.core.utils.LibraryLoaderHelper
+are licensed under BSD.
+
+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
+
+       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,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+instrumentation:
 
 
                                  Apache License
@@ -3524,405 +6455,6 @@
    END OF TERMS AND CONDITIONS
 
 
-shortcutbadger:
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT 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
-                           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
-
-
-Volley:
-
-
-                                 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
-
-   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.
-
-
 mime4j:
 
                                  Apache License
@@ -4288,1493 +6820,7 @@
     
     
 
-Google Auto:
-
-
-                                 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
-
-   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.
-
-
-Dagger:
-
-
-                                 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
-
-   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
-                        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
-
-   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.
-
-
-J2ObjC:
-
-
-                                 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
-
-   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.
-
-
-Apache Commons IO:
-
-
-                                 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
-
-   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.
-
-
-
-JSR 250:
-
-
-                                 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
-
-   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.
-
-
-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.
-
-
-JSR 330:
-
-JSR-330
-                                 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
-
-   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.
-
-
-carrierservices, rcsclientlib:
-
-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.
+shortcutbadger:
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -5966,449 +7012,430 @@
 
    END OF TERMS AND CONDITIONS
 
-===============================================================================
 
-These components
-  com.google.android.rcs.core.utils.FastBase64,
-  com.google.android.rcs.core.utils.LibraryLoaderHelper
-are licensed under BSD.
+Android SDK:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+ANDROID SOFTWARE DEVELOPMENT KIT
 
-   * 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.
+Terms and Conditions
 
-   * 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 is the Android Software Development Kit License Agreement.
 
-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.
+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.
 
-material_components, lib:
+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
 
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+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.
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+2.2 You can accept this License Agreement by:
 
-   1. Definitions.
+(A) clicking to accept or agree to this License Agreement, where this option is made available to
+you; or
 
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
+(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.
 
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
+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.
 
-      "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.
+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.
 
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+3. SDK License from Google
 
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
+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.
 
-      "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.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.
 
-      "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.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.
 
-      "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.
+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.
 
-      "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."
+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.
 
-      "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.
+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.
 
-   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.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.
 
-   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. Use of the SDK by You
 
-   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.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.
 
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
+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).
 
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
+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.
 
-      (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
+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.
 
-      (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.
+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.
 
-      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.
+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. 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.
+5. Your Developer Credentials
 
-   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.
+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.
 
-   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.
+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.
 
-   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.
+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.
 
-   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.
+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.
 
-   END OF TERMS AND CONDITIONS
+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.
 
-   APPENDIX: How to apply the Apache License to your work.
+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.
 
-      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.
+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.
 
-   Copyright [yyyy] [name of copyright owner]
+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.
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+April 10, 2009
 
-       http://www.apache.org/licenses/LICENSE-2.0
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+Animal Sniffer:
 
+The MIT License
 
-Guava JDK7:
+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:
 
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+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.
 
-   1. Definitions.
 
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
+Glide:
 
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
+Covers library/
 
-      "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 2014 Google, Inc. All rights reserved.
 
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+Redistribution and use in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
 
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
+   1. Redistributions of source code must retain the above copyright notice, this list of
+         conditions and the following disclaimer.
 
-      "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.
+   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.
 
-      "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).
+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.
 
-      "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.
+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.
 
-      "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."
+--------------------------------------------------------------------------
+Covers third_party/gif_decoder
 
-      "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.
+Copyright (c) 2013 Xcellent Creations, Inc.
 
-   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.
+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:
 
-   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.
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
 
-   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:
+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.
 
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
+--------------------------------------------------------------------------
+Covers third_party/disklrucache
 
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
+Copyright 2012 Jake Wharton
+Copyright 2011 The Android Open Source Project
 
-      (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
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
 
-      (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.
+   http://www.apache.org/licenses/LICENSE-2.0
 
-      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.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT 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:
 
-   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.
+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.
 
-   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.
+-----------------------------------------------------------------------------
+Covers third_party/gif_encoder/NeuQuant.java
 
-   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.
+Copyright (c) 1994 Anthony Dekker
 
-   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.
+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.
 
-   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.
+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.
 
-   END OF TERMS AND CONDITIONS
 
-   APPENDIX: How to apply the Apache License to your work.
+JSR 305:
 
-      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 (c) 2007-2009, JSR305 expert group
+All rights reserved.
 
-   Copyright [yyyy] [name of copyright owner]
+http://www.opensource.org/licenses/bsd-license.php
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met:
 
-       http://www.apache.org/licenses/LICENSE-2.0
+    * 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.
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-   
+THIS 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/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index b6025d3..1c9718e 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -287,7 +287,7 @@
           }
           mSearchQuery = newText;
 
-          // TODO: show p13n when newText is empty.
+          // TODO(calderwoodra): show p13n when newText is empty.
           // Show search fragment only when the query string is changed to non-empty text.
           if (!TextUtils.isEmpty(newText)) {
             // Call enterSearchUi only if we are switching search modes, or showing a search
@@ -598,7 +598,7 @@
         new P13nRefreshCompleteListener() {
           @Override
           public void onP13nRefreshComplete() {
-            // TODO: make zero-query search results visible
+            // TODO(strongarm): make zero-query search results visible
           }
         });
     Trace.endSection();
@@ -1171,7 +1171,7 @@
       }
       transaction.add(R.id.dialtacts_frame, fragment, tag);
     } else {
-      // TODO: if this is a transition from dialpad to searchbar, animate fragment
+      // TODO(calderwoodra): if this is a transition from dialpad to searchbar, animate fragment
       // down, and vice versa. Perhaps just add a coordinator behavior with the search bar.
       transaction.show(fragment);
     }
@@ -1184,7 +1184,7 @@
       ((SearchFragment) fragment)
           .setShowEmptyListForNullQuery(mP13nRanker.shouldShowEmptyListForNullQuery());
     } else {
-      // TODO: add p13n ranker to new search.
+      // TODO(calderwoodra): add p13n ranker to new search.
     }
 
     if (!smartDialSearch && !useNewSearch) {
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index f4c8c90..41c9d60 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -368,7 +368,9 @@
             }
             expandViewHolderActions(viewHolder);
 
-            if (viewHolder.videoCallButtonView.getVisibility() == View.VISIBLE
+            if (viewHolder.videoCallButtonView != null
+                && viewHolder.videoCallButtonView.getVisibility() == View.VISIBLE
+                && LightbringerComponent.get(mActivity).getLightbringer().getPackageName() != null
                 && LightbringerComponent.get(mActivity)
                     .getLightbringer()
                     .getPackageName()
@@ -442,7 +444,7 @@
    * Holds a list of URIs that are pending deletion or undo. If the activity ends before the undo
    * timeout, all of the pending URIs will be deleted.
    *
-   * <p>TODO: move this and OnVoicemailDeletedListener to somewhere like {@link
+   * <p>TODO(twyen): move this and OnVoicemailDeletedListener to somewhere like {@link
    * VisualVoicemailCallLogFragment}. The CallLogAdapter does not need to know about what to do with
    * hidden item or what to hide.
    */
@@ -965,7 +967,7 @@
   }
 
   @MainThread
-  private static CallDetailsEntries createCallDetailsEntries(Cursor cursor, int count) {
+  private CallDetailsEntries createCallDetailsEntries(Cursor cursor, int count) {
     Assert.isMainThread();
     int position = cursor.getPosition();
     CallDetailsEntries.Builder entries = CallDetailsEntries.newBuilder();
@@ -978,6 +980,16 @@
               .setDate(cursor.getLong(CallLogQuery.DATE))
               .setDuration(cursor.getLong(CallLogQuery.DURATION))
               .setFeatures(cursor.getInt(CallLogQuery.FEATURES));
+
+      String phoneAccountComponentName = cursor.getString(CallLogQuery.ACCOUNT_COMPONENT_NAME);
+      if (getLightbringer().getPhoneAccountComponentName() != null
+          && getLightbringer()
+              .getPhoneAccountComponentName()
+              .flattenToString()
+              .equals(phoneAccountComponentName)) {
+        entry.setIsLightbringerCall(true);
+      }
+
       entries.addEntries(entry.build());
       cursor.moveToNext();
     }
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index aa765d9..6d4aea9 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -20,7 +20,6 @@
 
 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 @@
   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 @@
     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 @@
                 activityType == CallLogAdapter.ACTIVITY_TYPE_DIALTACTS
                     ? (CallLogAdapter.OnActionModeStateChangedListener) getActivity()
                     : null,
-                CallLogCache.getCallLogCache(getActivity()),
+                new CallLogCache(getActivity()),
                 mContactInfoCache,
                 getVoicemailPlaybackPresenter(),
                 new FilteredNumberAsyncQueryHandler(getActivity()),
@@ -432,8 +429,6 @@
 
   @Override
   public void onStop() {
-    updateOnTransition();
-
     super.onStop();
     mAdapter.onStop();
     mContactInfoCache.stop();
@@ -516,9 +511,7 @@
     super.setMenuVisibility(menuVisible);
     if (mMenuVisible != menuVisible) {
       mMenuVisible = menuVisible;
-      if (!menuVisible) {
-        updateOnTransition();
-      } else if (isResumed()) {
+      if (menuVisible && isResumed()) {
         refreshData();
       }
     }
@@ -536,7 +529,6 @@
       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 @@
     }
   }
 
-  /**
-   * 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 27aa825..6b97bd6 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -353,7 +353,7 @@
       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);
 
@@ -581,12 +581,16 @@
       return;
     }
 
+    TextView callTypeOrLocationView =
+        ((TextView) callButtonView.findViewById(R.id.call_type_or_location_text));
+
     if (canPlaceCallToNumber) {
       // Set up the call button but hide it by default (the primary action is to call so it is
       // redundant). We then set it to be visible when appropriate below. This saves us having to
       // remember to set it to GONE in multiple places.
       callButtonView.setTag(IntentProvider.getReturnCallIntentProvider(number));
       callButtonView.setVisibility(View.GONE);
+      callTypeOrLocationView.setVisibility(View.GONE);
     }
 
     if (!TextUtils.isEmpty(voicemailUri) && canPlaceCallToNumber) {
@@ -595,13 +599,10 @@
               TextUtils.expandTemplate(
                   mContext.getString(R.string.call_log_action_call),
                   nameOrNumber == null ? "" : nameOrNumber));
-      TextView callTypeOrLocationView =
-          ((TextView) callButtonView.findViewById(R.id.call_type_or_location_text));
+
       if (callType == Calls.VOICEMAIL_TYPE && !TextUtils.isEmpty(callTypeOrLocation)) {
         callTypeOrLocationView.setText(callTypeOrLocation);
         callTypeOrLocationView.setVisibility(View.VISIBLE);
-      } else {
-        callTypeOrLocationView.setVisibility(View.GONE);
       }
       callButtonView.setVisibility(View.VISIBLE);
     }
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
index 893d6be..17018b3 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 @@
 
   @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 @@
 
   @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 2e7c933..15de143 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 @@
 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 @@
  *
  * <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 @@
 
   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 @@
    * 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 @@
   }
 
   /** 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 @@
    * @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/calllog/calllogcache/CallLogCacheLollipopMr1.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java
deleted file mode 100644
index 2424b6d..0000000
--- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.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.calllogutils.PhoneAccountUtils;
-import com.android.dialer.telecom.TelecomUtil;
-import java.util.Map;
-
-/**
- * This is the CallLogCache for versions of dialer Lollipop Mr1 and above with support for multi-SIM
- * devices.
- *
- * <p>This class should not be initialized directly and instead be acquired from {@link
- * CallLogCache#getCallLogCache}.
- */
-class CallLogCacheLollipopMr1 extends CallLogCache {
-
-  private final Map<PhoneAccountHandle, String> mPhoneAccountLabelCache = new ArrayMap<>();
-  private final Map<PhoneAccountHandle, Integer> mPhoneAccountColorCache = new ArrayMap<>();
-  private final Map<PhoneAccountHandle, Boolean> mPhoneAccountCallWithNoteCache = new ArrayMap<>();
-
-  /* package */ CallLogCacheLollipopMr1(Context context) {
-    super(context);
-  }
-
-  @Override
-  public void reset() {
-    mPhoneAccountLabelCache.clear();
-    mPhoneAccountColorCache.clear();
-    mPhoneAccountCallWithNoteCache.clear();
-
-    super.reset();
-  }
-
-  @Override
-  public boolean isVoicemailNumber(
-      PhoneAccountHandle accountHandle, @Nullable CharSequence number) {
-    if (TextUtils.isEmpty(number)) {
-      return false;
-    }
-    return TelecomUtil.isVoicemailNumber(mContext, accountHandle, number.toString());
-  }
-
-  @Override
-  public 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;
-    }
-  }
-
-  @Override
-  public 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;
-    }
-  }
-
-  @Override
-  public 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/contactinfo/ContactInfoCache.java b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
index 82fc229..155a6a2 100644
--- a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
+++ b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
@@ -163,7 +163,7 @@
     if (request.isLocalRequest()) {
       info = mContactInfoHelper.lookupNumber(request.number, request.countryIso);
       if (info != null && !info.contactExists) {
-        // TODO: Maybe skip look up if it's already available in cached number lookup
+        // TODO(wangqi): Maybe skip look up if it's already available in cached number lookup
         // service.
         long start = SystemClock.elapsedRealtime();
         mContactInfoHelper.updateFromCequintCallerId(mCequintCallerIdManager, info, request.number);
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
index eb4f8e9..30870eb 100644
--- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
+++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
@@ -62,6 +62,7 @@
   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 @@
         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 @@
     // 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 876fbf1..dbd601a 100644
--- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
+++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
@@ -440,6 +440,7 @@
     tileView.setPhotoManager(mPhotoManager);
     tileView.setListener(mListener);
     tileView.loadFromContact(getItem(position));
+    tileView.setPosition(position);
     return tileView;
   }
 
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_add_call.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_add_call.png
old mode 100644
new mode 100755
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_current_call.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_current_call.png
old mode 100644
new mode 100755
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png
old mode 100644
new mode 100755
Binary files differ
diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
index 5046383..ec9e5a0 100644
--- a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
@@ -35,8 +35,7 @@
 
   <LinearLayout
     android:id="@+id/call_action"
-    style="@style/CallLogActionStyle"
-    android:paddingTop="@dimen/call_log_actions_top_padding">
+    style="@style/CallLogActionStyle">
 
     <ImageView
       style="@style/CallLogActionIconStyle"
diff --git a/java/com/android/dialer/app/res/values-sq/strings.xml b/java/com/android/dialer/app/res/values-sq/strings.xml
index 8f43ba7..ca3d522 100644
--- a/java/com/android/dialer/app/res/values-sq/strings.xml
+++ b/java/com/android/dialer/app/res/values-sq/strings.xml
@@ -236,6 +236,6 @@
     <string name="call_composer_connection_failed" msgid="6776461585447831242">"<xliff:g id="NAME">%1$s</xliff:g> është jashtë linje dhe nuk mund të kontaktohet"</string>
     <string name="about_phone_label" msgid="582991354677973731">"Rreth"</string>
     <string name="view_conversation" msgid="7895904782094119702">"Shiko"</string>
-    <string name="ec_data_deleted" msgid="4794880345545827107">"Telefonata u fshi. Shiko dhe fshi bashkëngjitjet e ndara gjatë kësaj telefonate te Messages."</string>
-    <string name="multiple_ec_data_deleted" msgid="2971579891973176316">"Telefonatat u fshinë. Shiko dhe fshi bashkëngjitjet e ndara gjatë telefonatave te Messages."</string>
+    <string name="ec_data_deleted" msgid="4794880345545827107">"Telefonata u fshi. Shiko dhe fshi bashkëngjitjet e ndara gjatë kësaj telefonate te \"Mesazhet\"."</string>
+    <string name="multiple_ec_data_deleted" msgid="2971579891973176316">"Telefonatat u fshinë. Shiko dhe fshi bashkëngjitjet e ndara gjatë telefonatave te \"Mesazhet\"."</string>
 </resources>
diff --git a/java/com/android/dialer/app/res/values-ur/strings.xml b/java/com/android/dialer/app/res/values-ur/strings.xml
index f713f4c..2b6a3eb 100644
--- a/java/com/android/dialer/app/res/values-ur/strings.xml
+++ b/java/com/android/dialer/app/res/values-ur/strings.xml
@@ -236,6 +236,6 @@
     <string name="call_composer_connection_failed" msgid="6776461585447831242">"<xliff:g id="NAME">%1$s</xliff:g> آف لائن ہے اور اس تک پہنچا نہیں جا سکتا"</string>
     <string name="about_phone_label" msgid="582991354677973731">"تفصیل"</string>
     <string name="view_conversation" msgid="7895904782094119702">"دیکھیں"</string>
-    <string name="ec_data_deleted" msgid="4794880345545827107">"کال حذف ہو گئی۔ اس کال کے دوران اشتراک کردہ منسلکہ جات کو \'پیغامات \' میں ملاحظہ کریں اور حذف کریں۔"</string>
-    <string name="multiple_ec_data_deleted" msgid="2971579891973176316">"کالیں حذف ہو گئیں۔ کالوں کے دوران اشتراک کردہ منسلکہ جات کو \'پیغامات \' میں ملاحظہ کریں اور حذف کریں۔"</string>
+    <string name="ec_data_deleted" msgid="4794880345545827107">"کال حذف ہو گئی۔ اس کال کے دوران پیغامات کے اندر اشتراک کردہ منسلکہ جات ملاحظہ کریں اور حذف کریں۔"</string>
+    <string name="multiple_ec_data_deleted" msgid="2971579891973176316">"کالیں حذف ہو گئیں۔ کالوں کے دوران پیغامات کے اندر اشتراک کردہ منسلکہ جات ملاحظہ کریں اور حذف کریں۔"</string>
 </resources>
diff --git a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
index b86ce82..4100521 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.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 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/VoicemailErrorManager.java b/java/com/android/dialer/app/voicemail/VoicemailErrorManager.java
index a0bae36..bc6ffb5 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailErrorManager.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailErrorManager.java
@@ -92,7 +92,7 @@
       }
     }
     alertItem.updateStatus(statuses, this);
-    // TODO: b/30668323 support error from multiple sources.
+    // TODO(twyen): b/30668323 support error from multiple sources.
     return;
   }
 
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
index f160e02..9c1e446 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java
@@ -85,7 +85,7 @@
           // When the undo button is pressed, the viewHolder we have is no longer valid because when
           // we hide the view it is binded to something else, and the layout is not updated for
           // hidden items. copy the adapter position so we can update the view upon undo.
-          // TODO: refactor this so the view holder will always be valid.
+          // TODO(twyen): refactor this so the view holder will always be valid.
           final int adapterPosition = mViewHolder.getAdapterPosition();
 
           mPresenter.pausePlayback();
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
index f2cdaf6..56de4e9 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
@@ -75,11 +75,11 @@
 
   @Nullable
   VoicemailErrorMessage maybeCreateTosMessage() {
-    // TODO: add filtering based on carrier
+    // TODO(mdooley): add filtering based on carrier
     if (hasAcceptedTos()) {
       return null;
     }
-    // TODO: temporarily skip the terms of service for dogfood builds
+    // TODO(mdooley): temporarily skip the terms of service for dogfood builds
     if (BuildType.get() == BuildType.DOGFOOD) {
       LogUtil.i(
           "VoicemailTosMessageCreator.maybeCreateTosMessage",
diff --git a/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java b/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
index e639eff..d3024f4 100644
--- a/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
@@ -259,7 +259,7 @@
 
   @NonNull
   private static CharSequence getCustomerSupportString(Context context, int id) {
-    // TODO: get number based on the country the user is currently in.
+    // TODO(twyen): get number based on the country the user is currently in.
     return ContactDisplayUtils.getTtsSpannedPhoneNumber(
         context.getResources(),
         id,
diff --git a/java/com/android/dialer/backup/DialerBackupAgent.java b/java/com/android/dialer/backup/DialerBackupAgent.java
index 40de8e2..a0baf39 100644
--- a/java/com/android/dialer/backup/DialerBackupAgent.java
+++ b/java/com/android/dialer/backup/DialerBackupAgent.java
@@ -35,7 +35,6 @@
 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 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 @@
     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/binary/google/AndroidManifest.xml b/java/com/android/dialer/binary/google/AndroidManifest.xml
new file mode 100644
index 0000000..a27056f
--- /dev/null
+++ b/java/com/android/dialer/binary/google/AndroidManifest.xml
@@ -0,0 +1,118 @@
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+  coreApp="true"
+  package="com.google.android.google_stub_dialer"
+  android:versionCode="160000"
+  android:versionName="12.0">
+
+  <uses-sdk
+    android:minSdkVersion="23"
+    android:targetSdkVersion="26"/>
+
+  <uses-permission android:name="android.permission.CALL_PHONE"/>
+  <uses-permission android:name="android.permission.READ_CONTACTS"/>
+  <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
+  <uses-permission android:name="android.permission.READ_CALL_LOG"/>
+  <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
+  <uses-permission android:name="android.permission.READ_PROFILE"/>
+  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
+  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
+  <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
+  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+  <uses-permission android:name="android.permission.INTERNET"/>
+  <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
+  <uses-permission android:name="android.permission.NFC"/>
+  <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
+  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
+  <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
+  <uses-permission android:name="android.permission.WAKE_LOCK"/>
+  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
+  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
+  <uses-permission android:name="android.permission.VIBRATE"/>
+  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
+  <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"/>
+  <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"/>
+  <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"/>
+  <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"/>
+  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
+  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+  <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
+  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
+
+  <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
+  <!-- We use this to disable the status bar buttons of home, back and recent
+  during an incoming call. By doing so this allows us to not show the user
+  is viewing the activity in full screen alert, on a fresh system/factory
+  reset state of the app. -->
+  <uses-permission android:name="android.permission.STATUS_BAR"/>
+  <uses-permission android:name="android.permission.CAMERA"/>
+
+  <!-- This tells the activity manager to not delay any of our activity
+   start requests, even if they happen immediately after the user
+   presses home. -->
+  <uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>
+
+  <!-- Permissions needed for badger count showing on launch icon. -->
+
+  <!--for Samsung-->
+  <uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
+  <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>
+
+  <!--for htc-->
+  <uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
+  <uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>
+
+  <!--for sony-->
+  <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
+  <uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
+
+  <!--for apex-->
+  <uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>
+
+  <!--for solid-->
+  <uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>
+
+  <!--for huawei-->
+  <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
+  <uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
+  <uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
+
+  <!--for ZUK-->
+  <uses-permission android:name="android.permission.READ_APP_BADGE"/>
+
+  <!--for OPPO-->
+  <uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
+  <uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
+
+  <application
+    android:backupAgent='com.android.dialer.backup.DialerBackupAgent'
+    android:fullBackupOnly="true"
+    android:restoreAnyVersion="true"
+    android:hardwareAccelerated="true"
+    android:icon="@mipmap/ic_launcher_phone"
+    android:label="@string/applicationLabel"
+    android:name="com.android.dialer.binary.google.GoogleStubDialerApplication"
+    android:supportsRtl="true"
+    android:usesCleartextTraffic="false">
+
+
+
+  </application>
+
+</manifest>
diff --git a/java/com/android/dialer/binary/google/GoogleStubDialerApplication.java b/java/com/android/dialer/binary/google/GoogleStubDialerApplication.java
new file mode 100644
index 0000000..e9289af
--- /dev/null
+++ b/java/com/android/dialer/binary/google/GoogleStubDialerApplication.java
@@ -0,0 +1,37 @@
+/*
+ * 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.dialer.binary.google;
+
+import android.support.annotation.NonNull;
+import com.android.dialer.binary.common.DialerApplication;
+import com.android.dialer.inject.ContextModule;
+
+/**
+ * The application class for the Google Stub Dialer. This is a version of the Dialer app that
+ * depends on Google Play Services.
+ */
+public class GoogleStubDialerApplication extends DialerApplication {
+
+  /** Returns a new instance of the root component for the Google Stub Dialer. */
+  @Override
+  @NonNull
+  protected Object buildRootComponent() {
+    return DaggerGoogleStubDialerRootComponent.builder()
+        .contextModule(new ContextModule(this))
+        .build();
+  }
+}
diff --git a/java/com/android/dialer/binary/google/GoogleStubDialerRootComponent.java b/java/com/android/dialer/binary/google/GoogleStubDialerRootComponent.java
new file mode 100644
index 0000000..2b4de97
--- /dev/null
+++ b/java/com/android/dialer/binary/google/GoogleStubDialerRootComponent.java
@@ -0,0 +1,52 @@
+/*
+ * 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.dialer.binary.google;
+
+import com.android.dialer.binary.basecomponent.BaseDialerRootComponent;
+import com.android.dialer.calllog.CallLogModule;
+import com.android.dialer.common.concurrent.DialerExecutorModule;
+import com.android.dialer.configprovider.SharedPrefConfigProviderModule;
+import com.android.dialer.enrichedcall.stub.StubEnrichedCallModule;
+import com.android.dialer.inject.ContextModule;
+import com.android.dialer.lightbringer.stub.StubLightbringerModule;
+import com.android.dialer.simulator.impl.SimulatorModule;
+import com.android.incallui.calllocation.impl.CallLocationModule;
+import com.android.incallui.maps.impl.MapsModule;
+import com.android.voicemail.impl.VoicemailModule;
+import dagger.Component;
+import javax.inject.Singleton;
+
+/**
+ * Root component for the Google Stub Dialer application. Unlike the AOSP variant, this component
+ * can pull in modules that depend on Google Play Services like the maps module.
+ */
+@Singleton
+@Component(
+  modules = {
+    CallLocationModule.class,
+    CallLogModule.class,
+    ContextModule.class,
+    DialerExecutorModule.class,
+    SharedPrefConfigProviderModule.class,
+    SimulatorModule.class,
+    StubEnrichedCallModule.class,
+    MapsModule.class,
+    VoicemailModule.class,
+    StubLightbringerModule.class
+  }
+)
+public interface GoogleStubDialerRootComponent extends BaseDialerRootComponent {}
diff --git a/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java b/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java
index fa74850..d806a83 100644
--- a/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java
+++ b/java/com/android/dialer/blocking/FilteredNumberAsyncQueryHandler.java
@@ -262,7 +262,7 @@
   }
 
   /*
-   * TODO: b/27779827, non-e164 numbers can be blocked in the new form of blocking. As a
+   * TODO(maxwelb): b/27779827, non-e164 numbers can be blocked in the new form of blocking. As a
    * temporary workaround, determine which column of the database to query based on whether the
    * number is e164 or not.
    */
diff --git a/java/com/android/dialer/blocking/FilteredNumberCompat.java b/java/com/android/dialer/blocking/FilteredNumberCompat.java
index 9e01127..e104c4f 100644
--- a/java/com/android/dialer/blocking/FilteredNumberCompat.java
+++ b/java/com/android/dialer/blocking/FilteredNumberCompat.java
@@ -270,7 +270,7 @@
     }
 
     // Great Wall blocking, must be primary user and the default or system dialer
-    // TODO: check that we're the system Dialer
+    // TODO(maxwelb): check that we're the system Dialer
     return TelecomUtil.isDefaultDialer(context)
         && safeBlockedNumbersContractCanCurrentUserBlockNumbers(context);
   }
diff --git a/java/com/android/dialer/blocking/res/values-hu/strings.xml b/java/com/android/dialer/blocking/res/values-hu/strings.xml
index 7981d6c..1070454 100644
--- a/java/com/android/dialer/blocking/res/values-hu/strings.xml
+++ b/java/com/android/dialer/blocking/res/values-hu/strings.xml
@@ -33,7 +33,7 @@
     <string name="block_number_undo" msgid="5158120911892491697">"VISSZAVONÁS"</string>
     <string name="send_to_voicemail_import_failed" msgid="1012752662074208237">"Az importálás nem sikerült"</string>
     <string name="call_blocking_disabled_notification_title" msgid="7211352205255347489">"A hívások tiltása funkció kikapcsolva 48 órára"</string>
-    <string name="call_blocking_disabled_notification_text" msgid="141384084865180722">"Letiltva segélyhívás miatt."</string>
+    <string name="call_blocking_disabled_notification_text" msgid="141384084865180722">"Letiltva vészhívás miatt."</string>
     <string name="block_report_number_alert_title" msgid="2740581989824959611">"Letiltja a következő számot: <xliff:g id="NUMBER">%1$s</xliff:g>?"</string>
     <string name="block_report_number_alert_details" msgid="2652479394593143562">"A jövőben nem fogad hívásokat erről a számról."</string>
     <string name="block_number_alert_details" msgid="715942751312046429">"<xliff:g id="TEXT">%1$s</xliff:g> A hívást spamként jelentjük be."</string>
diff --git a/java/com/android/dialer/buildtype/bugfood/BuildTypeAccessorImpl.java b/java/com/android/dialer/buildtype/bugfood/BuildTypeAccessorImpl.java
new file mode 100644
index 0000000..45d72e0
--- /dev/null
+++ b/java/com/android/dialer/buildtype/bugfood/BuildTypeAccessorImpl.java
@@ -0,0 +1,30 @@
+/*
+ * 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.dialer.buildtype;
+
+import com.android.dialer.proguard.UsedByReflection;
+
+/** Gets the build type. */
+@UsedByReflection(value = "BuildType.java")
+public class BuildTypeAccessorImpl implements BuildTypeAccessor {
+
+  @Override
+  @BuildType.Type
+  public int getBuildType() {
+    return BuildType.BUGFOOD;
+  }
+}
diff --git a/java/com/android/dialer/buildtype/dogfood/BuildTypeAccessorImpl.java b/java/com/android/dialer/buildtype/dogfood/BuildTypeAccessorImpl.java
new file mode 100644
index 0000000..e1f2cdc
--- /dev/null
+++ b/java/com/android/dialer/buildtype/dogfood/BuildTypeAccessorImpl.java
@@ -0,0 +1,30 @@
+/*
+ * 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.dialer.buildtype;
+
+import com.android.dialer.proguard.UsedByReflection;
+
+/** Gets the build type. */
+@UsedByReflection(value = "BuildType.java")
+public class BuildTypeAccessorImpl implements BuildTypeAccessor {
+
+  @Override
+  @BuildType.Type
+  public int getBuildType() {
+    return BuildType.DOGFOOD;
+  }
+}
diff --git a/java/com/android/dialer/buildtype/fishfood/BuildTypeAccessorImpl.java b/java/com/android/dialer/buildtype/fishfood/BuildTypeAccessorImpl.java
new file mode 100644
index 0000000..e5ad901
--- /dev/null
+++ b/java/com/android/dialer/buildtype/fishfood/BuildTypeAccessorImpl.java
@@ -0,0 +1,30 @@
+/*
+ * 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.dialer.buildtype;
+
+import com.android.dialer.proguard.UsedByReflection;
+
+/** Gets the build type. */
+@UsedByReflection(value = "BuildType.java")
+public class BuildTypeAccessorImpl implements BuildTypeAccessor {
+
+  @Override
+  @BuildType.Type
+  public int getBuildType() {
+    return BuildType.FISHFOOD;
+  }
+}
diff --git a/java/com/android/dialer/buildtype/test/BuildTypeAccessorImpl.java b/java/com/android/dialer/buildtype/test/BuildTypeAccessorImpl.java
new file mode 100644
index 0000000..80a1cb7
--- /dev/null
+++ b/java/com/android/dialer/buildtype/test/BuildTypeAccessorImpl.java
@@ -0,0 +1,30 @@
+/*
+ * 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.dialer.buildtype;
+
+import com.android.dialer.proguard.UsedByReflection;
+
+/** Gets the build type. */
+@UsedByReflection(value = "BuildType.java")
+public class BuildTypeAccessorImpl implements BuildTypeAccessor {
+
+  @Override
+  @BuildType.Type
+  public int getBuildType() {
+    return BuildType.TEST;
+  }
+}
diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java
index df5cc29..0b4c20a 100644
--- a/java/com/android/dialer/callcomposer/CallComposerActivity.java
+++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java
@@ -415,7 +415,7 @@
 
   /** Give permission to Messenger to view our image for RCS purposes. */
   private Uri grantUriPermission(Uri uri) {
-    // TODO: Move this to the enriched call manager.
+    // TODO(sail): Move this to the enriched call manager.
     grantUriPermission(
         "com.google.android.apps.messaging", uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
     return uri;
diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
index 1002b27..d55f322 100644
--- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
@@ -332,7 +332,11 @@
   /** Updates the state of the buttons and overlays based on the current state of the view */
   private void updateViewState() {
     Assert.isNotNull(cameraView);
-    Assert.isNotNull(getContext());
+    if (isDetached() || getContext() == null) {
+      LogUtil.i(
+          "CameraComposerFragment.updateViewState", "Fragment detached, cannot update view state");
+      return;
+    }
 
     boolean isCameraAvailable = CameraManager.get().isCameraAvailable();
     boolean uriReadyOrProcessing = cameraUri != null || processingUri;
diff --git a/java/com/android/dialer/callcomposer/camera/CameraManager.java b/java/com/android/dialer/callcomposer/camera/CameraManager.java
index 5915ce3..783b57e 100644
--- a/java/com/android/dialer/callcomposer/camera/CameraManager.java
+++ b/java/com/android/dialer/callcomposer/camera/CameraManager.java
@@ -118,7 +118,7 @@
   /**
    * The task for opening the camera, so it doesn't block the UI thread Using AsyncTask rather than
    * SafeAsyncTask because the tasks need to be serialized, but don't need to be on the UI thread
-   * TODO: If we have other AyncTasks (not SafeAsyncTasks) this may contend and we may need
+   * TODO(blemmon): If we have other AyncTasks (not SafeAsyncTasks) this may contend and we may need
    * to create a dedicated thread, or synchronize the threads in the thread pool
    */
   private AsyncTask<Integer, Void, Camera> mOpenCameraTask;
diff --git a/java/com/android/dialer/callcomposer/camera/camerafocus/FocusOverlayManager.java b/java/com/android/dialer/callcomposer/camera/camerafocus/FocusOverlayManager.java
index 1c5ac38..a5edf33 100644
--- a/java/com/android/dialer/callcomposer/camera/camerafocus/FocusOverlayManager.java
+++ b/java/com/android/dialer/callcomposer/camera/camerafocus/FocusOverlayManager.java
@@ -389,7 +389,7 @@
       focusIndicator.showStart();
     } else {
       if (Parameters.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusMode)) {
-        // TODO: check HAL behavior and decide if this can be removed.
+        // TODO(blemmon): check HAL behavior and decide if this can be removed.
         focusIndicator.showSuccess(false);
       } else if (mState == STATE_SUCCESS) {
         focusIndicator.showSuccess(false);
diff --git a/java/com/android/dialer/callcomposer/camera/exif/ExifParser.java b/java/com/android/dialer/callcomposer/camera/exif/ExifParser.java
index 23d748c..c728845 100644
--- a/java/com/android/dialer/callcomposer/camera/exif/ExifParser.java
+++ b/java/com/android/dialer/callcomposer/camera/exif/ExifParser.java
@@ -499,7 +499,7 @@
       mTiffStream.skip(4);
       return null;
     }
-    // TODO: handle numOfComp overflow
+    // TODO(blemmon): handle numOfComp overflow
     ExifTag tag =
         new ExifTag(
             tagId,
diff --git a/java/com/android/dialer/callcomposer/camera/exif/ExifTag.java b/java/com/android/dialer/callcomposer/camera/exif/ExifTag.java
index a254ae9..9a03c10 100644
--- a/java/com/android/dialer/callcomposer/camera/exif/ExifTag.java
+++ b/java/com/android/dialer/callcomposer/camera/exif/ExifTag.java
@@ -187,7 +187,7 @@
 
   /** Gets the component count of this tag. */
 
-  // TODO: fix integer overflows with this
+  // TODO(blemmon): fix integer overflows with this
   int getComponentCount() {
     return mComponentCountActual;
   }
diff --git a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml
index 1556247..39c2d0d 100644
--- a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml
+++ b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml
@@ -51,7 +51,6 @@
       android:background="@color/call_composer_divider"/>
 
   <RelativeLayout
-      android:orientation="horizontal"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content">
 
diff --git a/java/com/android/dialer/callcomposer/res/values-af/strings.xml b/java/com/android/dialer/callcomposer/res/values-af/strings.xml
index 62a7457..ef35865 100644
--- a/java/com/android/dialer/callcomposer/res/values-af/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-af/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Neem \'n foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Kies \'n foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Stuur \'n boodskap"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto is via Boodskappe gestuur"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Boodskap is via Boodskappe gestuur"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-am/strings.xml b/java/com/android/dialer/callcomposer/res/values-am/strings.xml
index fe1c1e5..8224b1e 100644
--- a/java/com/android/dialer/callcomposer/res/values-am/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-am/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ፎቶ ያንሱ"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ፎቶ ይምረጡ"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"መልዕክት ይላኩ"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"ፎቶ በመልዕክቶች በኩል ተልኳል"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"መልዕክት በመልዕክቶች በኩል ተልኳል"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ar/strings.xml b/java/com/android/dialer/callcomposer/res/values-ar/strings.xml
index b70f3ff..4e27f21 100644
--- a/java/com/android/dialer/callcomposer/res/values-ar/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ar/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"التقاط صورة"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"اختيار صورة"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"إرسال رسالة"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"‏صورة مرسلة عبر Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"‏رسالة مرسلة عبر Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-az/strings.xml b/java/com/android/dialer/callcomposer/res/values-az/strings.xml
index 7495555..d861e66 100644
--- a/java/com/android/dialer/callcomposer/res/values-az/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-az/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Şəkil çəkin"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Foto seçin"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Mesaj göndərin"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto Mesajlaşma tətbiqi vasitəsilə göndərildi"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mesaj Mesajlaşma tətbiqi vasitəsilə göndərildi"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml
index 88b8011..0a93b22 100644
--- a/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Slikajte"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Izaberite sliku"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Pošaljite poruku"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Slika je poslata preko Messages-a"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Poruka je poslata preko Messages-a"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-be/strings.xml b/java/com/android/dialer/callcomposer/res/values-be/strings.xml
index a741ccd..ba55fc7 100644
--- a/java/com/android/dialer/callcomposer/res/values-be/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-be/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Зрабіць фота"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Выбраць фота"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Адправіць паведамленне"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Фота адпраўлена праз праграму \"Паведамленні\""</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Паведамленне адпраўлена праз праграму \"Паведамленні\""</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-bg/strings.xml b/java/com/android/dialer/callcomposer/res/values-bg/strings.xml
index 4348bc6..7dad394 100644
--- a/java/com/android/dialer/callcomposer/res/values-bg/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bg/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Правене на снимка"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Избиране на снимка"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Изпращане на съобщение"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Снимката е изпратена чрез Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Съобщението е изпратено чрез Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-bn/strings.xml b/java/com/android/dialer/callcomposer/res/values-bn/strings.xml
index f2f3f11..607f195 100644
--- a/java/com/android/dialer/callcomposer/res/values-bn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bn/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"একটি ছবি তুলুন"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"একটি ফটো বেছে নিন"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"একটি বার্তা পাঠান"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Messages এর সাহায্যে ফটো পাঠানো হয়েছে"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Messages-এর সাহায্যে বার্তা পাঠানো হয়েছে"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
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 a5ecb0c..99ca5db 100644
--- a/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
@@ -33,6 +33,8 @@
     <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_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>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml
index 1f3007d..7b55346 100644
--- a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Fes una foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Tria una foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Envia un missatge"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada mitjançant Missatges"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Missatge enviat mitjançant Missatges"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-cs/strings.xml b/java/com/android/dialer/callcomposer/res/values-cs/strings.xml
index 590ab1c..f30bb3c 100644
--- a/java/com/android/dialer/callcomposer/res/values-cs/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-cs/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Vyfotit"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Vybrat fotku"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Poslat zprávu"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotka poslaná v aplikaci Zprávy"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Zpráva poslaná v aplikaci Zprávy"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-da/strings.xml b/java/com/android/dialer/callcomposer/res/values-da/strings.xml
index 179e0d0..bae4495 100644
--- a/java/com/android/dialer/callcomposer/res/values-da/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-da/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Tag et billede"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Vælg et billede"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Send en sms"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotoet blev sendt via Beskeder"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Beskeden blev sendt via Beskeder"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-de/strings.xml b/java/com/android/dialer/callcomposer/res/values-de/strings.xml
index d0c88a9..ac7ce4e 100644
--- a/java/com/android/dialer/callcomposer/res/values-de/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-de/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Bild aufnehmen"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Foto auswählen"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Nachricht senden"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto über Messages gesendet"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Nachricht über Messages gesendet."</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-el/strings.xml b/java/com/android/dialer/callcomposer/res/values-el/strings.xml
index bfa626b..1e7659b 100644
--- a/java/com/android/dialer/callcomposer/res/values-el/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-el/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Λήψη φωτογραφίας"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Επιλογή φωτογραφίας"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Αποστολή μηνύματος"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Η φωτογραφία στάλθηκε μέσω του Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Το μήνυμα στάλθηκε μέσω του Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml b/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml
index 5e2807b..2b3f7a3 100644
--- a/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Take a picture"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Choose a photo"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Sending a message"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Photo sent via Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Message sent via Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml b/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml
index 5e2807b..2b3f7a3 100644
--- a/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Take a picture"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Choose a photo"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Sending a message"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Photo sent via Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Message sent via Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml b/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml
index 5e2807b..2b3f7a3 100644
--- a/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Take a picture"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Choose a photo"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Sending a message"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Photo sent via Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Message sent via Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml b/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml
index f1d4705..67bac97 100644
--- a/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Tomar una foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Elegir una foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar un mensaje"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada por Mensajes"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensaje de texto enviado por Mensajes"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-es/strings.xml b/java/com/android/dialer/callcomposer/res/values-es/strings.xml
index cba427b..4b87268 100644
--- a/java/com/android/dialer/callcomposer/res/values-es/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-es/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Hacer una foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Elegir una foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar un mensaje"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada a través de Mensajes"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensaje enviado a través de Mensajes"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-et/strings.xml b/java/com/android/dialer/callcomposer/res/values-et/strings.xml
index d79ca90..896525d 100644
--- a/java/com/android/dialer/callcomposer/res/values-et/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-et/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Pildistamine"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Foto valimine"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Sõnumi saatmine"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto saadeti rakenduse Messages kaudu"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Sõnum saadeti rakenduse Messages kaudu"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-eu/strings.xml b/java/com/android/dialer/callcomposer/res/values-eu/strings.xml
index 32413f9..ce7e296 100644
--- a/java/com/android/dialer/callcomposer/res/values-eu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-eu/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Atera argazki bat"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Aukeratu argazki bat"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Bidali mezu bat"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Mezuak aplikazioaren bidez bidali da argazkia"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mezuak aplikazioaren bidez bidali da mezua"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fa/strings.xml b/java/com/android/dialer/callcomposer/res/values-fa/strings.xml
index a2604a9..6f0c2e5 100644
--- a/java/com/android/dialer/callcomposer/res/values-fa/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fa/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"عکس گرفتن"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"انتخاب عکس"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ارسال پیام"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"عکس ارسال‌شده ازطریق «پیام‌ها»"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"پیام ارسال‌شده ازطریق «پیام‌ها»"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fi/strings.xml b/java/com/android/dialer/callcomposer/res/values-fi/strings.xml
index 482a36a..ce0786c 100644
--- a/java/com/android/dialer/callcomposer/res/values-fi/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fi/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Ota kuva"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Valitse kuva"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Lähetä viesti"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Kuva lähetettiin Messages-sovelluksen kautta"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Viesti lähetettiin Messages-sovelluksen kautta"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml b/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml
index be06baa..0451dcf 100644
--- a/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Prendre une photo"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Choisir une photo"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Envoyer un message"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Photo envoyée au moyen de l\'application Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Message envoyé au moyen de l\'application Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fr/strings.xml b/java/com/android/dialer/callcomposer/res/values-fr/strings.xml
index f56ad7a..50e6194 100644
--- a/java/com/android/dialer/callcomposer/res/values-fr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fr/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Prendre une photo"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Choisir une photo"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Envoyer un message"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Photo envoyée via l\'application Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Message envoyé via l\'application Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-gl/strings.xml b/java/com/android/dialer/callcomposer/res/values-gl/strings.xml
index f2a0f15..2ad2c9a 100644
--- a/java/com/android/dialer/callcomposer/res/values-gl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-gl/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Tira unha foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Escolle unha foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Envía unha mensaxe"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada a través de Mensaxes"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensaxe enviada a través de Mensaxes"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-gu/strings.xml b/java/com/android/dialer/callcomposer/res/values-gu/strings.xml
index 771d148..8c9a521 100644
--- a/java/com/android/dialer/callcomposer/res/values-gu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-gu/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"એક ચિત્ર લો"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ફોટો પસંદ કરો"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"એક સંદેશ મોકલો"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Messages મારફતે ફોટો મોકલ્યો"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Messages મારફતે સંદેશ મોકલ્યો"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hi/strings.xml b/java/com/android/dialer/callcomposer/res/values-hi/strings.xml
index 4de9a6d..8d4f91e 100644
--- a/java/com/android/dialer/callcomposer/res/values-hi/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hi/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"चित्र लें"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"एक फ़ोटो चुनें"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"संदेश भेजें"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"संदेश ऐप्लिकेशन के ज़रिए फ़ोटो भेजा गया"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"संदेश ऐप्लिकेशन के ज़रिए संदेश भेजा गया"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hr/strings.xml b/java/com/android/dialer/callcomposer/res/values-hr/strings.xml
index 4bea73c..cc3219d 100644
--- a/java/com/android/dialer/callcomposer/res/values-hr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hr/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Snimi 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 poslana putem Poruka"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Poruka poslana putem Poruka"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hu/strings.xml b/java/com/android/dialer/callcomposer/res/values-hu/strings.xml
index 2a590e0..b222c53 100644
--- a/java/com/android/dialer/callcomposer/res/values-hu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hu/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Kép készítése"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Fotó kiválasztása"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Üzenet küldése"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotó elküldve a Messages alkalmazásban"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Üzenet elküldve a Messages alkalmazásban"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hy/strings.xml b/java/com/android/dialer/callcomposer/res/values-hy/strings.xml
index 1b55234..01635f6 100644
--- a/java/com/android/dialer/callcomposer/res/values-hy/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hy/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Լուսանկարել"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Ընտրել լուսանկար"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Ուղարկել հաղորդագրություն"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Լուսանկարն ուղարկվել է Messages-ի միջոցով"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Հաղորդագրությունն ուղարկվել է Messages-ի միջոցով"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-in/strings.xml b/java/com/android/dialer/callcomposer/res/values-in/strings.xml
index 7983c4d..4c6d844 100644
--- a/java/com/android/dialer/callcomposer/res/values-in/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-in/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Jepret"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Pilih foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Mengirim pesan"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto dikirim lewat Message"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Pesan dikirim lewat Message"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-is/strings.xml b/java/com/android/dialer/callcomposer/res/values-is/strings.xml
index 3bf4a6b..d951edd 100644
--- a/java/com/android/dialer/callcomposer/res/values-is/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-is/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Taka mynd"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Velja mynd"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Senda skilaboð"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Mynd send með Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Skilaboð send með Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-it/strings.xml b/java/com/android/dialer/callcomposer/res/values-it/strings.xml
index 343dd84..9d26b2c 100644
--- a/java/com/android/dialer/callcomposer/res/values-it/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-it/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Scatta una foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Scegli una foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Invia un messaggio"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto inviata tramite Messaggi"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Messaggio inviato tramite Messaggi"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-iw/strings.xml b/java/com/android/dialer/callcomposer/res/values-iw/strings.xml
index 24c6203..26e7daf 100644
--- a/java/com/android/dialer/callcomposer/res/values-iw/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-iw/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"צילום תמונה"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"בחירת תמונה"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"שליחת הודעה"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"‏התמונה נשלחה דרך אפליקציית Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"‏ההודעה נשלחה דרך אפליקציית Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ja/strings.xml b/java/com/android/dialer/callcomposer/res/values-ja/strings.xml
index 33f48c9..96eaea5 100644
--- a/java/com/android/dialer/callcomposer/res/values-ja/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ja/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"画像を撮影します"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"写真を選択します"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"メッセージを送信します"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Android メッセージで写真が送信されました"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Android メッセージでメッセージが送信されました"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ka/strings.xml b/java/com/android/dialer/callcomposer/res/values-ka/strings.xml
index 65084f3..0cef94d 100644
--- a/java/com/android/dialer/callcomposer/res/values-ka/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ka/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"სურათის გადაღება"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ფოტოს არჩევა"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"შეტყობინების გაგზავნა"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"ფოტო გაიგზავნა Messages აპიდან"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"შეტყობინება გაიგზავნა Messages აპიდან"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-kk/strings.xml b/java/com/android/dialer/callcomposer/res/values-kk/strings.xml
index bf41736..c95fb7b 100644
--- a/java/com/android/dialer/callcomposer/res/values-kk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-kk/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Суретке түсіру"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Суретті таңдау"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Хабар жіберу"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Сурет Messages арқылы жіберілді"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Хабар Messages арқылы жіберілді"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-km/strings.xml b/java/com/android/dialer/callcomposer/res/values-km/strings.xml
index 10c8d52..66f82c5 100644
--- a/java/com/android/dialer/callcomposer/res/values-km/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-km/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ថតរូប"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ជ្រើសរើស​រូបថត"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ផ្ញើសារ"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"រូបថត​ដែល​បាន​ផ្ញើ​តាមរយៈ Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"សារ​ដែល​បាន​ផ្ញើ​តាមរយៈ Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-kn/strings.xml b/java/com/android/dialer/callcomposer/res/values-kn/strings.xml
index 3776d9d..7bb1e48 100644
--- a/java/com/android/dialer/callcomposer/res/values-kn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-kn/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ಚಿತ್ರ ತೆಗೆದುಕೊಳ್ಳಿ"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ಒಂದು ಫೋಟೋ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ಸಂದೇಶ ಕಳುಹಿಸಿ"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"ಸಂದೇಶಗಳ ಮೂಲಕ ಕಳುಹಿಸಲಾದ ಫೋಟೋ"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"ಸಂದೇಶಗಳ ಮೂಲಕ ಕಳುಹಿಸಲಾದ ಸಂದೇಶ"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ko/strings.xml b/java/com/android/dialer/callcomposer/res/values-ko/strings.xml
index 0e6820e..1052d55 100644
--- a/java/com/android/dialer/callcomposer/res/values-ko/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ko/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"사진 촬영"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"사진 선택"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"메시지 보내기"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"메시지를 통해 전송된 사진"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"메시지를 통해 전송된 메시지"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ky/strings.xml b/java/com/android/dialer/callcomposer/res/values-ky/strings.xml
index f96ce4d..6e5889d 100644
--- a/java/com/android/dialer/callcomposer/res/values-ky/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ky/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Сүрөткө тартуу"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Сүрөттү тандоо"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Билдирүү жөнөтүү"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Сүрөт Android жазышуулары колдонмосу аркылуу жөнөтүлдү"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Билдирүү Android жазышуулары колдонмосу аркылуу жөнөтүлдү"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-lo/strings.xml b/java/com/android/dialer/callcomposer/res/values-lo/strings.xml
index d14f03d..87d72db 100644
--- a/java/com/android/dialer/callcomposer/res/values-lo/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-lo/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ຖ່າຍຮູບ"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ເລືອກຮູບພາບ..."</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ສົ່ງຂໍ້ຄວາມ"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"ສົ່ງຮູບຜ່ານ Messages ແລ້ວ"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"ສົ່ງຮູບຜ່ານ Messages ແລ້ວ"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-lt/strings.xml b/java/com/android/dialer/callcomposer/res/values-lt/strings.xml
index 4453bcd..07fe444 100644
--- a/java/com/android/dialer/callcomposer/res/values-lt/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-lt/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Fotografuoti"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Pasirinkti nuotrauką"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Siųsti pranešimą"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Nuotrauka išsiųsta naudojant „Messages“"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Pranešimas išsiųstas naudojant „Messages“"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-lv/strings.xml b/java/com/android/dialer/callcomposer/res/values-lv/strings.xml
index 80e5214..9a3efc7 100644
--- a/java/com/android/dialer/callcomposer/res/values-lv/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-lv/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Uzņemt attēlu"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Izvēlēties fotoattēlu"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Sūtīt ziņojumu"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotoattēls nosūtīts, izmantojot lietotni Ziņojumi"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Ziņojums nosūtīts, izmantojot lietotni Ziņojumi"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-mk/strings.xml b/java/com/android/dialer/callcomposer/res/values-mk/strings.xml
index bd8f0c8..218c23d 100644
--- a/java/com/android/dialer/callcomposer/res/values-mk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-mk/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Фотографирајте"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Изберете фотографија"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Испратете порака"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Фотографијата е испратена преку Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Пораката е испратена преку Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ml/strings.xml b/java/com/android/dialer/callcomposer/res/values-ml/strings.xml
index e4931cb..0e58cbb 100644
--- a/java/com/android/dialer/callcomposer/res/values-ml/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ml/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ഒരു ചിത്രമെടുക്കുക"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ഒരു ഫോട്ടോ തിരഞ്ഞെടുക്കുക"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ഒരു സന്ദേശം അയയ്‌ക്കുക"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"മെസേജ് വഴി ഫോട്ടോ അയച്ചു"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"മെസേജ് വഴി സന്ദേശം അയച്ചു"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-mn/strings.xml b/java/com/android/dialer/callcomposer/res/values-mn/strings.xml
index 62a7750..8728740 100644
--- a/java/com/android/dialer/callcomposer/res/values-mn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-mn/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Зураг авах"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Зураг сонгоно уу"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Зурвас илгээх"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Зургийг Зурвасаар дамжуулан илгээсэн"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Зурвасыг Зурвасаар дамжуулан илгээсэн"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-mr/strings.xml b/java/com/android/dialer/callcomposer/res/values-mr/strings.xml
index e7a7190..3ca51a2 100644
--- a/java/com/android/dialer/callcomposer/res/values-mr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-mr/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"एक फोटो घ्या"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"फोटो निवडा"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"एक संदेश पाठवा"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Messages द्वारे फोटो पाठविला"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Messages द्वारे संदेश पाठविला"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ms/strings.xml b/java/com/android/dialer/callcomposer/res/values-ms/strings.xml
index 39ed6fa..e722b88 100644
--- a/java/com/android/dialer/callcomposer/res/values-ms/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ms/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Ambil gambar"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Pilih foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Hantar mesej"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Photo dihantar melalui Mesej"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mesej dihantar melalui Mesej"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-my/strings.xml b/java/com/android/dialer/callcomposer/res/values-my/strings.xml
index a20dabc..b49b1ea 100644
--- a/java/com/android/dialer/callcomposer/res/values-my/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-my/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ဓာတ်ပုံတစ်ပုံ ရိုက်ရန်"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ဓာတ်ပုံတစ်ပုံ ရွေးရန်"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"မက်ဆေ့ဂျ်ပို့ရန်"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"မက်ဆေ့ဂျ်များမှတစ်ဆင့် ဓာတ်ပုံပို့ပြီးပါပြီ"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"မက်ဆေ့ဂျ်များမှတစ်ဆင့် မက်ဆေ့ဂျ်ပို့ပြီးပါပြီ"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-nb/strings.xml b/java/com/android/dialer/callcomposer/res/values-nb/strings.xml
index cbb1acc..07caf6e 100644
--- a/java/com/android/dialer/callcomposer/res/values-nb/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-nb/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Ta et bilde"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Velg et bilde"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Send en melding"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Bildet er sendt via Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Meldingen er sendt via Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ne/strings.xml b/java/com/android/dialer/callcomposer/res/values-ne/strings.xml
index f084dc9..03eac6c 100644
--- a/java/com/android/dialer/callcomposer/res/values-ne/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ne/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"तस्बिर खिच्नुहोस्"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"तस्बिर छनौट गर्नुहोस्"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"सन्देश पठाउनुहोस्"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Messages मार्फत पठाइएको तस्बिर"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Messages मार्फत पठाइएको सन्देश"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-nl/strings.xml b/java/com/android/dialer/callcomposer/res/values-nl/strings.xml
index 5511427..7a73d93 100644
--- a/java/com/android/dialer/callcomposer/res/values-nl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-nl/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Een foto nemen"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Een foto kiezen"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Een bericht verzenden"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto verzonden via Berichten"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Bericht verzonden via Berichten"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-no/strings.xml b/java/com/android/dialer/callcomposer/res/values-no/strings.xml
index cbb1acc..07caf6e 100644
--- a/java/com/android/dialer/callcomposer/res/values-no/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-no/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Ta et bilde"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Velg et bilde"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Send en melding"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Bildet er sendt via Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Meldingen er sendt via Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pa/strings.xml b/java/com/android/dialer/callcomposer/res/values-pa/strings.xml
index 5c20adc..25de393 100644
--- a/java/com/android/dialer/callcomposer/res/values-pa/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pa/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ਇੱਕ ਤਸਵੀਰ ਖਿੱਚੋ"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ਇੱਕ ਫ਼ੋਟੋ ਚੁਣੋ"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ਇੱਕ ਸੁਨੇਹਾ ਭੇਜੋ"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"ਫ਼ੋਟੋ &amp;quot;ਸੁਨੇਹੇ&amp;quot; ਐਪ ਰਾਹੀਂ ਭੇਜੀ ਗਈ"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"ਸੁਨੇਹਾ &amp;quot;ਸੁਨੇਹੇ&amp;quot; ਐਪ ਰਾਹੀਂ ਭੇਜਿਆ ਗਿਆ"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pl/strings.xml b/java/com/android/dialer/callcomposer/res/values-pl/strings.xml
index eea7496..b65ba23 100644
--- a/java/com/android/dialer/callcomposer/res/values-pl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pl/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Zrób zdjęcie"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Wybierz zdjęcie"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Wyślij wiadomość"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Zdjęcie zostało wysłane przez Wiadomości"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Tekst został wysłany przez Wiadomości"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml b/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml
index 026cfac..669e850 100644
--- a/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Tirar uma foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Escolher uma foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar uma mensagem"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada pelo Mensagens"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensagem enviada pelo Mensagens"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml b/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml
index 1a35ce2..45411d3 100644
--- a/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Tirar uma foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Selecionar foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar uma mensagem"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada através da aplicação Mensagens"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensagem enviada através da aplicação Mensagens"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pt/strings.xml b/java/com/android/dialer/callcomposer/res/values-pt/strings.xml
index 026cfac..669e850 100644
--- a/java/com/android/dialer/callcomposer/res/values-pt/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pt/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Tirar uma foto"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Escolher uma foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar uma mensagem"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Foto enviada pelo Mensagens"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensagem enviada pelo Mensagens"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ro/strings.xml b/java/com/android/dialer/callcomposer/res/values-ro/strings.xml
index ac55b80..cd8359f 100644
--- a/java/com/android/dialer/callcomposer/res/values-ro/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ro/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Fotografiați"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Alegeți o fotografie"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Trimiteți un mesaj"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotografie trimisă prin Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mesaj trimis prin Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ru/strings.xml b/java/com/android/dialer/callcomposer/res/values-ru/strings.xml
index 79d8136..1119a0e 100644
--- a/java/com/android/dialer/callcomposer/res/values-ru/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ru/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Сделать фото"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Выбрать фото"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Отправить сообщение"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Фото отправлено через Android Сообщения"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Сообщение отправлено через Android Сообщения"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-si/strings.xml b/java/com/android/dialer/callcomposer/res/values-si/strings.xml
index 8c2b953..dfae242 100644
--- a/java/com/android/dialer/callcomposer/res/values-si/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-si/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"පින්තුරයක් ගැනීම"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ඡායාරූපයක් තේරීම"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"පණිවිඩයක් යැවීම"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Messages හරහා ඡායාරූපය යවන ලදී"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Messages හරහා පණිවිඩය යවන ලදී"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sk/strings.xml b/java/com/android/dialer/callcomposer/res/values-sk/strings.xml
index ee062c4..f54c73e 100644
--- a/java/com/android/dialer/callcomposer/res/values-sk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sk/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Odfotiť"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Vybrať fotku"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Odoslať správu"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotka bola odoslaná prostredníctvom Správ"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Správa bola odoslaná prostredníctvom Správ"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sl/strings.xml b/java/com/android/dialer/callcomposer/res/values-sl/strings.xml
index 9d57cfd..010ad07 100644
--- a/java/com/android/dialer/callcomposer/res/values-sl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sl/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Posnemi fotografijo"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Izberi fotografijo"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Pošlji sporočilo"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotografija je bila poslana prek aplikacije Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Sporočilo je bila poslano prek aplikacije Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sq/strings.xml b/java/com/android/dialer/callcomposer/res/values-sq/strings.xml
index 7209942..b106d5a 100644
--- a/java/com/android/dialer/callcomposer/res/values-sq/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sq/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Bëj një fotografi"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Zgjidh një fotografi"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Dërgo një mesazh"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotografia u dërgua nëpërmjet \"Mesazheve\""</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mesazhi u dërgua nëpërmjet \"Mesazheve\""</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sr/strings.xml b/java/com/android/dialer/callcomposer/res/values-sr/strings.xml
index 1eafcb7..2b85628 100644
--- a/java/com/android/dialer/callcomposer/res/values-sr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sr/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Сликајте"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Изаберите слику"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Пошаљите поруку"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Слика је послата преко Messages-а"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Порука је послата преко Messages-а"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sv/strings.xml b/java/com/android/dialer/callcomposer/res/values-sv/strings.xml
index 787d865..e60bbe9 100644
--- a/java/com/android/dialer/callcomposer/res/values-sv/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sv/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Ta en bild"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Välj ett foto"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Skicka ett meddelande"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotot har skickats via Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Meddelandet har skickats via Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sw/strings.xml b/java/com/android/dialer/callcomposer/res/values-sw/strings.xml
index d33ff31..f67c899 100644
--- a/java/com/android/dialer/callcomposer/res/values-sw/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sw/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Piga picha"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Chagua picha"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Tuma ujumbe"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Picha imetumwa kupitia Programu ya Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Ujumbe umetumwa kupitia Programu ya Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ta/strings.xml b/java/com/android/dialer/callcomposer/res/values-ta/strings.xml
index 37c0193..ae59b3d 100644
--- a/java/com/android/dialer/callcomposer/res/values-ta/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ta/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"படமெடுக்கவும்"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"புகைப்படத்தைத் தேர்வு செய்யும்"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"செய்தியை அனுப்பும்"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"மெசேஜஸ் மூலம் படம் அனுப்பப்பட்டது"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"மெசேஜஸ் மூலம் செய்தி அனுப்பப்பட்டது"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-te/strings.xml b/java/com/android/dialer/callcomposer/res/values-te/strings.xml
index 5480370..01d0910 100644
--- a/java/com/android/dialer/callcomposer/res/values-te/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-te/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"చిత్రాన్ని తీస్తుంది"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ఫోటోను ఎంచుకోండి"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"సందేశాన్ని పంపుతుంది"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"సందేశాల అనువర్తనం ద్వారా ఫోటోను పంపాము"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"సందేశాల అనువర్తనం ద్వారా సందేశాన్ని పంపాము"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-th/strings.xml b/java/com/android/dialer/callcomposer/res/values-th/strings.xml
index 9d98d56..53dbaea 100644
--- a/java/com/android/dialer/callcomposer/res/values-th/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-th/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"ถ่ายภาพ"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"เลือกรูปภาพ"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"ส่งข้อความ"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"ส่งรูปภาพผ่าน Messages แล้ว"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"ส่งข้อความผ่าน Messages แล้ว"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-tl/strings.xml b/java/com/android/dialer/callcomposer/res/values-tl/strings.xml
index 5bba942..910d907 100644
--- a/java/com/android/dialer/callcomposer/res/values-tl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-tl/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Kumuha ng larawan"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Pumili ng larawan"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Magpadala ng mensahe"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Larawang ipinadala sa pamamagitan ng Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mensaheng ipinadala sa pamamagitan ng Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-tr/strings.xml b/java/com/android/dialer/callcomposer/res/values-tr/strings.xml
index cfb8bfb..51069ea 100644
--- a/java/com/android/dialer/callcomposer/res/values-tr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-tr/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Resim çeker"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Fotoğraf seçilmesini sağlar"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Mesaj gönderir"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Fotoğraf, Mesajlar uygulaması üzerinden gönderildi"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Mesaj, Mesajlar uygulaması üzerinden gönderildi"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-uk/strings.xml b/java/com/android/dialer/callcomposer/res/values-uk/strings.xml
index 4cb1a2d..57ee722 100644
--- a/java/com/android/dialer/callcomposer/res/values-uk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-uk/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Зробити знімок"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Вибрати фотографію"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Надіслати повідомлення"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Фотографію надіслано через додаток Повідомлення"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Текст надіслано через додаток Повідомлення"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ur/strings.xml b/java/com/android/dialer/callcomposer/res/values-ur/strings.xml
index c665cfb..28d79b8 100644
--- a/java/com/android/dialer/callcomposer/res/values-ur/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ur/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"تصویر لیں"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"ایک تصویر چنیں"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"پیغام بھیجیں"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"تصویر پیغامات کے ذریعے بھیجی گئی"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"پیغام پیغامات کے ذریعے بھیجا گیا"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-uz/strings.xml b/java/com/android/dialer/callcomposer/res/values-uz/strings.xml
index 0237ab9..a3c7346 100644
--- a/java/com/android/dialer/callcomposer/res/values-uz/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-uz/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Rasmga olish"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Rasm tanlash"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Xabar yuborish"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Rasm Android Xabarlar orqali yuborildi"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Xabar Android Xabarlar orqali yuborildi"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-vi/strings.xml b/java/com/android/dialer/callcomposer/res/values-vi/strings.xml
index d617cfb..7be47a0 100644
--- a/java/com/android/dialer/callcomposer/res/values-vi/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-vi/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Chụp ảnh"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Chọn ảnh"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Gửi tin nhắn"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Đã gửi ảnh qua Messages"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Đã gửi tin nhắn qua Messages"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml b/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml
index 97017d6..39ace9d 100644
--- a/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"拍照"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"选择一张照片"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"发送信息"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"已通过“信息”应用发送照片"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"已通过“信息”应用发送短信"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml b/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml
index b191949..87052ff 100644
--- a/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"拍照"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"選擇相片"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"傳送訊息"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"已透過「訊息」傳送相片"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"已透過「訊息」傳送訊息"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml b/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml
index ef2cd9d..51cc8f6 100644
--- a/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"拍攝相片"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"選擇相片"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"傳送訊息"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"透過訊息應用程式傳送的相片"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"透過訊息應用程式傳送的訊息"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zu/strings.xml b/java/com/android/dialer/callcomposer/res/values-zu/strings.xml
index 09845f6..3e2db44 100644
--- a/java/com/android/dialer/callcomposer/res/values-zu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zu/strings.xml
@@ -33,6 +33,8 @@
     <string name="description_call_composer_camera" msgid="388088245837924914">"Thatha isithombe"</string>
     <string name="description_call_composer_photo" msgid="6449208314952246454">"Khetha isithombe"</string>
     <string name="description_call_composer_message" msgid="9132362446000908550">"Thumela umlayezo"</string>
-    <string name="image_sent_messages" msgid="6520870555040566229">"Isithombe sithunyelwe ngemilayezo"</string>
-    <string name="message_sent_messages" msgid="6286576951151541098">"Umlayezo uthunyelwe ngemilayezo"</string>
+    <!-- no translation found for image_sent_messages (6520870555040566229) -->
+    <skip />
+    <!-- no translation found for message_sent_messages (6286576951151541098) -->
+    <skip />
 </resources>
diff --git a/java/com/android/dialer/callcomposer/res/values/dimens.xml b/java/com/android/dialer/callcomposer/res/values/dimens.xml
index 083bd0a..798c46f 100644
--- a/java/com/android/dialer/callcomposer/res/values/dimens.xml
+++ b/java/com/android/dialer/callcomposer/res/values/dimens.xml
@@ -15,15 +15,15 @@
   ~ limitations under the License
   -->
 <resources>
-  <dimen name="call_composer_view_pager_height">306dp</dimen>
+  <dimen name="call_composer_view_pager_height">292dp</dimen>
 
   <!-- Contact bar -->
   <dimen name="call_composer_contact_photo_border_thickness">2dp</dimen>
-  <dimen name="call_composer_contact_photo_size">116dp</dimen>
-  <dimen name="call_composer_contact_container_margin_top">58dp</dimen>
-  <dimen name="call_composer_contact_container_padding_top">58dp</dimen>
-  <dimen name="call_composer_contact_container_padding_bottom">18dp</dimen>
-  <dimen name="call_composer_name_text_size">32sp</dimen>
+  <dimen name="call_composer_contact_photo_size">112dp</dimen>
+  <dimen name="call_composer_contact_container_margin_top">56dp</dimen>
+  <dimen name="call_composer_contact_container_padding_top">56dp</dimen>
+  <dimen name="call_composer_contact_container_padding_bottom">16dp</dimen>
+  <dimen name="call_composer_name_text_size">28sp</dimen>
   <dimen name="call_composer_number_text_size">16sp</dimen>
   <dimen name="call_composer_contact_container_elevation">2dp</dimen>
 
diff --git a/java/com/android/dialer/callcomposer/res/values/styles.xml b/java/com/android/dialer/callcomposer/res/values/styles.xml
index 16e7fb6..a03ee48 100644
--- a/java/com/android/dialer/callcomposer/res/values/styles.xml
+++ b/java/com/android/dialer/callcomposer/res/values/styles.xml
@@ -34,7 +34,8 @@
   <style name="message_composer_textview">
     <item name="android:textSize">@dimen/message_compose_item_text_size</item>
     <item name="android:textColor">@color/dialer_primary_text_color</item>
-    <item name="android:padding">@dimen/message_composer_item_padding</item>
+    <item name="android:paddingStart">@dimen/message_composer_item_padding</item>
+    <item name="android:paddingEnd">@dimen/message_composer_item_padding</item>
     <item name="android:background">@drawable/item_background_material_light</item>
     <item name="android:gravity">center_vertical</item>
   </style>
diff --git a/java/com/android/dialer/calldetails/AndroidManifest.xml b/java/com/android/dialer/calldetails/AndroidManifest.xml
index fd887c4..9cf656e 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/calldetails/CallDetailsAdapter.java b/java/com/android/dialer/calldetails/CallDetailsAdapter.java
index 48e9b69..66a736c 100644
--- a/java/com/android/dialer/calldetails/CallDetailsAdapter.java
+++ b/java/com/android/dialer/calldetails/CallDetailsAdapter.java
@@ -26,6 +26,7 @@
 import com.android.dialer.calllogutils.CallTypeHelper;
 import com.android.dialer.common.Assert;
 import com.android.dialer.dialercontact.DialerContact;
+import com.android.dialer.lightbringer.LightbringerComponent;
 import java.util.List;
 
 /** Adapter for RecyclerView in {@link CallDetailsActivity}. */
@@ -48,7 +49,9 @@
     this.contact = Assert.isNotNull(contact);
     this.callDetailsEntries = callDetailsEntries;
     this.listener = listener;
-    callTypeHelper = new CallTypeHelper(context.getResources());
+    callTypeHelper =
+        new CallTypeHelper(
+            context.getResources(), LightbringerComponent.get(context).getLightbringer());
   }
 
   @Override
diff --git a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
index 204e407..9c592fc 100644
--- a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
@@ -56,7 +56,7 @@
 
   private final ImageView multimediaImage;
 
-  // TODO: Display this when location is stored - b/36160042
+  // TODO(maxwelb): Display this when location is stored - b/36160042
   @SuppressWarnings("unused")
   private final TextView multimediaAttachmentsNumber;
 
@@ -91,6 +91,7 @@
     boolean isPulledCall =
         (entry.getFeatures() & Calls.FEATURES_PULLED_EXTERNALLY)
             == Calls.FEATURES_PULLED_EXTERNALLY;
+    boolean isLightbringerCall = entry.getIsLightbringerCall();
 
     callTime.setTextColor(getColorForCallType(context, callType));
     callTypeIcon.clear();
@@ -100,7 +101,8 @@
     callTypeIcon.setShowWifi(
         MotorolaUtils.shouldShowWifiIconInCallLog(context, entry.getFeatures()));
 
-    callTypeText.setText(callTypeHelper.getCallTypeText(callType, isVideoCall, isPulledCall));
+    callTypeText.setText(
+        callTypeHelper.getCallTypeText(callType, isVideoCall, isPulledCall, isLightbringerCall));
     callTime.setText(CallEntryFormatter.formatDate(context, entry.getDate()));
     if (CallTypeHelper.isMissedCallType(callType)) {
       callDuration.setVisibility(View.GONE);
diff --git a/java/com/android/dialer/calldetails/proto/call_details_entries.proto b/java/com/android/dialer/calldetails/proto/call_details_entries.proto
index 18bc931..587fd35 100644
--- a/java/com/android/dialer/calldetails/proto/call_details_entries.proto
+++ b/java/com/android/dialer/calldetails/proto/call_details_entries.proto
@@ -18,6 +18,7 @@
     optional int64 duration = 5;
     optional int64 data_usage = 6;
     repeated enrichedcall.historyquery.proto.HistoryResult history_results = 7;
+    optional bool is_lightbringer_call = 8;
   }
 
   repeated CallDetailsEntry entries = 1;
diff --git a/java/com/android/dialer/calldetails/res/values-uz/strings.xml b/java/com/android/dialer/calldetails/res/values-uz/strings.xml
index 57f0526..4f38cab 100644
--- a/java/com/android/dialer/calldetails/res/values-uz/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-uz/strings.xml
@@ -20,7 +20,7 @@
     <string name="call_details" msgid="5063658079729839605">"Chaqiruv tafsilotlari"</string>
     <string name="delete" msgid="2141020674108406737">"O‘chirib tashlash"</string>
     <string name="call_details_copy_number" msgid="4265479408878990796">"Raqamni nusxalash"</string>
-    <string name="call_details_edit_number" msgid="8718476514903513624">"Chaqiruvdan oldin raqamni tahrirlash"</string>
+    <string name="call_details_edit_number" msgid="8718476514903513624">"Qo‘ng‘iroq qilishdan oldin raqamni tahrirlash"</string>
     <string name="call_details_report_call_id" msgid="8857541295264421217">"Raqamdagi xatolik haqida xabar berish"</string>
     <string name="sent_a_photo" msgid="3978670717462979502">"Rasm yuborildi"</string>
     <string name="received_a_photo" msgid="3528953225576480505">"Rasm qabul qilindi"</string>
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java
index e5449c8..36ea907 100644
--- a/java/com/android/dialer/callintent/CallIntentBuilder.java
+++ b/java/com/android/dialer/callintent/CallIntentBuilder.java
@@ -160,4 +160,11 @@
   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 01afce0..336adb6 100644
--- a/java/com/android/dialer/callintent/CallIntentParser.java
+++ b/java/com/android/dialer/callintent/CallIntentParser.java
@@ -19,12 +19,13 @@
 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 @@
       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/callintent/call_initiation_type.proto b/java/com/android/dialer/callintent/call_initiation_type.proto
index 318da9c..32e4e49 100644
--- a/java/com/android/dialer/callintent/call_initiation_type.proto
+++ b/java/com/android/dialer/callintent/call_initiation_type.proto
@@ -8,6 +8,7 @@
 package com.android.dialer.callintent;
 
 
+
 // Different ways a call can be initiated.
 message CallInitiationType {
   enum Type {
diff --git a/java/com/android/dialer/callintent/speed_dial_contact_type.proto b/java/com/android/dialer/callintent/speed_dial_contact_type.proto
index 588eadf..ecb1c3f 100644
--- a/java/com/android/dialer/callintent/speed_dial_contact_type.proto
+++ b/java/com/android/dialer/callintent/speed_dial_contact_type.proto
@@ -8,6 +8,7 @@
 package com.android.dialer.callintent;
 
 
+
 // The type of speed call contact (favorites). Applies to initiation type
 // SPEED_DIAL only.
 message SpeedDialContactType {
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
index 887dfcb..5f48d7b 100644
--- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
+++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
@@ -68,7 +68,7 @@
     long startTime = System.currentTimeMillis();
     db.execSQL(CREATE_TABLE_SQL);
     db.execSQL(String.format(Locale.US, CREATE_TRIGGER_SQL, maxRows, maxRows));
-    // TODO: Consider logging impression.
+    // TODO(zachh): Consider logging impression.
     LogUtil.i(
         "AnnotatedCallLogDatabaseHelper.onCreate",
         "took: %dms",
diff --git a/java/com/android/dialer/calllog/database/Coalescer.java b/java/com/android/dialer/calllog/database/Coalescer.java
index 5683687..23ddc9c 100644
--- a/java/com/android/dialer/calllog/database/Coalescer.java
+++ b/java/com/android/dialer/calllog/database/Coalescer.java
@@ -129,7 +129,7 @@
    */
   private static boolean rowsShouldBeCombined(
       DialerPhoneNumberUtil dialerPhoneNumberUtil, ContentValues row1, ContentValues row2) {
-    // TODO: Real implementation.
+    // TODO(zachh): Real implementation.
     DialerPhoneNumber number1;
     DialerPhoneNumber number2;
     try {
diff --git a/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java b/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java
index 82a8523..db74215 100644
--- a/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java
+++ b/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java
@@ -39,7 +39,7 @@
   public boolean isDirty(Context appContext) {
     Assert.isWorkerThread();
 
-    // TODO: Implementation.
+    // TODO(zachh): Implementation.
     return false;
   }
 
@@ -49,7 +49,7 @@
       Context appContext,
       CallLogMutations mutations) {
     Assert.isWorkerThread();
-    // TODO: Implementation.
+    // TODO(zachh): Implementation.
     for (ContentValues contentValues : mutations.getInserts().values()) {
       contentValues.put(AnnotatedCallLog.CONTACT_NAME, "Placeholder name");
     }
@@ -57,12 +57,12 @@
 
   @Override
   public void onSuccessfulFill(Context appContext) {
-    // TODO: Implementation.
+    // TODO(zachh): Implementation.
   }
 
   @Override
   public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) {
-    // TODO: Implementation.
+    // TODO(zachh): Implementation.
     return new RowCombiner(individualRowsSortedByTimestampDesc)
         .useSingleValueString(AnnotatedCallLog.CONTACT_NAME)
         .combine();
@@ -72,6 +72,6 @@
   @Override
   public void registerContentObservers(
       Context appContext, ContentObserverCallbacks contentObserverCallbacks) {
-    // TODO: Guard against missing permissions during callback registration.
+    // TODO(zachh): Guard against missing permissions during callback registration.
   }
 }
diff --git a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
index f206328..86145a9 100644
--- a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
+++ b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
@@ -143,7 +143,7 @@
 
   @Override
   public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) {
-    // TODO: Complete implementation.
+    // TODO(zachh): Complete implementation.
     ContentValues coalescedValues =
         new RowCombiner(individualRowsSortedByTimestampDesc)
             .useMostRecentLong(AnnotatedCallLog.TIMESTAMP)
@@ -182,7 +182,7 @@
     DialerPhoneNumberUtil dialerPhoneNumberUtil =
         new DialerPhoneNumberUtil(PhoneNumberUtil.getInstance());
 
-    // TODO: Really should be getting last 1000 by timestamp, not by last modified.
+    // TODO(zachh): Really should be getting last 1000 by timestamp, not by last modified.
     try (Cursor cursor =
         appContext
             .getContentResolver()
diff --git a/java/com/android/dialer/calllog/ui/NewCallLogFragment.java b/java/com/android/dialer/calllog/ui/NewCallLogFragment.java
index 712f7cf..17fcf19 100644
--- a/java/com/android/dialer/calllog/ui/NewCallLogFragment.java
+++ b/java/com/android/dialer/calllog/ui/NewCallLogFragment.java
@@ -92,7 +92,7 @@
     CallLogFramework callLogFramework = CallLogComponent.get(getContext()).callLogFramework();
     callLogFramework.attachUi(this);
 
-    // TODO: Consider doing this when fragment becomes visible.
+    // TODO(zachh): Consider doing this when fragment becomes visible.
     checkAnnotatedCallLogDirtyAndRefreshIfNecessary();
   }
 
@@ -142,7 +142,7 @@
   public void onLoadFinished(Loader<Cursor> loader, Cursor newCursor) {
     LogUtil.enterBlock("NewCallLogFragment.onLoadFinished");
 
-    // TODO: Handle empty cursor by showing empty view.
+    // TODO(zachh): Handle empty cursor by showing empty view.
     recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
     recyclerView.setAdapter(new NewCallLogAdapter(newCursor));
   }
diff --git a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
index 4c459e1..9521a03 100644
--- a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
+++ b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
@@ -24,7 +24,7 @@
 /** {@link RecyclerView.ViewHolder} for the new call log. */
 final class NewCallLogViewHolder extends RecyclerView.ViewHolder {
 
-  // TODO: Format correctly using current locale.
+  // TODO(zachh): Format correctly using current locale.
   private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US);
 
   private final TextView contactNameView;
diff --git a/java/com/android/dialer/calllogutils/CallTypeHelper.java b/java/com/android/dialer/calllogutils/CallTypeHelper.java
index d3b5b67..783f799 100644
--- a/java/com/android/dialer/calllogutils/CallTypeHelper.java
+++ b/java/com/android/dialer/calllogutils/CallTypeHelper.java
@@ -18,6 +18,7 @@
 
 import android.content.res.Resources;
 import com.android.dialer.compat.AppCompatConstants;
+import com.android.dialer.lightbringer.Lightbringer;
 
 /** Helper class to perform operations related to call types. */
 public class CallTypeHelper {
@@ -50,8 +51,12 @@
   private final CharSequence mBlockedName;
   /** Name used to identify calls which were answered on another device. */
   private final CharSequence mAnsweredElsewhereName;
+  /** Name used to identify incoming lightbringer calls. */
+  private final CharSequence mIncomingLightbringerCall;
+  /** Name used to identify outgoing lightbringer calls. */
+  private final CharSequence mOutgoingLightbringerCall;
 
-  public CallTypeHelper(Resources resources) {
+  public CallTypeHelper(Resources resources, Lightbringer lightbringer) {
     // Cache these values so that we do not need to look them up each time.
     mIncomingName = resources.getString(R.string.type_incoming);
     mIncomingPulledName = resources.getString(R.string.type_incoming_pulled);
@@ -67,6 +72,18 @@
     mRejectedName = resources.getString(R.string.type_rejected);
     mBlockedName = resources.getString(R.string.type_blocked);
     mAnsweredElsewhereName = resources.getString(R.string.type_answered_elsewhere);
+
+    if (lightbringer.getIncomingCallTypeText() != -1) {
+      mIncomingLightbringerCall = resources.getString(lightbringer.getIncomingCallTypeText());
+    } else {
+      mIncomingLightbringerCall = mIncomingVideoName;
+    }
+
+    if (lightbringer.getOutgoingCallTypeText() != -1) {
+      mOutgoingLightbringerCall = resources.getString(lightbringer.getOutgoingCallTypeText());
+    } else {
+      mOutgoingLightbringerCall = mOutgoingVideoName;
+    }
   }
 
   public static boolean isMissedCallType(int callType) {
@@ -77,13 +94,17 @@
   }
 
   /** Returns the text used to represent the given call type. */
-  public CharSequence getCallTypeText(int callType, boolean isVideoCall, boolean isPulledCall) {
+  public CharSequence getCallTypeText(
+      int callType, boolean isVideoCall, boolean isPulledCall, boolean isLightbringerCall) {
     switch (callType) {
       case AppCompatConstants.CALLS_INCOMING_TYPE:
         if (isVideoCall) {
           if (isPulledCall) {
             return mIncomingVideoPulledName;
           } else {
+            if (isLightbringerCall) {
+              return mIncomingLightbringerCall;
+            }
             return mIncomingVideoName;
           }
         } else {
@@ -99,6 +120,9 @@
           if (isPulledCall) {
             return mOutgoingVideoPulledName;
           } else {
+            if (isLightbringerCall) {
+              return mOutgoingLightbringerCall;
+            }
             return mOutgoingVideoName;
           }
         } else {
diff --git a/java/com/android/dialer/calllogutils/res/values-ar/strings.xml b/java/com/android/dialer/calllogutils/res/values-ar/strings.xml
index 39afb6d..617d6d8 100644
--- a/java/com/android/dialer/calllogutils/res/values-ar/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-ar/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"ث"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="zero">ثوان</item>
       <item quantity="two">ثانيتان</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-az/strings.xml b/java/com/android/dialer/calllogutils/res/values-az/strings.xml
index 0efe1e8..c280c8e 100644
--- a/java/com/android/dialer/calllogutils/res/values-az/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-az/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"san"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\"<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\" <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">saniyə</item>
       <item quantity="one">saniyə</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-da/strings.xml b/java/com/android/dialer/calllogutils/res/values-da/strings.xml
index 21c6e0e..123002a 100644
--- a/java/com/android/dialer/calllogutils/res/values-da/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-da/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"sek."</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\' <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\' <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\' <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="one">sekund</item>
       <item quantity="other">sekunder</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-de/strings.xml b/java/com/android/dialer/calllogutils/res/values-de/strings.xml
index 4d6f416..5867b73 100644
--- a/java/com/android/dialer/calllogutils/res/values-de/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-de/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"s"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\" <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other"> Sekunden</item>
       <item quantity="one"> Sekunde</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-eu/strings.xml b/java/com/android/dialer/calllogutils/res/values-eu/strings.xml
index 7ab37c5..a097ec8 100644
--- a/java/com/android/dialer/calllogutils/res/values-eu/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-eu/strings.xml
@@ -34,7 +34,7 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"s"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> eta <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' \'eta\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' eta <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">segundo</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-hi/strings.xml b/java/com/android/dialer/calllogutils/res/values-hi/strings.xml
index b9a6241..d20e88e 100644
--- a/java/com/android/dialer/calllogutils/res/values-hi/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-hi/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"से."</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="one">सेकंड</item>
       <item quantity="other">सेकंड</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-iw/strings.xml b/java/com/android/dialer/calllogutils/res/values-iw/strings.xml
index 1ab041a..2f29855 100644
--- a/java/com/android/dialer/calllogutils/res/values-iw/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-iw/strings.xml
@@ -34,7 +34,7 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"שנ\'"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> ו-<xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' ו-<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="two">שניות</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-ky/strings.xml b/java/com/android/dialer/calllogutils/res/values-ky/strings.xml
index 76d389e..f758dab 100644
--- a/java/com/android/dialer/calllogutils/res/values-ky/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-ky/strings.xml
@@ -35,7 +35,7 @@
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">секундалар</item>
       <item quantity="one">секунда</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-mr/strings.xml b/java/com/android/dialer/calllogutils/res/values-mr/strings.xml
index 9a7513b..c01f7c1 100644
--- a/java/com/android/dialer/calllogutils/res/values-mr/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-mr/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"से"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="one">सेकंद</item>
       <item quantity="other">सेकंद</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-nb/strings.xml b/java/com/android/dialer/calllogutils/res/values-nb/strings.xml
index 4ec963d..2f74403 100644
--- a/java/com/android/dialer/calllogutils/res/values-nb/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-nb/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"sek."</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">sekunder</item>
       <item quantity="one">sekund</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-nl/strings.xml b/java/com/android/dialer/calllogutils/res/values-nl/strings.xml
index 5239928..d156109 100644
--- a/java/com/android/dialer/calllogutils/res/values-nl/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-nl/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"s"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">seconden</item>
       <item quantity="one">seconde</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-no/strings.xml b/java/com/android/dialer/calllogutils/res/values-no/strings.xml
index 4ec963d..2f74403 100644
--- a/java/com/android/dialer/calllogutils/res/values-no/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-no/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"sek."</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">sekunder</item>
       <item quantity="one">sekund</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-pt-rBR/strings.xml b/java/com/android/dialer/calllogutils/res/values-pt-rBR/strings.xml
index ba526a8..8c13e81 100644
--- a/java/com/android/dialer/calllogutils/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-pt-rBR/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"s"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\" <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="one"> segundo</item>
       <item quantity="other"> segundos</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-pt-rPT/strings.xml b/java/com/android/dialer/calllogutils/res/values-pt-rPT/strings.xml
index adb5dac..e24d245 100644
--- a/java/com/android/dialer/calllogutils/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-pt-rPT/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"seg"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>, <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\', <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\"<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\", <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="one">seconds</item>
       <item quantity="other">segundos</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-pt/strings.xml b/java/com/android/dialer/calllogutils/res/values-pt/strings.xml
index ba526a8..8c13e81 100644
--- a/java/com/android/dialer/calllogutils/res/values-pt/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-pt/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"s"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\" <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="one"> segundo</item>
       <item quantity="other"> segundos</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-sw/strings.xml b/java/com/android/dialer/calllogutils/res/values-sw/strings.xml
index 46217e7..5a5a690 100644
--- a/java/com/android/dialer/calllogutils/res/values-sw/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-sw/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"sek"</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\'<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g>\'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">Sekunde</item>
       <item quantity="one">Sekunde</item>
diff --git a/java/com/android/dialer/calllogutils/res/values-tr/strings.xml b/java/com/android/dialer/calllogutils/res/values-tr/strings.xml
index 93cf690..78e0b5b 100644
--- a/java/com/android/dialer/calllogutils/res/values-tr/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values-tr/strings.xml
@@ -34,8 +34,8 @@
     <string name="call_details_seconds_abbreviation" msgid="5893806826648947126">"sn."</string>
     <string name="a11y_call_duration_format" msgid="2905525933361674470">"<xliff:g id="MINUTES_0">%d</xliff:g> <xliff:g id="MINUTES_TRANSLATION">%s</xliff:g> <xliff:g id="SECONDS_1">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
     <string name="a11y_call_duration_short_format" msgid="5908875871251062453">"<xliff:g id="SECONDS_0">%d</xliff:g> <xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>"</string>
-    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\' <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
-    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \'<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\'"</string>
+    <string name="call_duration_format_pattern" msgid="7566375153243313914">"<xliff:g id="MINUTES_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="MINUTES_TRANSLATION">%s</xliff:g>\" <xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
+    <string name="call_duration_short_format_pattern" msgid="1713177000235994790">"<xliff:g id="SECONDS_SPECIAL_CHARACTER">%s</xliff:g> \"<xliff:g id="SECONDS_TRANSLATION">%s</xliff:g>\""</string>
     <plurals name="a11y_seconds" formatted="false" msgid="6695730844760611970">
       <item quantity="other">saniye</item>
       <item quantity="one">saniye</item>
diff --git a/java/com/android/dialer/constants/TrafficStatsTags.java b/java/com/android/dialer/constants/TrafficStatsTags.java
index 13c3e2c..b473402 100644
--- a/java/com/android/dialer/constants/TrafficStatsTags.java
+++ b/java/com/android/dialer/constants/TrafficStatsTags.java
@@ -26,4 +26,9 @@
   public static final int REVERSE_GEOCODE_TAG = 0xd001;
   public static final int VISUAL_VOICEMAIL_TAG = 0xd002;
   public static final int DIALER_VOIP_TAG = 0xd003;
+
+  // 0xFFFFFE00 to 0xFFFFFF00 reserved for proprietary extensions to the dialer app.
+
+  // 0xFFFFFF00 to 0xFFFFFFFF reserved by the system (see TrafficStats#getAndSetThreadStatsTag)
+
 }
diff --git a/java/com/android/dialer/constants/googledialer/ConstantsImpl.java b/java/com/android/dialer/constants/googledialer/ConstantsImpl.java
new file mode 100644
index 0000000..28d8b25
--- /dev/null
+++ b/java/com/android/dialer/constants/googledialer/ConstantsImpl.java
@@ -0,0 +1,43 @@
+/*
+ * 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.dialer.constants;
+
+import android.support.annotation.NonNull;
+import com.android.dialer.proguard.UsedByReflection;
+
+/** Provider config values for Google Dialer. */
+@UsedByReflection(value = "Constants.java")
+public class ConstantsImpl extends Constants {
+
+  @Override
+  @NonNull
+  public String getFilteredNumberProviderAuthority() {
+    return "com.google.android.dialer.blocking.filterednumberprovider";
+  }
+
+  @Override
+  @NonNull
+  public String getFileProviderAuthority() {
+    return "com.google.android.dialer.files";
+  }
+
+  @NonNull
+  @Override
+  public String getAnnotatedCallLogProviderAuthority() {
+    return "com.google.android.dialer.annotatedcalllog";
+  }
+}
diff --git a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java
index 4718ff0..56c8a94 100644
--- a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java
+++ b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java
@@ -75,7 +75,7 @@
     }
   }
 
-  // TODO: add on click action to contact.
+  // TODO(calderwoodra): add on click action to contact.
   private View getContactView(ViewGroup container) {
     LayoutInflater inflater = LayoutInflater.from(getContext());
     View contactView = inflater.inflate(R.layout.contact_layout, container, false);
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index e627718..41fa8f9 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -170,6 +170,10 @@
     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/contactsfragment/FastScroller.java b/java/com/android/dialer/contactsfragment/FastScroller.java
index 0223c5f..2a86a3b 100644
--- a/java/com/android/dialer/contactsfragment/FastScroller.java
+++ b/java/com/android/dialer/contactsfragment/FastScroller.java
@@ -91,6 +91,7 @@
     int targetPos = getValueInRange(0, itemCount - 1, (int) scrolledPosition);
     layoutManager.scrollToPositionWithOffset(targetPos, 0);
     container.setText(adapter.getHeaderString(targetPos));
+    adapter.refreshHeaders();
   }
 
   // Returns a float in range [0, 1] which represents the position of the scroller.
diff --git a/java/com/android/dialer/database/VoicemailStatusQuery.java b/java/com/android/dialer/database/VoicemailStatusQuery.java
index d9e1b72..dbd88be 100644
--- a/java/com/android/dialer/database/VoicemailStatusQuery.java
+++ b/java/com/android/dialer/database/VoicemailStatusQuery.java
@@ -27,7 +27,7 @@
 /** The query for the call voicemail status table. */
 public class VoicemailStatusQuery {
 
-  // TODO: Column indices should be removed in favor of Cursor#getColumnIndex
+  // TODO(maxwelb): Column indices should be removed in favor of Cursor#getColumnIndex
   public static final int SOURCE_PACKAGE_INDEX = 0;
   public static final int SETTINGS_URI_INDEX = 1;
   public static final int VOICEMAIL_ACCESS_URI_INDEX = 2;
diff --git a/java/com/android/dialer/enrichedcall/EnrichedCallManager.java b/java/com/android/dialer/enrichedcall/EnrichedCallManager.java
index f1057be..4d00854 100644
--- a/java/com/android/dialer/enrichedcall/EnrichedCallManager.java
+++ b/java/com/android/dialer/enrichedcall/EnrichedCallManager.java
@@ -23,6 +23,7 @@
 import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry;
 import com.android.dialer.enrichedcall.historyquery.proto.HistoryResult;
 import com.android.dialer.enrichedcall.videoshare.VideoShareListener;
+import com.android.dialer.enrichedcall.videoshare.VideoShareSession;
 import com.android.dialer.multimedia.MultimediaData;
 import java.util.List;
 import java.util.Map;
@@ -299,6 +300,14 @@
   long getVideoShareInviteSessionId(@NonNull String number);
 
   /**
+   * Returns the {@link VideoShareSession} for the given sessionId, or {@code null} if no session
+   * exists.
+   */
+  @MainThread
+  @Nullable
+  VideoShareSession getVideoShareSession(long sessionId);
+
+  /**
    * Ends the given video share session.
    *
    * @param sessionId the id of the session to end
diff --git a/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java b/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java
index 1f2b005..de95e07 100644
--- a/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java
+++ b/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java
@@ -27,6 +27,7 @@
 import com.android.dialer.enrichedcall.Session;
 import com.android.dialer.enrichedcall.historyquery.proto.HistoryResult;
 import com.android.dialer.enrichedcall.videoshare.VideoShareListener;
+import com.android.dialer.enrichedcall.videoshare.VideoShareSession;
 import com.android.dialer.multimedia.MultimediaData;
 import java.util.Collections;
 import java.util.List;
@@ -169,6 +170,14 @@
     return Session.NO_SESSION_ID;
   }
 
+  @MainThread
+  @Nullable
+  @Override
+  public VideoShareSession getVideoShareSession(long sessionId) {
+    Assert.isMainThread();
+    return null;
+  }
+
   @Override
   public void endVideoShareSession(long sessionId) {}
 }
diff --git a/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java b/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java
index f24724a..0e5f79f 100644
--- a/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java
+++ b/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package com.android.dialer.enrichedcall.videoshare;
 
 import android.support.annotation.MainThread;
diff --git a/java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java b/java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java
new file mode 100644
index 0000000..b0f24ff
--- /dev/null
+++ b/java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java
@@ -0,0 +1,39 @@
+/*
+ * 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.dialer.enrichedcall.videoshare;
+
+import android.support.annotation.NonNull;
+import android.view.SurfaceView;
+
+/** Holds state information and data about video share sessions. */
+public interface VideoShareSession {
+  void setSessionId(long sessionId);
+
+  long getSessionId();
+
+  int getState();
+
+  void pause();
+
+  void unpause();
+
+  void dispose();
+
+  void setSurfaceView(@NonNull SurfaceView surfaceView);
+
+  void setCamera(String cameraId);
+}
diff --git a/java/com/android/dialer/interactions/res/layout/phone_disambig_item.xml b/java/com/android/dialer/interactions/res/layout/phone_disambig_item.xml
old mode 100644
new mode 100755
diff --git a/java/com/android/dialer/lightbringer/Lightbringer.java b/java/com/android/dialer/lightbringer/Lightbringer.java
index 669e571..9b8a180 100644
--- a/java/com/android/dialer/lightbringer/Lightbringer.java
+++ b/java/com/android/dialer/lightbringer/Lightbringer.java
@@ -22,6 +22,7 @@
 import android.support.annotation.MainThread;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.annotation.StringRes;
 import android.telecom.Call;
 import android.telecom.PhoneAccountHandle;
 
@@ -56,4 +57,12 @@
   @Nullable
   @MainThread
   String getPackageName();
+
+  @StringRes
+  @MainThread
+  int getOutgoingCallTypeText();
+
+  @StringRes
+  @MainThread
+  int getIncomingCallTypeText();
 }
diff --git a/java/com/android/dialer/lightbringer/stub/LightbringerStub.java b/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
index 1cb3c1f..92230a4 100644
--- a/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
+++ b/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
@@ -22,6 +22,7 @@
 import android.support.annotation.MainThread;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.annotation.StringRes;
 import android.telecom.Call;
 import android.telecom.PhoneAccountHandle;
 import com.android.dialer.common.Assert;
@@ -97,4 +98,16 @@
   public String getPackageName() {
     return null;
   }
+
+  @StringRes
+  @Override
+  public int getOutgoingCallTypeText() {
+    return -1;
+  }
+
+  @StringRes
+  @Override
+  public int getIncomingCallTypeText() {
+    return -1;
+  }
 }
diff --git a/java/com/android/dialer/logging/contact_lookup_result.proto b/java/com/android/dialer/logging/contact_lookup_result.proto
index 13ea3c8..6c83908 100644
--- a/java/com/android/dialer/logging/contact_lookup_result.proto
+++ b/java/com/android/dialer/logging/contact_lookup_result.proto
@@ -6,6 +6,8 @@
 option optimize_for = LITE_RUNTIME;
 
 
+
+
 message ContactLookupResult {
   // The different results of a contact lookup done using a phone number.
   enum Type {
diff --git a/java/com/android/dialer/logging/contact_source.proto b/java/com/android/dialer/logging/contact_source.proto
index ffd32de..3a24da1 100644
--- a/java/com/android/dialer/logging/contact_source.proto
+++ b/java/com/android/dialer/logging/contact_source.proto
@@ -6,6 +6,8 @@
 option optimize_for = LITE_RUNTIME;
 
 
+
+
 message ContactSource {
   // Applies only to reports made from call history. If we have contact
   // information for the phone number, this field indicates its source.
diff --git a/java/com/android/dialer/logging/dialer_impression.proto b/java/com/android/dialer/logging/dialer_impression.proto
index 2f89a3a..8ccaf2d 100644
--- a/java/com/android/dialer/logging/dialer_impression.proto
+++ b/java/com/android/dialer/logging/dialer_impression.proto
@@ -7,6 +7,7 @@
 
 
 
+
 message DialerImpression {
   // Event enums to be used for Impression Logging in Dialer.
   // It's perfectly acceptable for this enum to be large
@@ -48,6 +49,7 @@
     // This happens when the user had initially blocked a number and also claimed the number was
     // spam and had now proceeded to undo that.
     REPORT_AS_NOT_SPAM_VIA_UNBLOCK_NUMBER = 1009
+
       ;
 
     // A number that was identified as spam and the user proceeded to block it. However this
@@ -63,10 +65,12 @@
     // the number via call log. This is for case where the user wants to block a number and also
     // report it as spam
     REPORT_CALL_AS_SPAM_VIA_CALL_LOG_BLOCK_REPORT_SPAM_SENT_VIA_BLOCK_NUMBER_DIALOG = 1011
+
       ;
 
     // User made it to the last step and actually blocked the number
     USER_ACTION_BLOCKED_NUMBER = 1012
+
       ;
 
     // User made it to the last step and actually unblocked the number
@@ -89,16 +93,19 @@
 
     // User added the number to contacts from the after call notification
     SPAM_AFTER_CALL_NOTIFICATION_ADD_TO_CONTACTS = 1019
+
       ;
 
     // User marked the number as spam on the after call notification flow
     SPAM_AFTER_CALL_NOTIFICATION_MARKED_NUMBER_AS_SPAM = 1020
+
       ;
 
     SPAM_AFTER_CALL_NOTIFICATION_MARKED_NUMBER_AS_NOT_SPAM_AND_BLOCKED = 1021;
 
     // User reported the number as not spam
     SPAM_AFTER_CALL_NOTIFICATION_REPORT_NUMBER_AS_NOT_SPAM = 1022
+
       ;
 
     // User dismissed the spam notification
@@ -120,6 +127,7 @@
     // able to stitch different types of events if they make sense e.g user pressed a speaker button
     // and we want to associate that to a call event
     USER_PARTICIPATED_IN_A_CALL = 1028
+
       ;
 
     // Incoming call is a spam call
@@ -152,44 +160,54 @@
 
     // User deleted a call log entry
     USER_DELETED_CALL_LOG_ITEM = 1048
+
       ;
 
     // User tapped on "Send a message"
     CALL_LOG_SEND_MESSAGE = 1049
+
       ;
 
     // User tapped on "Add to contact"
     CALL_LOG_ADD_TO_CONTACT = 1050
+
       ;
 
     // User tapped on "Create new contact"
     CALL_LOG_CREATE_NEW_CONTACT = 1051
+
       ;
 
     // User deleted an entry from the voicemail tab
     VOICEMAIL_DELETE_ENTRY = 1052
+
       ;
 
     // Voicemail call log entry was expanded. Could be either if the user tapped the voicemail
     // call log entry or pressed the play button when the voicemail call log entry was not expanded
     VOICEMAIL_EXPAND_ENTRY = 1053
+
       ;
 
     // The play button for voicemail call log entry was tapped directly (i.e when the voicemail
     // call log entry was not expanded and the playbutton was tapped)
     VOICEMAIL_PLAY_AUDIO_DIRECTLY= 1054
+
       ;
 
     // The play button after expanding the voicemail call log entry was tapped
     VOICEMAIL_PLAY_AUDIO_AFTER_EXPANDING_ENTRY= 1055
+
       ;
 
     // Incoming call was rejected from the notifications
     REJECT_INCOMING_CALL_FROM_NOTIFICATION= 1056
+
       ;
 
     // Incoming call was rejected from the answer screen including rejecting via sms and talkback
     REJECT_INCOMING_CALL_FROM_ANSWER_SCREEN= 1057
+
       ;
 
     // User tapped block and spam buttons in context menu, same as buttons in
@@ -362,14 +380,19 @@
     EMERGENCY_LAUNCHED_MAP = 1173;
 
     VIDEO_CALL_UPGRADE_REQUESTED = 1174
+
         ;
     VIDEO_CALL_REQUEST_ACCEPTED = 1175
+
         ;
     VIDEO_CALL_REQUEST_ACCEPTED_AS_AUDIO = 1176
+
         ;
     VIDEO_CALL_REQUEST_DECLINED = 1177
+
         ;
     VIDEO_CALL_REQUEST_RECEIVED = 1178
+
         ;
 
     RCS_VIDEO_SHARE_UPGRADE_REQUESTED = 1179;
diff --git a/java/com/android/dialer/logging/interaction_event.proto b/java/com/android/dialer/logging/interaction_event.proto
index 89cf46f..47ea534 100644
--- a/java/com/android/dialer/logging/interaction_event.proto
+++ b/java/com/android/dialer/logging/interaction_event.proto
@@ -6,6 +6,8 @@
 option optimize_for = LITE_RUNTIME;
 
 
+
+
 message InteractionEvent {
   // Next Tag: 38
   enum Type {
diff --git a/java/com/android/dialer/logging/reporting_location.proto b/java/com/android/dialer/logging/reporting_location.proto
index d436564..3c1baf0 100644
--- a/java/com/android/dialer/logging/reporting_location.proto
+++ b/java/com/android/dialer/logging/reporting_location.proto
@@ -6,6 +6,8 @@
 option optimize_for = LITE_RUNTIME;
 
 
+
+
 message ReportingLocation {
   // Spam reporting location
   enum Type {
diff --git a/java/com/android/dialer/logging/screen_event.proto b/java/com/android/dialer/logging/screen_event.proto
index ca62477..603f710 100644
--- a/java/com/android/dialer/logging/screen_event.proto
+++ b/java/com/android/dialer/logging/screen_event.proto
@@ -6,6 +6,8 @@
 option optimize_for = LITE_RUNTIME;
 
 
+
+
 message ScreenEvent {
   enum Type {
 
diff --git a/java/com/android/dialer/logging/ui_action.proto b/java/com/android/dialer/logging/ui_action.proto
index 784dbed..886fe04 100644
--- a/java/com/android/dialer/logging/ui_action.proto
+++ b/java/com/android/dialer/logging/ui_action.proto
@@ -6,6 +6,8 @@
 option optimize_for = LITE_RUNTIME;
 
 
+
+
 message UiAction {
   enum Type {
     UNKNOWN = 0;
diff --git a/java/com/android/dialer/main/impl/MainActivity.java b/java/com/android/dialer/main/impl/MainActivity.java
index 4b2bd2e..6dced3d 100644
--- a/java/com/android/dialer/main/impl/MainActivity.java
+++ b/java/com/android/dialer/main/impl/MainActivity.java
@@ -77,7 +77,7 @@
       // open contacts
       return true;
     } else {
-      // TODO handle other menu items
+      // TODO(calderwoodra) handle other menu items
       return super.onOptionsItemSelected(item);
     }
   }
diff --git a/java/com/android/dialer/main/impl/MainPagerAdapter.java b/java/com/android/dialer/main/impl/MainPagerAdapter.java
index 19cf4e7..c669a62 100644
--- a/java/com/android/dialer/main/impl/MainPagerAdapter.java
+++ b/java/com/android/dialer/main/impl/MainPagerAdapter.java
@@ -49,13 +49,13 @@
 
   @Override
   public int getCount() {
-    // TODO: add logic to hide/show voicemail tab
+    // TODO(calderwoodra): add logic to hide/show voicemail tab
     return 3;
   }
 
   @Override
   public Fragment getItem(int position) {
-    // TODO: implement tabs
+    // TODO(calderwoodra): implement tabs
     return new StubFragment();
   }
 
diff --git a/java/com/android/dialer/notification/VoicemailChannelUtils.java b/java/com/android/dialer/notification/VoicemailChannelUtils.java
index dc74799..e2d0f3a 100644
--- a/java/com/android/dialer/notification/VoicemailChannelUtils.java
+++ b/java/com/android/dialer/notification/VoicemailChannelUtils.java
@@ -193,7 +193,7 @@
   private static NotificationChannel newChannel(
       @NonNull Context context, @NonNull String channelId, @Nullable CharSequence nameSuffix) {
     CharSequence name = context.getText(R.string.notification_channel_voicemail);
-    // TODO: Use a string resource template after v10.
+    // TODO(sail): Use a string resource template after v10.
     if (!TextUtils.isEmpty(nameSuffix)) {
       name = TextUtils.concat(name, ": ", nameSuffix);
     }
diff --git a/java/com/android/dialer/oem/CequintCallerIdManager.java b/java/com/android/dialer/oem/CequintCallerIdManager.java
index 86097c4..7b6ddbc 100644
--- a/java/com/android/dialer/oem/CequintCallerIdManager.java
+++ b/java/com/android/dialer/oem/CequintCallerIdManager.java
@@ -74,7 +74,7 @@
   private static boolean hasAlreadyCheckedCequintCallerIdPackage;
   private static boolean isCequintCallerIdEnabled;
 
-  // TODO: Revisit it and maybe remove it if it's not necessary.
+  // TODO(wangqi): Revisit it and maybe remove it if it's not necessary.
   private final ConcurrentHashMap<String, CequintCallerIdContact> callLogCache;
 
   /** Cequint caller id contact information. */
diff --git a/java/com/android/dialer/persistentlog/PersistentLogger.java b/java/com/android/dialer/persistentlog/PersistentLogger.java
index cf43b8c..7d82ec1 100644
--- a/java/com/android/dialer/persistentlog/PersistentLogger.java
+++ b/java/com/android/dialer/persistentlog/PersistentLogger.java
@@ -43,7 +43,7 @@
  * com.google.android.apps.dialer.crashreporter.SilentCrashReporter} is expected to handle such
  * cases.
  *
- * <p>{@link #logText(String, String)} should be used to log ad-hoc text logs. TODO: switch
+ * <p>{@link #logText(String, String)} should be used to log ad-hoc text logs. TODO(twyen): switch
  * to structured logging
  */
 public final class PersistentLogger {
diff --git a/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java b/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java
index ea4396f..cc4ec2d 100644
--- a/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java
+++ b/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java
@@ -214,7 +214,7 @@
 
   private static boolean isVerizon(Context context) {
     // Verizon MCC/MNC codes copied from com/android/voicemailomtp/res/xml/vvm_config.xml.
-    // TODO: Need a better way to do per carrier and per OEM configurations.
+    // TODO(sail): Need a better way to do per carrier and per OEM configurations.
     switch (context.getSystemService(TelephonyManager.class).getSimOperator()) {
       case "310004":
       case "310010":
diff --git a/java/com/android/dialer/postcall/AndroidManifest.xml b/java/com/android/dialer/postcall/AndroidManifest.xml
index 22c77dd..7e69d33 100644
--- a/java/com/android/dialer/postcall/AndroidManifest.xml
+++ b/java/com/android/dialer/postcall/AndroidManifest.xml
@@ -22,7 +22,6 @@
       android:name="com.android.dialer.postcall.PostCallActivity"
       android:exported="false"
       android:theme="@style/DialerThemeBase.NoActionBar"
-      android:windowSoftInputMode="adjustResize"
-      android:screenOrientation="portrait"/>
+      android:windowSoftInputMode="adjustResize"/>
   </application>
 </manifest>
diff --git a/java/com/android/dialer/postcall/PostCall.java b/java/com/android/dialer/postcall/PostCall.java
index b17a9b6..6d9ad01 100644
--- a/java/com/android/dialer/postcall/PostCall.java
+++ b/java/com/android/dialer/postcall/PostCall.java
@@ -26,6 +26,7 @@
 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 @@
             ? 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 @@
         "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/postcall/res/layout/post_call_activity.xml b/java/com/android/dialer/postcall/res/layout/post_call_activity.xml
index 256c110..c42764e 100644
--- a/java/com/android/dialer/postcall/res/layout/post_call_activity.xml
+++ b/java/com/android/dialer/postcall/res/layout/post_call_activity.xml
@@ -14,20 +14,21 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:background="@color/background_dialer_white"
+<LinearLayout
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  android:orientation="vertical"
   android:layout_width="match_parent"
-  android:layout_height="match_parent">
-
-  <FrameLayout
-    android:id="@+id/message_container"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_alignParentBottom="true"
-    android:background="@color/background_dialer_white"/>
+  android:layout_height="match_parent"
+  android:background="@color/background_dialer_white">
 
   <com.android.dialer.widget.DialerToolbar
       android:id="@+id/toolbar"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"/>
-</RelativeLayout>
\ No newline at end of file
+
+  <FrameLayout
+    android:id="@+id/message_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/background_dialer_white"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/java/com/android/dialer/protos/ProtoParsers.java b/java/com/android/dialer/protos/ProtoParsers.java
index 5a60799..e529206 100644
--- a/java/com/android/dialer/protos/ProtoParsers.java
+++ b/java/com/android/dialer/protos/ProtoParsers.java
@@ -30,8 +30,14 @@
 
   /** 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 @@
    *
    * @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 @@
    *
    * @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 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 @@
    * 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/searchfragment/common/QueryFilteringUtil.java b/java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java
index b23315b..ee6e61c 100644
--- a/java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java
+++ b/java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java
@@ -42,7 +42,7 @@
     }
 
     // Check matches initials
-    // TODO investigate faster implementation
+    // TODO(calderwoodra) investigate faster implementation
     query = digitsOnly(query);
     int queryIndex = 0;
 
diff --git a/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java b/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java
index a2ef58c..5199264 100644
--- a/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java
+++ b/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java
@@ -67,7 +67,7 @@
    * @param query to filter cursor results.
    */
   public SearchContactCursor(Cursor cursor, @Nullable String query) {
-    // TODO investigate copying this into a MatrixCursor and holding in memory
+    // TODO(calderwoodra) investigate copying this into a MatrixCursor and holding in memory
     this.cursor = cursor;
     filter(query);
   }
diff --git a/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java b/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java
index 5f06b59..d3df02f 100644
--- a/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java
+++ b/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java
@@ -127,8 +127,8 @@
     return Contacts.getLookupUri(contactId, lookupKey);
   }
 
-  // TODO: handle CNAP and cequint types.
-  // TODO: unify this into a utility method with CallLogAdapter#getNumberType
+  // TODO(calderwoodra): handle CNAP and cequint types.
+  // TODO(calderwoodra): unify this into a utility method with CallLogAdapter#getNumberType
   private static String getLabel(Resources resources, Cursor cursor) {
     int numberType = cursor.getInt(Projections.PHONE_TYPE);
     String numberLabel = cursor.getString(Projections.PHONE_LABEL);
@@ -171,7 +171,7 @@
       return CallToAction.VIDEO_CALL;
     }
 
-    // TODO: enriched calling
+    // TODO(calderwoodra): enriched calling
     return CallToAction.NONE;
   }
 
@@ -183,13 +183,13 @@
           callToActionView.setVisibility(View.VISIBLE);
           callToActionView.setImageDrawable(
               context.getDrawable(com.android.contacts.common.R.drawable.ic_phone_attach));
-          // TODO: open call composer.
+          // TODO(calderwoodra): open call composer.
           break;
         case CallToAction.VIDEO_CALL:
           callToActionView.setVisibility(View.VISIBLE);
           callToActionView.setImageDrawable(
               context.getDrawable(R.drawable.quantum_ic_videocam_white_24));
-          // TODO: place a video call
+          // TODO(calderwoodra): place a video call
           break;
         case CallToAction.NONE:
         default:
@@ -197,7 +197,7 @@
               "Invalid Call to action type: " + currentAction);
       }
     } else {
-      // TODO: set the correct call initiation type.
+      // TODO(calderwoodra): set the correct call initiation type.
       TelecomUtil.placeCall(context, new CallIntentBuilder(number, Type.REGULAR_SEARCH).build());
     }
   }
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
index fcc87c3..d20bb1f 100644
--- a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
+++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
@@ -67,7 +67,7 @@
 
   @Override
   public Loader<Cursor> onCreateLoader(int id, Bundle bundle) {
-    // TODO add enterprise loader
+    // TODO(calderwoodra) add enterprise loader
     if (id == CONTACTS_LOADER_ID) {
       return new SearchContactsCursorLoader(getContext());
     } else if (id == NEARBY_PLACES_ID) {
diff --git a/java/com/android/dialer/searchfragment/list/SearchAdapter.java b/java/com/android/dialer/searchfragment/list/SearchAdapter.java
index 023513e..faa80fe 100644
--- a/java/com/android/dialer/searchfragment/list/SearchAdapter.java
+++ b/java/com/android/dialer/searchfragment/list/SearchAdapter.java
@@ -53,7 +53,7 @@
       case RowType.NEARBY_PLACES_HEADER:
         return new HeaderViewHolder(
             LayoutInflater.from(context).inflate(R.layout.header_layout, root, false));
-      case RowType.DIRECTORY_ROW: // TODO: add directory rows to search
+      case RowType.DIRECTORY_ROW: // TODO(calderwoodra): add directory rows to search
       case RowType.INVALID:
       default:
         throw Assert.createIllegalStateFailException("Invalid RowType: " + rowType);
diff --git a/java/com/android/dialer/searchfragment/list/SearchCursorManager.java b/java/com/android/dialer/searchfragment/list/SearchCursorManager.java
index 216a9ad..45d66aa 100644
--- a/java/com/android/dialer/searchfragment/list/SearchCursorManager.java
+++ b/java/com/android/dialer/searchfragment/list/SearchCursorManager.java
@@ -124,7 +124,7 @@
 
   void setQuery(String query) {
     if (contactsCursor != null) {
-      // TODO: abstract this
+      // TODO(calderwoodra): abstract this
       ((SearchContactCursor) contactsCursor).filter(query);
     }
   }
@@ -242,7 +242,7 @@
     switch (rowType) {
       case RowType.NEARBY_PLACES_HEADER:
         return R.string.nearby_places;
-      case RowType.DIRECTORY_HEADER: // TODO
+      case RowType.DIRECTORY_HEADER: // TODO(calderwoodra)
       case RowType.DIRECTORY_ROW:
       case RowType.CONTACT_ROW:
       case RowType.NEARBY_PLACES_ROW:
diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
index 68ee388..c087439 100644
--- a/java/com/android/dialer/speeddial/SpeedDialFragment.java
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -23,7 +23,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 
-/** Favorites fragment. Contents TBD. TODO */
+/** Favorites fragment. Contents TBD. TODO(calderwoodra) */
 public class SpeedDialFragment extends Fragment {
 
   public static SpeedDialFragment newInstance() {
@@ -38,7 +38,7 @@
   }
 
   public boolean hasFrequents() {
-    // TODO
+    // TODO(calderwoodra)
     return false;
   }
 }
diff --git a/java/com/android/dialer/widget/res/layout/fragment_message.xml b/java/com/android/dialer/widget/res/layout/fragment_message.xml
index 5b0bab5..bdb85fa 100644
--- a/java/com/android/dialer/widget/res/layout/fragment_message.xml
+++ b/java/com/android/dialer/widget/res/layout/fragment_message.xml
@@ -14,28 +14,36 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<LinearLayout
+<RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
-  android:orientation="vertical"
-  android:gravity="bottom"
   android:background="@color/background_dialer_white">
 
-  <LinearLayout
-    android:id="@+id/message_container"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"/>
+  <ScrollView
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:layout_above="@+id/divider">
+
+    <LinearLayout
+      android:id="@+id/message_container"
+      android:orientation="vertical"
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"/>
+  </ScrollView>
 
   <View
+    android:id="@+id/divider"
     android:layout_width="match_parent"
     android:layout_height="@dimen/message_divider_height"
-    android:background="#12000000"/>
+    android:background="#12000000"
+    android:layout_above="@+id/edittext_container"/>
 
   <RelativeLayout
+    android:id="@+id/edittext_container"
     android:layout_width="wrap_content"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:layout_alignParentBottom="true">
 
     <EditText
       android:id="@+id/custom_message"
@@ -50,7 +58,7 @@
       android:textCursorDrawable="@drawable/searchedittext_custom_cursor"
       android:layout_toStartOf="@+id/count_and_send_container"
       android:inputType="textShortMessage|textCapSentences"
-      android:imeOptions="actionSend"/>
+      android:imeOptions="flagNoExtractUi|actionSend"/>
 
     <LinearLayout
       android:id="@+id/count_and_send_container"
@@ -80,4 +88,4 @@
         android:textColor="@color/dialer_edit_text_hint_color"/>
     </LinearLayout>
   </RelativeLayout>
-</LinearLayout>
\ No newline at end of file
+</RelativeLayout>
\ No newline at end of file
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index e36d9cf..dbb6a1c 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -365,7 +365,7 @@
   }
 
   private void updateUi(InCallState state, DialerCall call) {
-    LogUtil.v("CallButtonPresenter", "updating call UI for call: ", call);
+    LogUtil.v("CallButtonPresenter", "updating call UI for call: %s", call);
 
     if (mInCallButtonUi == null) {
       return;
diff --git a/java/com/android/incallui/DialpadFragment.java b/java/com/android/incallui/DialpadFragment.java
index 7f494aa..c614d84 100644
--- a/java/com/android/incallui/DialpadFragment.java
+++ b/java/com/android/incallui/DialpadFragment.java
@@ -125,7 +125,7 @@
     return this;
   }
 
-  // TODO Adds hardware keyboard listener
+  // TODO(klp) Adds hardware keyboard listener
 
   @Override
   public View onCreateView(
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 1528e7d..0dd6549 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -852,7 +852,7 @@
 
     if (newState == InCallState.NO_CALLS) {
       if (mBoundAndWaitingForOutgoingCall) {
-        return InCallState.OUTGOING;
+        return InCallState.PENDING_OUTGOING;
       }
     }
 
@@ -870,7 +870,7 @@
     mBoundAndWaitingForOutgoingCall = isBound;
     mThemeColorManager.setPendingPhoneAccountHandle(handle);
     if (isBound && mInCallState == InCallState.NO_CALLS) {
-      mInCallState = InCallState.OUTGOING;
+      mInCallState = InCallState.PENDING_OUTGOING;
     }
   }
 
@@ -1061,7 +1061,7 @@
     LogUtil.d("InCallPresenter.onActivityStarted", "onActivityStarted");
     notifyVideoPauseController(true);
     if (mStatusBarNotifier != null) {
-      // TODO - b/36649622: Investigate this redundant call
+      // TODO(maxwelb) - b/36649622: Investigate this redundant call
       mStatusBarNotifier.updateNotification(mCallList);
     }
   }
diff --git a/java/com/android/incallui/ProximitySensor.java b/java/com/android/incallui/ProximitySensor.java
index 653d85b..db538ab 100644
--- a/java/com/android/incallui/ProximitySensor.java
+++ b/java/com/android/incallui/ProximitySensor.java
@@ -102,7 +102,10 @@
     // sensor during incoming call screen. We check hasLiveCall() because a disconnected call
     // can also put the in-call screen in the INCALL state.
     boolean hasOngoingCall = InCallState.INCALL == newState && callList.hasLiveCall();
-    boolean isOffhook = (InCallState.OUTGOING == newState) || hasOngoingCall;
+    boolean isOffhook =
+        InCallState.PENDING_OUTGOING == newState
+            || InCallState.OUTGOING == newState
+            || hasOngoingCall;
 
     DialerCall activeCall = callList.getActiveCall();
     boolean isVideoCall = activeCall != null && activeCall.isVideoCall();
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 458df51..53017a1 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -66,6 +66,7 @@
 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 @@
     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 bd98370..70f95e0 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -761,7 +761,7 @@
   /**
    * Adjusts the current video mode by setting up the preview and display surfaces as necessary.
    * Expected to be called whenever the video state associated with a call changes (e.g. a user
-   * turns their camera on or off) to ensure the correct surfaces are shown/hidden. TODO: Need
+   * turns their camera on or off) to ensure the correct surfaces are shown/hidden. TODO(vt): Need
    * to adjust size and orientation of preview surface here.
    */
   private void adjustVideoMode(DialerCall call) {
@@ -843,7 +843,7 @@
     if (!hasCameraPermission) {
       videoCall.setCamera(null);
       mPreviewSurfaceState = PreviewSurfaceState.NONE;
-      // TODO: Inform remote party that the video is off. This is similar to b/30256571.
+      // TODO(wangqi): Inform remote party that the video is off. This is similar to b/30256571.
     } else if (isCameraRequired) {
       InCallCameraManager cameraManager = InCallPresenter.getInstance().getInCallCameraManager();
       videoCall.setCamera(cameraManager.getActiveCameraId());
diff --git a/java/com/android/incallui/answer/impl/hint/AnswerHint.java b/java/com/android/incallui/answer/impl/hint/AnswerHint.java
index dd3b822..1e78f50 100644
--- a/java/com/android/incallui/answer/impl/hint/AnswerHint.java
+++ b/java/com/android/incallui/answer/impl/hint/AnswerHint.java
@@ -27,7 +27,7 @@
   /**
    * Inflates the hint's layout into the container.
    *
-   * <p>TODO: if the hint becomes more dependent on other UI elements of the AnswerFragment,
+   * <p>TODO(twyen): if the hint becomes more dependent on other UI elements of the AnswerFragment,
    * should put put and hintText into another data structure.
    */
   void onCreateView(LayoutInflater inflater, ViewGroup container, View puck, TextView hintText);
diff --git a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java
index 536a470..16fad8b 100644
--- a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java
+++ b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java
@@ -80,7 +80,7 @@
         .getBoolean(CONFIG_ANSWER_PSEUDO_PROXIMITY_WAKE_LOCK_ENABLED, true)) {
       answerProximityWakeLock = new PseudoProximityWakeLock(context, pseudoScreenState);
     } else {
-      // TODO: choose a wake lock implementation base on framework/device.
+      // TODO(twyen): choose a wake lock implementation base on framework/device.
       // These bugs requires the PseudoProximityWakeLock workaround:
       // b/30439151 Proximity sensor not working on M
       // b/31499931 fautly touch input when screen is off on marlin/sailfish
diff --git a/java/com/android/incallui/autoresizetext/AutoResizeTextView.java b/java/com/android/incallui/autoresizetext/AutoResizeTextView.java
index eedcbe5..5a22b93 100644
--- a/java/com/android/incallui/autoresizetext/AutoResizeTextView.java
+++ b/java/com/android/incallui/autoresizetext/AutoResizeTextView.java
@@ -146,7 +146,7 @@
     float maxTextSize = TypedValue.applyDimension(unit, size, displayMetrics);
     if (this.maxTextSize != maxTextSize) {
       this.maxTextSize = maxTextSize;
-      // TODO: It's not actually necessary to clear the whole cache here. To optimize cache
+      // TODO(tobyj): It's not actually necessary to clear the whole cache here. To optimize cache
       // deletion we'd have to delete all entries in the cache with a value equal or larger than
       // MIN(old_max_size, new_max_size) when changing maxTextSize; and all entries with a value
       // equal or smaller than MAX(old_min_size, new_min_size) when changing minTextSize.
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 88e0dbb..2e15264 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -152,6 +152,7 @@
   // Times when a second call is received but AnswerAndRelease button is not shown
   // since it's not supported.
   private int secondCallWithoutAnswerAndReleasedButtonTimes = 0;
+  private VideoTech videoTech;
 
   public static String getNumberFromHandle(Uri handle) {
     return handle == null ? "" : handle.getSchemeSpecificPart();
@@ -194,14 +195,15 @@
 
         @Override
         public void onDetailsChanged(Call call, Call.Details details) {
-          LogUtil.v("TelecomCallCallback.onStateChanged", " call=" + call + " details=" + details);
+          LogUtil.v(
+              "TelecomCallCallback.onDetailsChanged", " call=" + call + " details=" + details);
           update();
         }
 
         @Override
         public void onCannedTextResponsesLoaded(Call call, List<String> cannedTextResponses) {
           LogUtil.v(
-              "TelecomCallCallback.onStateChanged",
+              "TelecomCallCallback.onCannedTextResponsesLoaded",
               "call=" + call + " cannedTextResponses=" + cannedTextResponses);
           for (CannedTextResponsesLoadedListener listener : mCannedTextResponsesLoadedListeners) {
             listener.onCannedTextResponsesLoaded(DialerCall.this);
@@ -211,7 +213,7 @@
         @Override
         public void onPostDialWait(Call call, String remainingPostDialSequence) {
           LogUtil.v(
-              "TelecomCallCallback.onStateChanged",
+              "TelecomCallCallback.onPostDialWait",
               "call=" + call + " remainingPostDialSequence=" + remainingPostDialSequence);
           update();
         }
@@ -219,20 +221,20 @@
         @Override
         public void onVideoCallChanged(Call call, VideoCall videoCall) {
           LogUtil.v(
-              "TelecomCallCallback.onStateChanged", "call=" + call + " videoCall=" + videoCall);
+              "TelecomCallCallback.onVideoCallChanged", "call=" + call + " videoCall=" + videoCall);
           update();
         }
 
         @Override
         public void onCallDestroyed(Call call) {
-          LogUtil.v("TelecomCallCallback.onStateChanged", "call=" + call);
+          LogUtil.v("TelecomCallCallback.onCallDestroyed", "call=" + call);
           unregisterCallback();
         }
 
         @Override
         public void onConferenceableCallsChanged(Call call, List<Call> conferenceableCalls) {
           LogUtil.v(
-              "DialerCall.onConferenceableCallsChanged",
+              "TelecomCallCallback.onConferenceableCallsChanged",
               "call %s, conferenceable calls: %d",
               call,
               conferenceableCalls.size());
@@ -242,7 +244,7 @@
         @Override
         public void onConnectionEvent(android.telecom.Call call, String event, Bundle extras) {
           LogUtil.v(
-              "DialerCall.onConnectionEvent",
+              "TelecomCallCallback.onConnectionEvent",
               "Call: " + call + ", Event: " + event + ", Extras: " + extras);
           switch (event) {
               // The Previous attempt to Merge two calls together has failed in Telecom. We must
@@ -430,6 +432,8 @@
   private void update() {
     Trace.beginSection("Update");
     int oldState = getState();
+    // Clear any cache here that could potentially change on update.
+    videoTech = null;
     // We want to potentially register a video call callback here.
     updateFromTelecomCall();
     if (oldState != getState() && getState() == DialerCall.State.DISCONNECTED) {
@@ -441,7 +445,7 @@
           .unregisterCapabilitiesListener(this);
       EnrichedCallComponent.get(mContext)
           .getEnrichedCallManager()
-          .unregisterCapabilitiesListener(this);
+          .unregisterStateChangedListener(this);
     } else {
       for (DialerCallListener listener : mListeners) {
         listener.onDialerCallUpdate();
@@ -1114,7 +1118,10 @@
   }
 
   public VideoTech getVideoTech() {
-    return mVideoTechManager.getVideoTech();
+    if (videoTech == null) {
+      videoTech = mVideoTechManager.getVideoTech();
+    }
+    return videoTech;
   }
 
   public String getCallbackNumber() {
diff --git a/java/com/android/incallui/call/TelecomAdapter.java b/java/com/android/incallui/call/TelecomAdapter.java
index 4fc9f81..005278b 100644
--- a/java/com/android/incallui/call/TelecomAdapter.java
+++ b/java/com/android/incallui/call/TelecomAdapter.java
@@ -88,9 +88,13 @@
       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/calllocation/impl/AndroidManifest.xml b/java/com/android/incallui/calllocation/impl/AndroidManifest.xml
index 550c580..fda9404 100644
--- a/java/com/android/incallui/calllocation/impl/AndroidManifest.xml
+++ b/java/com/android/incallui/calllocation/impl/AndroidManifest.xml
@@ -19,6 +19,7 @@
   package="com.android.incallui.calllocation.impl">
 
   <application>
+
     <meta-data
       android:name="com.google.android.gms.version"
       android:value="@integer/google_play_services_version"/>
diff --git a/java/com/android/incallui/calllocation/impl/LocationUrlBuilder.java b/java/com/android/incallui/calllocation/impl/LocationUrlBuilder.java
index a57bdf6..14a9c76 100644
--- a/java/com/android/incallui/calllocation/impl/LocationUrlBuilder.java
+++ b/java/com/android/incallui/calllocation/impl/LocationUrlBuilder.java
@@ -134,7 +134,7 @@
         url += String.format(Locale.US, "(%s)", addressLine1.toString());
       }
     } else {
-      // TODO: i18n
+      // TODO(mdooley): i18n
       url +=
           String.format(
               Locale.US,
diff --git a/java/com/android/incallui/contactgrid/res/values-uz/strings.xml b/java/com/android/incallui/contactgrid/res/values-uz/strings.xml
index f4569de..a5ce1ca 100644
--- a/java/com/android/incallui/contactgrid/res/values-uz/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-uz/strings.xml
@@ -34,7 +34,7 @@
     <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Bu foydalanuvchi Wi-Fi orqali video suhbatga o‘tishni so‘ramoqda:"</string>
     <string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Kimdan qo‘ng‘iroq:"</string>
     <string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Ish telefoniga kimdan qo‘ng‘iroq:"</string>
-    <string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Kiruvchi chaqiruv (operator: <xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
+    <string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Kiruvchi qo‘ng‘iroq (operator: <xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
     <string name="contact_grid_incoming_suspected_spam" msgid="285365265897630425">"Shubhali abonent"</string>
     <string name="contact_grid_callback_number" msgid="1284649030313415807">"Teskari qo‘ng‘iroq uchun raqam: <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
 </resources>
diff --git a/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java b/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java
index da0c9d6..a0ca8cd 100644
--- a/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java
+++ b/java/com/android/incallui/disconnectdialog/EnableWifiCallingPrompt.java
@@ -41,7 +41,7 @@
   @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 34db976..526d45e 100644
--- a/java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java
+++ b/java/com/android/incallui/disconnectdialog/VideoCallNotAvailablePrompt.java
@@ -24,6 +24,7 @@
 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 @@
 /** 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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-af/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-am/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ar/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-az/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-az/strings.xml
deleted file mode 100644
index 5a72e4c..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-az/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Aktiv edin"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Video zəng hazırda əlçatan deyil"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Daha sonra yenidən cəhd edin və ya audio zənglə davam edin."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Video zəng"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-b+sr+Latn/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-b+sr+Latn/strings.xml
deleted file mode 100644
index e782e70..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-b+sr+Latn/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Omogući"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Video poziv trenutno nije dostupan"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Probajte ponovo da uputite poziv kasnije ili ga nastavite kao audio poziv."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Audio poziv"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-be/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-bg/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-bn/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-bn/strings.xml
deleted file mode 100644
index dd0297c..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-bn/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-bs/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-bs/strings.xml
deleted file mode 100644
index 309427a..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-bs/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Omogući"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Videopozivanje trenutno nije dostupno"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Pozovite ponovo kasnije ili nastavite poziv kao glasovni poziv."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Glasovni poziv"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ca/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ca/strings.xml
deleted file mode 100644
index dca9551..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ca/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Activa"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Les videotrucades no estan disponibles actualment"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Torna-ho a provar més tard o continua com a trucada de veu."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Trucada de veu"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-cs/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-da/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-de/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-el/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-el/strings.xml
deleted file mode 100644
index 1e182be..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-el/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-en-rAU/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-en-rAU/strings.xml
deleted file mode 100644
index 4665e11..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-en-rAU/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Enable"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Video calling is currently not available"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Try calling again later or continue the call as a voice call."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Voice call"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-en-rGB/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-en-rGB/strings.xml
deleted file mode 100644
index 4665e11..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-en-rGB/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Enable"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Video calling is currently not available"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Try calling again later or continue the call as a voice call."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Voice call"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-en-rIN/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-en-rIN/strings.xml
deleted file mode 100644
index 4665e11..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-en-rIN/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Enable"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Video calling is currently not available"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Try calling again later or continue the call as a voice call."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Voice call"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-es-rUS/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-es/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-et/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-et/strings.xml
deleted file mode 100644
index dae212d..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-et/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Luba"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Vidokõned pole praegu saadaval"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Proovige hiljem uuesti helistada või jätkake helistamist häälkõnena."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Häälkõne"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-eu/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-fa/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-fi/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-fr-rCA/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-fr-rCA/strings.xml
deleted file mode 100644
index e2bd4b1..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-fr-rCA/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Activer"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Les appels vidéo ne sont pas disponibles pour le moment"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Essayez de rappeler plus tard ou passez à un appel vocal."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Appel vocal"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-fr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-gl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-gu/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-gu/strings.xml
deleted file mode 100644
index 28825da..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-gu/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-hi/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-hi/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-hr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-hu/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-hy/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-in/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-is/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-is/strings.xml
deleted file mode 100644
index b16b431..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-is/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Kveikja"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Myndsímtal er ekki í boði sem stendur"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Prófaðu að hringja aftur seinna eða hringdu hefðbundið símtal í staðinn"</string>
-    <string name="voice_call" msgid="6748636104112578475">"Símtal"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-it/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-iw/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ja/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ja/strings.xml
deleted file mode 100644
index 8e196f2..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ja/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ka/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-kk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-km/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-kn/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-kn/strings.xml
deleted file mode 100644
index 384e92b..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-kn/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-ko/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ko/strings.xml
deleted file mode 100644
index 30e1565..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ko/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ky/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-lo/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-lo/strings.xml
deleted file mode 100644
index c3f8b96..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-lo/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-lt/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-lt/strings.xml
deleted file mode 100644
index 38d6ef8..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-lt/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Įgalinti"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Vaizdo skambučių funkcija šiuo metu nepasiekiama"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Vėliau pabandykite skambinti dar kartą arba tęskite skambutį kaip balso skambutį."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Balso skambutis"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-lv/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-lv/strings.xml
deleted file mode 100644
index 279f0f5..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-lv/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Iespējot"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Videozvani pašlaik nav pieejami"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Vēlāk mēģiniet zvanīt vēlreiz vai turpiniet sarunu kā balss zvanu."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Balss zvans"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-mk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ml/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ml/strings.xml
deleted file mode 100644
index 719d6e8..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ml/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-mn/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-mn/strings.xml
deleted file mode 100644
index fae6708..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-mn/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-mr/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-mr/strings.xml
deleted file mode 100644
index 8549785..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-mr/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ms/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-my/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-nb/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-nb/strings.xml
deleted file mode 100644
index 14a41fa..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-nb/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Slå på"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Videoanrop er ikke tilgjengelige akkurat nå"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Prøv å ringe på nytt senere eller fortsett anropet som taleanrop."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Taleanrop"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ne/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ne/strings.xml
deleted file mode 100644
index 9cc63fd..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ne/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-nl/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-nl/strings.xml
deleted file mode 100644
index c3380db..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-nl/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Inschakelen"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Videobellen is momenteel niet beschikbaar"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Probeer later opnieuw te bellen of start een spraakoproep."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Spraakoproep"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-no/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-no/strings.xml
deleted file mode 100644
index 14a41fa..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-no/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Slå på"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Videoanrop er ikke tilgjengelige akkurat nå"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Prøv å ringe på nytt senere eller fortsett anropet som taleanrop."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Taleanrop"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-pa/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-pa/strings.xml
deleted file mode 100644
index 722183b..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-pa/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-pl/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-pl/strings.xml
deleted file mode 100644
index b8307e9..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-pl/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Włącz"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Rozmowy wideo nie są obecnie dostępne"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Spróbuj zadzwonić później, aby kontynuować rozmowę w trybie wideo."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Połączenie głosowe"</string>
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-pt-rBR/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-pt-rBR/strings.xml
deleted file mode 100644
index ce249f6..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-pt-rBR/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Ativar"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"O recurso de videochamada não está disponível no momento"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Ligue novamente mais tarde ou continue esta chamada sem o vídeo."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Chamada de voz"</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
deleted file mode 100644
index 7d11ede..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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_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-pt/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-pt/strings.xml
deleted file mode 100644
index ce249f6..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-pt/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Ativar"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"O recurso de videochamada não está disponível no momento"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Ligue novamente mais tarde ou continue esta chamada sem o vídeo."</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ro/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ru/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-si/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-sk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-sl/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sl/strings.xml
deleted file mode 100644
index 6afd14c..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-sl/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Omogoči"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Videoklicanje trenutno ni na voljo"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Poskusite klicati znova pozneje ali pa klic nadaljujte kot glasovni klic."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Glasovni klic"</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-sq/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-sr/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sr/strings.xml
deleted file mode 100644
index 620c39e..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-sr/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-sv/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-sv/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-sw/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-ta/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ta/strings.xml
deleted file mode 100644
index 626d0d6..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ta/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-te/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-te/strings.xml
deleted file mode 100644
index 737d677..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-te/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-th/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-th/strings.xml
deleted file mode 100644
index a6fa2b1..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-th/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-tl/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-tl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-tr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-uk/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-uk/strings.xml
deleted file mode 100644
index 36a3c45..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-uk/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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-ur/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-ur/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-uz/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-vi/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-zh-rHK/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-zh-rHK/strings.xml
deleted file mode 100644
index 605c847..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-zh-rHK/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <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
deleted file mode 100644
index dae2426..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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">
-    <!-- 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 />
-</resources>
diff --git a/java/com/android/incallui/disconnectdialog/res/values-zu/strings.xml b/java/com/android/incallui/disconnectdialog/res/values-zu/strings.xml
deleted file mode 100644
index 1c0dd48..0000000
--- a/java/com/android/incallui/disconnectdialog/res/values-zu/strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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">
-    <string name="incall_enable_wifi_calling_button" msgid="3295230556186542328">"Nika amandla"</string>
-    <string name="video_call_not_available_title" msgid="987490011944013201">"Ukushaya kwevidiyo manje akutholakali"</string>
-    <string name="video_call_not_available_message" msgid="2284146863894603221">"Zama ukushaya emuva kwesikhathi noma qhuba ikholi njengekholi yezwi."</string>
-    <string name="voice_call" msgid="6748636104112578475">"Ikholi yezwi"</string>
-</resources>
diff --git a/java/com/android/incallui/incall/impl/InCallPagerAdapter.java b/java/com/android/incallui/incall/impl/InCallPagerAdapter.java
index bc0c616..d4b04fe 100644
--- a/java/com/android/incallui/incall/impl/InCallPagerAdapter.java
+++ b/java/com/android/incallui/incall/impl/InCallPagerAdapter.java
@@ -39,7 +39,7 @@
     if (position == getButtonGridPosition()) {
       return InCallButtonGridFragment.newInstance();
     } else {
-      // TODO: handle fragment invalidation for when the data changes.
+      // TODO(calderwoodra): handle fragment invalidation for when the data changes.
       return MultimediaFragment.newInstance(attachments, true, false, false);
     }
   }
diff --git a/java/com/android/incallui/maps/impl/AndroidManifest.xml b/java/com/android/incallui/maps/impl/AndroidManifest.xml
index 4ad0b3b..bc921e9 100644
--- a/java/com/android/incallui/maps/impl/AndroidManifest.xml
+++ b/java/com/android/incallui/maps/impl/AndroidManifest.xml
@@ -19,6 +19,7 @@
   package="com.android.incallui.maps.impl">
 
   <application>
+
     <meta-data
       android:name="com.google.android.gms.version"
       android:value="@integer/google_play_services_version"/>
diff --git a/java/com/android/incallui/res/values-pl/strings.xml b/java/com/android/incallui/res/values-pl/strings.xml
index cb27c73..451c8ba 100644
--- a/java/com/android/incallui/res/values-pl/strings.xml
+++ b/java/com/android/incallui/res/values-pl/strings.xml
@@ -76,7 +76,7 @@
     <string name="incall_error_out_of_service" msgid="5027539470868484145">"Sieć komórkowa jest niedostępna."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Aby zadzwonić, wybierz prawidłowy numer."</string>
     <string name="incall_error_call_failed" msgid="5560521345862514733">"Nie można dzwonić."</string>
-    <string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Uruchamiam sekwencję MMI..."</string>
+    <string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Rozpoczynanie sekwencji MMI..."</string>
     <string name="incall_error_supp_service_unknown" msgid="3062751096566282959">"Usługa nie jest obsługiwana."</string>
     <string name="incall_error_supp_service_switch" msgid="759346040980722884">"Nie można przełączyć połączeń."</string>
     <string name="incall_error_supp_service_separate" msgid="5250304200901095519">"Nie można rozdzielić połączenia."</string>
diff --git a/java/com/android/incallui/res/values-uz/strings.xml b/java/com/android/incallui/res/values-uz/strings.xml
index 2341da3..26120f1 100644
--- a/java/com/android/incallui/res/values-uz/strings.xml
+++ b/java/com/android/incallui/res/values-uz/strings.xml
@@ -31,7 +31,7 @@
     <string name="voicemail_settings_number_label" msgid="8935904934161608885">"Ovozli pochta raqami"</string>
     <string name="notification_dialing" msgid="9072177265772083826">"Raqam terilmoqda"</string>
     <string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> chaqiruvi javobsiz qoldi"</string>
-    <string name="notification_ongoing_call" msgid="8712641937577776125">"Joriy chaqiruv"</string>
+    <string name="notification_ongoing_call" msgid="8712641937577776125">"Joriy qo‘ng‘iroq"</string>
     <string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chiquvchi ishchi qo‘ng‘irog‘i"</string>
     <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Joriy Wi-Fi qo‘ng‘iroq"</string>
     <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Joriy Wi-Fi qo‘ng‘iroq (ish)"</string>
@@ -55,9 +55,9 @@
     <string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Surat, xabar va joy. ax. ega muhim kiruv. chaqiruv"</string>
     <string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Biriktirmalarga ega muhim kiruvchi chaqiruv"</string>
     <string name="notification_incoming_work_call" msgid="5291275092734261918">"Kiruvchi ishchi qo‘ng‘irog‘i"</string>
-    <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Kiruvchi Wi-Fi chaqiruv"</string>
-    <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Kiruvchi Wi-Fi chaqiruv (ish)"</string>
-    <string name="notification_incoming_spam_call" msgid="7591506944666791937">"Kiruvchi chaqiruv: shubhali spam"</string>
+    <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Kiruvchi Wi-Fi qo‘ng‘iroq"</string>
+    <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Kiruvchi Wi-Fi qo‘ng‘iroq (ish)"</string>
+    <string name="notification_incoming_spam_call" msgid="7591506944666791937">"Shubhali kiruvchi qo‘ng‘iroq"</string>
     <string name="notification_requesting_video_call" msgid="1807679328811515758">"Kiruvchi video so\'rovi"</string>
     <string name="notification_network_selection_title" msgid="8639159088474275747">"Xizmat mavjud emas"</string>
     <string name="notification_network_selection_text" msgid="7190860774239009625">"Tanlangan tarmoq (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) mavjud emas"</string>
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index f9b5d45..4d17223 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.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.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,7 +60,6 @@
 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.incallui.audioroute.AudioRouteSelectorDialogFragment;
 import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
@@ -123,9 +123,6 @@
         }
       };
 
-  // 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;
@@ -257,25 +254,43 @@
     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 +369,6 @@
     super.onPause();
     LogUtil.i("VideoCallFragment.onPause", null);
     inCallScreenDelegate.onInCallScreenPaused();
-
-    // If this is scheduled we should remove it
-    ThreadUtil.getUiThreadHandler().removeCallbacks(updatePreviewVideoIfSafe);
   }
 
   @Override
@@ -461,7 +473,7 @@
     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);
     }
   }
@@ -662,15 +674,19 @@
         "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 +748,6 @@
     } else {
       exitFullscreenMode();
     }
-    updateVideoOffViews();
 
     OnHoldFragment onHoldFragment =
         ((OnHoldFragment)
@@ -949,31 +964,15 @@
     // 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 +1009,22 @@
     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 +1034,6 @@
     params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
     previewTextureView.setLayoutParams(params);
     previewTextureView.setOutlineProvider(null);
-    updatePreviewVideoScaling();
     updateOverlayBackground();
     contactGridManager.setIsMiddleRowVisible(true);
     updateMutePreviewOverlayVisibility();
@@ -1055,12 +1069,11 @@
     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 +1083,10 @@
         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 +1113,6 @@
           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 +1140,8 @@
     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);
 
@@ -1134,12 +1151,12 @@
       return;
     }
 
-    // TODO: When the view is first displayed after a rotation the bitmap is empty
+    // TODO(mdooley): When the view is first displayed after a rotation the bitmap is empty
     // and thus this blur has no effect.
     // This call can take 100 milliseconds.
     blur(getContext(), bitmap, blurRadius);
 
-    // TODO: Figure out why only have to apply the transform in landscape mode
+    // TODO(mdooley): Figure out why only have to apply the transform in landscape mode
     if (width > height) {
       bitmap =
           Bitmap.createBitmap(
@@ -1261,4 +1278,4 @@
     }
   }
 }
-//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/videosurface/impl/VideoSurfaceTextureImpl.java b/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java
index 8cac402..1af7dff 100644
--- a/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java
+++ b/java/com/android/incallui/videosurface/impl/VideoSurfaceTextureImpl.java
@@ -67,9 +67,6 @@
         "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/voicemail/impl/AndroidManifest.xml b/java/com/android/voicemail/impl/AndroidManifest.xml
index be7dac1..6a7e689 100644
--- a/java/com/android/voicemail/impl/AndroidManifest.xml
+++ b/java/com/android/voicemail/impl/AndroidManifest.xml
@@ -18,11 +18,7 @@
   package="com.android.voicemailomtp">
 
   <application
-    android:allowBackup="false"
-    android:supportsRtl="true"
-    android:usesCleartextTraffic="true"
-    android:defaultToDeviceProtectedStorage="true"
-    android:directBootAware="true">
+    android:supportsRtl="true">
 
     <!-- Causes the "Voicemail" item under "Calls" setting to be hidden. The voicemail module will
       be handling the settings. Has no effect before OC where dialer cannot provide voicemail
@@ -124,6 +120,13 @@
       </intent-filter>
     </receiver>
 
+    <receiver android:name="com.android.voicemail.impl.PackageReplacedReceiver"
+        android:exported="false">
+      <intent-filter>
+        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
+      </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/PackageReplacedReceiver.java b/java/com/android/voicemail/impl/PackageReplacedReceiver.java
new file mode 100644
index 0000000..6a7ca4a
--- /dev/null
+++ b/java/com/android/voicemail/impl/PackageReplacedReceiver.java
@@ -0,0 +1,43 @@
+/*
+ * 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;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import com.android.voicemail.VoicemailComponent;
+
+/** Receives MY_PACKAGE_REPLACED to trigger VVM activation. */
+public class PackageReplacedReceiver extends BroadcastReceiver {
+
+  @Override
+  public void onReceive(Context context, Intent intent) {
+    VvmLog.i("PackageReplacedReceiver.onReceive", "package replaced, starting activation");
+
+    if (!VoicemailComponent.get(context).getVoicemailClient().isVoicemailModuleEnabled()) {
+      VvmLog.e("PackageReplacedReceiver.onReceive", "module disabled");
+      return;
+    }
+
+    for (PhoneAccountHandle phoneAccountHandle :
+        context.getSystemService(TelecomManager.class).getCallCapablePhoneAccounts()) {
+      ActivationTask.start(context, phoneAccountHandle, null);
+    }
+  }
+}
diff --git a/java/com/android/voicemail/impl/VoicemailClientReceiver.java b/java/com/android/voicemail/impl/VoicemailClientReceiver.java
index 49a55a4..688636e 100644
--- a/java/com/android/voicemail/impl/VoicemailClientReceiver.java
+++ b/java/com/android/voicemail/impl/VoicemailClientReceiver.java
@@ -23,6 +23,7 @@
 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 @@
 
   @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/VvmPhoneStateListener.java b/java/com/android/voicemail/impl/VvmPhoneStateListener.java
index 48b7204..13d399d 100644
--- a/java/com/android/voicemail/impl/VvmPhoneStateListener.java
+++ b/java/com/android/voicemail/impl/VvmPhoneStateListener.java
@@ -37,7 +37,7 @@
   private int mPreviousState = -1;
 
   public VvmPhoneStateListener(Context context, PhoneAccountHandle accountHandle) {
-    // TODO: b/32637799 too much trouble to call super constructor through reflection,
+    // TODO(twyen): b/32637799 too much trouble to call super constructor through reflection,
     // just use non-phoneAccountHandle version for now.
     super();
     mContext = context;
diff --git a/java/com/android/voicemail/impl/proguard.flags b/java/com/android/voicemail/impl/proguard.flags
new file mode 100644
index 0000000..9379df3
--- /dev/null
+++ b/java/com/android/voicemail/impl/proguard.flags
@@ -0,0 +1,4 @@
+-assumenosideeffects class com.android.voicemail.impl.VvmLog {
+    public static void v(...);
+    public static void d(...);
+}
diff --git a/java/com/android/voicemail/impl/res/xml/vvm_config.xml b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
index 2bac66b..c7ed5ca 100644
--- a/java/com/android/voicemail/impl/res/xml/vvm_config.xml
+++ b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
@@ -21,6 +21,7 @@
       <item value="TEST"/>
     </string-array>
   </pbundle_as_map>
+
   <pbundle_as_map>
     <!-- T-Mobile USA-->
     <string-array name="mccmnc">
diff --git a/java/com/android/voicemail/impl/sms/OmtpMessageSender.java b/java/com/android/voicemail/impl/sms/OmtpMessageSender.java
index e9d145c..19661e9 100644
--- a/java/com/android/voicemail/impl/sms/OmtpMessageSender.java
+++ b/java/com/android/voicemail/impl/sms/OmtpMessageSender.java
@@ -22,6 +22,7 @@
 import android.telephony.SmsManager;
 import com.android.voicemail.impl.OmtpConstants;
 import com.android.voicemail.impl.TelephonyMangerCompat;
+import com.android.voicemail.impl.VvmLog;
 
 /**
  * Send client originated OMTP messages to the OMTP server.
@@ -75,6 +76,11 @@
   public void requestVvmStatus(@Nullable PendingIntent sentIntent) {}
 
   protected void sendSms(String text, PendingIntent sentIntent) {
+
+    VvmLog.v(
+        TAG,
+        String.format("Sending sms '%s' to %s:%d", text, mDestinationNumber, mApplicationPort));
+
     TelephonyMangerCompat.sendVisualVoicemailSms(
         mContext, mPhoneAccountHandle, mDestinationNumber, mApplicationPort, text, sentIntent);
   }
diff --git a/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java b/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java
index 067eff8..068b19b 100644
--- a/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java
+++ b/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java
@@ -128,7 +128,7 @@
 
   @CallSuper
   public void onUnavailable() {
-    // TODO: b/32637799 this is hidden, do we really need this?
+    // TODO(twyen): b/32637799 this is hidden, do we really need this?
     mResultReceived = true;
     onFailed(NETWORK_REQUEST_FAILED_TIMEOUT);
   }
diff --git a/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto b/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
index 4b1e19b..dd2170a 100644
--- a/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
+++ b/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
@@ -5,9 +5,10 @@
 package google.internal.communications.voicemailtranscription.v1;
 
 option java_multiple_files = true;
-option java_package = "com.google.internal.communications.voicemailtranscription.v1";
 option optimize_for = LITE_RUNTIME;
 
+option java_package = "com.google.internal.communications.voicemailtranscription.v1";
+
 // Enum that specifies supported audio formats.
 enum AudioFormat {
   // Default but invalid value.