Merge "Some small tweaks to improve memory management."
diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java
index 0f8efd1..6056c75 100644
--- a/core/java/android/text/SpannableStringBuilder.java
+++ b/core/java/android/text/SpannableStringBuilder.java
@@ -18,6 +18,7 @@
 
 import android.graphics.Canvas;
 import android.graphics.Paint;
+import android.util.Log;
 
 import com.android.internal.util.ArrayUtils;
 
@@ -485,15 +486,12 @@
 
         // 0-length Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
         if (flagsStart == POINT && flagsEnd == MARK && start == end) {
-            if (send) {
-                throw new IllegalArgumentException(
-                        "SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length");
-            } else {
-                // Silently ignore invalid spans when they are created from this class.
-                // This avoids the duplication of the above test code before all the
-                // calls to setSpan that are done in this class
-                return;
-            }
+            if (send) Log.e("SpannableStringBuilder",
+                    "SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length");
+            // Silently ignore invalid spans when they are created from this class.
+            // This avoids the duplication of the above test code before all the
+            // calls to setSpan that are done in this class
+            return;
         }
 
         int nstart = start;
diff --git a/core/java/android/webkit/AutoCompletePopup.java b/core/java/android/webkit/AutoCompletePopup.java
index b26156c..21d5e02 100644
--- a/core/java/android/webkit/AutoCompletePopup.java
+++ b/core/java/android/webkit/AutoCompletePopup.java
@@ -129,13 +129,13 @@
     }
 
     public void resetRect() {
-        int left = mWebView.contentToViewX(mWebView.mEditTextBounds.left);
-        int right = mWebView.contentToViewX(mWebView.mEditTextBounds.right);
+        int left = mWebView.contentToViewX(mWebView.mEditTextContentBounds.left);
+        int right = mWebView.contentToViewX(mWebView.mEditTextContentBounds.right);
         int width = right - left;
         mPopup.setWidth(width);
 
-        int bottom = mWebView.contentToViewY(mWebView.mEditTextBounds.bottom);
-        int top = mWebView.contentToViewY(mWebView.mEditTextBounds.top);
+        int bottom = mWebView.contentToViewY(mWebView.mEditTextContentBounds.bottom);
+        int top = mWebView.contentToViewY(mWebView.mEditTextContentBounds.top);
         int height = bottom - top;
 
         AbsoluteLayout.LayoutParams lp =
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 28af7c1..9c955bd 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -847,7 +847,7 @@
     private int mFieldPointer;
     private PastePopupWindow mPasteWindow;
     private AutoCompletePopup mAutoCompletePopup;
-    Rect mEditTextBounds = new Rect();
+    Rect mEditTextContentBounds = new Rect();
     Rect mEditTextContent = new Rect();
     int mEditTextLayerId;
     boolean mIsEditingText = false;
@@ -1233,6 +1233,7 @@
     static final int ANIMATE_TEXT_SCROLL                = 149;
     static final int EDIT_TEXT_SIZE_CHANGED             = 150;
     static final int SHOW_CARET_HANDLE                  = 151;
+    static final int UPDATE_CONTENT_BOUNDS              = 152;
 
     private static final int FIRST_PACKAGE_MSG_ID = SCROLL_TO_MSG_ID;
     private static final int LAST_PACKAGE_MSG_ID = HIT_TEST_RESULT;
@@ -3868,7 +3869,7 @@
         }
         if (mAutoCompletePopup != null &&
                 mCurrentScrollingLayerId == mEditTextLayerId) {
-            mEditTextBounds.offset(dx, dy);
+            mEditTextContentBounds.offset(dx, dy);
             mAutoCompletePopup.resetRect();
         }
         nativeScrollLayer(mCurrentScrollingLayerId, x, y);
@@ -6097,7 +6098,8 @@
                 }
                 startTouch(x, y, eventTime);
                 if (mIsEditingText) {
-                    mTouchInEditText = mEditTextBounds.contains(contentX, contentY);
+                    mTouchInEditText = mEditTextContentBounds
+                            .contains(contentX, contentY);
                 }
                 break;
             }
@@ -6123,8 +6125,23 @@
                         parent.requestDisallowInterceptTouchEvent(true);
                     }
                     if (deltaX != 0 || deltaY != 0) {
-                        snapDraggingCursor(contentX, contentY);
+                        int handleX = contentX +
+                                viewToContentDimension(mSelectDraggingOffset.x);
+                        int handleY = contentY +
+                                viewToContentDimension(mSelectDraggingOffset.y);
+                        mSelectDraggingCursor.set(handleX, handleY);
+                        boolean inCursorText =
+                                mSelectDraggingTextQuad.containsPoint(handleX, handleY);
+                        boolean inEditBounds = mEditTextContentBounds
+                                .contains(handleX, handleY);
+                        if (inCursorText || (mIsEditingText && !inEditBounds)) {
+                            snapDraggingCursor();
+                        }
                         updateWebkitSelection();
+                        if (!inCursorText && mIsEditingText && inEditBounds) {
+                            // Visually snap even if we have moved the handle.
+                            snapDraggingCursor();
+                        }
                         mLastTouchX = x;
                         mLastTouchY = y;
                         invalidate();
@@ -6738,23 +6755,22 @@
         mTouchMode = TOUCH_DONE_MODE;
     }
 
