Merge "Fix 3024522: Add "no lock screen" support to the framework."
diff --git a/Android.mk b/Android.mk
index 0fe1164..efa7d69 100644
--- a/Android.mk
+++ b/Android.mk
@@ -407,8 +407,6 @@
resources/samples/CubeLiveWallpaper "Live Wallpaper" \
-samplecode $(sample_dir)/Home \
resources/samples/Home "Home" \
- -samplecode $(sample_dir)/HeavyWeight \
- resources/samples/HeavyWeight "Heavy Weight App" \
-samplecode $(sample_dir)/JetBoy \
resources/samples/JetBoy "JetBoy" \
-samplecode $(sample_dir)/LunarLander \
diff --git a/core/java/android/app/TimePickerDialog.java b/core/java/android/app/TimePickerDialog.java
index 381143c..26af4eb 100644
--- a/core/java/android/app/TimePickerDialog.java
+++ b/core/java/android/app/TimePickerDialog.java
@@ -16,29 +16,26 @@
package android.app;
+import com.android.internal.R;
+
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Build;
import android.os.Bundle;
-import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
-import com.android.internal.R;
-
-import java.util.Calendar;
-
/**
* A dialog that prompts the user for the time of day using a {@link TimePicker}.
*
* <p>See the <a href="{@docRoot}resources/tutorials/views/hello-timepicker.html">Time Picker
* tutorial</a>.</p>
*/
-public class TimePickerDialog extends AlertDialog implements OnClickListener,
- OnTimeChangedListener {
+public class TimePickerDialog extends AlertDialog
+ implements OnClickListener, OnTimeChangedListener {
/**
* The callback interface used to indicate the user is done filling in
@@ -60,8 +57,6 @@
private final TimePicker mTimePicker;
private final OnTimeSetListener mCallback;
- private final Calendar mCalendar;
- private final java.text.DateFormat mDateFormat;
int mInitialHourOfDay;
int mInitialMinute;
@@ -102,14 +97,13 @@
mInitialMinute = minute;
mIs24HourView = is24HourView;
- mDateFormat = DateFormat.getTimeFormat(context);
- mCalendar = Calendar.getInstance();
- updateTitle(mInitialHourOfDay, mInitialMinute);
+ setCanceledOnTouchOutside(false);
+ setIcon(0);
+ setTitle(R.string.time_picker_dialog_title);
setButton(BUTTON_POSITIVE, context.getText(R.string.date_time_set), this);
setButton(BUTTON_NEGATIVE, context.getText(R.string.cancel),
(OnClickListener) null);
- setIcon(R.drawable.ic_dialog_time);
LayoutInflater inflater =
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -132,19 +126,13 @@
}
}
- public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
- updateTitle(hourOfDay, minute);
- }
-
public void updateTime(int hourOfDay, int minutOfHour) {
mTimePicker.setCurrentHour(hourOfDay);
mTimePicker.setCurrentMinute(minutOfHour);
}
- private void updateTitle(int hour, int minute) {
- mCalendar.set(Calendar.HOUR_OF_DAY, hour);
- mCalendar.set(Calendar.MINUTE, minute);
- setTitle(mDateFormat.format(mCalendar.getTime()));
+ public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
+ /* do nothing */
}
@Override
@@ -164,7 +152,5 @@
mTimePicker.setCurrentHour(hour);
mTimePicker.setCurrentMinute(minute);
mTimePicker.setIs24HourView(savedInstanceState.getBoolean(IS_24_HOUR));
- mTimePicker.setOnTimeChangedListener(this);
- updateTitle(hour, minute);
}
}
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index 4482b5b..0c298b0 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -18,80 +18,134 @@
import com.android.internal.R;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
import android.annotation.Widget;
import android.content.Context;
-import android.os.Handler;
+import android.content.res.ColorStateList;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.Paint.Align;
import android.text.InputFilter;
import android.text.InputType;
import android.text.Spanned;
+import android.text.TextUtils;
import android.text.method.NumberKeyListener;
import android.util.AttributeSet;
+import android.util.SparseArray;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
import android.view.View;
+import android.view.ViewConfiguration;
+import android.view.LayoutInflater.Filter;
+import android.view.animation.OvershootInterpolator;
+import android.view.inputmethod.InputMethodManager;
/**
- * A view for selecting a number
+ * A view for selecting a number For a dialog using this view, see
+ * {@link android.app.TimePickerDialog}.
*
- * For a dialog using this view, see {@link android.app.TimePickerDialog}.
* @hide
*/
@Widget
public class NumberPicker extends LinearLayout {
/**
- * The callback interface used to indicate the number value has been adjusted.
+ * The index of the middle selector item.
*/
- public interface OnChangedListener {
- /**
- * @param picker The NumberPicker associated with this listener.
- * @param oldVal The previous value.
- * @param newVal The new value.
- */
- void onChanged(NumberPicker picker, int oldVal, int newVal);
- }
+ private static final int SELECTOR_MIDDLE_ITEM_INDEX = 2;
/**
- * Interface used to format the number into a string for presentation
+ * The coefficient by which to adjust (divide) the max fling velocity.
*/
- public interface Formatter {
- String toString(int value);
- }
+ private static final int SELECTOR_MAX_FLING_VELOCITY_ADJUSTMENT = 8;
- /*
- * Use a custom NumberPicker formatting callback to use two-digit
- * minutes strings like "01". Keeping a static formatter etc. is the
- * most efficient way to do this; it avoids creating temporary objects
- * on every call to format().
+ /**
+ * The the duration for adjusting the selector wheel.
*/
- public static final NumberPicker.Formatter TWO_DIGIT_FORMATTER =
- new NumberPicker.Formatter() {
- final StringBuilder mBuilder = new StringBuilder();
- final java.util.Formatter mFmt = new java.util.Formatter(mBuilder);
- final Object[] mArgs = new Object[1];
- public String toString(int value) {
- mArgs[0] = value;
- mBuilder.delete(0, mBuilder.length());
- mFmt.format("%02d", mArgs);
- return mFmt.toString();
- }
- };
+ private static final int SELECTOR_ADJUSTMENT_DURATION_MILLIS = 800;
- private final Handler mHandler;
- private final Runnable mRunnable = new Runnable() {
- public void run() {
- if (mIncrement) {
- changeCurrent(mCurrent + 1);
- mHandler.postDelayed(this, mSpeed);
- } else if (mDecrement) {
- changeCurrent(mCurrent - 1);
- mHandler.postDelayed(this, mSpeed);
- }
+ /**
+ * The the delay for showing the input controls after a single tap on the
+ * input text.
+ */
+ private static final int SHOW_INPUT_CONTROLS_DELAY_MILLIS = ViewConfiguration
+ .getDoubleTapTimeout();
+
+ /**
+ * The update step for incrementing the current value.
+ */
+ private static final int UPDATE_STEP_INCREMENT = 1;
+
+ /**
+ * The update step for decrementing the current value.
+ */
+ private static final int UPDATE_STEP_DECREMENT = -1;
+
+ /**
+ * The strength of fading in the top and bottom while drawing the selector.
+ */
+ private static final float TOP_AND_BOTTOM_FADING_EDGE_STRENGTH = 0.9f;
+
+ /**
+ * The numbers accepted by the input text's {@link Filter}
+ */
+ private static final char[] DIGIT_CHARACTERS = new char[] {
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
+ };
+
+ /**
+ * Use a custom NumberPicker formatting callback to use two-digit minutes
+ * strings like "01". Keeping a static formatter etc. is the most efficient
+ * way to do this; it avoids creating temporary objects on every call to
+ * format().
+ */
+ public static final NumberPicker.Formatter TWO_DIGIT_FORMATTER = new NumberPicker.Formatter() {
+ final StringBuilder mBuilder = new StringBuilder();
+
+ final java.util.Formatter mFmt = new java.util.Formatter(mBuilder);
+
+ final Object[] mArgs = new Object[1];
+
+ public String toString(int value) {
+ mArgs[0] = value;
+ mBuilder.delete(0, mBuilder.length());
+ mFmt.format("%02d", mArgs);
+ return mFmt.toString();
}
};
- private final EditText mText;
- private final InputFilter mNumberInputFilter;
+ /**
+ * The increment button.
+ */
+ private final ImageButton mIncrementButton;
+ /**
+ * The decrement button.
+ */
+ private final ImageButton mDecrementButton;
+
+ /**
+ * The text for showing the current value.
+ */
+ private final EditText mInputText;
+
+ /**
+ * The height of the text.
+ */
+ private final int mTextSize;
+
+ /**
+ * The values to be displayed instead the indices.
+ */
private String[] mDisplayedValues;
/**
@@ -110,104 +164,466 @@
private int mCurrent;
/**
- * Previous value of this NumberPicker.
+ * Listener to be notified upon current value change.
*/
- private int mPrevious;
private OnChangedListener mListener;
- private Formatter mFormatter;
- private long mSpeed = 300;
-
- private boolean mIncrement;
- private boolean mDecrement;
/**
- * Create a new number picker
- * @param context the application environment
+ * Formatter for for displaying the current value.
*/
- public NumberPicker(Context context) {
- this(context, null);
+ private Formatter mFormatter;
+
+ /**
+ * The speed for updating the value form long press.
+ */
+ private long mLongPressUpdateSpeed = 300;
+
+ /**
+ * Cache for the string representation of selector indices.
+ */
+ private final SparseArray<String> mSelectorIndexToStringCache = new SparseArray<String>();
+
+ /**
+ * The selector indices whose value are show by the selector.
+ */
+ private final int[] mSelectorIndices = new int[] {
+ Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE,
+ Integer.MIN_VALUE
+ };
+
+ /**
+ * The {@link Paint} for drawing the selector.
+ */
+ private final Paint mSelectorPaint;
+
+ /**
+ * The height of a selector element (text + gap).
+ */
+ private int mSelectorElementHeight;
+
+ /**
+ * The initial offset of the scroll selector.
+ */
+ private int mInitialScrollOffset = Integer.MIN_VALUE;
+
+ /**
+ * The current offset of the scroll selector.
+ */
+ private int mCurrentScrollOffset;
+
+ /**
+ * The {@link Scroller} responsible for flinging the selector.
+ */
+ private final Scroller mFlingScroller;
+
+ /**
+ * The {@link Scroller} responsible for adjusting the selector.
+ */
+ private final Scroller mAdjustScroller;
+
+ /**
+ * The previous Y coordinate while scrolling the selector.
+ */
+ private int mPreviousScrollerY;
+
+ /**
+ * Handle to the reusable command for setting the input text selection.
+ */
+ private SetSelectionCommand mSetSelectionCommand;
+
+ /**
+ * Handle to the reusable command for adjusting the scroller.
+ */
+ private AdjustScrollerCommand mAdjustScrollerCommand;
+
+ /**
+ * Handle to the reusable command for updating the current value from long
+ * press.
+ */
+ private UpdateValueFromLongPressCommand mUpdateFromLongPressCommand;
+
+ /**
+ * {@link Animator} for showing the up/down arrows.
+ */
+ private final AnimatorSet mShowInputControlsAnimator;
+
+ /**
+ * The Y position of the last down event.
+ */
+ private float mLastDownEventY;
+
+ /**
+ * The Y position of the last motion event.
+ */
+ private float mLastMotionEventY;
+
+ /**
+ * Flag if to begin edit on next up event.
+ */
+ private boolean mBeginEditOnUpEvent;
+
+ /**
+ * Flag if to adjust the selector wheel on next up event.
+ */
+ private boolean mAdjustScrollerOnUpEvent;
+
+ /**
+ * Flag if to draw the selector wheel.
+ */
+ private boolean mDrawSelectorWheel;
+
+ /**
+ * Determines speed during touch scrolling.
+ */
+ private VelocityTracker mVelocityTracker;
+
+ /**
+ * @see ViewConfiguration#getScaledTouchSlop()
+ */
+ private int mTouchSlop;
+
+ /**
+ * @see ViewConfiguration#getScaledMinimumFlingVelocity()
+ */
+ private int mMinimumFlingVelocity;
+
+ /**
+ * @see ViewConfiguration#getScaledMaximumFlingVelocity()
+ */
+ private int mMaximumFlingVelocity;
+
+ /**
+ * Flag whether the selector should wrap around.
+ */
+ private boolean mWrapSelector;
+
+ /**
+ * The back ground color used to optimize scroller fading.
+ */
+ private final int mSolidColor;
+
+ /**
+ * Reusable {@link Rect} instance.
+ */
+ private final Rect mTempRect = new Rect();
+
+ /**
+ * The callback interface used to indicate the number value has changed.
+ */
+ public interface OnChangedListener {
+ /**
+ * @param picker The NumberPicker associated with this listener.
+ * @param oldVal The previous value.
+ * @param newVal The new value.
+ */
+ void onChanged(NumberPicker picker, int oldVal, int newVal);
+ }
+
+ /**
+ * Interface used to format the number into a string for presentation
+ */
+ public interface Formatter {
+ String toString(int value);
}
/**
* Create a new number picker
- * @param context the application environment
- * @param attrs a collection of attributes
+ *
+ * @param context The application environment.
+ * @param attrs A collection of attributes.
*/
public NumberPicker(Context context, AttributeSet attrs) {
- super(context, attrs);
- setOrientation(VERTICAL);
- LayoutInflater inflater =
- (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ this(context, attrs, R.attr.numberPickerStyle);
+ }
+
+ /**
+ * Create a new number picker
+ *
+ * @param context the application environment.
+ * @param attrs a collection of attributes.
+ * @param defStyle The default style to apply to this view.
+ */
+ public NumberPicker(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+
+ // process style attributes
+ TypedArray attributesArray = context.obtainStyledAttributes(attrs,
+ R.styleable.NumberPicker, defStyle, 0);
+ int orientation = attributesArray.getInt(R.styleable.NumberPicker_orientation, VERTICAL);
+ setOrientation(orientation);
+ mSolidColor = attributesArray.getColor(R.styleable.NumberPicker_solidColor, 0);
+ attributesArray.recycle();
+
+ // By default Linearlayout that we extend is not drawn. This is
+ // its draw() method is not called but dispatchDraw() is called
+ // directly (see ViewGroup.drawChild()). However, this class uses
+ // the fading edge effect implemented by View and we need our
+ // draw() method to be called. Therefore, we declare we will draw.
+ setWillNotDraw(false);
+ setDrawSelectorWheel(false);
+
+ LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(
+ Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.number_picker, this, true);
- mHandler = new Handler();
- OnClickListener clickListener = new OnClickListener() {
+ OnClickListener onClickListener = new OnClickListener() {
public void onClick(View v) {
- validateInput(mText);
- if (!mText.hasFocus()) mText.requestFocus();
-
- // now perform the increment/decrement
- if (R.id.increment == v.getId()) {
+ mInputText.clearFocus();
+ if (v.getId() == R.id.increment) {
changeCurrent(mCurrent + 1);
- } else if (R.id.decrement == v.getId()) {
+ } else {
changeCurrent(mCurrent - 1);
}
}
};
- OnFocusChangeListener focusListener = new OnFocusChangeListener() {
- public void onFocusChange(View v, boolean hasFocus) {
-
- /* When focus is lost check that the text field
- * has valid values.
- */
- if (!hasFocus) {
- validateInput(v);
- }
- }
- };
-
- OnLongClickListener longClickListener = new OnLongClickListener() {
- /**
- * We start the long click here but rely on the {@link NumberPickerButton}
- * to inform us when the long click has ended.
- */
+ OnLongClickListener onLongClickListener = new OnLongClickListener() {
public boolean onLongClick(View v) {
- /* The text view may still have focus so clear it's focus which will
- * trigger the on focus changed and any typed values to be pulled.
- */
- mText.clearFocus();
-
- if (R.id.increment == v.getId()) {
- mIncrement = true;
- mHandler.post(mRunnable);
- } else if (R.id.decrement == v.getId()) {
- mDecrement = true;
- mHandler.post(mRunnable);
+ mInputText.clearFocus();
+ if (v.getId() == R.id.increment) {
+ postUpdateValueFromLongPress(UPDATE_STEP_INCREMENT);
+ } else {
+ postUpdateValueFromLongPress(UPDATE_STEP_DECREMENT);
}
return true;
}
};
- InputFilter inputFilter = new NumberPickerInputFilter();
- mNumberInputFilter = new NumberRangeKeyListener();
- mIncrementButton = (NumberPickerButton) findViewById(R.id.increment);
- mIncrementButton.setOnClickListener(clickListener);
- mIncrementButton.setOnLongClickListener(longClickListener);
- mIncrementButton.setNumberPicker(this);
+ // increment button
+ mIncrementButton = (ImageButton) findViewById(R.id.increment);
+ mIncrementButton.setOnClickListener(onClickListener);
+ mIncrementButton.setOnLongClickListener(onLongClickListener);
- mDecrementButton = (NumberPickerButton) findViewById(R.id.decrement);
- mDecrementButton.setOnClickListener(clickListener);
- mDecrementButton.setOnLongClickListener(longClickListener);
- mDecrementButton.setNumberPicker(this);
+ // decrement button
+ mDecrementButton = (ImageButton) findViewById(R.id.decrement);
+ mDecrementButton.setOnClickListener(onClickListener);
+ mDecrementButton.setOnLongClickListener(onLongClickListener);
- mText = (EditText) findViewById(R.id.timepicker_input);
- mText.setOnFocusChangeListener(focusListener);
- mText.setFilters(new InputFilter[] {inputFilter});
- mText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
+ // input text
+ mInputText = (EditText) findViewById(R.id.timepicker_input);
+ mInputText.setOnFocusChangeListener(new OnFocusChangeListener() {
+ public void onFocusChange(View v, boolean hasFocus) {
+ if (!hasFocus) {
+ validateInputTextView(v);
+ }
+ }
+ });
+ mInputText.setFilters(new InputFilter[] {
+ new InputTextFilter()
+ });
- if (!isEnabled()) {
- setEnabled(false);
+ mInputText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
+
+ // initialize constants
+ mTouchSlop = ViewConfiguration.getTapTimeout();
+ ViewConfiguration configuration = ViewConfiguration.get(context);
+ mTouchSlop = configuration.getScaledTouchSlop();
+ mMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
+ mMaximumFlingVelocity = configuration.getScaledMaximumFlingVelocity()
+ / SELECTOR_MAX_FLING_VELOCITY_ADJUSTMENT;
+ mTextSize = (int) mInputText.getTextSize();
+
+ // create the selector wheel paint
+ Paint paint = new Paint();
+ paint.setAntiAlias(true);
+ paint.setTextAlign(Align.CENTER);
+ paint.setTextSize(mTextSize);
+ paint.setTypeface(mInputText.getTypeface());
+ ColorStateList colors = mInputText.getTextColors();
+ int color = colors.getColorForState(ENABLED_STATE_SET, Color.WHITE);
+ paint.setColor(color);
+ mSelectorPaint = paint;
+
+ // create the animator for showing the input controls
+ final ValueAnimator fadeScroller = ObjectAnimator.ofInt(this, "selectorPaintAlpha", 255, 0);
+ final ObjectAnimator showIncrementButton = ObjectAnimator.ofFloat(mIncrementButton,
+ "alpha", 0, 1);
+ final ObjectAnimator showDecrementButton = ObjectAnimator.ofFloat(mDecrementButton,
+ "alpha", 0, 1);
+ mShowInputControlsAnimator = new AnimatorSet();
+ mShowInputControlsAnimator.playTogether(fadeScroller, showIncrementButton,
+ showDecrementButton);
+ mShowInputControlsAnimator.setDuration(getResources().getInteger(
+ R.integer.config_longAnimTime));
+ mShowInputControlsAnimator.addListener(new AnimatorListenerAdapter() {
+ private boolean mCanceled = false;
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ if (!mCanceled) {
+ // if canceled => we still want the wheel drawn
+ setDrawSelectorWheel(false);
+ }
+ mCanceled = false;
+ mSelectorPaint.setAlpha(255);
+ invalidate();
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) {
+ if (mShowInputControlsAnimator.isRunning()) {
+ mCanceled = true;
+ }
+ }
+ });
+
+ // create the fling and adjust scrollers
+ mFlingScroller = new Scroller(getContext());
+ mAdjustScroller = new Scroller(getContext(), new OvershootInterpolator());
+
+ updateInputTextView();
+ updateIncrementAndDecrementButtonsVisibilityState();
+ }
+
+ @Override
+ public void onWindowFocusChanged(boolean hasWindowFocus) {
+ super.onWindowFocusChanged(hasWindowFocus);
+ if (!hasWindowFocus) {
+ removeAllCallbacks();
+ }
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(MotionEvent event) {
+ switch (event.getActionMasked()) {
+ case MotionEvent.ACTION_DOWN:
+ mLastMotionEventY = mLastDownEventY = event.getY();
+ removeAllCallbacks();
+ mBeginEditOnUpEvent = false;
+ mAdjustScrollerOnUpEvent = true;
+ if (mDrawSelectorWheel) {
+ mBeginEditOnUpEvent = mFlingScroller.isFinished()
+ && mAdjustScroller.isFinished();
+ mAdjustScrollerOnUpEvent = true;
+ mFlingScroller.forceFinished(true);
+ mAdjustScroller.forceFinished(true);
+ hideInputControls();
+ return true;
+ }
+ if (isEventInInputText(event)) {
+ mAdjustScrollerOnUpEvent = false;
+ setDrawSelectorWheel(true);
+ hideInputControls();
+ return true;
+ }
+ break;
+ case MotionEvent.ACTION_MOVE:
+ float currentMoveY = event.getY();
+ int deltaDownY = (int) Math.abs(currentMoveY - mLastDownEventY);
+ if (deltaDownY > mTouchSlop) {
+ mBeginEditOnUpEvent = false;
+ setDrawSelectorWheel(true);
+ hideInputControls();
+ return true;
+ }
+ break;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent ev) {
+ if (mVelocityTracker == null) {
+ mVelocityTracker = VelocityTracker.obtain();
+ }
+ mVelocityTracker.addMovement(ev);
+ int action = ev.getActionMasked();
+ switch (action) {
+ case MotionEvent.ACTION_MOVE:
+ float currentMoveY = ev.getY();
+ if (mBeginEditOnUpEvent) {
+ int deltaDownY = (int) Math.abs(currentMoveY - mLastDownEventY);
+ if (deltaDownY > mTouchSlop) {
+ mBeginEditOnUpEvent = false;
+ }
+ }
+ int deltaMoveY = (int) (currentMoveY - mLastMotionEventY);
+ scrollBy(0, deltaMoveY);
+ invalidate();
+ mLastMotionEventY = currentMoveY;
+ break;
+ case MotionEvent.ACTION_UP:
+ if (mBeginEditOnUpEvent) {
+ setDrawSelectorWheel(false);
+ showInputControls();
+ mInputText.requestFocus();
+ InputMethodManager imm = (InputMethodManager) getContext().getSystemService(
+ Context.INPUT_METHOD_SERVICE);
+ imm.showSoftInput(mInputText, 0);
+ return true;
+ }
+ VelocityTracker velocityTracker = mVelocityTracker;
+ velocityTracker.computeCurrentVelocity(1000, mMaximumFlingVelocity);
+ int initialVelocity = (int) velocityTracker.getYVelocity();
+ if (Math.abs(initialVelocity) > mMinimumFlingVelocity) {
+ fling(initialVelocity);
+ } else {
+ if (mAdjustScrollerOnUpEvent) {
+ if (mFlingScroller.isFinished() && mAdjustScroller.isFinished()) {
+ postAdjustScrollerCommand(0);
+ }
+ } else {
+ postAdjustScrollerCommand(SHOW_INPUT_CONTROLS_DELAY_MILLIS);
+ }
+ }
+ mVelocityTracker.recycle();
+ mVelocityTracker = null;
+ break;
+ }
+ return true;
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ int action = event.getActionMasked();
+ if ((action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP)
+ && !isEventInInputText(event)) {
+ removeAllCallbacks();
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event) {
+ int keyCode = event.getKeyCode();
+ if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER) {
+ removeAllCallbacks();
+ }
+ return super.dispatchKeyEvent(event);
+ }
+
+ @Override
+ public boolean dispatchTrackballEvent(MotionEvent event) {
+ int action = event.getActionMasked();
+ if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
+ removeAllCallbacks();
+ }
+ return super.dispatchTrackballEvent(event);
+ }
+
+ @Override
+ public void computeScroll() {
+ if (!mDrawSelectorWheel) {
+ return;
+ }
+ Scroller scroller = mFlingScroller;
+ if (scroller.isFinished()) {
+ scroller = mAdjustScroller;
+ if (scroller.isFinished()) {
+ return;
+ }
+ }
+ scroller.computeScrollOffset();
+ int currentScrollerY = scroller.getCurrY();
+ if (mPreviousScrollerY == 0) {
+ mPreviousScrollerY = scroller.getStartY();
+ }
+ scrollBy(0, currentScrollerY - mPreviousScrollerY);
+ mPreviousScrollerY = currentScrollerY;
+ if (scroller.isFinished()) {
+ onScrollerFinished(scroller);
+ } else {
+ invalidate();
}
}
@@ -222,11 +638,57 @@
super.setEnabled(enabled);
mIncrementButton.setEnabled(enabled);
mDecrementButton.setEnabled(enabled);
- mText.setEnabled(enabled);
+ mInputText.setEnabled(enabled);
+ }
+
+ /**
+ * Scrolls the selector with the given <code>vertical offset</code>.
+ */
+ @Override
+ public void scrollBy(int x, int y) {
+ int[] selectorIndices = getSelectorIndices();
+ if (mInitialScrollOffset == Integer.MIN_VALUE) {
+ int totalTextHeight = selectorIndices.length * mTextSize;
+ int totalTextGapHeight = (mBottom - mTop) - totalTextHeight;
+ int textGapCount = selectorIndices.length - 1;
+ int selectorTextGapHeight = totalTextGapHeight / textGapCount;
+ // compensate for integer division loss of the components used to
+ // calculate the text gap
+ int integerDivisionLoss = (mTextSize + mBottom - mTop) % textGapCount;
+ mInitialScrollOffset = mCurrentScrollOffset = mTextSize - integerDivisionLoss / 2;
+ mSelectorElementHeight = mTextSize + selectorTextGapHeight;
+ }
+
+ if (!mWrapSelector && y > 0 && selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] <= mStart) {
+ mCurrentScrollOffset = mInitialScrollOffset;
+ return;
+ }
+ if (!mWrapSelector && y < 0 && selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] >= mEnd) {
+ mCurrentScrollOffset = mInitialScrollOffset;
+ return;
+ }
+ mCurrentScrollOffset += y;
+ while (mCurrentScrollOffset - mInitialScrollOffset > mSelectorElementHeight) {
+ mCurrentScrollOffset -= mSelectorElementHeight;
+ decrementSelectorIndices(selectorIndices);
+ changeCurrent(selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX]);
+ if (selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] <= mStart) {
+ mCurrentScrollOffset = mInitialScrollOffset;
+ }
+ }
+ while (mCurrentScrollOffset - mInitialScrollOffset < -mSelectorElementHeight) {
+ mCurrentScrollOffset += mSelectorElementHeight;
+ incrementScrollSelectorIndices(selectorIndices);
+ changeCurrent(selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX]);
+ if (selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] >= mEnd) {
+ mCurrentScrollOffset = mInitialScrollOffset;
+ }
+ }
}
/**
* Set the callback that indicates the number has been adjusted by the user.
+ *
* @param listener the callback, should not be null.
*/
public void setOnChangeListener(OnChangedListener listener) {
@@ -235,281 +697,203 @@
/**
* Set the formatter that will be used to format the number for presentation
- * @param formatter the formatter object. If formatter is null, String.valueOf()
- * will be used
+ *
+ * @param formatter the formatter object. If formatter is null,
+ * String.valueOf() will be used
*/
public void setFormatter(Formatter formatter) {
mFormatter = formatter;
}
/**
- * Set the range of numbers allowed for the number picker. The current
- * value will be automatically set to the start.
+ * Set the range of numbers allowed for the number picker. The current value
+ * will be automatically set to the start.
*
* @param start the start of the range (inclusive)
* @param end the end of the range (inclusive)
*/
public void setRange(int start, int end) {
- setRange(start, end, null/*displayedValues*/);
+ setRange(start, end, null);
}
/**
- * Set the range of numbers allowed for the number picker. The current
- * value will be automatically set to the start. Also provide a mapping
- * for values used to display to the user.
+ * Set the range of numbers allowed for the number picker. The current value
+ * will be automatically set to the start. Also provide a mapping for values
+ * used to display to the user.
*
* @param start the start of the range (inclusive)
* @param end the end of the range (inclusive)
* @param displayedValues the values displayed to the user.
*/
public void setRange(int start, int end, String[] displayedValues) {
+ boolean wrapSelector = (end - start) >= mSelectorIndices.length;
+ setRange(start, end, displayedValues, wrapSelector);
+ }
+
+ /**
+ * Set the range of numbers allowed for the number picker. The current value
+ * will be automatically set to the start. Also provide a mapping for values
+ * used to display to the user.
+ *
+ * @param start the start of the range (inclusive)
+ * @param end the end of the range (inclusive)
+ * @param displayedValues the values displayed to the user.
+ */
+ public void setRange(int start, int end, String[] displayedValues, boolean wrapSelector) {
+ if (start < 0 || end < 0) {
+ throw new IllegalArgumentException("start and end must be > 0");
+ }
+
mDisplayedValues = displayedValues;
mStart = start;
mEnd = end;
mCurrent = start;
- updateView();
+
+ setWrapSelector(wrapSelector);
+ updateInputTextView();
if (displayedValues != null) {
// Allow text entry rather than strictly numeric entry.
- mText.setRawInputType(InputType.TYPE_CLASS_TEXT |
- InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
+ mInputText.setRawInputType(InputType.TYPE_CLASS_TEXT
+ | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
+ } else {
+ mInputText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
}
+
+ // make sure cached string representations are dropped
+ mSelectorIndexToStringCache.clear();
}
/**
* Set the current value for the number picker.
*
* @param current the current value the start of the range (inclusive)
- * @throws IllegalArgumentException when current is not within the range
- * of of the number picker
+ * @throws IllegalArgumentException when current is not within the range of
+ * of the number picker
*/
public void setCurrent(int current) {
if (current < mStart || current > mEnd) {
- throw new IllegalArgumentException(
- "current should be >= start and <= end");
+ throw new IllegalArgumentException("current should be >= start and <= end");
}
mCurrent = current;
- updateView();
+ updateInputTextView();
+ updateIncrementAndDecrementButtonsVisibilityState();
}
/**
- * Sets the speed at which the numbers will scroll when the +/-
- * buttons are longpressed
+ * Sets whether the selector shown during flinging/scrolling should wrap
+ * around the beginning and end values.
+ *
+ * @param wrapSelector Whether to wrap.
+ */
+ public void setWrapSelector(boolean wrapSelector) {
+ if (wrapSelector && (mEnd - mStart) < mSelectorIndices.length) {
+ throw new IllegalStateException("Range less than selector items count.");
+ }
+ if (wrapSelector != mWrapSelector) {
+ // force the selector indices array to be reinitialized
+ mSelectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] = Integer.MAX_VALUE;
+ mWrapSelector = wrapSelector;
+ }
+ }
+
+ /**
+ * Sets the speed at which the numbers will scroll when the +/- buttons are
+ * longpressed
*
* @param speed The speed (in milliseconds) at which the numbers will scroll
- * default 300ms
+ * default 300ms
*/
public void setSpeed(long speed) {
- mSpeed = speed;
- }
-
- private String formatNumber(int value) {
- return (mFormatter != null)
- ? mFormatter.toString(value)
- : String.valueOf(value);
- }
-
- /**
- * Sets the current value of this NumberPicker, and sets mPrevious to the previous
- * value. If current is greater than mEnd less than mStart, the value of mCurrent
- * is wrapped around.
- *
- * Subclasses can override this to change the wrapping behavior
- *
- * @param current the new value of the NumberPicker
- */
- protected void changeCurrent(int current) {
- // Wrap around the values if we go past the start or end
- if (current > mEnd) {
- current = mStart;
- } else if (current < mStart) {
- current = mEnd;
- }
- mPrevious = mCurrent;
- mCurrent = current;
- notifyChange();
- updateView();
- }
-
- /**
- * Notifies the listener, if registered, of a change of the value of this
- * NumberPicker.
- */
- private void notifyChange() {
- if (mListener != null) {
- mListener.onChanged(this, mPrevious, mCurrent);
- }
- }
-
- /**
- * Updates the view of this NumberPicker. If displayValues were specified
- * in {@link #setRange}, the string corresponding to the index specified by
- * the current value will be returned. Otherwise, the formatter specified
- * in {@link setFormatter} will be used to format the number.
- */
- private void updateView() {
- /* If we don't have displayed values then use the
- * current number else find the correct value in the
- * displayed values for the current number.
- */
- if (mDisplayedValues == null) {
- mText.setText(formatNumber(mCurrent));
- } else {
- mText.setText(mDisplayedValues[mCurrent - mStart]);
- }
- mText.setSelection(mText.getText().length());
- }
-
- private void validateCurrentView(CharSequence str) {
- int val = getSelectedPos(str.toString());
- if ((val >= mStart) && (val <= mEnd)) {
- if (mCurrent != val) {
- mPrevious = mCurrent;
- mCurrent = val;
- notifyChange();
- }
- }
- updateView();
- }
-
- private void validateInput(View v) {
- String str = String.valueOf(((TextView) v).getText());
- if ("".equals(str)) {
-
- // Restore to the old value as we don't allow empty values
- updateView();
- } else {
-
- // Check the new value and ensure it's in range
- validateCurrentView(str);
- }
- }
-
- /**
- * @hide
- */
- public void cancelIncrement() {
- mIncrement = false;
- }
-
- /**
- * @hide
- */
- public void cancelDecrement() {
- mDecrement = false;
- }
-
- private static final char[] DIGIT_CHARACTERS = new char[] {
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
- };
-
- private NumberPickerButton mIncrementButton;
- private NumberPickerButton mDecrementButton;
-
- private class NumberPickerInputFilter implements InputFilter {
- public CharSequence filter(CharSequence source, int start, int end,
- Spanned dest, int dstart, int dend) {
- if (mDisplayedValues == null) {
- return mNumberInputFilter.filter(source, start, end, dest, dstart, dend);
- }
- CharSequence filtered = String.valueOf(source.subSequence(start, end));
- String result = String.valueOf(dest.subSequence(0, dstart))
- + filtered
- + dest.subSequence(dend, dest.length());
- String str = String.valueOf(result).toLowerCase();
- for (String val : mDisplayedValues) {
- val = val.toLowerCase();
- if (val.startsWith(str)) {
- return filtered;
- }
- }
- return "";
- }
- }
-
- private class NumberRangeKeyListener extends NumberKeyListener {
-
- // XXX This doesn't allow for range limits when controlled by a
- // soft input method!
- public int getInputType() {
- return InputType.TYPE_CLASS_NUMBER;
- }
-
- @Override
- protected char[] getAcceptedChars() {
- return DIGIT_CHARACTERS;
- }
-
- @Override
- public CharSequence filter(CharSequence source, int start, int end,
- Spanned dest, int dstart, int dend) {
-
- CharSequence filtered = super.filter(source, start, end, dest, dstart, dend);
- if (filtered == null) {
- filtered = source.subSequence(start, end);
- }
-
- String result = String.valueOf(dest.subSequence(0, dstart))
- + filtered
- + dest.subSequence(dend, dest.length());
-
- if ("".equals(result)) {
- return result;
- }
- int val = getSelectedPos(result);
-
- /* Ensure the user can't type in a value greater
- * than the max allowed. We have to allow less than min
- * as the user might want to delete some numbers
- * and then type a new number.
- */
- if (val > mEnd) {
- return "";
- } else {
- return filtered;
- }
- }
- }
-
- private int getSelectedPos(String str) {
- if (mDisplayedValues == null) {
- try {
- return Integer.parseInt(str);
- } catch (NumberFormatException e) {
- /* Ignore as if it's not a number we don't care */
- }
- } else {
- for (int i = 0; i < mDisplayedValues.length; i++) {
- /* Don't force the user to type in jan when ja will do */
- str = str.toLowerCase();
- if (mDisplayedValues[i].toLowerCase().startsWith(str)) {
- return mStart + i;
- }
- }
-
- /* The user might have typed in a number into the month field i.e.
- * 10 instead of OCT so support that too.
- */
- try {
- return Integer.parseInt(str);
- } catch (NumberFormatException e) {
-
- /* Ignore as if it's not a number we don't care */
- }
- }
- return mStart;
+ mLongPressUpdateSpeed = speed;
}
/**
* Returns the current value of the NumberPicker
+ *
* @return the current value.
*/
public int getCurrent() {
return mCurrent;
}
+ @Override
+ public int getSolidColor() {
+ return mSolidColor;
+ }
+
+ @Override
+ protected float getTopFadingEdgeStrength() {
+ return TOP_AND_BOTTOM_FADING_EDGE_STRENGTH;
+ }
+
+ @Override
+ protected float getBottomFadingEdgeStrength() {
+ return TOP_AND_BOTTOM_FADING_EDGE_STRENGTH;
+ }
+
+ @Override
+ protected void onDetachedFromWindow() {
+ removeAllCallbacks();
+ }
+
+ @Override
+ protected void dispatchDraw(Canvas canvas) {
+ // There is a good reason for doing this. See comments in draw().
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ // Dispatch draw to our children only if we are not currently running
+ // the animation for simultaneously fading out the scroll wheel and
+ // showing in the buttons. This class takes advantage of the View
+ // implementation of fading edges effect to draw the selector wheel.
+ // However, in View.draw(), the fading is applied after all the children
+ // have been drawn and we do not want this fading to be applied to the
+ // buttons which are currently showing in. Therefore, we draw our
+ // children
+ // after we have completed drawing ourselves.
+
+ // Draw the selector wheel if needed
+ if (mDrawSelectorWheel) {
+ super.draw(canvas);
+ }
+
+ // Draw our children if we are not showing the selector wheel of fading
+ // it out
+ if (mShowInputControlsAnimator.isRunning() || !mDrawSelectorWheel) {
+ long drawTime = getDrawingTime();
+ for (int i = 0, count = getChildCount(); i < count; i++) {
+ View child = getChildAt(i);
+ if (!child.isShown()) {
+ continue;
+ }
+ drawChild(canvas, getChildAt(i), drawTime);
+ }
+ }
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ // we only draw the selector wheel
+ if (!mDrawSelectorWheel) {
+ return;
+ }
+ float x = (mRight - mLeft) / 2;
+ float y = mCurrentScrollOffset;
+
+ int[] selectorIndices = getSelectorIndices();
+ for (int i = 0; i < selectorIndices.length; i++) {
+ int selectorIndex = selectorIndices[i];
+ String scrollSelectorValue = mSelectorIndexToStringCache.get(selectorIndex);
+ canvas.drawText(scrollSelectorValue, x, y, mSelectorPaint);
+ y += mSelectorElementHeight;
+ }
+ }
+
/**
* Returns the upper value of the range of the NumberPicker
+ *
* @return the uppper number of the range.
*/
protected int getEndRange() {
@@ -518,9 +902,473 @@
/**
* Returns the lower value of the range of the NumberPicker
+ *
* @return the lower number of the range.
*/
protected int getBeginRange() {
return mStart;
}
+
+ /**
+ * Sets the current value of this NumberPicker, and sets mPrevious to the
+ * previous value. If current is greater than mEnd less than mStart, the
+ * value of mCurrent is wrapped around. Subclasses can override this to
+ * change the wrapping behavior
+ *
+ * @param current the new value of the NumberPicker
+ */
+ private void changeCurrent(int current) {
+ if (mCurrent == current) {
+ return;
+ }
+ // Wrap around the values if we go past the start or end
+ if (mWrapSelector) {
+ current = getWrappedSelectorIndex(current);
+ }
+ int previous = mCurrent;
+ setCurrent(current);
+ notifyChange(previous, current);
+ }
+
+ /**
+ * Sets the <code>alpha</code> of the {@link Paint} for drawing the selector
+ * wheel.
+ */
+ @SuppressWarnings("unused")
+ // Called by ShowInputControlsAnimator via reflection
+ private void setSelectorPaintAlpha(int alpha) {
+ mSelectorPaint.setAlpha(alpha);
+ if (mDrawSelectorWheel) {
+ invalidate();
+ }
+ }
+
+ /**
+ * @return If the <code>event</code> is in the input text.
+ */
+ private boolean isEventInInputText(MotionEvent event) {
+ mInputText.getHitRect(mTempRect);
+ return mTempRect.contains((int) event.getX(), (int) event.getY());
+ }
+
+ /**
+ * Sets if to <code>drawSelectionWheel</code>.
+ */
+ private void setDrawSelectorWheel(boolean drawSelectorWheel) {
+ mDrawSelectorWheel = drawSelectorWheel;
+ // do not fade if the selector wheel not shown
+ setVerticalFadingEdgeEnabled(drawSelectorWheel);
+ }
+
+ /**
+ * Callback invoked upon completion of a given <code>scroller</code>.
+ */
+ private void onScrollerFinished(Scroller scroller) {
+ if (scroller == mFlingScroller) {
+ postAdjustScrollerCommand(0);
+ } else {
+ showInputControls();
+ updateInputTextView();
+ }
+ }
+
+ /**
+ * Flings the selector with the given <code>velocityY</code>.
+ */
+ private void fling(int velocityY) {
+ mPreviousScrollerY = 0;
+ Scroller flingScroller = mFlingScroller;
+
+ if (mWrapSelector) {
+ if (velocityY > 0) {
+ flingScroller.fling(0, 0, 0, velocityY, 0, 0, 0, Integer.MAX_VALUE);
+ } else {
+ flingScroller.fling(0, Integer.MAX_VALUE, 0, velocityY, 0, 0, 0, Integer.MAX_VALUE);
+ }
+ } else {
+ if (velocityY > 0) {
+ int maxY = mTextSize * (mCurrent - mStart);
+ flingScroller.fling(0, 0, 0, velocityY, 0, 0, 0, maxY);
+ } else {
+ int startY = mTextSize * (mEnd - mCurrent);
+ int maxY = startY;
+ flingScroller.fling(0, startY, 0, velocityY, 0, 0, 0, maxY);
+ }
+ }
+
+ postAdjustScrollerCommand(flingScroller.getDuration());
+ invalidate();
+ }
+
+ /**
+ * Hides the input controls which is the up/down arrows and the text field.
+ */
+ private void hideInputControls() {
+ mShowInputControlsAnimator.cancel();
+ mIncrementButton.setVisibility(INVISIBLE);
+ mDecrementButton.setVisibility(INVISIBLE);
+ mInputText.setVisibility(INVISIBLE);
+ }
+
+ /**
+ * Show the input controls by making them visible and animating the alpha
+ * property up/down arrows.
+ */
+ private void showInputControls() {
+ updateIncrementAndDecrementButtonsVisibilityState();
+ mInputText.setVisibility(VISIBLE);
+ mShowInputControlsAnimator.start();
+ }
+
+ /**
+ * Updates the visibility state of the increment and decrement buttons.
+ */
+ private void updateIncrementAndDecrementButtonsVisibilityState() {
+ if (mWrapSelector || mCurrent < mEnd) {
+ mIncrementButton.setVisibility(VISIBLE);
+ } else {
+ mIncrementButton.setVisibility(INVISIBLE);
+ }
+ if (mWrapSelector || mCurrent > mStart) {
+ mDecrementButton.setVisibility(VISIBLE);
+ } else {
+ mDecrementButton.setVisibility(INVISIBLE);
+ }
+ }
+
+ /**
+ * @return The selector indices array with proper values with the current as
+ * the middle one.
+ */
+ private int[] getSelectorIndices() {
+ int current = getCurrent();
+ if (mSelectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] != current) {
+ for (int i = 0; i < mSelectorIndices.length; i++) {
+ int selectorIndex = current + (i - SELECTOR_MIDDLE_ITEM_INDEX);
+ if (mWrapSelector) {
+ selectorIndex = getWrappedSelectorIndex(selectorIndex);
+ }
+ mSelectorIndices[i] = selectorIndex;
+ ensureCachedScrollSelectorValue(mSelectorIndices[i]);
+ }
+ }
+ return mSelectorIndices;
+ }
+
+ /**
+ * @return The wrapped index <code>selectorIndex</code> value.
+ * <p>
+ * Note: The absolute value of the argument is never larger than
+ * mEnd - mStart.
+ * </p>
+ */
+ private int getWrappedSelectorIndex(int selectorIndex) {
+ if (selectorIndex > mEnd) {
+ return (Math.abs(selectorIndex) - mEnd);
+ } else if (selectorIndex < mStart) {
+ return (mEnd - Math.abs(selectorIndex));
+ }
+ return selectorIndex;
+ }
+
+ /**
+ * Increments the <code>selectorIndices</code> whose string representations
+ * will be displayed in the selector.
+ */
+ private void incrementScrollSelectorIndices(int[] selectorIndices) {
+ for (int i = 0; i < selectorIndices.length - 1; i++) {
+ selectorIndices[i] = selectorIndices[i + 1];
+ }
+ int nextScrollSelectorIndex = selectorIndices[selectorIndices.length - 2] + 1;
+ if (mWrapSelector && nextScrollSelectorIndex > mEnd) {
+ nextScrollSelectorIndex = mStart;
+ }
+ selectorIndices[selectorIndices.length - 1] = nextScrollSelectorIndex;
+ ensureCachedScrollSelectorValue(nextScrollSelectorIndex);
+ }
+
+ /**
+ * Decrements the <code>selectorIndices</code> whose string representations
+ * will be displayed in the selector.
+ */
+ private void decrementSelectorIndices(int[] selectorIndices) {
+ for (int i = selectorIndices.length - 1; i > 0; i--) {
+ selectorIndices[i] = selectorIndices[i - 1];
+ }
+ int nextScrollSelectorIndex = selectorIndices[1] - 1;
+ if (mWrapSelector && nextScrollSelectorIndex < mStart) {
+ nextScrollSelectorIndex = mEnd;
+ }
+ selectorIndices[0] = nextScrollSelectorIndex;
+ ensureCachedScrollSelectorValue(nextScrollSelectorIndex);
+ }
+
+ /**
+ * Ensures we have a cached string representation of the given <code>
+ * selectorIndex</code>
+ * to avoid multiple instantiations of the same string.
+ */
+ private void ensureCachedScrollSelectorValue(int selectorIndex) {
+ SparseArray<String> cache = mSelectorIndexToStringCache;
+ String scrollSelectorValue = cache.get(selectorIndex);
+ if (scrollSelectorValue != null) {
+ return;
+ }
+ if (selectorIndex < mStart || selectorIndex > mEnd) {
+ scrollSelectorValue = "";
+ } else {
+ if (mDisplayedValues != null) {
+ scrollSelectorValue = mDisplayedValues[selectorIndex];
+ } else {
+ scrollSelectorValue = formatNumber(selectorIndex);
+ }
+ }
+ cache.put(selectorIndex, scrollSelectorValue);
+ }
+
+ private String formatNumber(int value) {
+ return (mFormatter != null) ? mFormatter.toString(value) : String.valueOf(value);
+ }
+
+ private void validateInputTextView(View v) {
+ String str = String.valueOf(((TextView) v).getText());
+ if (TextUtils.isEmpty(str)) {
+ // Restore to the old value as we don't allow empty values
+ updateInputTextView();
+ } else {
+ // Check the new value and ensure it's in range
+ int current = getSelectedPos(str.toString());
+ changeCurrent(current);
+ }
+ }
+
+ /**
+ * Updates the view of this NumberPicker. If displayValues were specified in
+ * {@link #setRange}, the string corresponding to the index specified by the
+ * current value will be returned. Otherwise, the formatter specified in
+ * {@link #setFormatter} will be used to format the number.
+ */
+ private void updateInputTextView() {
+ /*
+ * If we don't have displayed values then use the current number else
+ * find the correct value in the displayed values for the current
+ * number.
+ */
+ if (mDisplayedValues == null) {
+ mInputText.setText(formatNumber(mCurrent));
+ } else {
+ mInputText.setText(mDisplayedValues[mCurrent - mStart]);
+ }
+ mInputText.setSelection(mInputText.getText().length());
+ }
+
+ /**
+ * Notifies the listener, if registered, of a change of the value of this
+ * NumberPicker.
+ */
+ private void notifyChange(int previous, int current) {
+ if (mListener != null) {
+ mListener.onChanged(this, previous, mCurrent);
+ }
+ }
+
+ /**
+ * Posts a command for updating the current value every <code>updateMillis
+ * </code>.
+ */
+ private void postUpdateValueFromLongPress(int updateMillis) {
+ mInputText.clearFocus();
+ removeAllCallbacks();
+ if (mUpdateFromLongPressCommand == null) {
+ mUpdateFromLongPressCommand = new UpdateValueFromLongPressCommand();
+ }
+ mUpdateFromLongPressCommand.setUpdateStep(updateMillis);
+ post(mUpdateFromLongPressCommand);
+ }
+
+ /**
+ * Removes all pending callback from the message queue.
+ */
+ private void removeAllCallbacks() {
+ if (mUpdateFromLongPressCommand != null) {
+ removeCallbacks(mUpdateFromLongPressCommand);
+ }
+ if (mAdjustScrollerCommand != null) {
+ removeCallbacks(mAdjustScrollerCommand);
+ }
+ if (mSetSelectionCommand != null) {
+ removeCallbacks(mSetSelectionCommand);
+ }
+ }
+
+ /**
+ * @return The selected index given its displayed <code>value</code>.
+ */
+ private int getSelectedPos(String value) {
+ if (mDisplayedValues == null) {
+ try {
+ return Integer.parseInt(value);
+ } catch (NumberFormatException e) {
+ // Ignore as if it's not a number we don't care
+ }
+ } else {
+ for (int i = 0; i < mDisplayedValues.length; i++) {
+ // Don't force the user to type in jan when ja will do
+ value = value.toLowerCase();
+ if (mDisplayedValues[i].toLowerCase().startsWith(value)) {
+ return mStart + i;
+ }
+ }
+
+ /*
+ * The user might have typed in a number into the month field i.e.
+ * 10 instead of OCT so support that too.
+ */
+ try {
+ return Integer.parseInt(value);
+ } catch (NumberFormatException e) {
+
+ // Ignore as if it's not a number we don't care
+ }
+ }
+ return mStart;
+ }
+
+ /**
+ * Posts an {@link SetSelectionCommand} from the given <code>selectionStart
+ * </code> to
+ * <code>selectionEnd</code>.
+ */
+ private void postSetSelectionCommand(int selectionStart, int selectionEnd) {
+ if (mSetSelectionCommand == null) {
+ mSetSelectionCommand = new SetSelectionCommand();
+ } else {
+ removeCallbacks(mSetSelectionCommand);
+ }
+ mSetSelectionCommand.mSelectionStart = selectionStart;
+ mSetSelectionCommand.mSelectionEnd = selectionEnd;
+ post(mSetSelectionCommand);
+ }
+
+ /**
+ * Posts an {@link AdjustScrollerCommand} within the given <code>
+ * delayMillis</code>
+ * .
+ */
+ private void postAdjustScrollerCommand(int delayMillis) {
+ if (mAdjustScrollerCommand == null) {
+ mAdjustScrollerCommand = new AdjustScrollerCommand();
+ } else {
+ removeCallbacks(mAdjustScrollerCommand);
+ }
+ postDelayed(mAdjustScrollerCommand, delayMillis);
+ }
+
+ /**
+ * Filter for accepting only valid indices or prefixes of the string
+ * representation of valid indices.
+ */
+ class InputTextFilter extends NumberKeyListener {
+
+ // XXX This doesn't allow for range limits when controlled by a
+ // soft input method!
+ public int getInputType() {
+ return InputType.TYPE_CLASS_TEXT;
+ }
+
+ @Override
+ protected char[] getAcceptedChars() {
+ return DIGIT_CHARACTERS;
+ }
+
+ @Override
+ public CharSequence filter(CharSequence source, int start, int end, Spanned dest,
+ int dstart, int dend) {
+ if (mDisplayedValues == null) {
+ CharSequence filtered = super.filter(source, start, end, dest, dstart, dend);
+ if (filtered == null) {
+ filtered = source.subSequence(start, end);
+ }
+
+ String result = String.valueOf(dest.subSequence(0, dstart)) + filtered
+ + dest.subSequence(dend, dest.length());
+
+ if ("".equals(result)) {
+ return result;
+ }
+ int val = getSelectedPos(result);
+
+ /*
+ * Ensure the user can't type in a value greater than the max
+ * allowed. We have to allow less than min as the user might
+ * want to delete some numbers and then type a new number.
+ */
+ if (val > mEnd) {
+ return "";
+ } else {
+ return filtered;
+ }
+ } else {
+ CharSequence filtered = String.valueOf(source.subSequence(start, end));
+ if (TextUtils.isEmpty(filtered)) {
+ return "";
+ }
+ String result = String.valueOf(dest.subSequence(0, dstart)) + filtered
+ + dest.subSequence(dend, dest.length());
+ String str = String.valueOf(result).toLowerCase();
+ for (String val : mDisplayedValues) {
+ String valLowerCase = val.toLowerCase();
+ if (valLowerCase.startsWith(str)) {
+ postSetSelectionCommand(result.length(), val.length());
+ return val.subSequence(dstart, val.length());
+ }
+ }
+ return "";
+ }
+ }
+ }
+
+ /**
+ * Command for setting the input text selection.
+ */
+ class SetSelectionCommand implements Runnable {
+ private int mSelectionStart;
+
+ private int mSelectionEnd;
+
+ public void run() {
+ mInputText.setSelection(mSelectionStart, mSelectionEnd);
+ }
+ }
+
+ /**
+ * Command for adjusting the scroller to show in its center the closest of
+ * the displayed items.
+ */
+ class AdjustScrollerCommand implements Runnable {
+ public void run() {
+ mPreviousScrollerY = 0;
+ int deltaY = mInitialScrollOffset - mCurrentScrollOffset;
+ float delayCoef = (float) Math.abs(deltaY) / (float) mTextSize;
+ int duration = (int) (delayCoef * SELECTOR_ADJUSTMENT_DURATION_MILLIS);
+ mAdjustScroller.startScroll(0, 0, 0, deltaY, duration);
+ invalidate();
+ }
+ }
+
+ /**
+ * Command for updating the current value from a long press.
+ */
+ class UpdateValueFromLongPressCommand implements Runnable {
+ private int mUpdateStep = 0;
+
+ private void setUpdateStep(int updateStep) {
+ mUpdateStep = updateStep;
+ }
+
+ public void run() {
+ changeCurrent(mCurrent + mUpdateStep);
+ postDelayed(this, mLongPressUpdateSpeed);
+ }
+ }
}
diff --git a/core/java/android/widget/NumberPickerButton.java b/core/java/android/widget/NumberPickerButton.java
deleted file mode 100644
index 292b668..0000000
--- a/core/java/android/widget/NumberPickerButton.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.widget;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-import android.widget.ImageButton;
-import android.widget.NumberPicker;
-
-import com.android.internal.R;
-
-/**
- * This class exists purely to cancel long click events, that got
- * started in NumberPicker
- */
-class NumberPickerButton extends ImageButton {
-
- private NumberPicker mNumberPicker;
-
- public NumberPickerButton(Context context, AttributeSet attrs,
- int defStyle) {
- super(context, attrs, defStyle);
- }
-
- public NumberPickerButton(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public NumberPickerButton(Context context) {
- super(context);
- }
-
- public void setNumberPicker(NumberPicker picker) {
- mNumberPicker = picker;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- cancelLongpressIfRequired(event);
- return super.onTouchEvent(event);
- }
-
- @Override
- public boolean onTrackballEvent(MotionEvent event) {
- cancelLongpressIfRequired(event);
- return super.onTrackballEvent(event);
- }
-
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- if ((keyCode == KeyEvent.KEYCODE_DPAD_CENTER)
- || (keyCode == KeyEvent.KEYCODE_ENTER)) {
- cancelLongpress();
- }
- return super.onKeyUp(keyCode, event);
- }
-
- private void cancelLongpressIfRequired(MotionEvent event) {
- if ((event.getAction() == MotionEvent.ACTION_CANCEL)
- || (event.getAction() == MotionEvent.ACTION_UP)) {
- cancelLongpress();
- }
- }
-
- private void cancelLongpress() {
- if (R.id.increment == getId()) {
- mNumberPicker.cancelIncrement();
- } else if (R.id.decrement == getId()) {
- mNumberPicker.cancelDecrement();
- }
- }
-
- public void onWindowFocusChanged(boolean hasWindowFocus) {
- super.onWindowFocusChanged(hasWindowFocus);
- if (!hasWindowFocus) {
- cancelLongpress();
- }
- }
-
-}
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 75ba704..d164d11 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -9061,6 +9061,7 @@
return mInBatchEditControllers;
}
+ @ViewDebug.ExportedProperty(category = "text")
private CharSequence mText;
private CharSequence mTransformed;
private BufferType mBufferType = BufferType.NORMAL;
diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java
index e61fac3..6cf1387 100644
--- a/core/java/android/widget/TimePicker.java
+++ b/core/java/android/widget/TimePicker.java
@@ -16,6 +16,8 @@
package android.widget;
+import com.android.internal.R;
+
import android.annotation.Widget;
import android.content.Context;
import android.os.Parcel;
@@ -23,9 +25,7 @@
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
-import android.widget.NumberPicker;
-
-import com.android.internal.R;
+import android.widget.NumberPicker.OnChangedListener;
import java.text.DateFormatSymbols;
import java.util.Calendar;
@@ -51,7 +51,7 @@
*/
@Widget
public class TimePicker extends FrameLayout {
-
+
/**
* A no-op callback used in the constructor to avoid null checks
* later in the code.
@@ -70,10 +70,11 @@
// ui components
private final NumberPicker mHourPicker;
private final NumberPicker mMinutePicker;
- private final Button mAmPmButton;
- private final String mAmText;
- private final String mPmText;
-
+ private final NumberPicker mAmPmPicker;
+ private final TextView mDivider;
+
+ private final String[] mAmPmStrings;
+
// callbacks
private OnTimeChangedListener mOnTimeChangedListener;
@@ -127,6 +128,10 @@
}
});
+ // divider
+ mDivider = (TextView) findViewById(R.id.divider);
+ mDivider.setText(R.string.time_picker_separator);
+
// digits of minute
mMinutePicker = (NumberPicker) findViewById(R.id.minute);
mMinutePicker.setRange(0, 59);
@@ -140,7 +145,28 @@
});
// am/pm
- mAmPmButton = (Button) findViewById(R.id.amPm);
+ mAmPmPicker = (NumberPicker) findViewById(R.id.amPm);
+ mAmPmPicker.setOnChangeListener(new OnChangedListener() {
+ public void onChanged(NumberPicker picker, int oldVal, int newVal) {
+ picker.requestFocus();
+ if (mIsAm) {
+ // Currently AM switching to PM
+ if (mCurrentHour < 12) {
+ mCurrentHour += 12;
+ }
+ } else {
+ // Currently PM switching to AM
+ if (mCurrentHour >= 12) {
+ mCurrentHour -= 12;
+ }
+ }
+ mIsAm = !mIsAm;
+ onTimeChanged();
+ }
+ });
+
+ /* Get the localized am/pm strings and use them in the spinner */
+ mAmPmStrings = new DateFormatSymbols().getAmPmStrings();
// now that the hour/minute picker objects have been initialized, set
// the hour range properly based on the 12/24 hour display mode.
@@ -149,41 +175,11 @@
// initialize to current time
Calendar cal = Calendar.getInstance();
setOnTimeChangedListener(NO_OP_CHANGE_LISTENER);
-
+
// by default we're not in 24 hour mode
setCurrentHour(cal.get(Calendar.HOUR_OF_DAY));
setCurrentMinute(cal.get(Calendar.MINUTE));
-
- mIsAm = (mCurrentHour < 12);
-
- /* Get the localized am/pm strings and use them in the spinner */
- DateFormatSymbols dfs = new DateFormatSymbols();
- String[] dfsAmPm = dfs.getAmPmStrings();
- mAmText = dfsAmPm[Calendar.AM];
- mPmText = dfsAmPm[Calendar.PM];
- mAmPmButton.setText(mIsAm ? mAmText : mPmText);
- mAmPmButton.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- requestFocus();
- if (mIsAm) {
-
- // Currently AM switching to PM
- if (mCurrentHour < 12) {
- mCurrentHour += 12;
- }
- } else {
-
- // Currently PM switching to AM
- if (mCurrentHour >= 12) {
- mCurrentHour -= 12;
- }
- }
- mIsAm = !mIsAm;
- mAmPmButton.setText(mIsAm ? mAmText : mPmText);
- onTimeChanged();
- }
- });
-
+
if (!isEnabled()) {
setEnabled(false);
}
@@ -194,7 +190,7 @@
super.setEnabled(enabled);
mMinutePicker.setEnabled(enabled);
mHourPicker.setEnabled(enabled);
- mAmPmButton.setEnabled(enabled);
+ mAmPmPicker.setEnabled(enabled);
}
/**
@@ -327,12 +323,15 @@
int currentHour = mCurrentHour;
if (!mIs24HourView) {
// convert [0,23] ordinal to wall clock display
- if (currentHour > 12) currentHour -= 12;
- else if (currentHour == 0) currentHour = 12;
+ if (currentHour > 12) {
+ currentHour -= 12;
+ } else if (currentHour == 0) {
+ currentHour = 12;
+ }
}
mHourPicker.setCurrent(currentHour);
mIsAm = mCurrentHour < 12;
- mAmPmButton.setText(mIsAm ? mAmText : mPmText);
+ mAmPmPicker.setCurrent(mIsAm ? Calendar.AM : Calendar.PM);
onTimeChanged();
}
@@ -340,16 +339,19 @@
if (mIs24HourView) {
mHourPicker.setRange(0, 23);
mHourPicker.setFormatter(NumberPicker.TWO_DIGIT_FORMATTER);
- mAmPmButton.setVisibility(View.GONE);
+ mAmPmPicker.setVisibility(View.GONE);
} else {
mHourPicker.setRange(1, 12);
mHourPicker.setFormatter(null);
- mAmPmButton.setVisibility(View.VISIBLE);
+ mAmPmPicker.setVisibility(View.VISIBLE);
+ mAmPmPicker.setRange(0, 1, mAmPmStrings);
}
}
private void onTimeChanged() {
- mOnTimeChangedListener.onTimeChanged(this, getCurrentHour(), getCurrentMinute());
+ if (mOnTimeChangedListener != null) {
+ mOnTimeChangedListener.onTimeChanged(this, getCurrentHour(), getCurrentMinute());
+ }
}
/**
@@ -357,6 +359,6 @@
*/
private void updateMinuteDisplay() {
mMinutePicker.setCurrent(mCurrentMinute);
- mOnTimeChangedListener.onTimeChanged(this, getCurrentHour(), getCurrentMinute());
+ onTimeChanged();
}
}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index ddc63dd..2de8590 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -60,7 +60,7 @@
<protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
<protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
<protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
-
+
<protected-broadcast android:name="android.backup.intent.RUN" />
<protected-broadcast android:name="android.backup.intent.CLEAR" />
<protected-broadcast android:name="android.backup.intent.INIT" />
@@ -1278,7 +1278,7 @@
android:description="@string/permlab_copyProtectedData"
android:protectionLevel="signature" />
- <!-- C2DM permission.
+ <!-- C2DM permission.
@hide Used internally.
-->
<permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
@@ -1332,6 +1332,7 @@
</activity>
<activity android:name="android.accounts.GrantCredentialsPermissionActivity"
+ android:permission="android.permission.ACCOUNT_MANAGER"
android:excludeFromRecents="true"
android:exported="true">
</activity>
diff --git a/core/res/res/drawable/timepicker_down_btn.xml b/core/res/res/drawable/timepicker_down_btn.xml
index 61a252a..d4908cb 100644
--- a/core/res/res/drawable/timepicker_down_btn.xml
+++ b/core/res/res/drawable/timepicker_down_btn.xml
@@ -16,15 +16,28 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="false" android:state_enabled="true"
- android:state_focused="false" android:drawable="@drawable/timepicker_down_normal" />
- <item android:state_pressed="true" android:state_enabled="true"
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_down_normal" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
android:drawable="@drawable/timepicker_down_pressed" />
- <item android:state_pressed="false" android:state_enabled="true"
- android:state_focused="true" android:drawable="@drawable/timepicker_down_selected" />
- <item android:state_pressed="false" android:state_enabled="false"
- android:state_focused="false" android:drawable="@drawable/timepicker_down_disabled" />
- <item android:state_pressed="false" android:state_enabled="false"
- android:state_focused="true" android:drawable="@drawable/timepicker_down_disabled_focused" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_down_selected" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_down_disabled" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_down_disabled_focused" />
</selector>
diff --git a/core/res/res/drawable/timepicker_down_btn_holo_dark.xml b/core/res/res/drawable/timepicker_down_btn_holo_dark.xml
new file mode 100644
index 0000000..b4b824d
--- /dev/null
+++ b/core/res/res/drawable/timepicker_down_btn_holo_dark.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_down_normal_holo_dark" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
+ android:drawable="@drawable/timepicker_down_pressed_holo_dark" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_down_focused_holo_dark" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_down_disabled_holo_dark" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_down_disabled_focused_holo_dark" />
+
+</selector>
diff --git a/core/res/res/drawable/timepicker_down_btn_holo_light.xml b/core/res/res/drawable/timepicker_down_btn_holo_light.xml
new file mode 100644
index 0000000..7ae5e53
--- /dev/null
+++ b/core/res/res/drawable/timepicker_down_btn_holo_light.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_down_normal_holo_light" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
+ android:drawable="@drawable/timepicker_down_pressed_holo_light" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_down_focused_holo_light" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_down_disabled_holo_light" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_down_disabled_focused_holo_light" />
+
+</selector>
diff --git a/core/res/res/drawable/timepicker_input.xml b/core/res/res/drawable/timepicker_input.xml
index b811d4e3..17686738 100644
--- a/core/res/res/drawable/timepicker_input.xml
+++ b/core/res/res/drawable/timepicker_input.xml
@@ -16,15 +16,28 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="false" android:state_enabled="true"
- android:state_focused="false" android:drawable="@drawable/timepicker_input_normal" />
- <item android:state_pressed="true" android:state_enabled="true"
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_input_normal" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
android:drawable="@drawable/timepicker_input_pressed" />
- <item android:state_pressed="false" android:state_enabled="true"
- android:state_focused="true" android:drawable="@drawable/timepicker_input_selected" />
- <item android:state_pressed="false" android:state_enabled="false"
- android:state_focused="false" android:drawable="@drawable/timepicker_input_disabled" />
- <item android:state_pressed="false" android:state_enabled="false"
- android:state_focused="true" android:drawable="@drawable/timepicker_input_normal" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_input_selected" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_input_disabled" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_input_normal" />
</selector>
diff --git a/core/res/res/drawable/timepicker_up_btn.xml b/core/res/res/drawable/timepicker_up_btn.xml
index 5428aee..fbaed08 100644
--- a/core/res/res/drawable/timepicker_up_btn.xml
+++ b/core/res/res/drawable/timepicker_up_btn.xml
@@ -16,15 +16,28 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="false" android:state_enabled="true"
- android:state_focused="false" android:drawable="@drawable/timepicker_up_normal" />
- <item android:state_pressed="true" android:state_enabled="true"
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_up_normal" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
android:drawable="@drawable/timepicker_up_pressed" />
- <item android:state_pressed="false" android:state_enabled="true"
- android:state_focused="true" android:drawable="@drawable/timepicker_up_selected" />
- <item android:state_pressed="false" android:state_enabled="false"
- android:state_focused="false" android:drawable="@drawable/timepicker_up_disabled" />
- <item android:state_pressed="false" android:state_enabled="false"
- android:state_focused="true" android:drawable="@drawable/timepicker_up_disabled_focused" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_up_selected" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_up_disabled" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_up_disabled_focused" />
</selector>
diff --git a/core/res/res/drawable/timepicker_up_btn_holo_dark.xml b/core/res/res/drawable/timepicker_up_btn_holo_dark.xml
new file mode 100644
index 0000000..af5f6eb
--- /dev/null
+++ b/core/res/res/drawable/timepicker_up_btn_holo_dark.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_up_normal_holo_dark" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
+ android:drawable="@drawable/timepicker_up_pressed_holo_dark" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_up_focused_holo_dark" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_up_disabled_holo_dark" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_up_disabled_focused_holo_dark" />
+
+</selector>
diff --git a/core/res/res/drawable/timepicker_up_btn_holo_light.xml b/core/res/res/drawable/timepicker_up_btn_holo_light.xml
new file mode 100644
index 0000000..6025d3ad
--- /dev/null
+++ b/core/res/res/drawable/timepicker_up_btn_holo_light.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_up_normal_holo_light" />
+
+ <item android:state_pressed="true"
+ android:state_enabled="true"
+ android:drawable="@drawable/timepicker_up_pressed_holo_light" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="true"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_up_focused_holo_light" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="false"
+ android:drawable="@drawable/timepicker_up_focused_holo_light" />
+
+ <item android:state_pressed="false"
+ android:state_enabled="false"
+ android:state_focused="true"
+ android:drawable="@drawable/timepicker_up_disabled_focused_holo_light" />
+
+</selector>
diff --git a/core/res/res/layout/number_picker.xml b/core/res/res/layout/number_picker.xml
index 9241708..44c99cf 100644
--- a/core/res/res/layout/number_picker.xml
+++ b/core/res/res/layout/number_picker.xml
@@ -19,24 +19,19 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
- <NumberPickerButton android:id="@+id/increment"
- android:layout_width="match_parent"
+ <ImageButton android:id="@+id/increment"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="@drawable/timepicker_up_btn" />
+ style="?android:attr/numberPickerUpButtonStyle" />
<EditText android:id="@+id/timepicker_input"
- android:layout_width="match_parent"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:gravity="center"
- android:singleLine="true"
- style="?android:attr/textAppearanceLargeInverse"
- android:textColor="@android:color/primary_text_light"
- android:textSize="30sp"
- android:background="@drawable/timepicker_input" />
+ style="?android:attr/numberPickerInputTextStyle" />
- <NumberPickerButton android:id="@+id/decrement"
- android:layout_width="match_parent"
+ <ImageButton android:id="@+id/decrement"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="@drawable/timepicker_down_btn" />
+ style="?android:attr/numberPickerDownButtonStyle" />
</merge>
diff --git a/core/res/res/layout/time_picker.xml b/core/res/res/layout/time_picker.xml
index 6124ea8..fa288422 100644
--- a/core/res/res/layout/time_picker.xml
+++ b/core/res/res/layout/time_picker.xml
@@ -28,32 +28,46 @@
<!-- hour -->
<NumberPicker
android:id="@+id/hour"
- android:layout_width="70dip"
+ android:layout_width="48dip"
android:layout_height="wrap_content"
+ android:layout_marginRight="20dip"
+ android:layout_marginTop="35dip"
+ android:layout_marginBottom="35dip"
android:focusable="true"
android:focusableInTouchMode="true"
/>
-
+
+ <!-- divider -->
+ <TextView
+ android:id="@+id/divider"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ />
+
<!-- minute -->
<NumberPicker
android:id="@+id/minute"
- android:layout_width="70dip"
+ android:layout_width="48dip"
android:layout_height="wrap_content"
- android:layout_marginLeft="5dip"
+ android:layout_marginLeft="20dip"
+ android:layout_marginRight="22dip"
+ android:layout_marginTop="35dip"
+ android:layout_marginBottom="35dip"
android:focusable="true"
android:focusableInTouchMode="true"
/>
-
+
<!-- AM / PM -->
- <Button
+ <NumberPicker
android:id="@+id/amPm"
- android:layout_width="wrap_content"
+ android:layout_width="48dip"
android:layout_height="wrap_content"
- android:layout_marginTop="43dip"
- android:layout_marginLeft="5dip"
- android:paddingLeft="20dip"
- android:paddingRight="20dip"
- style="?android:attr/textAppearanceLargeInverse"
- android:textColor="@android:color/primary_text_light_nodisable"
+ android:layout_marginLeft="22dip"
+ android:layout_marginTop="35dip"
+ android:layout_marginBottom="35dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
/>
+
</LinearLayout>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 006e36a..fd4b32c 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"لقد رسمت نقش إلغاء التأمين بشكل غير صحيح <xliff:g id="NUMBER_0">%d</xliff:g> مرة. بعد <xliff:g id="NUMBER_1">%d</xliff:g> من المحاولات غير الناجحة الأخرى، ستُطالب بإلغاء تأمين الهاتف باستخدام معلومات تسجيل الدخول إلى Google."\n\n" الرجاء المحاولة مرة أخرى خلال <xliff:g id="NUMBER_2">%d</xliff:g> ثانية."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"لقد رسمت نقش إلغاء التأمين بشكل غير صحيح <xliff:g id="NUMBER_0">%d</xliff:g> مرة. بعد <xliff:g id="NUMBER_1">%d</xliff:g> من المحاولات غير الناجحة الأخرى، ستُطالب بإلغاء تأمين الهاتف باستخدام معلومات تسجيل الدخول إلى Google."\n\n" الرجاء المحاولة مرة أخرى خلال <xliff:g id="NUMBER_2">%d</xliff:g> ثانية."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"حاول مرة أخرى خلال <xliff:g id="NUMBER">%d</xliff:g> ثانية."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"هل نسيت النمط؟"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"نصيحة: اضغط مرتين للتكبير والتصغير."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 2c7dbeb..e01bb9b 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Нарисувахте неправилно фигурата си за отключване <xliff:g id="NUMBER_0">%d</xliff:g> пъти. След още <xliff:g id="NUMBER_1">%d</xliff:g> неуспешни опита ще ви бъде поискано да отключите телефона, използвайки данните си за вход в Google."\n\n" Моля, опитайте отново след <xliff:g id="NUMBER_2">%d</xliff:g> секунди."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Нарисувахте неправилно фигурата си за отключване <xliff:g id="NUMBER_0">%d</xliff:g> пъти. След още <xliff:g id="NUMBER_1">%d</xliff:g> неуспешни опита ще ви бъде поискано да отключите телефона, използвайки данните си за вход в Google."\n\n" Моля, опитайте отново след <xliff:g id="NUMBER_2">%d</xliff:g> секунди."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Опитайте отново след <xliff:g id="NUMBER">%d</xliff:g> секунди."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Забравили сте фигурата?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Съвет: докоснете двукратно, за да увеличите или намалите мащаба."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 222be36..c32c95a 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Heu dibuixat el patró de desbloqueig <xliff:g id="NUMBER_0">%d</xliff:g> vegades de manera incorrecta. Després de <xliff:g id="NUMBER_1">%d</xliff:g> intents incorrectes més, se us demanarà que desbloquegeu el telèfon amb l\'inici de sessió de Google."\n\n" Torneu-ho a provar d\'aquí a <xliff:g id="NUMBER_2">%d</xliff:g> segons."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Heu dibuixat el patró de desbloqueig <xliff:g id="NUMBER_0">%d</xliff:g> vegades de manera incorrecta. Després de <xliff:g id="NUMBER_1">%d</xliff:g> intents incorrectes més, se us demanarà que desbloquegeu el telèfon amb l\'inici de sessió de Google."\n\n" Torneu-ho a provar d\'aquí a <xliff:g id="NUMBER_2">%d</xliff:g> segons."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Torneu-ho a provar d\'aquí a <xliff:g id="NUMBER">%d</xliff:g> segons."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Heu oblidat el patró?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Consell: Piqueu dos cops per ampliar i reduir."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 666032c..f65f585a 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"<xliff:g id="NUMBER_0">%d</xliff:g>krát jste nakreslili nesprávné bezpečnostní gesto. "\n\n"Opakujte prosím akci za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Vícekrát (<xliff:g id="NUMBER_0">%d</xliff:g>) jste nesprávně zadali heslo. "\n\n"Zkuste to znovu za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Vícekrát (<xliff:g id="NUMBER_0">%d</xliff:g>) jste nesprávně zadali kód PIN. "\n\n"Zkuste to znovu za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"<xliff:g id="NUMBER_0">%d</xliff:g>krát jste nesprávně nakreslili své bezpečnostní gesto. Po dalších neúspěšných pokusech (<xliff:g id="NUMBER_1">%d</xliff:g>) budete požádáni o odemčení telefonu pomocí přihlášení do účtu Google."\n\n" Akci prosím opakujte za několik sekund (<xliff:g id="NUMBER_2">%d</xliff:g>)."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"<xliff:g id="NUMBER_0">%d</xliff:g>krát jste nesprávně nakreslili své bezpečnostní gesto. Po dalších neúspěšných pokusech (<xliff:g id="NUMBER_1">%d</xliff:g>) budete požádáni o odemčení telefonu pomocí přihlášení do účtu Google."\n\n" Akci prosím opakujte za několik sekund (<xliff:g id="NUMBER_2">%d</xliff:g>)."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Sekundy zbývající do dalšího pokusu: <xliff:g id="NUMBER">%d</xliff:g>."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Zapomněli jste gesto?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Potvrdit"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: Dvojitým klepnutím můžete zobrazení přiblížit nebo oddálit."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Automaticky vyplnit tento formulář"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 36eb27a..8bb762b 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Du har tegnet dit oplåsningsmønster forkert <xliff:g id="NUMBER_0">%d</xliff:g> gange. "\n\n"Prøv igen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Du har indtastet din adgangskode forkert <xliff:g id="NUMBER_0">%d</xliff:g> gange. "\n\n"Prøv igen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Du har indtastet din pinkode forkert <xliff:g id="NUMBER_0">%d</xliff:g> gange. "\n\n"Prøv igen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Du har tegnet dit oplåsningsmønster forkert <xliff:g id="NUMBER_0">%d</xliff:g> gange. Efter <xliff:g id="NUMBER_1">%d</xliff:g> forsøg mere vil du blive bedt om at låse din telefon op ved hjælp af dit Google-login"\n\n" Prøv igen om <xliff:g id="NUMBER_2">%d</xliff:g> sekunder."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Du har tegnet dit oplåsningsmønster forkert <xliff:g id="NUMBER_0">%d</xliff:g> gange. Efter <xliff:g id="NUMBER_1">%d</xliff:g> forsøg mere vil du blive bedt om at låse din telefon op ved hjælp af dit Google-login"\n\n" Prøv igen om <xliff:g id="NUMBER_2">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Prøv igen om <xliff:g id="NUMBER">%d</xliff:g> sekunder."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Har du glemt mønstret?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Bekræft"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: Dobbeltklik for at zoome ind eller ud."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autofuldfør denne formular"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index fe7ddc7..87e57ce 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Sie haben Ihr Entsperrungsmuster <xliff:g id="NUMBER_0">%d</xliff:g>-mal falsch gezeichnet. "\n\n"Versuchen Sie es in <xliff:g id="NUMBER_1">%d</xliff:g> Sekunden erneut."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Sie haben Ihr Passwort <xliff:g id="NUMBER_0">%d</xliff:g> Mal falsch eingegeben. "\n\n"Versuchen Sie es in <xliff:g id="NUMBER_1">%d</xliff:g> Sekunden erneut."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Sie haben Ihre PIN <xliff:g id="NUMBER_0">%d</xliff:g> Mal falsch eingegeben. "\n\n"Versuchen Sie es in <xliff:g id="NUMBER_1">%d</xliff:g> Sekunden erneut."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Sie haben Ihr Entsperrungsmuster <xliff:g id="NUMBER_0">%d</xliff:g>-mal falsch gezeichnet. Nach <xliff:g id="NUMBER_1">%d</xliff:g> weiteren erfolglosen Versuchen werden Sie aufgefordert, Ihr Telefon mithilfe Ihrer Google-Anmeldeinformationen zu entsperren. "\n\n"Versuchen Sie es in <xliff:g id="NUMBER_2">%d</xliff:g> Sekunden erneut."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Sie haben Ihr Entsperrungsmuster <xliff:g id="NUMBER_0">%d</xliff:g>-mal falsch gezeichnet. Nach <xliff:g id="NUMBER_1">%d</xliff:g> weiteren erfolglosen Versuchen werden Sie aufgefordert, Ihr Telefon mithilfe Ihrer Google-Anmeldeinformationen zu entsperren. "\n\n"Versuchen Sie es in <xliff:g id="NUMBER_2">%d</xliff:g> Sekunden erneut."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Versuchen Sie es in <xliff:g id="NUMBER">%d</xliff:g> Sekunden erneut."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Muster vergessen?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Bestätigen"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Tipp: Zum Heranzoomen und Vergrößern zweimal tippen"</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Dieses Formular automatisch ausfüllen"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 2103aef..bbd02f2 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Σχεδιάσατε εσφαλμένα το μοτίβο ξεκλειδώματος<xliff:g id="NUMBER_0">%d</xliff:g> φορές. "\n\n"Προσπαθήστε ξανά σε <xliff:g id="NUMBER_1">%d</xliff:g> δευτερόλεπτα."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Καταχωρίσατε εσφαλμένα τον κωδικό πρόσβασης <xliff:g id="NUMBER_0">%d</xliff:g> φορές. "\n\n"Προσπαθήστε ξανά σε <xliff:g id="NUMBER_1">%d</xliff:g> δευτερόλεπτα."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Καταχωρίσατε εσφαλμένα το PIN σας<xliff:g id="NUMBER_0">%d</xliff:g> φορές. "\n\n"Προσπαθήστε ξανά σε <xliff:g id="NUMBER_1">%d</xliff:g> δευτερόλεπτα."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Σχεδιάσατε το μοτίβο ξεκλειδώματος εσφαλμένα <xliff:g id="NUMBER_0">%d</xliff:g> φορές. Μετά από <xliff:g id="NUMBER_1">%d</xliff:g> ανεπιτυχείς προσπάθειες ακόμη, θα σας ζητηθεί να ξεκλειδώσετε το τηλέφωνό σας με τη χρήση της σύνδεσής σας Google."\n\n" Προσπαθήστε ξανά σε <xliff:g id="NUMBER_2">%d</xliff:g> δευτερόλεπτα."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Σχεδιάσατε το μοτίβο ξεκλειδώματος εσφαλμένα <xliff:g id="NUMBER_0">%d</xliff:g> φορές. Μετά από <xliff:g id="NUMBER_1">%d</xliff:g> ανεπιτυχείς προσπάθειες ακόμη, θα σας ζητηθεί να ξεκλειδώσετε το τηλέφωνό σας με τη χρήση της σύνδεσής σας Google."\n\n" Προσπαθήστε ξανά σε <xliff:g id="NUMBER_2">%d</xliff:g> δευτερόλεπτα."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Προσπαθήστε ξανά σε <xliff:g id="NUMBER">%d</xliff:g> δευτερόλεπτα."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Ξεχάσατε το μοτίβο;"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Επιβεβαίωση"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Συμβουλή: διπλό άγγιγμα για μεγέθυνση και σμίκρυνση."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Να γίνει αυτόματη συμπλήρωση αυτής της φόρμας"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index ce642aa..eab891f 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -658,7 +658,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"You have drawn your unlock pattern incorrectly <xliff:g id="NUMBER_0">%d</xliff:g> times. "\n\n"Please try again in <xliff:g id="NUMBER_1">%d</xliff:g> seconds."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"You have entered your password incorrectly <xliff:g id="NUMBER_0">%d</xliff:g> times. "\n\n"Please try again in <xliff:g id="NUMBER_1">%d</xliff:g> seconds."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"You have entered your PIN incorrectly <xliff:g id="NUMBER_0">%d</xliff:g> times. "\n\n"Please try again in <xliff:g id="NUMBER_1">%d</xliff:g> seconds."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"You have drawn your unlock pattern incorrectly <xliff:g id="NUMBER_0">%d</xliff:g> times. After <xliff:g id="NUMBER_1">%d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using your Google sign-in."\n\n" Please try again in <xliff:g id="NUMBER_2">%d</xliff:g> seconds."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"You have drawn your unlock pattern incorrectly <xliff:g id="NUMBER_0">%d</xliff:g> times. After <xliff:g id="NUMBER_1">%d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using your Google sign-in."\n\n" Please try again in <xliff:g id="NUMBER_2">%d</xliff:g> seconds."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Try again in <xliff:g id="NUMBER">%d</xliff:g> seconds."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Forgotten pattern?"</string>
@@ -689,6 +690,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: double-tap to zoom in and out."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index bd5371f..7fc79b1 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -631,7 +631,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Has extraído incorrectamente tu patrón de desbloqueo <xliff:g id="NUMBER_0">%d</xliff:g> veces. "\n\n"Vuelve a intentarlo en <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Has ingresado tu contraseña de manera incorrecta <xliff:g id="NUMBER_0">%d</xliff:g> veces. "\n\n"Vuelve a intentarlo en <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Has ingresado tu PIN de manera incorrecta <xliff:g id="NUMBER_0">%d</xliff:g> veces. "\n\n"Vuelve a intentarlo en <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Has extraído incorrectamente tu patrón de desbloqueo <xliff:g id="NUMBER_0">%d</xliff:g> veces. Luego de <xliff:g id="NUMBER_1">%d</xliff:g> intentos incorrectos, se te solicitará que desbloquees tu teléfono al iniciar sesión en Google. "\n\n" Vuelve a intentarlo en <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Has extraído incorrectamente tu patrón de desbloqueo <xliff:g id="NUMBER_0">%d</xliff:g> veces. Luego de <xliff:g id="NUMBER_1">%d</xliff:g> intentos incorrectos, se te solicitará que desbloquees tu teléfono al iniciar sesión en Google. "\n\n" Vuelve a intentarlo en <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Vuelve a intentarlo en <xliff:g id="NUMBER">%d</xliff:g> segundos."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"¿Olvidaste el patrón?"</string>
@@ -661,6 +662,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Sugerencia: presiona dos veces para acercar y alejar"</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autocompletar este formulario"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 5de5c9f..1b28dca 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Has realizado <xliff:g id="NUMBER_0">%d</xliff:g> intentos fallidos de creación de un patrón de desbloqueo. "\n\n"Inténtalo de nuevo dentro de <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Has introducido una contraseña incorrecta <xliff:g id="NUMBER_0">%d</xliff:g> veces. "\n\n"Inténtalo de nuevo dentro de <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Has introducido un PIN incorrecto <xliff:g id="NUMBER_0">%d</xliff:g> veces. "\n\n"Inténtalo de nuevo dentro de <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Has realizado <xliff:g id="NUMBER_0">%d</xliff:g> intentos fallidos de creación del patrón de desbloqueo. Si realizas <xliff:g id="NUMBER_1">%d</xliff:g> intentos fallidos más, se te pedirá que desbloquees el teléfono con tus credenciales de acceso de Google."\n\n" Espera <xliff:g id="NUMBER_2">%d</xliff:g> segundos e inténtalo de nuevo."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Has realizado <xliff:g id="NUMBER_0">%d</xliff:g> intentos fallidos de creación del patrón de desbloqueo. Si realizas <xliff:g id="NUMBER_1">%d</xliff:g> intentos fallidos más, se te pedirá que desbloquees el teléfono con tus credenciales de acceso de Google."\n\n" Espera <xliff:g id="NUMBER_2">%d</xliff:g> segundos e inténtalo de nuevo."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Espera <xliff:g id="NUMBER">%d</xliff:g> segundos y vuelve a intentarlo."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"¿Has olvidado el patrón?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Sugerencia: toca dos veces para ampliar o reducir."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autocompletar este formulario"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index cd67c09..cbb5fe3 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"شما الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیده اید. <xliff:g id="NUMBER_1">%d</xliff:g> تلاش های ناموفق بیشتر سبب می شود از شما خواسته شود که برای بازگشایی قفل گوشی خود به برنامه Google وارد شوید."\n\n" لطفاً پس از <xliff:g id="NUMBER_2">%d</xliff:g> ثانیه دوباره امتحان کنید."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"شما الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%d</xliff:g> بار اشتباه کشیده اید. <xliff:g id="NUMBER_1">%d</xliff:g> تلاش های ناموفق بیشتر سبب می شود از شما خواسته شود که برای بازگشایی قفل گوشی خود به برنامه Google وارد شوید."\n\n" لطفاً پس از <xliff:g id="NUMBER_2">%d</xliff:g> ثانیه دوباره امتحان کنید."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"در <xliff:g id="NUMBER">%d</xliff:g> ثانیه دوباره امتحان کنید."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"الگو را فراموش کرده اید؟"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"نکته: برای انجام بزرگنمایی مثبت و منفی، دو بار ضربه بزنید."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 7329bed..3390669 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Piirsit lukituksenpoistokuvion väärin <xliff:g id="NUMBER_0">%d</xliff:g> kertaa. Jos piirrät kuvion väärin vielä <xliff:g id="NUMBER_1">%d</xliff:g> kertaa, sinua pyydetään poistamaan puhelimesi lukitus Google-sisäänkirjautumisen avulla."\n\n" Yritä uudelleen <xliff:g id="NUMBER_2">%d</xliff:g> sekunnin kuluttua."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Piirsit lukituksenpoistokuvion väärin <xliff:g id="NUMBER_0">%d</xliff:g> kertaa. Jos piirrät kuvion väärin vielä <xliff:g id="NUMBER_1">%d</xliff:g> kertaa, sinua pyydetään poistamaan puhelimesi lukitus Google-sisäänkirjautumisen avulla."\n\n" Yritä uudelleen <xliff:g id="NUMBER_2">%d</xliff:g> sekunnin kuluttua."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Yritä uudelleen <xliff:g id="NUMBER">%d</xliff:g> sekunnin kuluttua."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Unohditko mallin?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Vinkki: lähennä ja loitonna kaksoisnapauttamalla"</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index fa97fc0..f618070 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Vous avez mal reproduit le schéma de déverrouillage <xliff:g id="NUMBER_0">%d</xliff:g> fois. "\n\n"Veuillez réessayer dans <xliff:g id="NUMBER_1">%d</xliff:g> secondes."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Vous avez saisi un mot de passe incorrect à <xliff:g id="NUMBER_0">%d</xliff:g> reprises. "\n\n"Veuillez réessayer dans <xliff:g id="NUMBER_1">%d</xliff:g> secondes."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Vous avez saisi un code PIN incorrect à <xliff:g id="NUMBER_0">%d</xliff:g> reprises. "\n\n"Veuillez réessayer dans <xliff:g id="NUMBER_1">%d</xliff:g> secondes."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Vous avez mal saisi le schéma de déverrouillage <xliff:g id="NUMBER_0">%d</xliff:g> fois. Au bout de <xliff:g id="NUMBER_1">%d</xliff:g> tentatives supplémentaires, vous devrez débloquer votre téléphone à l\'aide de votre identifiant Google."\n\n"Merci de réessayer dans <xliff:g id="NUMBER_2">%d</xliff:g> secondes."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Vous avez mal saisi le schéma de déverrouillage <xliff:g id="NUMBER_0">%d</xliff:g> fois. Au bout de <xliff:g id="NUMBER_1">%d</xliff:g> tentatives supplémentaires, vous devrez débloquer votre téléphone à l\'aide de votre identifiant Google."\n\n"Merci de réessayer dans <xliff:g id="NUMBER_2">%d</xliff:g> secondes."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Réessayez dans <xliff:g id="NUMBER">%d</xliff:g> secondes."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Schéma oublié ?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Confirmer"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Conseil : Appuyez deux fois pour effectuer un zoom avant ou arrière."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Permettre le remplissage automatique du formulaire"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-he/strings.xml b/core/res/res/values-he/strings.xml
index 9792bd9..c5d945c 100644
--- a/core/res/res/values-he/strings.xml
+++ b/core/res/res/values-he/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"ציירת את קו ביטול הנעילה באופן שגוי <xliff:g id="NUMBER_0">%d</xliff:g> פעמים. לאחר <xliff:g id="NUMBER_1">%d</xliff:g> ניסיונות כושלים נוספים, תתבקש לבטל את נעילה הטלפון באמצעות פרטי הכניסה שלך ב-Google."\n\n" נסה שוב בעוד <xliff:g id="NUMBER_2">%d</xliff:g> שניות."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"ציירת את קו ביטול הנעילה באופן שגוי <xliff:g id="NUMBER_0">%d</xliff:g> פעמים. לאחר <xliff:g id="NUMBER_1">%d</xliff:g> ניסיונות כושלים נוספים, תתבקש לבטל את נעילה הטלפון באמצעות פרטי הכניסה שלך ב-Google."\n\n" נסה שוב בעוד <xliff:g id="NUMBER_2">%d</xliff:g> שניות."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"נסה שוב בעוד <xliff:g id="NUMBER">%d</xliff:g> שניות."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"שכחת את הקו?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"טיפש: הקש פעמיים כדי להתקרב ולהתרחק."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 1116841..bc6d451 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Netočno ste iscrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%d</xliff:g> puta. Nakon još <xliff:g id="NUMBER_1">%d</xliff:g> neuspješna pokušaja, morat ćete otključati telefon pomoću Google prijave."\n\n" Pokušajte ponovo za <xliff:g id="NUMBER_2">%d</xliff:g> s."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Netočno ste iscrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%d</xliff:g> puta. Nakon još <xliff:g id="NUMBER_1">%d</xliff:g> neuspješna pokušaja, morat ćete otključati telefon pomoću Google prijave."\n\n" Pokušajte ponovo za <xliff:g id="NUMBER_2">%d</xliff:g> s."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Pokušajte ponovno za <xliff:g id="NUMBER">%d</xliff:g> s."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Zaboravili ste uzorak?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Savjet: Dvaput dotaknite za povećanje i smanjivanje."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 5f6dddd..36aea65 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Helytelenül rajzolta le a feloldási mintát <xliff:g id="NUMBER_0">%d</xliff:g> alkalommal. További <xliff:g id="NUMBER_1">%d</xliff:g> sikertelen kísérlet után a Google rendszerében használt bejelentkezési adataival kell feloldania a telefonját."\n\n" Kérjük, próbálja újra <xliff:g id="NUMBER_2">%d</xliff:g> másodperc múlva."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Helytelenül rajzolta le a feloldási mintát <xliff:g id="NUMBER_0">%d</xliff:g> alkalommal. További <xliff:g id="NUMBER_1">%d</xliff:g> sikertelen kísérlet után a Google rendszerében használt bejelentkezési adataival kell feloldania a telefonját."\n\n" Kérjük, próbálja újra <xliff:g id="NUMBER_2">%d</xliff:g> másodperc múlva."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Próbálkozzon újra <xliff:g id="NUMBER">%d</xliff:g> másodperc múlva."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Elfelejtette a mintát?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Tipp: érintse meg kétszer a nagyításhoz és kicsinyítéshez."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-id/strings.xml b/core/res/res/values-id/strings.xml
index 1de0f41..2d07b33 100644
--- a/core/res/res/values-id/strings.xml
+++ b/core/res/res/values-id/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Anda telah salah menggambar pola pembuka kunci sebanyak <xliff:g id="NUMBER_0">%d</xliff:g> kali. Setelah <xliff:g id="NUMBER_1">%d</xliff:g> upaya gagal lagi, Anda akan diminta membuka kunci ponsel menggunakan info masuk Google."\n\n" Harap coba lagi dalam <xliff:g id="NUMBER_2">%d</xliff:g> detik."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Anda telah salah menggambar pola pembuka kunci sebanyak <xliff:g id="NUMBER_0">%d</xliff:g> kali. Setelah <xliff:g id="NUMBER_1">%d</xliff:g> upaya gagal lagi, Anda akan diminta membuka kunci ponsel menggunakan info masuk Google."\n\n" Harap coba lagi dalam <xliff:g id="NUMBER_2">%d</xliff:g> detik."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Coba lagi dalam <xliff:g id="NUMBER">%d</xliff:g> detik."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Lupa pola?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Kiat: ketuk dua kali untuk memperbesar dan memperkecil."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 89d0a32..238a748 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"<xliff:g id="NUMBER_0">%d</xliff:g> tentativi di inserimento della sequenza di sblocco. "\n\n"Riprova fra <xliff:g id="NUMBER_1">%d</xliff:g> secondi."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"<xliff:g id="NUMBER_0">%d</xliff:g> tentativi errati di inserimento della password. "\n\n"Riprova tra <xliff:g id="NUMBER_1">%d</xliff:g> secondi."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"<xliff:g id="NUMBER_0">%d</xliff:g> tentativi errati di inserimento del PIN. "\n\n"Riprova tra <xliff:g id="NUMBER_1">%d</xliff:g> secondi."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"<xliff:g id="NUMBER_0">%d</xliff:g> tentativi di inserimento della sequenza di sblocco. Dopo altri <xliff:g id="NUMBER_1">%d</xliff:g> tentativi falliti, ti verrà chiesto di sbloccare il telefono tramite i dati di accesso di Google."\n\n"Riprova fra <xliff:g id="NUMBER_2">%d</xliff:g> secondi."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"<xliff:g id="NUMBER_0">%d</xliff:g> tentativi di inserimento della sequenza di sblocco. Dopo altri <xliff:g id="NUMBER_1">%d</xliff:g> tentativi falliti, ti verrà chiesto di sbloccare il telefono tramite i dati di accesso di Google."\n\n"Riprova fra <xliff:g id="NUMBER_2">%d</xliff:g> secondi."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Riprova fra <xliff:g id="NUMBER">%d</xliff:g> secondi."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Hai dimenticato la sequenza?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Conferma"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Suggerimento. Tocca due volte per aumentare/ridurre lo zoom."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Compila automaticamente il modulo"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index dcbcdc2..75d3722 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"ロック解除のパターンは<xliff:g id="NUMBER_0">%d</xliff:g>回とも正しく指定されていません。"\n\n"<xliff:g id="NUMBER_1">%d</xliff:g>秒後にもう一度指定してください。"</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"入力したパスワードは<xliff:g id="NUMBER_0">%d</xliff:g>回とも正しくありませんでした。"\n\n"<xliff:g id="NUMBER_1">%d</xliff:g>秒後にもう一度入力してください。"</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"入力したPINは<xliff:g id="NUMBER_0">%d</xliff:g>回とも正しくありませんでした。"\n\n"<xliff:g id="NUMBER_1">%d</xliff:g>秒後にもう一度入力してください。"</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"指定したパターンは<xliff:g id="NUMBER_0">%d</xliff:g>回とも正しくありません。あと<xliff:g id="NUMBER_1">%d</xliff:g>回指定に失敗すると、携帯電話のロックの解除にGoogleへのログインが必要になります。"\n\n"<xliff:g id="NUMBER_2">%d</xliff:g>秒後にもう一度指定してください。"</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"指定したパターンは<xliff:g id="NUMBER_0">%d</xliff:g>回とも正しくありません。あと<xliff:g id="NUMBER_1">%d</xliff:g>回指定に失敗すると、携帯電話のロックの解除にGoogleへのログインが必要になります。"\n\n"<xliff:g id="NUMBER_2">%d</xliff:g>秒後にもう一度指定してください。"</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g>秒後にやり直してください。"</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"パターンを忘れた場合"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"確認"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"ヒント: ダブルタップで拡大/縮小できます。"</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"このフォームを自動入力"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 8fe117f..1ed8492 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"잠금해제 패턴을 <xliff:g id="NUMBER_0">%d</xliff:g>회 잘못 그렸습니다. "\n\n"<xliff:g id="NUMBER_1">%d</xliff:g>초 후에 다시 시도하세요."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"비밀번호를 <xliff:g id="NUMBER_0">%d</xliff:g>회 잘못 입력했습니다. "\n\n"<xliff:g id="NUMBER_1">%d</xliff:g>초 후에 다시 시도해 주세요."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"PIN을 <xliff:g id="NUMBER_0">%d</xliff:g>회 잘못 입력했습니다. "\n\n"<xliff:g id="NUMBER_1">%d</xliff:g>초 후에 다시 시도해 주세요."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"잠금해제 패턴을 <xliff:g id="NUMBER_0">%d</xliff:g>회 잘못 그렸습니다. <xliff:g id="NUMBER_1">%d</xliff:g>회 더 실패하면 Google 로그인을 통해 휴대전화를 잠금해제하도록 요청됩니다. "\n\n" <xliff:g id="NUMBER_2">%d</xliff:g>초 후에 다시 시도하세요."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"잠금해제 패턴을 <xliff:g id="NUMBER_0">%d</xliff:g>회 잘못 그렸습니다. <xliff:g id="NUMBER_1">%d</xliff:g>회 더 실패하면 Google 로그인을 통해 휴대전화를 잠금해제하도록 요청됩니다. "\n\n" <xliff:g id="NUMBER_2">%d</xliff:g>초 후에 다시 시도하세요."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g>초 후에 다시 시도하세요."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"패턴을 잊으셨나요?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"확인"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"도움말: 축소/확대하려면 두 번 누릅니다."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"양식 자동완성"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 6378c62..41d9fbd 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Neteisingai nurodėte savo atrakinimo modelį <xliff:g id="NUMBER_0">%d</xliff:g> kartus (-ų). Po dar <xliff:g id="NUMBER_1">%d</xliff:g> nesėkmingų bandymų būsite paprašyti atrakinti telefoną naudojant „Google“ prisijungimo duomenis."\n\n" Bandykite dar kartą po <xliff:g id="NUMBER_2">%d</xliff:g> sek."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Neteisingai nurodėte savo atrakinimo modelį <xliff:g id="NUMBER_0">%d</xliff:g> kartus (-ų). Po dar <xliff:g id="NUMBER_1">%d</xliff:g> nesėkmingų bandymų būsite paprašyti atrakinti telefoną naudojant „Google“ prisijungimo duomenis."\n\n" Bandykite dar kartą po <xliff:g id="NUMBER_2">%d</xliff:g> sek."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Bandyti dar kartą po <xliff:g id="NUMBER">%d</xliff:g> sek."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Pamiršote modelį?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Patarimas: bakstelėkite du kartus, kad padidintumėte ar sumažintumėte mastelį."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 35118ec..d706ed5 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Atbloķēšanas kombinācija tika nepareizi uzzīmēta <xliff:g id="NUMBER_0">%d</xliff:g> reizi(-es). Pēc vēl <xliff:g id="NUMBER_1">%d</xliff:g> neveiksmīgiem mēģinājumiem tālrunis būs jāatbloķē, izmantojot Google pierakstīšanos."\n\n" Lūdzu, mēģiniet vēlreiz pēc <xliff:g id="NUMBER_2">%d</xliff:g> sekundes(-ēm)."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Atbloķēšanas kombinācija tika nepareizi uzzīmēta <xliff:g id="NUMBER_0">%d</xliff:g> reizi(-es). Pēc vēl <xliff:g id="NUMBER_1">%d</xliff:g> neveiksmīgiem mēģinājumiem tālrunis būs jāatbloķē, izmantojot Google pierakstīšanos."\n\n" Lūdzu, mēģiniet vēlreiz pēc <xliff:g id="NUMBER_2">%d</xliff:g> sekundes(-ēm)."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Mēģiniet vēlreiz pēc <xliff:g id="NUMBER">%d</xliff:g> sekundes(-ēm)."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Vai aizmirsāt kombināciju?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Padoms: divreiz pieskarieties, lai tuvinātu un tālinātu."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index cdc3f0a..96d9c32 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%d</xliff:g> times. "\n\n"Please try again in <xliff:g id="NUMBER_1">%d</xliff:g> seconds."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Du har oppgitt feil passord <xliff:g id="NUMBER_0">%d</xliff:g> ganger. "\n\n"Prøv igjen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Du har oppgitt feil personlig kode <xliff:g id="NUMBER_0">%d</xliff:g> ganger. "\n\n"Prøv igjen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%d</xliff:g> times. After <xliff:g id="NUMBER_1">%d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using your Google sign-in."\n\n" Please try again in <xliff:g id="NUMBER_2">%d</xliff:g> seconds."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%d</xliff:g> times. After <xliff:g id="NUMBER_1">%d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using your Google sign-in."\n\n" Please try again in <xliff:g id="NUMBER_2">%d</xliff:g> seconds."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Prøv igjen om <xliff:g id="NUMBER">%d</xliff:g> sekunder."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Glemt mønsteret?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Bekreft"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Dobbelttrykk for å zoome inn og ut."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Fyll ut dette skjemaet automatisk"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 12034f2..8998fba 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"U heeft uw ontgrendelingspatroon <xliff:g id="NUMBER_0">%d</xliff:g> keer onjuist getekend. "\n\n"Probeer het over <xliff:g id="NUMBER_1">%d</xliff:g> seconden opnieuw."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"U heeft uw wachtwoord <xliff:g id="NUMBER_0">%d</xliff:g> keer onjuist ingevoerd. "\n\n"Probeer het over <xliff:g id="NUMBER_1">%d</xliff:g> seconden opnieuw."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"U heeft uw PIN-code <xliff:g id="NUMBER_0">%d</xliff:g> keer onjuist ingevoerd. "\n\n"Probeer het over <xliff:g id="NUMBER_1">%d</xliff:g> seconden opnieuw."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"U heeft uw ontgrendelingspatroon <xliff:g id="NUMBER_0">%d</xliff:g> keer onjuist getekend. Na nog eens <xliff:g id="NUMBER_1">%d</xliff:g> mislukte pogingen, wordt u gevraagd om uw telefoon te ontgrendelen met uw Google aanmelding."\n\n" Probeer het over <xliff:g id="NUMBER_2">%d</xliff:g> seconden opnieuw."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"U heeft uw ontgrendelingspatroon <xliff:g id="NUMBER_0">%d</xliff:g> keer onjuist getekend. Na nog eens <xliff:g id="NUMBER_1">%d</xliff:g> mislukte pogingen, wordt u gevraagd om uw telefoon te ontgrendelen met uw Google aanmelding."\n\n" Probeer het over <xliff:g id="NUMBER_2">%d</xliff:g> seconden opnieuw."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Probeer het over <xliff:g id="NUMBER">%d</xliff:g> seconden opnieuw."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Patroon vergeten?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Bevestigen"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: tik tweemaal om in of uit te zoomen."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Dit formulier automatisch aanvullen"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 089026f..ec80f83 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Wzór odblokowania został nieprawidłowo narysowany <xliff:g id="NUMBER_0">%d</xliff:g> razy. "\n\n"Spróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> sekund."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Hasło zostało nieprawidłowo wprowadzone <xliff:g id="NUMBER_0">%d</xliff:g> razy. "\n\n"Spróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Niepoprawnie wprowadzono kod PIN <xliff:g id="NUMBER_0">%d</xliff:g> razy. "\n\n"Spróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Wzór odblokowania został narysowany nieprawidłowo <xliff:g id="NUMBER_0">%d</xliff:g> razy. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telefon trzeba będzie odblokować przez zalogowanie na koncie Google."\n\n" Spróbuj ponownie za <xliff:g id="NUMBER_2">%d</xliff:g> sekund."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Wzór odblokowania został narysowany nieprawidłowo <xliff:g id="NUMBER_0">%d</xliff:g> razy. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telefon trzeba będzie odblokować przez zalogowanie na koncie Google."\n\n" Spróbuj ponownie za <xliff:g id="NUMBER_2">%d</xliff:g> sekund."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Spróbuj ponownie za <xliff:g id="NUMBER">%d</xliff:g> sekund."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Zapomniałeś wzoru?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Potwierdź"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Wskazówka: dotknij dwukrotnie, aby powiększyć lub pomniejszyć."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Wypełnij ten formularz automatycznie"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 3f270a0..5e9b0a4 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Efectuou incorrectamente o seu padrão de desbloqueio <xliff:g id="NUMBER_0">%d</xliff:g> vezes. "\n\n"Tente novamente dentro de <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Introduziu incorrectamente a palavra-passe <xliff:g id="NUMBER_0">%d</xliff:g> vezes. "\n\n"Tente novamente dentro de <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Introduziu incorrectamente o PIN <xliff:g id="NUMBER_0">%d</xliff:g> vezes. "\n\n"Tente novamente dentro de <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Efectuou incorrectamente o seu padrão de desbloqueio <xliff:g id="NUMBER_0">%d</xliff:g> vezes. Após outras <xliff:g id="NUMBER_1">%d</xliff:g> tentativas sem sucesso, ser-lhe-á pedido para desbloquear o telefone utilizando o seu início de sessão no Google."\n\n" Tente novamente dentro de <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Efectuou incorrectamente o seu padrão de desbloqueio <xliff:g id="NUMBER_0">%d</xliff:g> vezes. Após outras <xliff:g id="NUMBER_1">%d</xliff:g> tentativas sem sucesso, ser-lhe-á pedido para desbloquear o telefone utilizando o seu início de sessão no Google."\n\n" Tente novamente dentro de <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Tente novamente dentro de <xliff:g id="NUMBER">%d</xliff:g> segundos."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Esqueceu-se do padrão?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Sugestão: toque duas vezes para aumentar ou diminuir o zoom."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Preenchimento automático deste formulário"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 368132e..ad8f64a 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Você desenhou incorretamente o seu padrão de desbloqueio <xliff:g id="NUMBER_0">%d</xliff:g> vezes. "\n\n"Tente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Você inseriu incorretamente a sua senha <xliff:g id="NUMBER_0">%d</xliff:g> vezes. "\n\n"Tente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Você digitou incorretamente o seu PIN <xliff:g id="NUMBER_0">%d</xliff:g> vezes. "\n\n"Tente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Você desenhou o seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. Mais <xliff:g id="NUMBER_1">%d</xliff:g> tentativas incorretas e você receberá uma solicitação para desbloquear o seu telefone usando o seu login do Google."\n\n" Tente novamente em <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Você desenhou o seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. Mais <xliff:g id="NUMBER_1">%d</xliff:g> tentativas incorretas e você receberá uma solicitação para desbloquear o seu telefone usando o seu login do Google."\n\n" Tente novamente em <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Tente novamente em <xliff:g id="NUMBER">%d</xliff:g> segundos."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Esqueceu o padrão?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Confirmar"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Dica: toque duas vezes para aumentar e diminuir o zoom."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Preencher automaticamente este formulário"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-rm/strings.xml b/core/res/res/values-rm/strings.xml
index e8f7298..527e4e1 100644
--- a/core/res/res/values-rm/strings.xml
+++ b/core/res/res/values-rm/strings.xml
@@ -659,7 +659,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Vus avais dissegnà fallà <xliff:g id="NUMBER_0">%d</xliff:g> giadas Voss schema da debloccaziun. "\n\n"Empruvai anc ina giada en <xliff:g id="NUMBER_1">%d</xliff:g> secundas."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Vus avais endatà <xliff:g id="NUMBER_0">%d</xliff:g> giadas in pled-clav nuncorrect. "\n\n"Empruvai anc ina giada en <xliff:g id="NUMBER_1">%d</xliff:g> secundas."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Vus avais endatà <xliff:g id="NUMBER_0">%d</xliff:g> giadas in code PIN nuncorrect. "\n\n"Empruvai anc ina giada en <xliff:g id="NUMBER_1">%d</xliff:g> secundas."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Vus avais dissegnà <xliff:g id="NUMBER_0">%d</xliff:g> giadas in schema da debloccaziun nuncorrect. Suenter <xliff:g id="NUMBER_1">%d</xliff:g> ulteriuras emprovas senza success As dumonda il sistem da debloccar il telefonin cun agid da Vossas infurmaziuns d\'annunzia da Google."\n\n"Empruvai per plaschair anc ina giada en <xliff:g id="NUMBER_2">%d</xliff:g> secundas."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Vus avais dissegnà <xliff:g id="NUMBER_0">%d</xliff:g> giadas in schema da debloccaziun nuncorrect. Suenter <xliff:g id="NUMBER_1">%d</xliff:g> ulteriuras emprovas senza success As dumonda il sistem da debloccar il telefonin cun agid da Vossas infurmaziuns d\'annunzia da Google."\n\n"Empruvai per plaschair anc ina giada en <xliff:g id="NUMBER_2">%d</xliff:g> secundas."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Empruvar anc ina giada en <xliff:g id="NUMBER">%d</xliff:g> secundas."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Emblidà il schema?"</string>
@@ -690,6 +691,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: Smatgar duas giadas per zoomar pli datiers u zoomar pli lontan."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index e1a31f0..486591c 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Aţi desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%d</xliff:g> de ori. După <xliff:g id="NUMBER_1">%d</xliff:g> încercări nereuşite, vi se va solicita să deblocaţi telefonul cu ajutorul datelor de conectare la Google."\n\n" Încercaţi din nou în <xliff:g id="NUMBER_2">%d</xliff:g> (de) secunde."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Aţi desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%d</xliff:g> de ori. După <xliff:g id="NUMBER_1">%d</xliff:g> încercări nereuşite, vi se va solicita să deblocaţi telefonul cu ajutorul datelor de conectare la Google."\n\n" Încercaţi din nou în <xliff:g id="NUMBER_2">%d</xliff:g> (de) secunde."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Încercaţi din nou peste <xliff:g id="NUMBER">%d</xliff:g> (de) secunde."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Aţi uitat modelul?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Sfat: apăsaţi de două ori pentru a mări şi a micşora."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 0ef23ee..976a006 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Количество неудачных попыток ввода графического ключа разблокировки: <xliff:g id="NUMBER_0">%d</xliff:g>. "\n\n"Повторите попытку через <xliff:g id="NUMBER_1">%d</xliff:g> с."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Количество неудачных попыток ввода пароля: <xliff:g id="NUMBER_0">%d</xliff:g>. "\n\n"Повторите попытку через <xliff:g id="NUMBER_1">%d</xliff:g> с."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Количество неудачных попыток ввода PIN-кода: <xliff:g id="NUMBER_0">%d</xliff:g>. "\n\n"Повторите попытку через <xliff:g id="NUMBER_1">%d</xliff:g> с."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Количество неудачных попыток ввода графического ключа разблокировки: <xliff:g id="NUMBER_0">%d</xliff:g>. После <xliff:g id="NUMBER_1">%d</xliff:g> неудачных попыток вам будет предложено разблокировать телефон с помощью учетных данных Google. "\n\n" Повторите попытку через <xliff:g id="NUMBER_2">%d</xliff:g> с."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Количество неудачных попыток ввода графического ключа разблокировки: <xliff:g id="NUMBER_0">%d</xliff:g>. После <xliff:g id="NUMBER_1">%d</xliff:g> неудачных попыток вам будет предложено разблокировать телефон с помощью учетных данных Google. "\n\n" Повторите попытку через <xliff:g id="NUMBER_2">%d</xliff:g> с."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Повторите попытку через <xliff:g id="NUMBER">%d</xliff:g> с."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Забыли графический ключ?"</string>
@@ -656,12 +657,14 @@
<string name="factorytest_not_system" msgid="4435201656767276723">"Действие FACTORY_TEST поддерживается только для пакетов, установленных в /system/app."</string>
<string name="factorytest_no_action" msgid="872991874799998561">"Пакет, обеспечивающий действие FACTORY_TEST, не найден."</string>
<string name="factorytest_reboot" msgid="6320168203050791643">"Перезагрузка"</string>
- <string name="js_dialog_title" msgid="8143918455087008109">"На странице по адресу \"<xliff:g id="TITLE">%s</xliff:g>\" сказано:"</string>
+ <string name="js_dialog_title" msgid="8143918455087008109">"Подтвердите действие на <xliff:g id="TITLE">%s</xliff:g>"</string>
<string name="js_dialog_title_default" msgid="6961903213729667573">"JavaScript"</string>
<string name="js_dialog_before_unload" msgid="1901675448179653089">"Перейти с этой страницы?"\n\n"<xliff:g id="MESSAGE">%s</xliff:g>"\n\n"Нажмите \"ОК\", чтобы продолжить, или \"Отмена\", чтобы остаться на текущей странице."</string>
<string name="save_password_label" msgid="6860261758665825069">"Подтвердите"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Совет: нажмите дважды, чтобы увеличить и уменьшить масштаб."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Заполнить форму автоматически"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 77dc235..7e21ae5 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"<xliff:g id="NUMBER_0">%d</xliff:g>-krát ste nesprávne nakreslili svoj bezpečnostný vzor. Po ďalších neúspešných pokusoch (<xliff:g id="NUMBER_1">%d</xliff:g>) budete požiadaní o odblokovanie telefónu pomocou prihlásenia do služby Google."\n\n" Skúste to znova o niekoľko sekúnd (<xliff:g id="NUMBER_2">%d</xliff:g>)."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"<xliff:g id="NUMBER_0">%d</xliff:g>-krát ste nesprávne nakreslili svoj bezpečnostný vzor. Po ďalších neúspešných pokusoch (<xliff:g id="NUMBER_1">%d</xliff:g>) budete požiadaní o odblokovanie telefónu pomocou prihlásenia do služby Google."\n\n" Skúste to znova o niekoľko sekúnd (<xliff:g id="NUMBER_2">%d</xliff:g>)."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Počet sekúnd zostávajúcich do ďalšieho pokusu: <xliff:g id="NUMBER">%d</xliff:g>."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Zabudli ste vzor?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: Dvojitým klepnutím môžete zobrazenie priblížiť alebo oddialiť."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index fba50c0..68eb899 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Vzorec za odklepanje ste nepravilno vnesli <xliff:g id="NUMBER_0">%d</xliff:g>-krat. Po <xliff:g id="NUMBER_1">%d</xliff:g> neuspešnih poskusih boste pozvani, da odklenete telefon z Googlovimi podatki za prijavo."\n\n" Poskusite znova čez <xliff:g id="NUMBER_2">%d</xliff:g> sekund."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Vzorec za odklepanje ste nepravilno vnesli <xliff:g id="NUMBER_0">%d</xliff:g>-krat. Po <xliff:g id="NUMBER_1">%d</xliff:g> neuspešnih poskusih boste pozvani, da odklenete telefon z Googlovimi podatki za prijavo."\n\n" Poskusite znova čez <xliff:g id="NUMBER_2">%d</xliff:g> sekund."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Poskusite znova čez <xliff:g id="NUMBER">%d</xliff:g> sekund."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Ali ste pozabili vzorec?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Namig: tapnite dvakrat, če želite povečati ali pomanjšati."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 58e4700..5cf7223 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"<xliff:g id="NUMBER_0">%d</xliff:g> пута сте нетачно унели шаблон за откључавање. Након још <xliff:g id="NUMBER_1">%d</xliff:g> неуспешна(их) покушаја, од вас ће бити затражено да откључате телефон помоћу података за пријављивање на Google."\n\n" Покушајте поново за <xliff:g id="NUMBER_2">%d</xliff:g> секунде(и)."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"<xliff:g id="NUMBER_0">%d</xliff:g> пута сте нетачно унели шаблон за откључавање. Након још <xliff:g id="NUMBER_1">%d</xliff:g> неуспешна(их) покушаја, од вас ће бити затражено да откључате телефон помоћу података за пријављивање на Google."\n\n" Покушајте поново за <xliff:g id="NUMBER_2">%d</xliff:g> секунде(и)."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Покушајте поново за <xliff:g id="NUMBER">%d</xliff:g> секунде(и)."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Заборавили сте шаблон?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Савет: Додирните двапут да бисте увећали и умањили приказ."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 8ac9273..e5de6ad 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Du har ritat ditt grafiska lösenord fel <xliff:g id="NUMBER_0">%d</xliff:g> gånger. "\n\n"Försök igen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Du har angett fel lösenord <xliff:g id="NUMBER_0">%d</xliff:g> gånger. "\n\n"Försök igen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"Du har angett din PIN-kod fel <xliff:g id="NUMBER_0">%d</xliff:g> gånger. "\n\n"Försök igen om <xliff:g id="NUMBER_1">%d</xliff:g> sekunder."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Du har ritat ditt grafiska lösenord fel <xliff:g id="NUMBER_0">%d</xliff:g> gånger. Efter <xliff:g id="NUMBER_1">%d</xliff:g> försök till kommer du att uppmanas att låsa upp telefonen med din Google-inloggning."\n\n" Försök igen om <xliff:g id="NUMBER_2">%d</xliff:g> sekunder."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Du har ritat ditt grafiska lösenord fel <xliff:g id="NUMBER_0">%d</xliff:g> gånger. Efter <xliff:g id="NUMBER_1">%d</xliff:g> försök till kommer du att uppmanas att låsa upp telefonen med din Google-inloggning."\n\n" Försök igen om <xliff:g id="NUMBER_2">%d</xliff:g> sekunder."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Försök igen om <xliff:g id="NUMBER">%d</xliff:g> sekunder."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Glömt ditt grafiska lösenord?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Bekräfta"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"Tips! Dubbelklicka om du vill zooma in eller ut."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Autofyll formuläret"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index ec7df1e..0113275 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"คุณวาดรูปแบบการปลดล็อกไม่ถูกต้อง <xliff:g id="NUMBER_0">%d</xliff:g> ครั้งหากทำไม่สำเร็จอีก <xliff:g id="NUMBER_1">%d</xliff:g> ครั้ง ระบบจะขอให้คุณปลดล็อกโทรศัพท์โดยใช้การลงชื่อเข้าใช้ Google"\n\n"โปรดลองอีกครั้งในอีก <xliff:g id="NUMBER_2">%d</xliff:g> วินาที"</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"คุณวาดรูปแบบการปลดล็อกไม่ถูกต้อง <xliff:g id="NUMBER_0">%d</xliff:g> ครั้งหากทำไม่สำเร็จอีก <xliff:g id="NUMBER_1">%d</xliff:g> ครั้ง ระบบจะขอให้คุณปลดล็อกโทรศัพท์โดยใช้การลงชื่อเข้าใช้ Google"\n\n"โปรดลองอีกครั้งในอีก <xliff:g id="NUMBER_2">%d</xliff:g> วินาที"</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"ลองใหม่อีกครั้งใน <xliff:g id="NUMBER">%d</xliff:g> วินาที"</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"ลืมรูปแบบหรือ"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"เคล็ดลับ: แตะสองครั้งเพื่อขยายและย่อ"</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 12581ed..0e28a1a 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Naguhit mo nang mali ang iyong pattern sa pag-unlock nang <xliff:g id="NUMBER_0">%d</xliff:g> (na) beses. Pagkatapos ng <xliff:g id="NUMBER_1">%d</xliff:g> higit pang hindi matagumpay na pagtatangka, hihingin sa iyong i-unlock ang iyong telepono gamit ang iyong pag-sign-in sa Google."\n\n" Pakisubukang muli sa loob ng <xliff:g id="NUMBER_2">%d</xliff:g> (na) segundo."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Naguhit mo nang mali ang iyong pattern sa pag-unlock nang <xliff:g id="NUMBER_0">%d</xliff:g> (na) beses. Pagkatapos ng <xliff:g id="NUMBER_1">%d</xliff:g> higit pang hindi matagumpay na pagtatangka, hihingin sa iyong i-unlock ang iyong telepono gamit ang iyong pag-sign-in sa Google."\n\n" Pakisubukang muli sa loob ng <xliff:g id="NUMBER_2">%d</xliff:g> (na) segundo."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Subukang muli sa loob ng <xliff:g id="NUMBER">%d</xliff:g> (na) segundo."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Nakalimutan ang pattern?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Tip: mag-double-tap upang mag-zoom in at out."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 90dd16d..a1abbeb 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"Kilit açma deseninizi <xliff:g id="NUMBER_0">%d</xliff:g> kez yanlış çizdiniz. "\n\n"Lütfen <xliff:g id="NUMBER_1">%d</xliff:g> saniye içinde yeniden deneyin."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"Şifrenizi <xliff:g id="NUMBER_0">%d</xliff:g> kez yanlış girdiniz. "\n\n"Lütfen <xliff:g id="NUMBER_1">%d</xliff:g> saniye içinde yeniden deneyin."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"PIN\'inizi <xliff:g id="NUMBER_0">%d</xliff:g> kez yanlış girdiniz. "\n\n"Lütfen <xliff:g id="NUMBER_1">%d</xliff:g> saniye içinde yeniden deneyin."</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Kilit açma deseninizi <xliff:g id="NUMBER_0">%d</xliff:g> kez yanlış çizdiniz. <xliff:g id="NUMBER_1">%d</xliff:g> başarısız denemeden sonra telefonunuzu Google oturum açma bilgilerinizi kullanarak açmanız istenir."\n\n" Lütfen <xliff:g id="NUMBER_2">%d</xliff:g> saniye içinde yeniden deneyin."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Kilit açma deseninizi <xliff:g id="NUMBER_0">%d</xliff:g> kez yanlış çizdiniz. <xliff:g id="NUMBER_1">%d</xliff:g> başarısız denemeden sonra telefonunuzu Google oturum açma bilgilerinizi kullanarak açmanız istenir."\n\n" Lütfen <xliff:g id="NUMBER_2">%d</xliff:g> saniye içinde yeniden deneyin."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> saniye içinde yeniden deneyin."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Deseni unuttunuz mu?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"Onayla"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"İpucu: Yakınlaştırmak ve uzaklaştırmak için iki kez hafifçe vurun."</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"Bu formu otomatik doldur"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index a70f082..f9eacb9 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Неправильно намал. ключ розблокування стільки разів: <xliff:g id="NUMBER_0">%d</xliff:g>. Ваш телефон потрібно буде розблок-ти за допомогою входу в Google після стількох додатк. неуспішних спроб: <xliff:g id="NUMBER_1">%d</xliff:g>."\n\n" Спробуйте ще через <xliff:g id="NUMBER_2">%d</xliff:g> сек."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Неправильно намал. ключ розблокування стільки разів: <xliff:g id="NUMBER_0">%d</xliff:g>. Ваш телефон потрібно буде розблок-ти за допомогою входу в Google після стількох додатк. неуспішних спроб: <xliff:g id="NUMBER_1">%d</xliff:g>."\n\n" Спробуйте ще через <xliff:g id="NUMBER_2">%d</xliff:g> сек."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Спробуйте ще через <xliff:g id="NUMBER">%d</xliff:g> сек."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Забули ключ?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Порада: двічі нат. для збіл. або змен."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 57d5ea1..e33b7be 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -667,7 +667,8 @@
<skip />
<!-- no translation found for lockscreen_too_many_failed_pin_attempts_dialog_message (6827749231465145590) -->
<skip />
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"Bạn đã vẽ không chính xác hình mở khoá của mình <xliff:g id="NUMBER_0">%d</xliff:g> lần. Sau <xliff:g id="NUMBER_1">%d</xliff:g> lần thử không thành công khác, bạn sẽ được yêu cầu mở khoá điện thoại bằng thông tin đăng nhập Google của mình."\n\n" Vui lòng thử lại trong <xliff:g id="NUMBER_2">%d</xliff:g> giây."</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"Bạn đã vẽ không chính xác hình mở khoá của mình <xliff:g id="NUMBER_0">%d</xliff:g> lần. Sau <xliff:g id="NUMBER_1">%d</xliff:g> lần thử không thành công khác, bạn sẽ được yêu cầu mở khoá điện thoại bằng thông tin đăng nhập Google của mình."\n\n" Vui lòng thử lại trong <xliff:g id="NUMBER_2">%d</xliff:g> giây."</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"Hãy thử lại sau <xliff:g id="NUMBER">%d</xliff:g> giây."</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Đã quên hình?"</string>
@@ -698,6 +699,8 @@
<string name="double_tap_toast" msgid="1068216937244567247">"Mẹo: nhấn đúp để phóng to và thu nhỏ."</string>
<!-- no translation found for autofill_this_form (1272247532604569872) -->
<skip />
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<!-- no translation found for autofill_address_name_separator (2504700673286691795) -->
<skip />
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 9dc64a4..031d488 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次绘错了自己的解锁图案。"\n\n"请在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒后重试。"</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地输入了密码。"\n\n"请在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒后重试。"</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地输入了 PIN。"\n\n"请在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒后重试。"</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次绘错了自己的解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%d</xliff:g> 次后仍不成功,系统会要求您使用自己的 Google 登录信息解锁手机。"\n\n"请在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒后重试。"</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次绘错了自己的解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%d</xliff:g> 次后仍不成功,系统会要求您使用自己的 Google 登录信息解锁手机。"\n\n"请在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒后重试。"</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> 秒后重试。"</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"忘记了图案?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"确认"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"提示:点按两次可放大和缩小。"</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"自动填充此表单"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 37f9d58..c7cfe8e 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -632,7 +632,8 @@
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="3514742106066877476">"畫出解鎖圖形已錯誤 <xliff:g id="NUMBER_0">%d</xliff:g> 次。"\n\n" 請在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒後再嘗試。"</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="4906034376425175381">"您已 <xliff:g id="NUMBER_0">%d</xliff:g> 次輸入不正確的密碼。"\n\n"請於 <xliff:g id="NUMBER_1">%d</xliff:g> 秒後再試一次。"</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6827749231465145590">"您已 <xliff:g id="NUMBER_0">%d</xliff:g> 次輸入不正確的 PIN。"\n\n"請於 <xliff:g id="NUMBER_1">%d</xliff:g> 秒後再試一次。"</string>
- <!-- outdated translation 3351013842320127827 --> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="8687762517114904651">"畫出解鎖圖形已錯誤 <xliff:g id="NUMBER_0">%d</xliff:g> 次。再錯誤 <xliff:g id="NUMBER_1">%d</xliff:g> 次後,系統會要求使用 Google 登入來解鎖。"\n\n" 請在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒後再試一次。"</string>
+ <!-- no translation found for lockscreen_failed_attempts_almost_glogin (8687762517114904651) -->
+ <skip />
<string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="3351013842320127827">"畫出解鎖圖形已錯誤 <xliff:g id="NUMBER_0">%d</xliff:g> 次。再錯誤 <xliff:g id="NUMBER_1">%d</xliff:g> 次後,系統會要求使用 Google 登入來解鎖。"\n\n" 請在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒後再試一次。"</string>
<string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> 秒後再試一次。"</string>
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"忘記解鎖圖形?"</string>
@@ -662,6 +663,8 @@
<string name="save_password_label" msgid="6860261758665825069">"確認"</string>
<string name="double_tap_toast" msgid="1068216937244567247">"提示:輕按兩下可放大縮小。"</string>
<!-- outdated translation 8940110866775097494 --> <string name="autofill_this_form" msgid="1272247532604569872">"自動填寫此表單"</string>
+ <!-- no translation found for setup_autofill (8154593408885654044) -->
+ <skip />
<string name="autofill_address_name_separator" msgid="2504700673286691795">" "</string>
<!-- no translation found for autofill_address_summary_name_format (3268041054899214945) -->
<skip />
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index a8099e3..5d4fd4e 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -503,6 +503,15 @@
<attr name="listPopupWindowStyle" format="reference" />
<!-- Default PopupMenu style. -->
<attr name="popupMenuStyle" format="reference" />
+ <!-- NumberPicker up button style -->
+ <attr name="numberPickerUpButtonStyle" format="reference" />
+ <!-- NumberPicker down button style -->
+ <attr name="numberPickerDownButtonStyle" format="reference" />
+ <!-- NumberPicker input text style -->
+ <attr name="numberPickerInputTextStyle" format="reference" />
+
+ <!-- NumberPicker the fading edge length of the selector wheel -->
+ <attr name="numberPickerStyle" format="reference" />
<!-- =================== -->
<!-- Action bar styles -->
@@ -2856,6 +2865,12 @@
<attr name="minorWeightMax" format="float" />
</declare-styleable>
+ <!-- @hide -->
+ <declare-styleable name="NumberPicker">
+ <attr name="orientation" />
+ <attr name="solidColor" format="color|reference" />
+ </declare-styleable>
+
<!-- ========================= -->
<!-- Drawable class attributes -->
<!-- ========================= -->
diff --git a/core/res/res/values/donottranslate.xml b/core/res/res/values/donottranslate.xml
index d6d5dbb..bdcab39 100644
--- a/core/res/res/values/donottranslate.xml
+++ b/core/res/res/values/donottranslate.xml
@@ -24,4 +24,6 @@
<bool name="lockscreen_isPortrait">true</bool>
<!-- @hide DO NOT TRANSLATE. Control aspect ratio of lock pattern -->
<string name="lock_pattern_view_aspect">square</string>
+ <!-- @hide DO NOT TRANSLATE. Separator between the hour and minute elements in a TimePicker widget -->
+ <string name="time_picker_separator">:</string>
</resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 0c3361d..eafa9b6 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -2291,6 +2291,10 @@
<!-- See SMS_DIALOG. This is a button choice to disallow sending the SMSes.. -->
<string name="sms_control_no">Cancel</string>
+ <!-- Date/Time picker dialogs strings -->
+
+ <!-- The title of the time picker dialog. [CHAR LIMIT=NONE] -->
+ <string name="time_picker_dialog_title">Set time</string>
<!-- Name of the button in the date/time picker to accept the date/time change -->
<string name="date_time_set">Set</string>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 2754e73..60150a1 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -460,6 +460,28 @@
<item name="android:background">@android:drawable/btn_default</item>
</style>
+ <style name="Widget.NumberPicker">
+ <item name="android:orientation">vertical</item>
+ <item name="android:fadingEdge">vertical</item>
+ <item name="android:fadingEdgeLength">50dip</item>
+ <item name="android:solidColor">?android:attr/colorBackground</item>
+ </style>
+
+ <style name="Widget.ImageButton.NumberPickerUpButton">
+ <item name="android:background">@android:drawable/timepicker_up_btn</item>
+ </style>
+
+ <style name="Widget.ImageButton.NumberPickerDownButton">
+ <item name="android:background">@android:drawable/timepicker_down_btn</item>
+ </style>
+
+ <style name="Widget.EditText.NumberPickerInputText">
+ <item name="android:textAppearance">@style/TextAppearance.Large.Inverse.NumberPickerInputText</item>
+ <item name="android:gravity">center</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:background">@drawable/timepicker_input</item>
+ </style>
+
<style name="Widget.AutoCompleteTextView" parent="Widget.EditText">
<item name="android:completionHintView">@android:layout/simple_dropdown_hint</item>
<item name="android:completionThreshold">2</item>
@@ -761,7 +783,7 @@
<style name="TextAppearance.Widget.TextView.SpinnerItem">
<item name="android:textColor">@android:color/primary_text_light_disable_only</item>
</style>
-
+
<!-- @hide -->
<style name="TextAppearance.SlidingTabNormal"
parent="@android:attr/textAppearanceMedium">
@@ -804,6 +826,11 @@
<item name="android:textStyle">bold</item>
</style>
+ <style name="TextAppearance.Large.Inverse.NumberPickerInputText">
+ <item name="android:textColor">@android:color/primary_text_light</item>
+ <item name="android:textSize">30sp</item>
+ </style>
+
<!-- Preference Styles -->
<style name="Preference">
@@ -1353,6 +1380,27 @@
<style name="Widget.Holo.ImageButton" parent="Widget.ImageButton">
</style>
+ <style name="Widget.Holo.ImageButton.NumberPickerUpButton">
+ <item name="android:background">@null</item>
+ <item name="android:paddingBottom">26sp</item>
+ <item name="android:src">@android:drawable/timepicker_up_btn_holo_dark</item>
+ </style>
+
+ <style name="Widget.Holo.ImageButton.NumberPickerDownButton">
+ <item name="android:background">@null</item>
+ <item name="android:paddingTop">26sp</item>
+ <item name="android:src">@android:drawable/timepicker_down_btn_holo_dark</item>
+ </style>
+
+ <style name="Widget.Holo.EditText.NumberPickerInputText">
+ <item name="android:paddingTop">13sp</item>
+ <item name="android:paddingBottom">13sp</item>
+ <item name="android:gravity">center</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:textSize">18sp</item>
+ <item name="android:background">@null</item>
+ </style>
+
<style name="Widget.Holo.ImageWell" parent="Widget.ImageWell">
</style>
@@ -1655,6 +1703,17 @@
<style name="Widget.Holo.Light.ImageButton" parent="Widget.ImageButton">
</style>
+ <style name="Widget.Holo.Light.ImageButton.NumberPickerUpButton" parent="Widget.Holo.Light.ImageButton.NumberPickerUpButton">
+ <item name="android:background">@android:drawable/timepicker_up_btn_holo_light</item>
+ </style>
+
+ <style name="Widget.Holo.Light.ImageButton.NumberPickerDownButton" parent="Widget.Holo.ImageButton.NumberPickerDownButton">
+ <item name="android:background">@android:drawable/timepicker_down_btn_holo_light</item>
+ </style>
+
+ <style name="Widget.Holo.Light.EditText.NumberPickerInputText" parent="Widget.Holo.EditText.NumberPickerInputText">
+ </style>
+
<style name="Widget.Holo.Light.ImageWell" parent="Widget.ImageWell">
</style>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 0eec0df..97df48a 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -267,8 +267,16 @@
<item name="searchViewGoIcon">@android:drawable/ic_go</item>
<item name="searchViewVoiceIcon">@android:drawable/ic_voice_search</item>
+
<!-- PreferenceFrameLayout attributes -->
<item name="preferenceFrameLayoutStyle">@android:style/Widget.PreferenceFrameLayout</item>
+
+ <!-- NumberPicker styles-->
+ <item name="numberPickerUpButtonStyle">@style/Widget.ImageButton.NumberPickerUpButton</item>
+ <item name="numberPickerDownButtonStyle">@style/Widget.ImageButton.NumberPickerDownButton</item>
+ <item name="numberPickerInputTextStyle">@style/Widget.EditText.NumberPickerInputText</item>
+ <item name="numberPickerStyle">@style/Widget.NumberPicker</item>
+
</style>
<!-- Variant of the default (dark) theme with no title bar -->
@@ -881,6 +889,12 @@
<!-- PreferenceFrameLayout attributes -->
<item name="preferenceFrameLayoutStyle">@android:style/Widget.Holo.PreferenceFrameLayout</item>
+
+ <!-- NumberPicker styles-->
+ <item name="numberPickerUpButtonStyle">@style/Widget.Holo.ImageButton.NumberPickerUpButton</item>
+ <item name="numberPickerDownButtonStyle">@style/Widget.Holo.ImageButton.NumberPickerDownButton</item>
+ <item name="numberPickerInputTextStyle">@style/Widget.Holo.EditText.NumberPickerInputText</item>
+
</style>
<!-- New Honeycomb holographic theme. Light version. The widgets in the
@@ -1117,6 +1131,12 @@
<!-- SearchView attributes -->
<item name="searchDropdownBackground">@android:drawable/search_dropdown_light</item>
+
+ <!-- NumberPicker attributes and styles-->
+ <item name="numberPickerUpButtonStyle">@style/Widget.Holo.Light.ImageButton.NumberPickerUpButton</item>
+ <item name="numberPickerDownButtonStyle">@style/Widget.Holo.Light.ImageButton.NumberPickerDownButton</item>
+ <item name="numberPickerInputTextStyle">@style/Widget.Holo.Light.EditText.NumberPickerInputText</item>
+
</style>
<!-- Development legacy name; if you're using this, switch. -->
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar.xml b/packages/SystemUI/res/layout-xlarge/status_bar.xml
index d4e9c53..758377b 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar.xml
@@ -82,14 +82,24 @@
android:orientation="horizontal"
android:gravity="center"
>
- <ImageView
- android:id="@+id/network"
+ <FrameLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="top"
android:layout_marginTop="19dp"
android:layout_marginRight="4dp"
- />
+ >
+ <ImageView
+ android:id="@+id/network_signal"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ />
+ <ImageView
+ android:id="@+id/network_type"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ />
+ </FrameLayout>
<ImageView
android:id="@+id/battery"
android:layout_height="wrap_content"
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel.xml b/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel.xml
index c0612c8..1d98458 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel.xml
@@ -95,7 +95,17 @@
/>
<ImageView
- android:id="@+id/network"
+ android:id="@+id/network_signal"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_toRightOf="@id/battery_text"
+ android:layout_alignBaseline="@id/battery"
+ android:layout_marginRight="8dp"
+ android:baseline="15dp"
+ />
+
+ <ImageView
+ android:id="@+id/network_type"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@id/battery_text"
@@ -109,7 +119,7 @@
style="@style/StatusBarNotificationText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_toRightOf="@id/network"
+ android:layout_toRightOf="@id/network_signal"
android:layout_alignBaseline="@id/battery"
android:singleLine="true"
android:text="@string/status_bar_settings_settings_button"
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 1a32aa7..8a18d55 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"التنبيهات"</string>
<string name="battery_low_title" msgid="7923774589611311406">"الرجاء توصيل الشاحن"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"البطارية منخفضة:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"يتبقى <xliff:g id="NUMBER">%d%%</xliff:g> أو أقل."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"استخدام البطارية"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"حديثة"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index a9c8ba0..9270997 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Известия"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Моля, включете зарядно устройство"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Батерията се изтощава:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Остава <xliff:g id="NUMBER">%d%%</xliff:g> или по-малко."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Използване на батерията"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Скорошни"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index eea01e1..70f3ee1 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificacions"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Connecteu el carregador"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Comença a quedar poca bateria:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"En queda un <xliff:g id="NUMBER">%d%%</xliff:g> o menys."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Ús de la bateria"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recents"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-cs-xlarge/strings.xml b/packages/SystemUI/res/values-cs-xlarge/strings.xml
deleted file mode 100644
index d432a8b..0000000
--- a/packages/SystemUI/res/values-cs-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"žádné připojení k internetu"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: připojeno"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: připojování"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mob. data: připojeno"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mob. data: připojování"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 5eac747..cfdf0dd 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Oznámení"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Prosím připojte dobíjecí zařízení"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterie je vybitá:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Zbývá <xliff:g id="NUMBER">%d%%</xliff:g> nebo méně."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Využití baterie"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Nejnovější"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-da-xlarge/strings.xml b/packages/SystemUI/res/values-da-xlarge/strings.xml
deleted file mode 100644
index 9d587a8..0000000
--- a/packages/SystemUI/res/values-da-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"ingen forbindelse"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi forbundet"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: forbinder..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mobildata tilsluttet"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mobildata tilsluttes"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 7b49070..e4fc728 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Meddelelser"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Forbind oplader"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Batteriet er ved at være fladt:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> eller mindre tilbage."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Batteriforbrug"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Seneste"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-de-xlarge/strings.xml b/packages/SystemUI/res/values-de-xlarge/strings.xml
deleted file mode 100644
index fd1a976..0000000
--- a/packages/SystemUI/res/values-de-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"Keine Verbindung"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"WLAN: verbunden"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"WLAN: verbindet..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mobile Daten: aktiv"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mobile Daten: verbindet"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 1535e78..edb1bef 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Benachrichtigungen"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Ladegerät anschließen"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akku ist fast leer."</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> oder weniger verbleiben."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Akkuverbrauch"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Zuletzt verwendet"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-el-xlarge/strings.xml b/packages/SystemUI/res/values-el-xlarge/strings.xml
deleted file mode 100644
index c52d6daf..0000000
--- a/packages/SystemUI/res/values-el-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"χωρίς σύνδ. σε Διαδ."</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: συνδέθηκε"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: σύνδεση..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Δεδ. κιν.: συνδέθηκε"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Δεδ.κιν.: σύνδεση..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 369b16f..21ea803 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Ειδοποιήσεις"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Συνδέστε τον φορτιστή"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Η στάθμη της μπαταρίας είναι χαμηλή:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Απομένει <xliff:g id="NUMBER">%d%%</xliff:g> ή λιγότερο."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Χρήση μπαταρίας"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Πρόσφατα"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index db4f9ba..c9d4b76 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifications"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Please connect charger"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"The battery is getting low:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> or less remaining."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Battery use"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recent"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-es-rUS-xlarge/strings.xml b/packages/SystemUI/res/values-es-rUS-xlarge/strings.xml
deleted file mode 100644
index 6530edf..0000000
--- a/packages/SystemUI/res/values-es-rUS-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"no hay conexión a Internet"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: conectado"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: conectando…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Datos para cel: conectado"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Datos para cel: conectando"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 2312be7..b6d3618 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -31,11 +31,19 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificaciones"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Conecta el cargador"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Hay poca batería:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Restan <xliff:g id="NUMBER">%d%%</xliff:g> o menos."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Uso de la batería"</string>
- <string name="status_bar_settings_settings_button" msgid="7832600575390861653">"Configuración"</string>
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
+ <skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Reciente"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
<skip />
diff --git a/packages/SystemUI/res/values-es-xlarge/strings.xml b/packages/SystemUI/res/values-es-xlarge/strings.xml
deleted file mode 100644
index adcda91..0000000
--- a/packages/SystemUI/res/values-es-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"sin conexión"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"WiFi: conectado"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"WiFi: conectando..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Datos móviles: conectados"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Datos móviles: conectando..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 64b60b4..77773af 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificaciones"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Conecta el cargador"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Se está agotando la batería:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> o menos disponible"</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Uso de la batería"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Reciente"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 8e2b348..015b87c 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"اعلان ها"</string>
<string name="battery_low_title" msgid="7923774589611311406">"لطفاً شارژر را وصل کنید"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"باتری در حال کم شدن است:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> یا کمتر باقیمانده است."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"استفاده از باتری"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"اخیر"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 8fcc7d6..d677afc 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Ilmoitukset"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Kytke laturi"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akun virta on vähissä:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"jäljellä <xliff:g id="NUMBER">%d%%</xliff:g> tai vähemmän."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Akun käyttö"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Viimeisimmät"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-fr-xlarge/strings.xml b/packages/SystemUI/res/values-fr-xlarge/strings.xml
deleted file mode 100644
index f8036ad..0000000
--- a/packages/SystemUI/res/values-fr-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"Internet indisponible"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi : connecté"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi : connexion..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Données mobiles connectées"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Connexion données mobiles..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 7df4d74..8877329 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifications"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Branchez le chargeur"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Le niveau de la batterie est bas :"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Maximum <xliff:g id="NUMBER">%d%%</xliff:g> restants."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Utilisation de la batterie"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Récentes"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-he/strings.xml b/packages/SystemUI/res/values-he/strings.xml
index 0e3479b..ad1f755 100644
--- a/packages/SystemUI/res/values-he/strings.xml
+++ b/packages/SystemUI/res/values-he/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"התראות"</string>
<string name="battery_low_title" msgid="7923774589611311406">"חבר מטען"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"הסוללה נחלשת:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"נותרו עוד <xliff:g id="NUMBER">%d%%</xliff:g> או פחות."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"צריכת סוללה"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"אחרונות"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 0fea021..d601eb0 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Obavijesti"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Priključite punjač"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterija će uskoro biti potrošena:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Preostaje <xliff:g id="NUMBER">%d%%</xliff:g> ili manje."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Iskorištenost baterije"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Nedavni"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 788e96f4..4188b6f 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Értesítések"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Kérjük, csatlakoztassa a töltőt"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akkufeszültség alacsony:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> vagy kevesebb maradt."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Akkumulátorhasználat"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Legutóbbiak"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-id/strings.xml b/packages/SystemUI/res/values-id/strings.xml
index cde575f..974498a 100644
--- a/packages/SystemUI/res/values-id/strings.xml
+++ b/packages/SystemUI/res/values-id/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Pemberitahuan"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Harap hubungkan ke pengisi daya"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterai kekurangan daya:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> atau kurang yang tersisa."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Penggunaan baterai"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Terbaru"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-it-xlarge/strings.xml b/packages/SystemUI/res/values-it-xlarge/strings.xml
deleted file mode 100644
index 3909bd5..0000000
--- a/packages/SystemUI/res/values-it-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"no conness. Internet"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: connesso"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: connessione…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Dati cell.: connesso"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Dati cell.: connessione…"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index ee91a16..0507cf9 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifiche"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Collegare il caricabatterie"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Batteria quasi scarica:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> rimanente o meno."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Utilizzo batteria"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recenti"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-ja-xlarge/strings.xml b/packages/SystemUI/res/values-ja-xlarge/strings.xml
deleted file mode 100644
index df512b7..0000000
--- a/packages/SystemUI/res/values-ja-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"インターネット接続なし"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: 接続されました"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: 接続中..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"データ通信: 接続されました"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"データ通信: 接続中..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 817f656..782d03b 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
<string name="battery_low_title" msgid="7923774589611311406">"充電してください"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"電池が残り少なくなっています:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"残り<xliff:g id="NUMBER">%d%%</xliff:g>未満です。"</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"電池使用量"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"新着"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-ko-xlarge/strings.xml b/packages/SystemUI/res/values-ko-xlarge/strings.xml
deleted file mode 100644
index 42f798c..0000000
--- a/packages/SystemUI/res/values-ko-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"인터넷에 연결되지 않음"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: 연결됨"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: 연결 중…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"모바일 데이터: 연결됨"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"모바일 데이터: 연결 중…"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index be94258..5e9b9d5 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"알림"</string>
<string name="battery_low_title" msgid="7923774589611311406">"충전기를 연결하세요."</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"배터리 전원이 부족합니다."</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"잔여 배터리가 <xliff:g id="NUMBER">%d%%</xliff:g> 이하입니다."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"배터리 사용량"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"최근 사용한 앱"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index ccfc800..3d6d099 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Įspėjimai"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Prijunkite kroviklį"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akumuliatorius senka:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Liko <xliff:g id="NUMBER">%d%%</xliff:g> ar mažiau."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Akumuliatoriaus naudojimas"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Naujos"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index dd6cdcf..74a7890 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Paziņojumi"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Lūdzu, pievienojiet uzlādes ierīci."</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Akumulatora uzlādes līmenis kļūst zems:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Atlicis <xliff:g id="NUMBER">%d%%</xliff:g> vai mazāk."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Akumulatora lietojums"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Nesens"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-nb-xlarge/strings.xml b/packages/SystemUI/res/values-nb-xlarge/strings.xml
deleted file mode 100644
index b07d70c..0000000
--- a/packages/SystemUI/res/values-nb-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"ingen Int.-tilkobl."</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: tilkoblet"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: kobler til"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mob.data: tilkoblet"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mob.data: kobler til"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 5da4f01..147242f 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Varslinger"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Koble til en lader"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Batteriet er nesten tomt:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"mindre enn <xliff:g id="NUMBER">%d%%</xliff:g> igjen."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Batteribruk"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Nylig"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-nl-xlarge/strings.xml b/packages/SystemUI/res/values-nl-xlarge/strings.xml
deleted file mode 100644
index 6298908..0000000
--- a/packages/SystemUI/res/values-nl-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"geen internet"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: verbonden"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: verbinden…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mobiel: verbonden"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mobiel: verbinden..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 3492652..6067cca 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Meldingen"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Sluit de oplader aan"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"De accu raakt op:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> of minder resterend."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Accugebruik"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recent"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-pl-xlarge/strings.xml b/packages/SystemUI/res/values-pl-xlarge/strings.xml
deleted file mode 100644
index e2cefc6..0000000
--- a/packages/SystemUI/res/values-pl-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"brak połączenia internetowego"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: połączono"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: łączenie…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Sieć komórkowa: połączono"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Sieć komórkowa: łączenie…"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index f6a6d79..6b19a34 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Powiadomienia"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Podłącz ładowarkę"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Bateria się rozładowuje:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Pozostało: <xliff:g id="NUMBER">%d%%</xliff:g> lub mniej."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Użycie baterii"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Najnowsze"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml b/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml
deleted file mode 100644
index 550c11c..0000000
--- a/packages/SystemUI/res/values-pt-rPT-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"Sem ligação à internet"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: ligado"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: a ligar…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Dados móveis: ligado"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Dados móveis: a ligar..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 2c03a18..7bf6eb4 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificações"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Ligue o carregador"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"A bateria está a ficar fraca:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Restam <xliff:g id="NUMBER">%d%%</xliff:g> ou menos."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Utilização da bateria"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recente"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-pt-xlarge/strings.xml b/packages/SystemUI/res/values-pt-xlarge/strings.xml
deleted file mode 100644
index 9f2d033..0000000
--- a/packages/SystemUI/res/values-pt-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"Sem conex. à intern."</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: conectado"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: conectando…"</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Dados móv: conectado"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Dados: conectando..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index a7a43a8..14b4b1f 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificações"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Conecte o carregador"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"A bateria está ficando baixa:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> ou menos restante(s)."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Uso da bateria"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recente"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-rm/strings.xml b/packages/SystemUI/res/values-rm/strings.xml
index a8625a9..95520db 100644
--- a/packages/SystemUI/res/values-rm/strings.xml
+++ b/packages/SystemUI/res/values-rm/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Avis"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Connectar il chargiabattarias"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"L\'accu è prest vid."</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> u pli pauc restant."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Consum dad accu"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Utilisà sco ultim"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 7b4ad47..b6cfe73 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificări"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Conectaţi încărcătorul"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Bateria se termină:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"A rămas <xliff:g id="NUMBER">%d%%</xliff:g> sau mai puţin."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Utilizarea bateriei"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Recente"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-ru-xlarge/strings.xml b/packages/SystemUI/res/values-ru-xlarge/strings.xml
deleted file mode 100644
index 68b2b9a..0000000
--- a/packages/SystemUI/res/values-ru-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"связь отсутствует"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: подключено"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: подключение..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Моб. данные: подключено"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Моб. данные: подключение..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index d597315..0a15bcd 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Уведомления"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Подключите зарядное устройство"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Батарея разряжена:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Осталось <xliff:g id="NUMBER">%d%%</xliff:g> или меньше."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Расход заряда батареи"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Недавние"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index b4a3221..a55d3b7 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Upozornenia"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Pripojte nabíjačku"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Batéria je skoro vybitá:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Zostáva <xliff:g id="NUMBER">%d%%</xliff:g> alebo menej."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Využitie batérie"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Najnovšie"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 8783529..a9e5c307 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Obvestila"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Priključite napajalnik"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Baterija je skoraj prazna:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Preostalo <xliff:g id="NUMBER">%d%%</xliff:g> ali manj."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Uporaba baterije"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Nedavno"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index a4d2bf0..f7dca2a 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Обавештења"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Прикључите пуњач"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Ниво напуњености батерије је низак:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Преостало је <xliff:g id="NUMBER">%d%%</xliff:g> или мање."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Коришћење батерије"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Недавно"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-sv-xlarge/strings.xml b/packages/SystemUI/res/values-sv-xlarge/strings.xml
deleted file mode 100644
index c1147c7..0000000
--- a/packages/SystemUI/res/values-sv-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"ingen Internetanslutn."</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi: ansluten"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi: ansluter..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mobildata: ansluten"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mobildata: ansluter…"</string>
-</resources>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index f2dc7f1..06188ab 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Meddelanden"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Anslut laddaren"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Batteriet håller på att ta slut:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> eller mindre kvar."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Batteriförbrukning"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Senaste"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index fb25fdf..59b869d 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"การแจ้งเตือน"</string>
<string name="battery_low_title" msgid="7923774589611311406">"โปรดเสียบอุปกรณ์ชาร์จ"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"แบตเตอรี่เหลือน้อย"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"เหลือ <xliff:g id="NUMBER">%d%%</xliff:g> หรือน้อยกว่า"</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"การใช้แบตเตอรี่"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"เมื่อเร็วๆ นี้"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 900de9f..2a075a7 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Mga Notification"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Pakikonekta ang charger"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Humihina ang baterya:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> o mas kaunti ang natitira."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Paggamit ng baterya"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Kamakailan"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-tr-xlarge/strings.xml b/packages/SystemUI/res/values-tr-xlarge/strings.xml
deleted file mode 100644
index cc36b93..0000000
--- a/packages/SystemUI/res/values-tr-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"internet bağlantısı yok"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Kablosuz: bağlı"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Kablosuz: bağlanıyor..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"Mobil veri: bağlı"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"Mob veri: bağlnyr..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 31451e1..253fbe0 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Bildirimler"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Lütfen şarj cihazını takın"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Pil tükeniyor:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> veya daha az kaldı."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Pil kullanımı"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"En Son Görevler"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index e7b9f19..63088d9 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Сповіщення"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Підключ. заряд. пристрій"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Батарея виснажується:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"Залиш-ся <xliff:g id="NUMBER">%d%%</xliff:g> або менше."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Викор. батареї"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Останні"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index fe11324..8f4927f 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Thông báo"</string>
<string name="battery_low_title" msgid="7923774589611311406">"Vui lòng kết nối bộ sạc"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"Pin đang yếu:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"còn <xliff:g id="NUMBER">%d%%</xliff:g> hoặc ít hơn."</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"Sử dụng pin"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"Gần đây"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml b/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml
deleted file mode 100644
index 072bcb0..0000000
--- a/packages/SystemUI/res/values-zh-rCN-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"无互联网连接"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-Fi:已连接"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi:正在连接..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"移动数据:已连接"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"移动数据:正在连接..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 48218c0..161a085 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
<string name="battery_low_title" msgid="7923774589611311406">"请连接充电器"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"电量所剩不多:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"电量剩余 <xliff:g id="NUMBER">%d%%</xliff:g> 或更少。"</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"电量使用情况"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"近期任务"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml b/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml
deleted file mode 100644
index 0d06aad..0000000
--- a/packages/SystemUI/res/values-zh-rTW-xlarge/strings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/**
- * Copyright (c) 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for status_bar_clear_all_button (4722520806446512408) -->
- <skip />
- <string name="status_bar_settings_signal_meter_disconnected" msgid="2123001074951934237">"沒有網際網路連線"</string>
- <!-- no translation found for status_bar_settings_signal_meter_wifi_ssid_format (6261810256542749384) -->
- <skip />
- <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="160846667119240422">"Wi-F:已連線"</string>
- <string name="status_bar_settings_signal_meter_wifi_connecting" msgid="4087640898624652649">"Wi-Fi:連線中..."</string>
- <string name="status_bar_settings_signal_meter_data_connected" msgid="2171100321540926054">"行動數據:已連線"</string>
- <string name="status_bar_settings_signal_meter_data_connecting" msgid="7183001278053801143">"行動數據:連線中..."</string>
-</resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 10c08d0..eb9108d 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -31,11 +31,18 @@
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
<string name="battery_low_title" msgid="7923774589611311406">"請連接充電器"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"電池電量即將不足:"</string>
- <!-- outdated translation 696154104579022959 --> <string name="battery_low_percent_format" msgid="1077244949318261761">"還剩 <xliff:g id="NUMBER">%d%%</xliff:g> 以下。"</string>
+ <!-- no translation found for battery_low_percent_format (1077244949318261761) -->
+ <skip />
<!-- no translation found for invalid_charger (4549105996740522523) -->
<skip />
<string name="battery_low_why" msgid="7279169609518386372">"電池使用狀況"</string>
- <!-- no translation found for status_bar_settings_settings_button (7832600575390861653) -->
+ <!-- no translation found for status_bar_settings_settings_button (3023889916699270224) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_airplane (4879879698500955300) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_rotation_lock (8361452930058000609) -->
+ <skip />
+ <!-- no translation found for status_bar_settings_notifications (397146176280905137) -->
<skip />
<string name="recent_tasks_title" msgid="3691764623638127888">"最新的"</string>
<!-- no translation found for recent_tasks_empty (1905484479067697884) -->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index 5f4d542..c55c87e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -159,7 +159,9 @@
mBatteryController.addLabelView(
(TextView)mNotificationPanel.findViewById(R.id.battery_text));
mNetworkController.addCombinedSignalIconView(
- (ImageView)mNotificationPanel.findViewById(R.id.network));
+ (ImageView)mNotificationPanel.findViewById(R.id.network_signal));
+ mNetworkController.addDataTypeIconView(
+ (ImageView)mNotificationPanel.findViewById(R.id.network_type));
mNetworkController.addLabelView(
(TextView)mNotificationPanel.findViewById(R.id.network_text));
@@ -283,7 +285,10 @@
mBatteryController = new BatteryController(mContext);
mBatteryController.addIconView((ImageView)sb.findViewById(R.id.battery));
mNetworkController = new NetworkController(mContext);
- mNetworkController.addCombinedSignalIconView((ImageView)sb.findViewById(R.id.network));
+ mNetworkController.addCombinedSignalIconView(
+ (ImageView)sb.findViewById(R.id.network_signal));
+ mNetworkController.addDataTypeIconView(
+ (ImageView)sb.findViewById(R.id.network_type));
// The navigation buttons
mNavigationArea = sb.findViewById(R.id.navigationArea);
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index bebd013..2651fd3 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -198,22 +198,26 @@
public long token;
public PackageInfo pkgInfo;
public int pmToken; // in post-install restore, the PM's token for this transaction
+ public boolean needFullBackup;
RestoreParams(IBackupTransport _transport, IRestoreObserver _obs,
- long _token, PackageInfo _pkg, int _pmToken) {
+ long _token, PackageInfo _pkg, int _pmToken, boolean _needFullBackup) {
transport = _transport;
observer = _obs;
token = _token;
pkgInfo = _pkg;
pmToken = _pmToken;
+ needFullBackup = _needFullBackup;
}
- RestoreParams(IBackupTransport _transport, IRestoreObserver _obs, long _token) {
+ RestoreParams(IBackupTransport _transport, IRestoreObserver _obs, long _token,
+ boolean _needFullBackup) {
transport = _transport;
observer = _obs;
token = _token;
pkgInfo = null;
pmToken = 0;
+ needFullBackup = _needFullBackup;
}
}
@@ -323,7 +327,8 @@
RestoreParams params = (RestoreParams)msg.obj;
Slog.d(TAG, "MSG_RUN_RESTORE observer=" + params.observer);
(new PerformRestoreTask(params.transport, params.observer,
- params.token, params.pkgInfo, params.pmToken)).run();
+ params.token, params.pkgInfo, params.pmToken,
+ params.needFullBackup)).run();
break;
}
@@ -1560,6 +1565,7 @@
private PackageInfo mTargetPackage;
private File mStateDir;
private int mPmToken;
+ private boolean mNeedFullBackup;
class RestoreRequest {
public PackageInfo app;
@@ -1572,12 +1578,14 @@
}
PerformRestoreTask(IBackupTransport transport, IRestoreObserver observer,
- long restoreSetToken, PackageInfo targetPackage, int pmToken) {
+ long restoreSetToken, PackageInfo targetPackage, int pmToken,
+ boolean needFullBackup) {
mTransport = transport;
mObserver = observer;
mToken = restoreSetToken;
mTargetPackage = targetPackage;
mPmToken = pmToken;
+ mNeedFullBackup = needFullBackup;
try {
mStateDir = new File(mBaseStateDir, transport.transportDirName());
@@ -1655,7 +1663,8 @@
// Pull the Package Manager metadata from the restore set first
pmAgent = new PackageManagerBackupAgent(
mPackageManager, agentPackages);
- processOneRestore(omPackage, 0, IBackupAgent.Stub.asInterface(pmAgent.onBind()));
+ processOneRestore(omPackage, 0, IBackupAgent.Stub.asInterface(pmAgent.onBind()),
+ mNeedFullBackup);
// Verify that the backup set includes metadata. If not, we can't do
// signature/version verification etc, so we simply do not proceed with
@@ -1752,7 +1761,8 @@
// And then finally run the restore on this agent
try {
- processOneRestore(packageInfo, metaInfo.versionCode, agent);
+ processOneRestore(packageInfo, metaInfo.versionCode, agent,
+ mNeedFullBackup);
++count;
} finally {
// unbind and tidy up even on timeout or failure, just in case
@@ -1822,7 +1832,8 @@
}
// Do the guts of a restore of one application, using mTransport.getRestoreData().
- void processOneRestore(PackageInfo app, int appVersionCode, IBackupAgent agent) {
+ void processOneRestore(PackageInfo app, int appVersionCode, IBackupAgent agent,
+ boolean needFullBackup) {
// !!! TODO: actually run the restore through mTransport
final String packageName = app.packageName;
@@ -1901,6 +1912,14 @@
try { if (newState != null) newState.close(); } catch (IOException e) {}
backupData = newState = null;
mCurrentOperations.delete(token);
+
+ // If we know a priori that we'll need to perform a full post-restore backup
+ // pass, clear the new state file data. This means we're discarding work that
+ // was just done by the app's agent, but this way the agent doesn't need to
+ // take any special action based on global device state.
+ if (needFullBackup) {
+ newStateName.delete();
+ }
}
}
}
@@ -2386,7 +2405,7 @@
mWakelock.acquire();
Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE);
msg.obj = new RestoreParams(getTransport(mCurrentTransport), null,
- restoreSet, pkg, token);
+ restoreSet, pkg, token, true);
mBackupHandler.sendMessage(msg);
} else {
// Auto-restore disabled or no way to attempt a restore; just tell the Package
@@ -2517,7 +2536,7 @@
long oldId = Binder.clearCallingIdentity();
mWakelock.acquire();
Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE);
- msg.obj = new RestoreParams(mRestoreTransport, observer, token);
+ msg.obj = new RestoreParams(mRestoreTransport, observer, token, true);
mBackupHandler.sendMessage(msg);
Binder.restoreCallingIdentity(oldId);
return 0;
@@ -2582,7 +2601,7 @@
long oldId = Binder.clearCallingIdentity();
mWakelock.acquire();
Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE);
- msg.obj = new RestoreParams(mRestoreTransport, observer, token, app, 0);
+ msg.obj = new RestoreParams(mRestoreTransport, observer, token, app, 0, false);
mBackupHandler.sendMessage(msg);
Binder.restoreCallingIdentity(oldId);
return 0;
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java
index a79aead..d1aba437 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java
@@ -39,9 +39,12 @@
import org.apache.http.util.EntityUtils;
import java.io.BufferedReader;
+import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -49,6 +52,7 @@
import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
import java.net.URL;
+import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
@@ -274,4 +278,37 @@
Log.e(LOG_TAG, "Couldn't close stream!", e);
}
}
+
+ public static List<String> loadTestListFromStorage(String path) {
+ List<String> list = new ArrayList<String>();
+ if (path != null && !path.isEmpty()) {
+ try {
+ File file = new File(path);
+ Log.d(LOG_TAG, "test list loaded from " + path);
+ BufferedReader reader = new BufferedReader(new FileReader(file));
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ list.add(line);
+ }
+ reader.close();
+ } catch (IOException ioe) {
+ Log.e(LOG_TAG, "failed to load test list", ioe);
+ }
+ }
+ return list;
+ }
+
+ public static void saveTestListToStorage(File file, int start, List<String> testList) {
+ try {
+ BufferedWriter writer = new BufferedWriter(
+ new FileWriter(file));
+ for (String line : testList.subList(start, testList.size())) {
+ writer.write(line + '\n');
+ }
+ writer.flush();
+ writer.close();
+ } catch (IOException e) {
+ Log.e(LOG_TAG, "failed to write test list", e);
+ }
+ }
}
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
index 7efb03f..ce546ec 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
@@ -21,17 +21,15 @@
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
-import android.net.Uri;
import android.net.http.SslError;
import android.os.Bundle;
-import android.os.Environment;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.Messenger;
import android.os.PowerManager;
-import android.os.Process;
import android.os.PowerManager.WakeLock;
+import android.os.Process;
import android.os.RemoteException;
import android.util.Log;
import android.view.Window;
@@ -48,10 +46,7 @@
import android.webkit.WebView;
import android.webkit.WebViewClient;
-import java.io.File;
import java.lang.Thread.UncaughtExceptionHandler;
-import java.net.MalformedURLException;
-import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -79,7 +74,7 @@
private static final String LOG_TAG = "LayoutTestsExecutor";
- public static final String EXTRA_TESTS_LIST = "TestsList";
+ public static final String EXTRA_TESTS_FILE = "TestsList";
public static final String EXTRA_TEST_INDEX = "TestIndex";
private static final int MSG_ACTUAL_RESULT_OBTAINED = 0;
@@ -305,7 +300,7 @@
requestWindowFeature(Window.FEATURE_PROGRESS);
Intent intent = getIntent();
- mTestsList = intent.getStringArrayListExtra(EXTRA_TESTS_LIST);
+ mTestsList = FsUtils.loadTestListFromStorage(intent.getStringExtra(EXTRA_TESTS_FILE));
mCurrentTestIndex = intent.getIntExtra(EXTRA_TEST_INDEX, -1);
mTotalTestCount = mCurrentTestIndex + mTestsList.size();
@@ -735,4 +730,5 @@
Log.i(LOG_TAG, mCurrentTestRelativePath + ": waitUntilDone() called");
mLayoutTestControllerHandler.sendEmptyMessage(MSG_WAIT_UNTIL_DONE);
}
+
}
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListActivity.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListActivity.java
index 9db4d2b..e374c1b 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListActivity.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListActivity.java
@@ -16,6 +16,8 @@
package com.android.dumprendertree2;
+import com.android.dumprendertree2.scriptsupport.OnEverythingFinishedCallback;
+
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
@@ -28,8 +30,7 @@
import android.webkit.WebView;
import android.widget.Toast;
-import com.android.dumprendertree2.scriptsupport.OnEverythingFinishedCallback;
-
+import java.io.File;
import java.util.ArrayList;
/**
@@ -189,12 +190,12 @@
intent.setAction(Intent.ACTION_RUN);
if (startFrom < mTotalTestCount) {
- intent.putStringArrayListExtra(LayoutTestsExecutor.EXTRA_TESTS_LIST,
- new ArrayList<String>(mTestsList.subList(startFrom, mTotalTestCount)));
+ File testListFile = new File(getExternalFilesDir(null), "test_list.txt");
+ FsUtils.saveTestListToStorage(testListFile, startFrom, mTestsList);
+ intent.putExtra(LayoutTestsExecutor.EXTRA_TESTS_FILE, testListFile.getAbsolutePath());
intent.putExtra(LayoutTestsExecutor.EXTRA_TEST_INDEX, startFrom);
} else {
- intent.putStringArrayListExtra(LayoutTestsExecutor.EXTRA_TESTS_LIST,
- new ArrayList<String>());
+ intent.putExtra(LayoutTestsExecutor.EXTRA_TESTS_FILE, "");
}
startActivity(intent);