-    private void snapDraggingCursor(int x, int y) {
-        x += viewToContentDimension(mSelectDraggingOffset.x);
-        y += viewToContentDimension(mSelectDraggingOffset.y);
-        if (mSelectDraggingTextQuad.containsPoint(x, y)) {
-            float scale = scaleAlongSegment(x, y,
-                    mSelectDraggingTextQuad.p4, mSelectDraggingTextQuad.p3);
-            // clamp scale to ensure point is on the bottom segment
-            scale = Math.max(0.0f, scale);
-            scale = Math.min(scale, 1.0f);
-            float newX = scaleCoordinate(scale,
-                    mSelectDraggingTextQuad.p4.x, mSelectDraggingTextQuad.p3.x);
-            float newY = scaleCoordinate(scale,
-                    mSelectDraggingTextQuad.p4.y, mSelectDraggingTextQuad.p3.y);
-            mSelectDraggingCursor.set(Math.round(newX), Math.round(newY));
-        } else {
-            mSelectDraggingCursor.set(x, y);
-        }
+    private void snapDraggingCursor() {
+        float scale = scaleAlongSegment(
+                mSelectDraggingCursor.x, mSelectDraggingCursor.y,
+                mSelectDraggingTextQuad.p4, mSelectDraggingTextQuad.p3);
+        // clamp scale to ensure point is on the bottom segment
+        scale = Math.max(0.0f, scale);
+        scale = Math.min(scale, 1.0f);
+        float newX = scaleCoordinate(scale,
+                mSelectDraggingTextQuad.p4.x, mSelectDraggingTextQuad.p3.x);
+        float newY = scaleCoordinate(scale,
+                mSelectDraggingTextQuad.p4.y, mSelectDraggingTextQuad.p3.y);
+        int x = Math.max(mEditTextContentBounds.left,
+                    Math.min(mEditTextContentBounds.right, Math.round(newX)));
+        int y = Math.max(mEditTextContentBounds.top,
+                    Math.min(mEditTextContentBounds.bottom, Math.round(newY)));
+        mSelectDraggingCursor.set(x, y);
     }
 
     private static float scaleCoordinate(float scale, float coord1, float coord2) {
@@ -7546,11 +7562,11 @@
     }
 
     private int getMaxTextScrollX() {
-        return Math.max(0, mEditTextContent.width() - mEditTextBounds.width());
+        return Math.max(0, mEditTextContent.width() - mEditTextContentBounds.width());
     }
 
     private int getMaxTextScrollY() {
-        return Math.max(0, mEditTextContent.height() - mEditTextBounds.height());
+        return Math.max(0, mEditTextContent.height() - mEditTextContentBounds.height());
     }
 
     /**
@@ -8458,10 +8474,10 @@
                         mFieldPointer = initData.mFieldPointer;
                         mInputConnection.initEditorInfo(initData);
                         mInputConnection.setTextAndKeepSelection(initData.mText);
-                        mEditTextBounds.set(initData.mNodeBounds);
+                        mEditTextContentBounds.set(initData.mContentBounds);
                         mEditTextLayerId = initData.mNodeLayerId;
                         nativeMapLayerRect(mNativeClass, mEditTextLayerId,
-                                mEditTextBounds);
+                                mEditTextContentBounds);
                         mEditTextContent.set(initData.mContentRect);
                         relocateAutoCompletePopup();
                     }
@@ -8534,6 +8550,10 @@
                     }
                     break;
 
+                case UPDATE_CONTENT_BOUNDS:
+                    mEditTextContentBounds.set((Rect) msg.obj);
+                    break;
+
                 default:
                     super.handleMessage(msg);
                     break;
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 5549d89..ec2cd5c 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -949,7 +949,7 @@
         public String mName;
         public String mLabel;
         public int mMaxLength;
-        public Rect mNodeBounds;
+        public Rect mContentBounds;
         public int mNodeLayerId;
         public Rect mContentRect;
     }
@@ -1299,7 +1299,13 @@
                             } else {
                                 xPercent = ((Float) msg.obj).floatValue();
                             }
-                            nativeScrollFocusedTextInput(mNativeClass, xPercent, msg.arg2);
+                            Rect contentBounds = new Rect();
+                            nativeScrollFocusedTextInput(mNativeClass, xPercent,
+                                    msg.arg2, contentBounds);
+                            Message.obtain(
+                                    mWebViewClassic.mPrivateHandler,
+                                    WebViewClassic.UPDATE_CONTENT_BOUNDS,
+                                    contentBounds).sendToTarget();
                             break;
 
                         case LOAD_URL: {
@@ -2845,7 +2851,7 @@
      * Scroll the focused textfield to (xPercent, y) in document space
      */
     private native void nativeScrollFocusedTextInput(int nativeClass,
-            float xPercent, int y);
+            float xPercent, int y, Rect contentBounds);
 
     // these must be in document space (i.e. not scaled/zoomed).
     private native void nativeSetScrollOffset(int nativeClass,
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index b0218dd..871bf45 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1172,7 +1172,7 @@
     <string name="number_picker_increment_button" msgid="2412072272832284313">"ጨምር"</string>
     <string name="number_picker_decrement_button" msgid="476050778386779067">"ቀንስ"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> ንካ እና ያዝ።"</string>
-    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"ለመጨመር ወደ ላይ አንሸራትት እና ለመቀነስ ወደ ታች አንሸራትት።"</string>
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"ለመጨመር ወደ ላይ እና ለመቀነስ ወደ ታች አንሸራትት።"</string>
     <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"ደቂቃ ጨምር"</string>
     <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"ደቂቃ ቀንስ"</string>
     <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"ሰዓት ጨምር"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 81a75bd..7d7c212 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Задаване на часа"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Задаване на дата"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Задаване"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Готово"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"По подразбиране"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"НОВО: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Не се изискват разрешения"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Добавяне на профил"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Кой профил искате да използвате?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Добавяне на профил"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Увеличаване"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Намаляване"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Докоснете <xliff:g id="VALUE">%s</xliff:g> път/и и задръжте."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Плъзнете нагоре за увеличаване и надолу за намаляване."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Увеличаване на минутите"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Намаляване на минутите"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Увеличаване на часовете"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Намаляване на часовете"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Задаване на PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Задаване на AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Увеличаване на месеците"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Намаляване на месеците"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Увеличаване на дните"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Намаляване на дните"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Увеличаване на годините"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Намаляване на годините"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"отметнато"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"не е отметнато"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"избрано"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Споделяне със"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Споделяне със: <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Плъзгаща се дръжка. Докоснете и задръжте."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Плъзнете нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Плъзнете надолу за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Плъзнете наляво за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Плъзнете надясно за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Отключване"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Камера"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Тих режим"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Включване на звука"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Търсене"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Прокарайте пръст, за да отключите."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Включете слушалки, за да чуете изговарянето на клавишите за паролата."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Точка."</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index d95feaa..ca93327 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Nastavení času"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Nastavení data"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Nastavit"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Hotovo"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Výchozí"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOVÉ: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Nejsou vyžadována žádná oprávnění"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Přidat účet"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Který účet chcete použít?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Přidat účet"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Zvýšit"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Snížit"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> dotkněte se a podržte."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Chcete-li hodnotu zvýšit, přijeďte prstem nahoru, chcete-li hodnotu snížit, přejeďte prstem dolů."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Přidat minutu"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Ubrat minutu"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Přidat hodinu"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Ubrat hodinu"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Nastavit odp."</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Nastavit dop."</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Přidat měsíc"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Ubrat měsíc"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Přidat den"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Ubrat den"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Přidat rok"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Ubrat rok"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"zaškrtnuto"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"nezaškrtnuto"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"Vybráno"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Sdílet s"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Sdílet s aplikací <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Posuvník. Dotkněte se a podržte."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Přejeďte prstem nahoru: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Přejeďte prstem dolů: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Přejeďte prstem doleva: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Přejeďte prstem doprava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>"</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Odemknout"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Fotoaparát"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Tichý"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Zapnout zvuk"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Vyhledávání"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Odemknete posunutím prstu."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Chcete-li slyšet, které klávesy jste při zadávání hesla stiskli, připojte sluchátka."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Tečka."</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index aa44b87..f42f4d2 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1169,10 +1169,10 @@
     <string name="add_account_label" msgid="2935267344849993553">"Konto hinzufügen"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Welches Konto möchten Sie verwenden?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Konto hinzufügen"</string>
-    <string name="number_picker_increment_button" msgid="2412072272832284313">"Erhöhen"</string>
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Verlängern"</string>
     <string name="number_picker_decrement_button" msgid="476050778386779067">"Verringern"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> berühren und gedrückt halten"</string>
-    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Zum Erhöhen nach oben und zum Verringern nach unten schieben"</string>
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Zum Verlängern nach oben und zum Verringern nach unten schieben"</string>
     <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Minuten verlängern"</string>
     <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Minuten verringern"</string>
     <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Stunden verlängern"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index fa767ff..2ecc4ab 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Set time"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Set date"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Set"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Done"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Default"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NEW: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"No permission required"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Add an account"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Which account do you want to use?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Add account"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Increase"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Decrease"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> touch and hold."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Slide up to increase and down to decrease."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Increase minute"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Decrease minute"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Increase hour"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Decrease hour"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Set p.m."</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Set a.m."</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Increase month"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Decrease month"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Increase day"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Decrease day"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Increase year"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Decrease year"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"ticked"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"not ticked"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"selected"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Share with"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Share with <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Sliding handle. Touch &amp; hold."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Slide down for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Unlock"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Camera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Silent"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Sound on"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Search"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Swipe to unlock."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Plug in a headset to hear password keys spoken."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Dot"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 5c7b782..752f55d 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Configurar hora"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Configurar fecha"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Establecer"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Listo"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Predeterminado"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NUEVO: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"No se requieren permisos"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Agregar una cuenta"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"¿Qué cuenta quieres usar?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Agregar una cuenta"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Aumentar"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Reducir"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Mantén presionado <xliff:g id="VALUE">%s</xliff:g>."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Desliza el dedo hacia arriba para aumentar los valores y hacia abajo para reducirlos."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Aumentar minutos"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Reducir minutos"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Aumentar hora"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Reducir hora"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Establecer p.m."</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Establecer a.m."</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Aumentar mes"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Reducir mes"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Aumentar día"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Reducir día"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Aumentar año"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Reducir año"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"marcado"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"no marcado"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"seleccionado"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Compartir con"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Compartir con <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Mantén presionado el controlador deslizante."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Desliza el dedo hacia abajo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Desliza el dedo hacia la derecha para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Desbloquear"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Cámara"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Silencioso"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Sonido activado"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Buscar"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Desliza el dedo para desbloquear."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Conecta un auricular para escuchar las contraseñas."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punto"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 25a8d2a..d5c1602 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Idő beállítása"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Dátum beállítása"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Beállítás"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Kész"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Alapértelmezett"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"ÚJ: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Nincs szükség engedélyre"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Fiók hozzáadása"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Melyik fiókot szeretné használni?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Fiók hozzáadása"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Növelés"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Csökkentés"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> érintse meg és tartsa lenyomva."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"A növeléshez csúsztassa felfelé, a csökkentéshez pedig lefelé."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Perc értékének növelése"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Perc értékének csökkentése"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Óra értékének növelése"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Óra értékének csökkentése"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Állítsa du. értékre"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Állítsa de. értékre"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Hónap értékének növelése"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Hónap értékének csökkentése"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Dátum értékének növelése"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Dátum értékének csökkentése"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Év értékének növelése"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Év értékének csökkentése"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"bejelölve"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"nincs bejelölve"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"bejelölve"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Megosztás a következővel:"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Ossza meg a következő alkalmazással: <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Csúsztatható fogantyú. Érintse meg és tartsa."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa felfelé."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa lefelé."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa balra."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa jobbra."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Feloldás"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Némítás"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Hang bekapcsolása"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Keresés"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"A feloldásához húzza végig az ujját."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Csatlakoztasson egy fülhallgatót, ha hallani szeretné a jelszó betűit felolvasva."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Pont."</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 944f429..65c24a9d 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1169,22 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Tambahkan akun"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Akun mana yang ingin Anda gunakan?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Tambahkan akun"</string>
-    <string name="number_picker_increment_button" msgid="2412072272832284313">"Menambah"</string>
-    <string name="number_picker_decrement_button" msgid="476050778386779067">"Mengurangi"</string>
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Tambah"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Kurangi"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> sentuh dan tahan."</string>
     <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Geser ke atas untuk menambah dan ke bawah untuk mengurangi."</string>
-    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Menambah menit"</string>
-    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Mengurangi menit"</string>
-    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Menambah jam"</string>
-    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Mengurangi jam"</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Tambah menit"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Kurangi menit"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Tambah jam"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Kurangi jam"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Menyetel PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Setel AM"</string>
-    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Menambah bulan"</string>
-    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Mengurangi bulan"</string>
-    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Menambah hari"</string>
-    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Mengurangi hari"</string>
-    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Menambah tahun"</string>
-    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Mengurangi tahun"</string>
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Tambah bulan"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Kurangi bulan"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Tambah hari"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Kurangi hari"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Tambah tahun"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Kurangi tahun"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"dicentang"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"tidak diperiksa"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"dipilih"</string>
@@ -1212,7 +1212,7 @@
     <string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Senyap"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Suara hidup"</string>
-    <string name="description_target_search" msgid="3091587249776033139">"Penelusuran"</string>
+    <string name="description_target_search" msgid="3091587249776033139">"Telusuri"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Gesek untuk membuka kunci."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Pasang headset untuk mendengar tombol sandi yang diucapkan."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Titik."</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index da9ca41..b1dd288 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Tetapkan masa"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Tetapkan tarikh"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Tetapkan"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Selesai"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Lalai"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"BAHARU: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Tiada kebenaran diperlukan"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Tambah akaun"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Akaun mana yang mahu anda gunakan?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Tambah akaun"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Tingkatkan"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Kurangkan"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> sentuh terus."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Luncurkan ke atas untuk meningkatkan dan ke bawah untuk mengurangkan."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Tingkatkan minit"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Kurangkan minit"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Tingkatkan jam"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Kurangkan jam"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Tetapkan PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Tetapkan AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Tingkatkan bulan"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Kurangkan bulan"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Tingkatkan hari"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Kurangkan hari"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Tingkatkan tahun"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Kurangkan tahun"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"ditandakan"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"tidak ditandakan"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"dipilih"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Kongsi dengan"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Kongsi dengan <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Pemegang gelongsor. Sentuh &amp; tahan."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Luncurkan ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Luncurkan ke bawah untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Luncurkan ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Luncurkan ke kanan untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Buka kunci"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Senyap"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Bunyi dihidupkan"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Carian"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Leret untuk membuka kunci."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Pasangkan set kepala untuk mendengar kekunci kata laluan disebutkan."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Titik."</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index ee10502..ce1dd58 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Ustaw godzinę"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Ustaw datę"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Ustaw"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Gotowe"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Domyślne"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOWE: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Nie są wymagane żadne uprawnienia"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Dodaj konto"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Którego konta chcesz użyć?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Dodaj konto"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Zwiększ"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Zmniejsz"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> dotknij i przytrzymaj."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Przesuń w górę, by zwiększyć, i w dół, by zmniejszyć."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Zmień minutę na późniejszą"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Zmień minutę na wcześniejszą"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Zmień godzinę na późniejszą"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Zmień godzinę na wcześniejszą"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Ustaw PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Ustaw AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Zmień miesiąc na późniejszy"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Zmień miesiąc na wcześniejszy"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Zmień dzień na późniejszy"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Zmień dzień na wcześniejszy"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Zmień rok na późniejszy"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Zmień rok na wcześniejszy"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"zaznaczono"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"nie zaznaczono"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"wybrano"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Udostępnij przez"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Udostępnij przez <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Uchwyt przesuwny. Dotknij i przytrzymaj."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Przesuń w górę: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Przesuń w dół: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Przesuń w lewo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Przesuń w prawo: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Odblokuj"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Aparat"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Wyciszenie"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Włącz dźwięk"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Szukaj"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Przesuń, aby odblokować."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Podłącz zestaw słuchawkowy, aby wysłuchać znaków hasła wypowiadanych na głos."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Kropka"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 290ae19..2e71e81 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Definir hora"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Definir data"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Definir"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Concluído"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Predefinido"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOVA: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Não são necessárias permissões"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Adicionar uma conta"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Que conta pretende utilizar?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Adicionar conta"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Aumentar"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Diminuir"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Toque sem soltar em <xliff:g id="VALUE">%s</xliff:g>."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Deslizar para cima para aumentar e para baixo para diminuir."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Aumentar minutos."</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Diminuir minutos"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Aumentar horas"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Diminuir hora"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Definir PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Definir AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Aumentar mês"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Diminuir mês"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Aumentar o dia"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Diminuir dia"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Aumentar ano"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Diminuir ano"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"marcado"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"desmarcado"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"selecionado"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Partilhar com:"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Compartilhar com <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Barra deslizante. Toque &amp; não solte."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Deslize para cima para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Deslize para baixo para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Deslize à esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Deslize para a direita <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Desbloquear"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Câmara"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Silencioso"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Som ativado"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Pesquisa"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Deslizar rapidamente para desbloquear."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Ligue os auscultadores com microfone integrado para ouvir as teclas da palavra-passe."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Ponto."</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 09fe685..f762192 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Definir hora"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Definir data"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Definir"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Concluído"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Padrão"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOVO: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Nenhuma permissão necessária"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Adicionar uma conta"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Qual conta você deseja usar?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Adicionar conta"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Aumentar"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Diminuir"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> toque e mantenha pressionado."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Deslize para cima para aumentar e para baixo para diminuir."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Aumentar minuto"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Diminuir minuto"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Aumentar hora"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Diminuir hora"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Configurar valor PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Configurar valor AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Aumentar mês"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Diminuir mês"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Aumentar dia"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Diminuir dia"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Aumentar ano"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Diminuir ano"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"verificado"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"não selecionado"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"selecionado"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Compartilhar com"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Compartilhar com <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Recurso deslizante. Toque e segure."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para cima."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para baixo."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a esquerda."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>, deslize para a direita."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Desbloquear"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Câmera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Silencioso"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Som ativado"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Pesquisar"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Deslize para desbloquear."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Conecte um fone de ouvido para ouvir as teclas da senha."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Ponto final."</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 9dee72d..fbc5b24 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Setaţi ora"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Setaţi data"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Setaţi"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Terminat"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Prestabilit"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOU: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Nu se solicită nicio permisiune"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Adăugaţi un cont"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Ce cont doriţi să utilizaţi?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Adăugaţi un cont"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Creşteţi"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Reduceţi"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Atingeţi şi ţineţi apăsat <xliff:g id="VALUE">%s</xliff:g>."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Glisaţi în sus pentru a creşte şi în jos pentru a reduce."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Creşteţi valoarea pentru minute"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Reduceţi valoarea pentru minute"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Creşteţi valoarea pentru oră"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Reduceţi valoarea pentru oră"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Setaţi valoarea PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Setaţi valoarea AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Creşteţi valoarea pentru lună"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Reduceţi valoarea pentru lună"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Creşteţi valoarea pentru zi"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Reduceţi valoarea pentru zi"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Creşteţi valoarea pentru an"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Reduceţi valoarea pentru an"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"bifată"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"nebifată"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"selectat"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Permiteţi accesul pentru"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Permiteţi accesul pentru <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Mâner glisant. Atingeţi şi ţineţi apăsat."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Glisaţi în sus pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Glisaţi în jos pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Glisaţi spre stânga pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Glisaţi spre dreapta pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Deblocaţi"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Cameră foto"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Silenţios"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Sunet activat"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Căutaţi"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Glisaţi pentru a debloca."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punct."</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index c7c7b4f..ec890ce 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Nastaviť čas"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Nastaviť dátum"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Nastaviť"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Hotovo"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Predvolené"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOVINKA: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Nevyžadujú sa žiadne oprávnenia."</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Pridať účet"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Ktorý účet chcete použiť?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Pridať účet"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Zvýšiť"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Znížiť"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Dotknite sa a podržte <xliff:g id="VALUE">%s</xliff:g>."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Ak chcete hodnotu zvýšiť, prejdite prstom nahor. Ak chcete hodnotu znížiť, prejdite prstom nadol."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Pridať minútu"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Ubrať minútu"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Pridať hodinu"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Ubrať hodinu"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Nastaviť čas popoludní"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Nastaviť čas dopoludnia"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Pridať mesiac"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Ubrať mesiac"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Pridať deň"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Ubrať deň"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Pridať rok"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Ubrať rok"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"začiarknuté"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"nezačiarknuté"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"vybratý"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Zdieľať s"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Zdieľať s aplikáciou <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Posuvné tlačidlo. Dotknite sa a podržte."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Prejdite prstom nahor: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Prejdite prstom nadol: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Prejdite prstom doľava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Prejdite prstom doprava: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Odomknúť"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Fotoaparát"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Tichý"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Zapnúť zvuk"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Vyhľadávanie"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Posunom odomknúť."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Ak si chcete vypočuť vyslovené klávesy hesla, pripojte náhlavnú súpravu."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Bodka."</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 4dc425b..0cac188 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Nastavi uro"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Nastavi datum"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Nastavi"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Končano"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Privzeto"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"NOVO: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Ni zahtevanih dovoljenj"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Dodajanje računa"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Kateri račun želite uporabiti?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Dodaj račun"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Več"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Manj"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Dotaknite se vrednosti <xliff:g id="VALUE">%s</xliff:g> in jo pridržite."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Povlecite navzgor za povečanje in navzdol za zmanjšanje."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Povečanje vrednosti za minuto"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Zmanjšanje vrednosti za minuto"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Povečanje vrednosti za uro"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Zmanjšanje vrednosti za uro"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Nastavi PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Nastavi AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Povečanje vrednosti za mesec"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Zmanjšanje vrednosti za mesec"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Povečanje vrednosti za dan"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Zmanjšanje vrednosti za dan"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Povečanje vrednosti za leto"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Zmanjšanje vrednosti za leto"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"potrjeno"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"ni odkljukano"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"izbrano"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Delite z"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Delite s programom <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Drsna ročica. Dotaknite se in pridržite."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Povlecite navzgor za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Povlecite navzdol za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Povlecite v levo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Povlecite v desno za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Odkleni"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Fotoaparat"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Tiho"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Vklopljen zvok"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Iskanje"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Povlecite, če želite odkleniti."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Priključite slušalke, če želite slišati izgovorjene tipke gesla."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Pika."</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 6b64163..f7d738a0 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Weka muda"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Weka tarehe"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Weka"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Imekamilika"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Chaguo-msingi"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">" MPYA: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Hakuna vibali vinavyohitajika"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Ongeza akaunti"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Je, ni akaunti gani unataka kutumia?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Ongeza akaunti"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Ongeza"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Punguza"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> gusa na ushikilie."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Sogeza juu ili uongeze na chini ili upunguze."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Ongeza dakika"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Punguza dakika"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Ongeza saa"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Punguza saa"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Seti PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Seti AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Ongeza mwezi"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Punguza mwezi"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Ongeza siku"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Punguza siku"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Ongeza mwaka"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Punguza mwaka"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"imeangaliwa"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"haijakaguliwa"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"Iliyochaguliwa"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Gawa na"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Gawa na <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Utambo unaosonga. Gusa &amp; shika"</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Sogeza juu kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Sogeza chini kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Sogeza kushoto kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Sogeza kulika kwa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Fungua"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Kimya"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Sauti imewashwa"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Tafuta"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Pitisha ili kufungua."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Chomeka kifaa cha sauti ili kusikiliza vibonye vya nenosiri vikizungumzwa."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Nukta."</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 2addf86b..db0befa 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Magtakda ng oras"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Itakda ang petsa"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Itakda"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Tapos na"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Default"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"BAGO: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Walang mga kinakailangang pahintulot"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Magdagdag ng account"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Aling account ang nais mong gamitin?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Magdagdag ng account"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Dagdagan"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Bawasan"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> pindutin nang matagal."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Mag-slide pataas upang magdagdag at pababa upang magbawas."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Dagdagan ang minuto"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Bawasan ang minuto"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Dagdagan ang oras"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Bawasan ang oras"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Itakda ang PM"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Itakda ang AM"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Dagdagan ang buwan"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Bawasan ang buwan"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Dagdagan ang araw"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Bawasan ang araw"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Dagdagdan ang taon"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Bawasan ang taon"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"nilagyan ng check"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"hindi nilagyan ng check"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"pinili"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Ibahagi sa"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Ibahagi sa <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Hawakan sa pag-slide. Pindutin nang matagal."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Mag-slide pataas para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Mag-slide pababa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Mag-slide pakaliwa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Mag-slide pakanan para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"I-unlock"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Camera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Tahimik"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"I-on ang tunog"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Maghanap"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Mag-swipe upang i-unlock."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Mag-plug in ng isang headset upang marinig ang mga password key na binabanggit."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Dot."</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 6fe919d..7638a1a 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1019,8 +1019,7 @@
     <string name="time_picker_dialog_title" msgid="8349362623068819295">"Hlela isikhathi"</string>
     <string name="date_picker_dialog_title" msgid="5879450659453782278">"Setha idethi"</string>
     <string name="date_time_set" msgid="5777075614321087758">"Hlela"</string>
-    <!-- no translation found for date_time_done (2507683751759308828) -->
-    <skip />
+    <string name="date_time_done" msgid="2507683751759308828">"Kwenziwe"</string>
     <string name="default_permission_group" msgid="2690160991405646128">"Okuzenzakalelayo"</string>
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ffffa3a3">"OKUSHA: "</font></string>
     <string name="no_permissions" msgid="7283357728219338112">"Ayikho imvume edingekayo"</string>
@@ -1170,35 +1169,22 @@
     <string name="add_account_label" msgid="2935267344849993553">"Yengeza i-akhawunti"</string>
     <string name="choose_account_text" msgid="6303348737197849675">"Ingabe iyiphi i-akhawunti ofuna ukuyisebenzisa?"</string>
     <string name="add_account_button_label" msgid="3611982894853435874">"Engeza i-akhawunti"</string>
-    <!-- no translation found for number_picker_increment_button (2412072272832284313) -->
-    <skip />
-    <!-- no translation found for number_picker_decrement_button (476050778386779067) -->
-    <skip />
+    <string name="number_picker_increment_button" msgid="2412072272832284313">"Khulisa"</string>
+    <string name="number_picker_decrement_button" msgid="476050778386779067">"Yehlisa"</string>
     <string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"<xliff:g id="VALUE">%s</xliff:g> thinta bese ucindezela."</string>
-    <!-- no translation found for number_picker_increment_scroll_action (9101473045891835490) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_minute_button (8865885114028614321) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_minute_button (6246834937080684791) -->
-    <skip />
-    <!-- no translation found for time_picker_increment_hour_button (3652056055810223139) -->
-    <skip />
-    <!-- no translation found for time_picker_decrement_hour_button (1377479863429214792) -->
-    <skip />
+    <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Shelelisela phezulu ukuze ungeze futhi phansi ukuze wehlise."</string>
+    <string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Khulisa iminithi"</string>
+    <string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Yehlisa iminithi"</string>
+    <string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Khulisa ihora"</string>
+    <string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Yehlisa ihora"</string>
     <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Setha Ntambama"</string>
     <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Setha Ekuseni"</string>
-    <!-- no translation found for date_picker_increment_month_button (5369998479067934110) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_month_button (1832698995541726019) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_day_button (7130465412308173903) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_day_button (4131881521818750031) -->
-    <skip />
-    <!-- no translation found for date_picker_increment_year_button (6318697384310808899) -->
-    <skip />
-    <!-- no translation found for date_picker_decrement_year_button (4482021813491121717) -->
-    <skip />
+    <string name="date_picker_increment_month_button" msgid="5369998479067934110">"Khulisa inyanga"</string>
+    <string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Yehlisa inyanga"</string>
+    <string name="date_picker_increment_day_button" msgid="7130465412308173903">"Khulisa usuku"</string>
+    <string name="date_picker_decrement_day_button" msgid="4131881521818750031">"Yehlisa usuku"</string>
+    <string name="date_picker_increment_year_button" msgid="6318697384310808899">"Khulisa unyaka"</string>
+    <string name="date_picker_decrement_year_button" msgid="4482021813491121717">"Yehlisa unyaka"</string>
     <string name="checkbox_checked" msgid="7222044992652711167">"kuhloliwe"</string>
     <string name="checkbox_not_checked" msgid="5174639551134444056">"akuhloliwe"</string>
     <string name="radiobutton_selected" msgid="8603599808486581511">"Okukhethiwe"</string>
@@ -1218,20 +1204,15 @@
     <string name="shareactionprovider_share_with" msgid="806688056141131819">"Yabelana no"</string>
     <string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Yabelana no <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
     <string name="content_description_sliding_handle" msgid="415975056159262248">"Ihaambis isibambo. Thinta &amp; ubambe."</string>
-    <!-- no translation found for description_direction_up (7169032478259485180) -->
-    <skip />
-    <!-- no translation found for description_direction_down (5087739728639014595) -->
-    <skip />
-    <!-- no translation found for description_direction_left (7207478719805562165) -->
-    <skip />
-    <!-- no translation found for description_direction_right (8034433242579600980) -->
-    <skip />
+    <string name="description_direction_up" msgid="7169032478259485180">"Shelelisela ngenhla ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_down" msgid="5087739728639014595">"Shelelisela ngezansi ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_left" msgid="7207478719805562165">"Shelelisela ngakwesokunxele ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+    <string name="description_direction_right" msgid="8034433242579600980">"Shelelisela ngakwesokudla ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_target_unlock" msgid="2228524900439801453">"Vula"</string>
     <string name="description_target_camera" msgid="969071997552486814">"Ikhamera"</string>
     <string name="description_target_silent" msgid="893551287746522182">"Thulile"</string>
     <string name="description_target_soundon" msgid="30052466675500172">"Umsindo uvuliwe"</string>
-    <!-- no translation found for description_target_search (3091587249776033139) -->
-    <skip />
+    <string name="description_target_search" msgid="3091587249776033139">"Sesha"</string>
     <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Swayipha ukuze uvule."</string>
     <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Plaka ku-headset ukuze uzwe okhiye bephasiwedi ezindlebeni zakho bezwakala kakhulu."</string>
     <string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Icashazi."</string>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index e80e30a..31aa8d5 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -817,7 +817,7 @@
     <bool name="config_allowActionMenuItemTextWithIcon">false</bool>
 
     <!-- Remote server that can provide NTP responses. -->
-    <string translatable="false" name="config_ntpServer">pool.ntp.org</string>
+    <string translatable="false" name="config_ntpServer">2.android.pool.ntp.org</string>
     <!-- Timeout to wait for NTP server response. -->
     <integer name="config_ntpTimeout">20000</integer>
 
diff --git a/docs/html/guide/topics/renderscript/index.jd b/docs/html/guide/topics/renderscript/index.jd
index 24b9750..b2d9f84 100644
--- a/docs/html/guide/topics/renderscript/index.jd
+++ b/docs/html/guide/topics/renderscript/index.jd
@@ -638,8 +638,10 @@
 <code>rs_program_fragment</code> and <code>rs_allocation</code>, you have to obtain an object of the
 corresponding Android framework class first and then call the <code>set</code> method for that
 structure to bind the memory to the Renderscript runtime. You cannot directly manipulate these structures
-at the Renderscript runtime layer. Keep in mind that user-defined structures
-cannot contain pointers, so this restriction only applies to certain structures that are provided by Renderscript. 
+at the Renderscript runtime layer. This restriction is not applicable to user-defined structures
+that contain pointers, because they cannot be exported to a reflected layer class
+in the first place. A compiler error is generated if you try to declare a non-static, global
+struct that contains a pointer.
 </p>
 
 <p>Renderscript also has support for pointers, but you must explicitly allocate the memory in your
diff --git a/docs/html/guide/topics/wireless/wifip2p.jd b/docs/html/guide/topics/wireless/wifip2p.jd
index ec8e71e..82c9abd 100644
--- a/docs/html/guide/topics/wireless/wifip2p.jd
+++ b/docs/html/guide/topics/wireless/wifip2p.jd
@@ -491,10 +491,10 @@
   </ol>
 
   <p>The following example, modified from the <a href=
-  "{@docRoot}resources/samples/WifiDirectDemo/index.html">Wi-Fi Direct Demo</a> sample, shows you how
+  "{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi Direct Demo</a> sample, shows you how
   to create this client-server socket communication and transfer JPEG images from a client
   to a server with a service. For a complete working example, compile and run the <a href=
-  "{@docRoot}resources/samples/WifiDirectDemo/index.html">Wi-Fi Direct Demo</a> sample.</p>
+  "{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi Direct Demo</a> sample.</p>
 <pre>
 public static class FileServerAsyncTask extends AsyncTask<Void, Void, String> {
 
diff --git a/docs/html/sdk/ndk/overview.jd b/docs/html/sdk/ndk/overview.jd
index c98e600..d2a9746 100644
--- a/docs/html/sdk/ndk/overview.jd
+++ b/docs/html/sdk/ndk/overview.jd
@@ -270,11 +270,11 @@
   <ul>
     <li>If you are developing in Eclipse with ADT, use the New Project Wizard to create a new
     Android project for each sample, using the "Import from Existing Source" option and importing
-    the source from <code>&lt;ndk&gt;/apps/&lt;app_name&gt;/project/</code>. Then, set up an AVD,
+    the source from <code>&lt;ndk&gt;/samples/&lt;name&gt;/</code>. Then, set up an AVD,
     if necessary, and build/run the application in the emulator.</li>
 
     <li>If you are developing with Ant, use the <code>android</code> tool to create the build file
-    for each of the sample projects at <code>&lt;ndk&gt;/apps/&lt;app_name&gt;/project/</code>.
+    for each of the sample projects at <code>&lt;ndk&gt;/samples/&lt;name&gt;/</code>.
     Then set up an AVD, if necessary, build your project in the usual way, and run it in the
     emulator.</li>    
     
diff --git a/media/java/android/media/audiofx/AcousticEchoCanceler.java b/media/java/android/media/audiofx/AcousticEchoCanceler.java
index 7197dd2..e31f84c 100644
--- a/media/java/android/media/audiofx/AcousticEchoCanceler.java
+++ b/media/java/android/media/audiofx/AcousticEchoCanceler.java
@@ -16,6 +16,8 @@
 
 package android.media.audiofx;
 
+import android.util.Log;
+
 /**
  * Acoustic Echo Canceler (AEC).
  * <p>Acoustic Echo Canceler (AEC) is an audio pre-processing which removes the contribution of the
@@ -26,14 +28,13 @@
  * <p>An application creates an AcousticEchoCanceler object to instantiate and control an AEC
  * engine in the audio capture path.
  * <p>To attach the AcousticEchoCanceler to a particular {@link android.media.AudioRecord},
- * specify the audio session ID of this AudioRecord when constructing the AcousticEchoCanceler.
+ * specify the audio session ID of this AudioRecord when creating the AcousticEchoCanceler.
  * The audio session is retrieved by calling
  * {@link android.media.AudioRecord#getAudioSessionId()} on the AudioRecord instance.
  * <p>On some devices, an AEC can be inserted by default in the capture path by the platform
- * according to the {@link android.media.MediaRecorder.AudioSource} used. The application can
- * query which pre-processings are currently applied to an AudioRecord instance by calling
- * {@link android.media.audiofx.AudioEffect#queryPreProcessings(int)} with the audio session of the
- * AudioRecord.
+ * according to the {@link android.media.MediaRecorder.AudioSource} used. The application should
+ * call AcousticEchoCanceler.getEnable() after creating the AEC to check the default AEC activation
+ * state on a particular AudioRecord session.
  * <p>See {@link android.media.audiofx.AudioEffect} class for more details on
  * controlling audio effects.
  * @hide
@@ -44,13 +45,43 @@
     private final static String TAG = "AcousticEchoCanceler";
 
     /**
+     * Checks if the device implements acoustic echo cancellation.
+     * @return true if the device implements acoustic echo cancellation, false otherwise.
+     */
+    public static boolean isAvailable() {
+        return AudioEffect.isEffectTypeAvailable(AudioEffect.EFFECT_TYPE_AEC);
+    }
+
+    /**
+     * Creates an AcousticEchoCanceler and attaches it to the AudioRecord on the audio
+     * session specified.
+     * @param audioSession system wide unique audio session identifier. The AcousticEchoCanceler
+     * will be applied to the AudioRecord with the same audio session.
+     * @return AcousticEchoCanceler created or null if the device does not implement AEC.
+     */
+    public static AcousticEchoCanceler create(int audioSession) {
+        AcousticEchoCanceler aec = null;
+        try {
+            aec = new AcousticEchoCanceler(audioSession);
+        } catch (IllegalArgumentException e) {
+            Log.w(TAG, "not implemented on this device"+ aec);
+        } catch (UnsupportedOperationException e) {
+            Log.w(TAG, "not enough resources");
+        } catch (RuntimeException e) {
+            Log.w(TAG, "not enough memory");
+        } finally {
+            return aec;
+        }
+    }
+
+    /**
      * Class constructor.
-     * <p> The application must catch exceptions when creating an AcousticEchoCanceler as the
-     * constructor is not guarantied to succeed:
+     * <p> The constructor is not guarantied to succeed and throws the following exceptions:
      * <ul>
      *  <li>IllegalArgumentException is thrown if the device does not implement an AEC</li>
      *  <li>UnsupportedOperationException is thrown is the resources allocated to audio
      *  pre-procesing are currently exceeded.</li>
+     *  <li>RuntimeException is thrown if a memory allocation error occurs.</li>
      * </ul>
      *
      * @param audioSession system wide unique audio session identifier. The AcousticEchoCanceler
@@ -59,6 +90,7 @@
      * @throws java.lang.IllegalArgumentException
      * @throws java.lang.UnsupportedOperationException
      * @throws java.lang.RuntimeException
+     * @hide
      */
     public AcousticEchoCanceler(int audioSession)
             throws IllegalArgumentException, UnsupportedOperationException, RuntimeException {
diff --git a/media/java/android/media/audiofx/AudioEffect.java b/media/java/android/media/audiofx/AudioEffect.java
index 85be267..68a09de 100644
--- a/media/java/android/media/audiofx/AudioEffect.java
+++ b/media/java/android/media/audiofx/AudioEffect.java
@@ -452,6 +452,22 @@
         return (Descriptor[]) native_query_pre_processing(audioSession);
     }
 
+    /**
+     * Checks if the device implements the specified effect type.
+     * @param type the requested effect type.
+     * @return true if the device implements the specified effect type, false otherwise.
+     * @hide
+     */
+    public static boolean isEffectTypeAvailable(UUID type) {
+        AudioEffect.Descriptor[] desc = AudioEffect.queryEffects();
+        for (int i = 0; i < desc.length; i++) {
+            if (desc[i].type.equals(type)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     // --------------------------------------------------------------------------
     // Control methods
     // --------------------
diff --git a/media/java/android/media/audiofx/AutomaticGainControl.java b/media/java/android/media/audiofx/AutomaticGainControl.java
index 44574f0..eca7eec 100644
--- a/media/java/android/media/audiofx/AutomaticGainControl.java
+++ b/media/java/android/media/audiofx/AutomaticGainControl.java
@@ -16,24 +16,25 @@
 
 package android.media.audiofx;
 
+import android.util.Log;
+
 /**
  * Automatic Gain Control (AGC).
  * <p>Automatic Gain Control (AGC) is an audio pre-processing which automatically normalizes the
  * output of the captured signal by boosting or lowering input from the microphone to match a preset
- * level so that that the output signal level is virtually constant.
+ * level so that the output signal level is virtually constant.
  * AGC can be used by applications where the input signal dynamic range is not important but where
  * a constant strong capture level is desired.
  * <p>An application creates a AutomaticGainControl object to instantiate and control an AGC
  * engine in the audio framework.
  * <p>To attach the AutomaticGainControl to a particular {@link android.media.AudioRecord},
- * specify the audio session ID of this AudioRecord when constructing the AutomaticGainControl.
+ * specify the audio session ID of this AudioRecord when creating the AutomaticGainControl.
  * The audio session is retrieved by calling
  * {@link android.media.AudioRecord#getAudioSessionId()} on the AudioRecord instance.
  * <p>On some devices, an AGC can be inserted by default in the capture path by the platform
- * according to the {@link android.media.MediaRecorder.AudioSource} used. The application can
- * query which pre-processings are currently applied to an AudioRecord instance by calling
- * {@link android.media.audiofx.AudioEffect#queryPreProcessings(int)} with the audio session of the
- * AudioRecord.
+ * according to the {@link android.media.MediaRecorder.AudioSource} used. The application should
+ * call AutomaticGainControl.getEnable() after creating the AGC to check the default AGC activation
+ * state on a particular AudioRecord session.
  * <p>See {@link android.media.audiofx.AudioEffect} class for more details on
  * controlling audio effects.
  * @hide
@@ -44,13 +45,43 @@
     private final static String TAG = "AutomaticGainControl";
 
     /**
+     * Checks if the device implements automatic gain control.
+     * @return true if the device implements automatic gain control, false otherwise.
+     */
+    public static boolean isAvailable() {
+        return AudioEffect.isEffectTypeAvailable(AudioEffect.EFFECT_TYPE_AGC);
+    }
+
+    /**
+     * Creates an AutomaticGainControl and attaches it to the AudioRecord on the audio
+     * session specified.
+     * @param audioSession system wide unique audio session identifier. The AutomaticGainControl
+     * will be applied to the AudioRecord with the same audio session.
+     * @return AutomaticGainControl created or null if the device does not implement AGC.
+     */
+    public static AutomaticGainControl create(int audioSession) {
+        AutomaticGainControl agc = null;
+        try {
+            agc = new AutomaticGainControl(audioSession);
+        } catch (IllegalArgumentException e) {
+            Log.w(TAG, "not implemented on this device "+agc);
+        } catch (UnsupportedOperationException e) {
+            Log.w(TAG, "not enough resources");
+        } catch (RuntimeException e) {
+            Log.w(TAG, "not enough memory");
+        } finally {
+            return agc;
+        }
+    }
+
+    /**
      * Class constructor.
-     * <p> The application must catch exceptions when creating an AutomaticGainControl as the
-     * constructor is not guarantied to succeed:
+     * <p> The constructor is not guarantied to succeed and throws the following exceptions:
      * <ul>
      *  <li>IllegalArgumentException is thrown if the device does not implement an AGC</li>
      *  <li>UnsupportedOperationException is thrown is the resources allocated to audio
      *  pre-procesing are currently exceeded.</li>
+     *  <li>RuntimeException is thrown if a memory allocation error occurs.</li>
      * </ul>
      *
      * @param audioSession system wide unique audio session identifier. The AutomaticGainControl
@@ -59,6 +90,7 @@
      * @throws java.lang.IllegalArgumentException
      * @throws java.lang.UnsupportedOperationException
      * @throws java.lang.RuntimeException
+     * @hide
      */
     public AutomaticGainControl(int audioSession)
             throws IllegalArgumentException, UnsupportedOperationException, RuntimeException {
diff --git a/media/java/android/media/audiofx/NoiseSuppressor.java b/media/java/android/media/audiofx/NoiseSuppressor.java
index 4e7a8b6..a2d3386c 100644
--- a/media/java/android/media/audiofx/NoiseSuppressor.java
+++ b/media/java/android/media/audiofx/NoiseSuppressor.java
@@ -16,6 +16,8 @@
 
 package android.media.audiofx;
 
+import android.util.Log;
+
 /**
  * Noise Suppressor (NS).
  * <p>Noise suppression (NS) is an audio pre-processing which removes background noise from the
@@ -27,14 +29,13 @@
  * <p>An application creates a NoiseSuppressor object to instantiate and control an NS
  * engine in the audio framework.
  * <p>To attach the NoiseSuppressor to a particular {@link android.media.AudioRecord},
- * specify the audio session ID of this AudioRecord when constructing the NoiseSuppressor.
+ * specify the audio session ID of this AudioRecord when creating the NoiseSuppressor.
  * The audio session is retrieved by calling
  * {@link android.media.AudioRecord#getAudioSessionId()} on the AudioRecord instance.
  * <p>On some devices, NS can be inserted by default in the capture path by the platform
- * according to the {@link android.media.MediaRecorder.AudioSource} used. The application can
- * query which pre-processings are currently applied to an AudioRecord instance by calling
- * {@link android.media.audiofx.AudioEffect#queryPreProcessings(int)} with the audio session of the
- * AudioRecord.
+ * according to the {@link android.media.MediaRecorder.AudioSource} used. The application should
+ * call NoiseSuppressor.getEnable() after creating the NS to check the default NS activation
+ * state on a particular AudioRecord session.
  * <p>See {@link android.media.audiofx.AudioEffect} class for more details on
  * controlling audio effects.
  * @hide
@@ -45,13 +46,44 @@
     private final static String TAG = "NoiseSuppressor";
 
     /**
+     * Checks if the device implements noise suppression.
+     * @return true if the device implements noise suppression, false otherwise.
+     */
+    public static boolean isAvailable() {
+        return AudioEffect.isEffectTypeAvailable(AudioEffect.EFFECT_TYPE_NS);
+    }
+
+    /**
+     * Creates a NoiseSuppressor and attaches it to the AudioRecord on the audio
+     * session specified.
+     * @param audioSession system wide unique audio session identifier. The NoiseSuppressor
+     * will be applied to the AudioRecord with the same audio session.
+     * @return NoiseSuppressor created or null if the device does not implement noise
+     * suppression.
+     */
+    public static NoiseSuppressor create(int audioSession) {
+        NoiseSuppressor ns = null;
+        try {
+            ns = new NoiseSuppressor(audioSession);
+        } catch (IllegalArgumentException e) {
+            Log.w(TAG, "not implemented on this device "+ns);
+        } catch (UnsupportedOperationException e) {
+            Log.w(TAG, "not enough resources");
+        } catch (RuntimeException e) {
+            Log.w(TAG, "not enough memory");
+        } finally {
+            return ns;
+        }
+    }
+
+    /**
      * Class constructor.
-     * <p> The application must catch exceptions when creating an NoiseSuppressor as the
-     * constructor is not guarantied to succeed:
+     * <p> The constructor is not guarantied to succeed and throws the following exceptions:
      * <ul>
      *  <li>IllegalArgumentException is thrown if the device does not implement an NS</li>
      *  <li>UnsupportedOperationException is thrown is the resources allocated to audio
      *  pre-procesing are currently exceeded.</li>
+     *  <li>RuntimeException is thrown if a memory allocation error occurs.</li>
      * </ul>
      *
      * @param audioSession system wide unique audio session identifier. The NoiseSuppressor
@@ -60,8 +92,9 @@
      * @throws java.lang.IllegalArgumentException
      * @throws java.lang.UnsupportedOperationException
      * @throws java.lang.RuntimeException
+     * @hide
      */
-    public NoiseSuppressor(int audioSession)
+    private NoiseSuppressor(int audioSession)
             throws IllegalArgumentException, UnsupportedOperationException, RuntimeException {
         super(EFFECT_TYPE_NS, EFFECT_TYPE_NULL, 0, audioSession);
     }
diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java
index c937a09..2a4d59b 100644
--- a/opengl/java/android/opengl/GLSurfaceView.java
+++ b/opengl/java/android/opengl/GLSurfaceView.java
@@ -1459,7 +1459,10 @@
                             Log.w("GLThread", "egl createSurface");
                         }
                         if (!mEglHelper.createSurface()) {
-                            mSurfaceIsBad = true;
+                            synchronized(sGLThreadManager) {
+                                mSurfaceIsBad = true;
+                                sGLThreadManager.notifyAll();
+                            }
                             continue;
                         }
                         createEglSurface = false;
@@ -1519,7 +1522,11 @@
                             // but we haven't been notified yet.
                             // Log the error to help developers understand why rendering stopped.
                             EglHelper.logEglErrorAsWarning("GLThread", "eglSwapBuffers", swapError);
-                            mSurfaceIsBad = true;
+
+                            synchronized(sGLThreadManager) {
+                                mSurfaceIsBad = true;
+                                sGLThreadManager.notifyAll();
+                            }
                             break;
                     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 804ae06..3f611fc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -2047,7 +2047,10 @@
                         snapshot.add(child);
                     }
                 }
-                final int N = snapshot.size();
+                if (snapshot.isEmpty()) {
+                    animateCollapse(false);
+                    return;
+                }
                 new Thread(new Runnable() {
                     @Override
                     public void run() {
@@ -2063,6 +2066,7 @@
                         mPile.setViewRemoval(false);
 
                         mPostCollapseCleanup = new Runnable() {
+                            @Override
                             public void run() {
                                 try {
                                     mPile.setViewRemoval(true);
@@ -2073,9 +2077,8 @@
 
                         View sampleView = snapshot.get(0);
                         int width = sampleView.getWidth();
-                        final int velocity = (int)(width * 8); // 1000/8 = 125 ms duration
-                        for (View v : snapshot) {
-                            final View _v = v;
+                        final int velocity = width * 8; // 1000/8 = 125 ms duration
+                        for (final View _v : snapshot) {
                             mHandler.postDelayed(new Runnable() {
                                 @Override
                                 public void run() {
@@ -2091,6 +2094,7 @@
                         // synchronize the end of those animations with the start of the collaps
                         // exactly.
                         mHandler.postDelayed(new Runnable() {
+                            @Override
                             public void run() {
                                 animateCollapse(false);
                             }
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 186460d..78b441a 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -3181,7 +3181,7 @@
         }
 
         // Log the ANR to the main log.
-        StringBuilder info = mStringBuilder;
+        StringBuilder info = new StringBuilder();
         info.setLength(0);
         info.append("ANR in ").append(app.processName);
         if (activity != null && activity.shortComponentName != null) {
diff --git a/services/java/com/android/server/wm/WindowAnimator.java b/services/java/com/android/server/wm/WindowAnimator.java
index 0d64b68..1198a77 100644
--- a/services/java/com/android/server/wm/WindowAnimator.java
+++ b/services/java/com/android/server/wm/WindowAnimator.java
@@ -471,9 +471,7 @@
             Surface.closeTransaction();
         }
 
-        if (mBulkUpdateParams != 0) {
-            mService.bulkSetParameters(mBulkUpdateParams);
-        }
+        mService.bulkSetParameters(mBulkUpdateParams);
     }
 
     WindowState mCurrentFocus;
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 00972fa..8d65dc3 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -6882,22 +6882,33 @@
                 case BULK_UPDATE_PARAMETERS: {
                     // Used to send multiple changes from the animation side to the layout side.
                     synchronized (mWindowMap) {
+                        boolean doRequest = false;
                         // TODO(cmautner): As the number of bits grows, use masks of bit groups to
                         //  eliminate unnecessary tests.
                         if ((msg.arg1 & LayoutFields.SET_UPDATE_ROTATION) != 0) {
                             mInnerFields.mUpdateRotation = true;
+                            doRequest = true;
                         }
                         if ((msg.arg1 & LayoutFields.SET_WALLPAPER_MAY_CHANGE) != 0) {
                             mInnerFields.mWallpaperMayChange = true;
+                            doRequest = true;
                         }
                         if ((msg.arg1 & LayoutFields.SET_FORCE_HIDING_CHANGED) != 0) {
                             mInnerFields.mWallpaperForceHidingChanged = true;
+                            doRequest = true;
                         }
                         if ((msg.arg1 & LayoutFields.CLEAR_ORIENTATION_CHANGE_COMPLETE) != 0) {
                             mInnerFields.mOrientationChangeComplete = false;
+                        } else {
+                            mInnerFields.mOrientationChangeComplete = true;
+                            if (mWindowsFreezingScreen) {
+                                doRequest = true;
+                            }
                         }
 
-                        requestTraversalLocked();
+                        if (doRequest) {
+                            requestTraversalLocked();
+                        }
                     }
                     break;
                 }
@@ -6908,8 +6919,6 @@
                                 (Pair<WindowStateAnimator, Region>) msg.obj;
                     final WindowStateAnimator winAnimator = pair.first;
                     winAnimator.setTransparentRegionHint(pair.second);
-
-                    scheduleAnimationLocked();
                     break;
                 }
 
@@ -8472,11 +8481,13 @@
                 !mInnerFields.mUpdateRotation) {
             checkDrawnWindowsLocked();
         }
-        mInnerFields.mOrientationChangeComplete = true;
 
         // Check to see if we are now in a state where the screen should
         // be enabled, because the window obscured flags have changed.
         enableScreenIfNeededLocked();
+//        Slog.e(TAG, "performLayoutAndPlaceSurfacesLockedInner exit: mPendingLayoutChanges="
+//                + Integer.toHexString(mPendingLayoutChanges) + " mLayoutNeeded=" + mLayoutNeeded
+//                + " animating=" + mAnimator.mAnimating);
     }
 
     void checkDrawnWindowsLocked() {
@@ -9512,11 +9523,6 @@
         public void onHardKeyboardStatusChange(boolean available, boolean enabled);
     }
 
-    void notifyAnimationChangedLayout(final int pendingLayoutChanges) {
-        mPendingLayoutChanges |= pendingLayoutChanges;
-        requestTraversalLocked();
-    }
-
     void debugLayoutRepeats(final String msg, int pendingLayoutChanges) {
         if (mLayoutRepeatCount >= LAYOUT_REPEAT_THRESHOLD) {
             Slog.v(TAG, "Layouts looping: " + msg + ", mPendingLayoutChanges = 0x" +
diff --git a/services/java/com/android/server/wm/WindowStateAnimator.java b/services/java/com/android/server/wm/WindowStateAnimator.java
index 220f5e0..941a5e1 100644
--- a/services/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/java/com/android/server/wm/WindowStateAnimator.java
@@ -943,6 +943,10 @@
     }
 
     void setTransparentRegionHint(final Region region) {
+        if (mSurface == null) {
+            Slog.w(TAG, "setTransparentRegionHint: null mSurface after mHasSurface true");
+            return;
+        }
         if (SHOW_LIGHT_TRANSACTIONS) Slog.i(TAG,
             ">>> OPEN TRANSACTION setTransparentRegion");
         Surface.openTransaction();