diff options
186 files changed, 1247 insertions, 270 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 729f65618046..c3e0e573e02f 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5327,6 +5327,7 @@ package android.app { public class WallpaperManager { method public void clear() throws java.io.IOException; + method public void clearWallpaper(); method public void clearWallpaperOffsets(android.os.IBinder); method public void forgetLoadedWallpaper(); method public android.graphics.drawable.Drawable getBuiltInDrawable(); @@ -5347,6 +5348,7 @@ package android.app { method public void setDisplayPadding(android.graphics.Rect); method public void setResource(int) throws java.io.IOException; method public void setStream(java.io.InputStream) throws java.io.IOException; + method public boolean setWallpaperComponent(android.content.ComponentName); method public void setWallpaperOffsetSteps(float, float); method public void setWallpaperOffsets(android.os.IBinder, float, float); method public void suggestDesiredDimensions(int, int); @@ -12709,6 +12711,7 @@ package android.hardware { field public static final java.lang.String STRING_TYPE_STEP_COUNTER = "android.sensor.step_counter"; field public static final java.lang.String STRING_TYPE_STEP_DETECTOR = "android.sensor.step_detector"; field public static final deprecated java.lang.String STRING_TYPE_TEMPERATURE = "android.sensor.temperature"; + field public static final java.lang.String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture"; field public static final int TYPE_ACCELEROMETER = 1; // 0x1 field public static final int TYPE_ALL = -1; // 0xffffffff field public static final int TYPE_AMBIENT_TEMPERATURE = 13; // 0xd @@ -12731,6 +12734,7 @@ package android.hardware { field public static final int TYPE_STEP_COUNTER = 19; // 0x13 field public static final int TYPE_STEP_DETECTOR = 18; // 0x12 field public static final deprecated int TYPE_TEMPERATURE = 7; // 0x7 + field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a } public class SensorEvent { @@ -26872,6 +26876,7 @@ package android.provider { field public static final java.lang.String SHOW_PROCESSES = "show_processes"; field public static final java.lang.String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in"; field public static final java.lang.String SYS_PROP_SETTING_VERSION = "sys.settings_global_version"; + field public static final java.lang.String THEATER_MODE_ON = "theater_mode_on"; field public static final java.lang.String TRANSITION_ANIMATION_SCALE = "transition_animation_scale"; field public static final java.lang.String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled"; field public static final java.lang.String USE_GOOGLE_MAIL = "use_google_mail"; @@ -36911,8 +36916,10 @@ package android.view { method public java.lang.String debug(java.lang.String); method public int describeContents(); method public final java.lang.CharSequence getTitle(); + method public final long getUserActivityTimeout(); method public static boolean mayUseInputMethod(int); method public final void setTitle(java.lang.CharSequence); + method public final void setUserActivityTimeout(long); method public void writeToParcel(android.os.Parcel, int); field public static final int ALPHA_CHANGED = 128; // 0x80 field public static final int ANIMATION_CHANGED = 16; // 0x10 diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java index 94ea2c5b4d90..fecaf6fa0ffe 100644 --- a/core/java/android/app/ActivityView.java +++ b/core/java/android/app/ActivityView.java @@ -16,6 +16,8 @@ package android.app; +import static android.app.ActivityManager.START_CANCELED; + import android.content.Context; import android.content.ContextWrapper; import android.content.IIntentSender; @@ -23,6 +25,7 @@ import android.content.Intent; import android.content.IntentSender; import android.graphics.SurfaceTexture; import android.os.IBinder; +import android.os.OperationCanceledException; import android.os.RemoteException; import android.util.AttributeSet; import android.util.DisplayMetrics; @@ -55,10 +58,6 @@ public class ActivityView extends ViewGroup { private int mLastVisibility; private ActivityViewCallback mActivityViewCallback; - // Only one IIntentSender or Intent may be queued at a time. Most recent one wins. - IIntentSender mQueuedPendingIntent; - Intent mQueuedIntent; - public ActivityView(Context context) { this(context, null); } @@ -167,14 +166,13 @@ public class ActivityView extends ViewGroup { if (mActivityContainer == null) { throw new IllegalStateException("Attempt to call startActivity after release"); } + if (mSurface == null) { + throw new IllegalStateException("Surface not yet created."); + } if (DEBUG) Log.v(TAG, "startActivity(): intent=" + intent + " " + (isAttachedToDisplay() ? "" : "not") + " attached"); - if (mSurface != null) { - mActivityContainer.startActivity(intent); - } else { - mActivityContainer.checkEmbeddedAllowed(intent); - mQueuedIntent = intent; - mQueuedPendingIntent = null; + if (mActivityContainer.startActivity(intent) == START_CANCELED) { + throw new OperationCanceledException(); } } @@ -182,15 +180,14 @@ public class ActivityView extends ViewGroup { if (mActivityContainer == null) { throw new IllegalStateException("Attempt to call startActivity after release"); } + if (mSurface == null) { + throw new IllegalStateException("Surface not yet created."); + } if (DEBUG) Log.v(TAG, "startActivityIntentSender(): intentSender=" + intentSender + " " + (isAttachedToDisplay() ? "" : "not") + " attached"); final IIntentSender iIntentSender = intentSender.getTarget(); - if (mSurface != null) { - mActivityContainer.startActivityIntentSender(iIntentSender); - } else { - mActivityContainer.checkEmbeddedAllowedIntentSender(iIntentSender); - mQueuedPendingIntent = iIntentSender; - mQueuedIntent = null; + if (mActivityContainer.startActivityIntentSender(iIntentSender) == START_CANCELED) { + throw new OperationCanceledException(); } } @@ -198,15 +195,14 @@ public class ActivityView extends ViewGroup { if (mActivityContainer == null) { throw new IllegalStateException("Attempt to call startActivity after release"); } + if (mSurface == null) { + throw new IllegalStateException("Surface not yet created."); + } if (DEBUG) Log.v(TAG, "startActivityPendingIntent(): PendingIntent=" + pendingIntent + " " + (isAttachedToDisplay() ? "" : "not") + " attached"); final IIntentSender iIntentSender = pendingIntent.getTarget(); - if (mSurface != null) { - mActivityContainer.startActivityIntentSender(iIntentSender); - } else { - mActivityContainer.checkEmbeddedAllowedIntentSender(iIntentSender); - mQueuedPendingIntent = iIntentSender; - mQueuedIntent = null; + if (mActivityContainer.startActivityIntentSender(iIntentSender) == START_CANCELED) { + throw new OperationCanceledException(); } } @@ -243,26 +239,24 @@ public class ActivityView extends ViewGroup { mSurface = null; throw new RuntimeException("ActivityView: Unable to create ActivityContainer. " + e); } - - if (DEBUG) Log.v(TAG, "attachToSurfaceWhenReady: " + (mQueuedIntent != null || - mQueuedPendingIntent != null ? "" : "no") + " queued intent"); - if (mQueuedIntent != null) { - mActivityContainer.startActivity(mQueuedIntent); - mQueuedIntent = null; - } else if (mQueuedPendingIntent != null) { - mActivityContainer.startActivityIntentSender(mQueuedPendingIntent); - mQueuedPendingIntent = null; - } } /** * Set the callback to use to report certain state changes. - * @param callback The callback to report events to. + * + * Note: If the surface has been created prior to this call being made, then + * ActivityViewCallback.onSurfaceAvailable will be called from within setCallback. + * + * @param callback The callback to report events to. * * @see ActivityViewCallback */ public void setCallback(ActivityViewCallback callback) { mActivityViewCallback = callback; + + if (mSurface != null) { + mActivityViewCallback.onSurfaceAvailable(this); + } } public static abstract class ActivityViewCallback { @@ -272,6 +266,16 @@ public class ActivityView extends ViewGroup { * have at most one callback registered. */ public abstract void onAllActivitiesComplete(ActivityView view); + /** + * Called when the surface is ready to be drawn to. Calling startActivity prior to this + * callback will result in an IllegalStateException. + */ + public abstract void onSurfaceAvailable(ActivityView view); + /** + * Called when the surface has been removed. Calling startActivity after this callback + * will result in an IllegalStateException. + */ + public abstract void onSurfaceDestroyed(ActivityView view); } private class ActivityViewSurfaceTextureListener implements SurfaceTextureListener { @@ -286,6 +290,9 @@ public class ActivityView extends ViewGroup { mWidth = width; mHeight = height; attachToSurfaceWhenReady(); + if (mActivityViewCallback != null) { + mActivityViewCallback.onSurfaceAvailable(ActivityView.this); + } } @Override @@ -311,6 +318,9 @@ public class ActivityView extends ViewGroup { throw new RuntimeException( "ActivityView: Unable to set surface of ActivityContainer. " + e); } + if (mActivityViewCallback != null) { + mActivityViewCallback.onSurfaceDestroyed(ActivityView.this); + } return true; } @@ -325,7 +335,7 @@ public class ActivityView extends ViewGroup { private final WeakReference<ActivityView> mActivityViewWeakReference; ActivityContainerCallback(ActivityView activityView) { - mActivityViewWeakReference = new WeakReference<ActivityView>(activityView); + mActivityViewWeakReference = new WeakReference<>(activityView); } @Override @@ -391,24 +401,6 @@ public class ActivityView extends ViewGroup { } } - void checkEmbeddedAllowed(Intent intent) { - try { - mIActivityContainer.checkEmbeddedAllowed(intent); - } catch (RemoteException e) { - throw new RuntimeException( - "ActivityView: Unable to startActivity from Intent. " + e); - } - } - - void checkEmbeddedAllowedIntentSender(IIntentSender intentSender) { - try { - mIActivityContainer.checkEmbeddedAllowedIntentSender(intentSender); - } catch (RemoteException e) { - throw new RuntimeException( - "ActivityView: Unable to startActivity from IntentSender. " + e); - } - } - int getDisplayId() { try { return mIActivityContainer.getDisplayId(); diff --git a/core/java/android/app/IActivityContainer.aidl b/core/java/android/app/IActivityContainer.aidl index 52884f744b73..cc3b10cfa88f 100644 --- a/core/java/android/app/IActivityContainer.aidl +++ b/core/java/android/app/IActivityContainer.aidl @@ -29,8 +29,6 @@ interface IActivityContainer { void setSurface(in Surface surface, int width, int height, int density); int startActivity(in Intent intent); int startActivityIntentSender(in IIntentSender intentSender); - void checkEmbeddedAllowed(in Intent intent); - void checkEmbeddedAllowedIntentSender(in IIntentSender intentSender); int getDisplayId(); boolean injectEvent(in InputEvent event); void release(); diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index 8bfe6d3859ae..90d84ee74664 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -994,6 +994,47 @@ public class WallpaperManager { } /** + * Clear the wallpaper. + * + * @hide + */ + @SystemApi + public void clearWallpaper() { + if (sGlobals.mService == null) { + Log.w(TAG, "WallpaperService not running"); + return; + } + try { + sGlobals.mService.clearWallpaper(); + } catch (RemoteException e) { + // Ignore + } + } + + /** + * Set the live wallpaper. + * + * This can only be called by packages with android.permission.SET_WALLPAPER_COMPONENT + * permission. + * + * @hide + */ + @SystemApi + public boolean setWallpaperComponent(ComponentName name) { + if (sGlobals.mService == null) { + Log.w(TAG, "WallpaperService not running"); + return false; + } + try { + sGlobals.mService.setWallpaperComponent(name); + return true; + } catch (RemoteException e) { + // Ignore + } + return false; + } + + /** * Set the position of the current wallpaper within any larger space, when * that wallpaper is visible behind the given window. The X and Y offsets * are floating point numbers ranging from 0 to 1, representing where the diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl index dabb1ceaea8f..c6f238ee6a64 100644 --- a/core/java/android/bluetooth/IBluetooth.aidl +++ b/core/java/android/bluetooth/IBluetooth.aidl @@ -99,6 +99,6 @@ interface IBluetooth void getActivityEnergyInfoFromController(); BluetoothActivityEnergyInfo reportActivityInfo(); - // for dumpsys support - String dump(); + // For dumpsys support + void dump(in ParcelFileDescriptor fd); } diff --git a/core/java/android/hardware/Sensor.java b/core/java/android/hardware/Sensor.java index cf6a779f1fed..fa5e9d2d2c2d 100644 --- a/core/java/android/hardware/Sensor.java +++ b/core/java/android/hardware/Sensor.java @@ -18,6 +18,7 @@ package android.hardware; import android.os.Build; +import android.annotation.SystemApi; /** * Class representing a sensor. Use {@link SensorManager#getSensorList} to get @@ -511,6 +512,27 @@ public final class Sensor { */ public static final String STRING_TYPE_PICK_UP_GESTURE = "android.sensor.pick_up_gesture"; + /** + * A constant describing a wrist tilt gesture sensor. + * + * A sensor of this type triggers when the device face is tilted towards the user. + * The only allowed return value is 1.0. + * This sensor remains active until disabled. + * + * @hide This sensor is expected to only be used by the system ui + */ + @SystemApi + public static final int TYPE_WRIST_TILT_GESTURE = 26; + + /** + * A constant string describing a wrist tilt gesture sensor. + * + * @hide This sensor is expected to only be used by the system ui + * @see #TYPE_WRIST_TILT_GESTURE + */ + @SystemApi + public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture"; + /** * A constant describing all sensor types. */ @@ -591,6 +613,7 @@ public final class Sensor { 1, // SENSOR_TYPE_WAKE_GESTURE 1, // SENSOR_TYPE_GLANCE_GESTURE 1, // SENSOR_TYPE_PICK_UP_GESTURE + 1, // SENSOR_TYPE_WRIST_TILT_GESTURE }; /** diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java index e4e5a8cd8e73..34b895b5c554 100644 --- a/core/java/android/hardware/SensorManager.java +++ b/core/java/android/hardware/SensorManager.java @@ -451,7 +451,8 @@ public abstract class SensorManager { // non_wake-up version. if (type == Sensor.TYPE_PROXIMITY || type == Sensor.TYPE_SIGNIFICANT_MOTION || type == Sensor.TYPE_TILT_DETECTOR || type == Sensor.TYPE_WAKE_GESTURE || - type == Sensor.TYPE_GLANCE_GESTURE || type == Sensor.TYPE_PICK_UP_GESTURE) { + type == Sensor.TYPE_GLANCE_GESTURE || type == Sensor.TYPE_PICK_UP_GESTURE || + type == Sensor.TYPE_WRIST_TILT_GESTURE) { wakeUpSensor = true; } diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java index bb16215322ee..adab9be1d698 100644 --- a/core/java/android/hardware/display/DisplayManagerInternal.java +++ b/core/java/android/hardware/display/DisplayManagerInternal.java @@ -132,6 +132,19 @@ public abstract class DisplayManagerInternal { float requestedRefreshRate, boolean inTraversal); /** + * Applies an offset to the contents of a display, for example to avoid burn-in. + * <p> + * TODO: Technically this should be associated with a physical rather than logical + * display but this is good enough for now. + * </p> + * + * @param displayId The logical display id to update. + * @param x The X offset by which to shift the contents of the display. + * @param y The Y offset by which to shift the contents of the display. + */ + public abstract void setDisplayOffsets(int displayId, int x, int y); + + /** * Describes the requested power state of the display. * * This object is intended to describe the general characteristics of the diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 8307d9b11144..e303f61f1698 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -205,6 +205,20 @@ public final class PowerManager { public static final int DOZE_WAKE_LOCK = 0x00000040; /** + * Wake lock level: Keep the device awake enough to allow drawing to occur. + * <p> + * This is used by the window manager to allow applications to draw while the + * system is dozing. It currently has no effect unless the power manager is in + * the dozing state. + * </p><p> + * Requires the {@link android.Manifest.permission#DEVICE_POWER} permission. + * </p> + * + * {@hide} + */ + public static final int DRAW_WAKE_LOCK = 0x00000080; + + /** * Mask for the wake lock level component of a combined wake lock level and flags integer. * * @hide @@ -489,6 +503,7 @@ public final class PowerManager { case FULL_WAKE_LOCK: case PROXIMITY_SCREEN_OFF_WAKE_LOCK: case DOZE_WAKE_LOCK: + case DRAW_WAKE_LOCK: break; default: throw new IllegalArgumentException("Must specify a valid wake lock level."); @@ -835,6 +850,21 @@ public final class PowerManager { } /** + * Turn off the device. + * + * @param confirm If true, shows a shutdown confirmation dialog. + * @param wait If true, this call waits for the shutdown to complete and does not return. + * + * @hide + */ + public void shutdown(boolean confirm, boolean wait) { + try { + mService.shutdown(confirm, wait); + } catch (RemoteException e) { + } + } + + /** * Intent that is broadcast when the state of {@link #isPowerSaveMode()} changes. * This broadcast is only sent to registered receivers. */ diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 838686a53ec2..9234933804f3 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5101,6 +5101,7 @@ public final class Settings { * Whether Theater Mode is on. * {@hide} */ + @SystemApi public static final String THEATER_MODE_ON = "theater_mode_on"; /** diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index 7b13e848489e..63e1a855b1cc 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -197,4 +197,19 @@ interface IWindowSession { void onRectangleOnScreenRequested(IBinder token, in Rect rectangle); IWindowId getWindowId(IBinder window); + + /** + * When the system is dozing in a low-power partially suspended state, pokes a short + * lived wake lock and ensures that the display is ready to accept the next frame + * of content drawn in the window. + * + * This mechanism is bound to the window rather than to the display manager or the + * power manager so that the system can ensure that the window is actually visible + * and prevent runaway applications from draining the battery. This is similar to how + * FLAG_KEEP_SCREEN_ON works. + * + * This method is synchronous because it may need to acquire a wake lock before returning. + * The assumption is that this method will be called rather infrequently. + */ + void pokeDrawLock(IBinder window); } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index e4d82b16d185..90c2bd134275 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -47,6 +47,7 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import android.os.ParcelFileDescriptor; +import android.os.PowerManager; import android.os.Process; import android.os.RemoteException; import android.os.SystemClock; @@ -831,6 +832,7 @@ public final class ViewRootImpl implements ViewParent, final int newDisplayState = mDisplay.getState(); if (oldDisplayState != newDisplayState) { mAttachInfo.mDisplayState = newDisplayState; + pokeDrawLockIfNeeded(); if (oldDisplayState != Display.STATE_UNKNOWN) { final int oldScreenState = toViewScreenState(oldDisplayState); final int newScreenState = toViewScreenState(newDisplayState); @@ -861,6 +863,19 @@ public final class ViewRootImpl implements ViewParent, } }; + void pokeDrawLockIfNeeded() { + final int displayState = mAttachInfo.mDisplayState; + if (mView != null && mAdded && mTraversalScheduled + && (displayState == Display.STATE_DOZE + || displayState == Display.STATE_DOZE_SUSPEND)) { + try { + mWindowSession.pokeDrawLock(mWindow); + } catch (RemoteException ex) { + // System server died, oh well. + } + } + } + @Override public void requestFitSystemWindows() { checkThread(); @@ -1035,6 +1050,7 @@ public final class ViewRootImpl implements ViewParent, scheduleConsumeBatchedInput(); } notifyRendererOfFramePending(); + pokeDrawLockIfNeeded(); } } diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 094a8a13653c..84434f7e07aa 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -16,6 +16,7 @@ package android.view; +import android.annotation.SystemApi; import android.app.Presentation; import android.content.Context; import android.content.pm.ActivityInfo; @@ -1590,7 +1591,19 @@ public interface WindowManager extends ViewManager { public final CharSequence getTitle() { return mTitle; } - + + /** @hide */ + @SystemApi + public final void setUserActivityTimeout(long timeout) { + userActivityTimeout = timeout; + } + + /** @hide */ + @SystemApi + public final long getUserActivityTimeout() { + return userActivityTimeout; + } + public int describeContents() { return 0; } diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java index b8e94eee2ef2..780ca990c841 100644 --- a/core/java/android/view/WindowManagerPolicy.java +++ b/core/java/android/view/WindowManagerPolicy.java @@ -17,6 +17,7 @@ package android.view; import android.annotation.IntDef; +import android.annotation.SystemApi; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.CompatibilityInfo; @@ -105,6 +106,13 @@ public interface WindowManagerPolicy { public final static String EXTRA_HDMI_PLUGGED_STATE = "state"; /** + * Set to {@code true} when intent was invoked from pressing the home key. + * @hide + */ + @SystemApi + public static final String EXTRA_FROM_HOME_KEY = "android.intent.extra.FROM_HOME_KEY"; + + /** * Pass this event to the user / app. To be returned from * {@link #interceptKeyBeforeQueueing}. */ diff --git a/core/java/com/android/internal/widget/SwipeDismissLayout.java b/core/java/com/android/internal/widget/SwipeDismissLayout.java index d617c0591c39..89990c2edd00 100644 --- a/core/java/com/android/internal/widget/SwipeDismissLayout.java +++ b/core/java/com/android/internal/widget/SwipeDismissLayout.java @@ -19,6 +19,7 @@ package com.android.internal.widget; import android.animation.TimeInterpolator; import android.app.Activity; import android.content.Context; +import android.content.res.TypedArray; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; @@ -38,6 +39,7 @@ public class SwipeDismissLayout extends FrameLayout { private static final String TAG = "SwipeDismissLayout"; private static final float DISMISS_MIN_DRAG_WIDTH_RATIO = .33f; + private boolean mUseDynamicTranslucency = true; public interface OnDismissedListener { void onDismissed(SwipeDismissLayout layout); @@ -85,7 +87,7 @@ public class SwipeDismissLayout extends FrameLayout { // and temporarily disables translucency when it is fully visible. // As soon as the user starts swiping, we will re-enable // translucency. - if (getContext() instanceof Activity) { + if (mUseDynamicTranslucency && getContext() instanceof Activity) { ((Activity) getContext()).convertFromTranslucent(); } } @@ -117,6 +119,11 @@ public class SwipeDismissLayout extends FrameLayout { android.R.integer.config_shortAnimTime); mCancelInterpolator = new DecelerateInterpolator(1.5f); mDismissInterpolator = new AccelerateInterpolator(1.5f); + TypedArray a = context.getTheme().obtainStyledAttributes( + com.android.internal.R.styleable.Theme); + mUseDynamicTranslucency = !a.hasValue( + com.android.internal.R.styleable.Window_windowIsTranslucent); + a.recycle(); } public void setOnDismissedListener(OnDismissedListener listener) { @@ -230,7 +237,7 @@ public class SwipeDismissLayout extends FrameLayout { mLastX = ev.getRawX(); updateSwiping(ev); if (mSwiping) { - if (getContext() instanceof Activity) { + if (mUseDynamicTranslucency && getContext() instanceof Activity) { ((Activity) getContext()).convertToTranslucent(null, null); } setProgress(ev.getRawX() - mDownX); @@ -254,7 +261,7 @@ public class SwipeDismissLayout extends FrameLayout { } protected void cancel() { - if (getContext() instanceof Activity) { + if (mUseDynamicTranslucency && getContext() instanceof Activity) { ((Activity) getContext()).convertFromTranslucent(); } if (mProgressListener != null) { diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index ccdb5db3d647..59dafed7c84e 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -303,6 +303,8 @@ <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" /> <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" /> + <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" /> + <!-- ====================================== --> <!-- Permissions for things that cost money --> <!-- ====================================== --> diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 7c2492579a3c..bd7dc4b7a80a 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Vliegtuigmodus is AAN"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Vliegtuigmodus is AF"</string> <string name="global_action_settings" msgid="1756531602592545966">"Instellings"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Stembystand"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Sluit nou"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Veiligmodus"</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index c3b694fa3dd0..4b4762a25597 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"የአውሮፕላንሁነታ በርቷል"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"የአውሮፕላንሁነታ ጠፍቷል"</string> <string name="global_action_settings" msgid="1756531602592545966">"ቅንብሮች"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"የድምጽ እርዳታ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"አሁን ቆልፍ"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"የሚያስተማምን ሁነታ"</string> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 37fcd1383216..e587d2c59c46 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"وضع الطائرة قيد التشغيل"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"وضع الطائرة متوقف"</string> <string name="global_action_settings" msgid="1756531602592545966">"الإعدادات"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"المساعد الصوتي"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"قفل الآن"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"الوضع الآمن"</string> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index c3379e122c09..5a05bec58577 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Самолетният режим е ВКЛЮЧЕН"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Самолетният режим е ИЗКЛЮЧЕН"</string> <string name="global_action_settings" msgid="1756531602592545966">"Настройки"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Гласова помощ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Заключване сега"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Безопасен режим"</string> diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml index 5f2a996f9828..8dac75182630 100644 --- a/core/res/res/values-bn-rBD/strings.xml +++ b/core/res/res/values-bn-rBD/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"বিমান মোড চালু করা আছে"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"বিমান মোড বন্ধ করা আছে"</string> <string name="global_action_settings" msgid="1756531602592545966">"সেটিংস"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"ভয়েস সহায়তা"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"এখনই লক করুন"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"৯৯৯+"</string> <string name="safeMode" msgid="2788228061547930246">"নিরাপদ মোড"</string> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index eaabce4e733e..9d478fe92c06 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Mode d\'avió activat"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Mode d\'avió desactivat"</string> <string name="global_action_settings" msgid="1756531602592545966">"Configuració"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Assist. per veu"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloqueja ara"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"+999"</string> <string name="safeMode" msgid="2788228061547930246">"Mode segur"</string> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index d9d69b43e8ba..2c0b9b71b84e 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Režim Letadlo je ZAPNUTÝ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Režim Letadlo je VYPNUTÝ"</string> <string name="global_action_settings" msgid="1756531602592545966">"Nastavení"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Hlas. asistence"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Zamknout"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Nouzový režim"</string> @@ -1841,7 +1842,7 @@ <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Před uvolněním požádat o heslo"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Spořič baterie za účelem prodloužení výdrže baterie snižuje výkon zařízení a omezuje vibrace, služby určování polohy a většinu dat na pozadí. E-mail, aplikace pro zasílání zpráv a další aplikace, které používají synchronizaci, se nemusejí aktualizovat, dokud je neotevřete.\n\nPři nabíjení zařízení se spořič baterie automaticky vypne."</string> <string name="downtime_condition_summary" msgid="8761776337475705749">"Dokud v <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> neskončí pozastavení"</string> - <string name="downtime_condition_line_one" msgid="8762708714645352010">"Dokud neskončí výpadek"</string> + <string name="downtime_condition_line_one" msgid="8762708714645352010">"Dokud neskončí pozastavení"</string> <plurals name="zen_mode_duration_minutes_summary"> <item quantity="one" msgid="3177683545388923234">"Jednu minutu (do <xliff:g id="FORMATTEDTIME">%2$s</xliff:g>)"</item> <item quantity="other" msgid="2787867221129368935">"%1$d min (do <xliff:g id="FORMATTEDTIME">%2$s</xliff:g>)"</item> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index db76dffb4bcf..ad201e2a9833 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Flytilstand er TIL"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Flytilstand er slået FRA"</string> <string name="global_action_settings" msgid="1756531602592545966">"Indstillinger"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lås nu"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Sikker tilstand"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 59207934a950..c5b975694ff4 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Flugmodus ist AN."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Flugmodus ist AUS."</string> <string name="global_action_settings" msgid="1756531602592545966">"Einstellungen"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Sprachassistent"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Jetzt sperren"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Abgesicherter Modus"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index a59a98daaf09..d70ec79a9f32 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Η λειτουργία πτήσης είναι ενεργοποιημένη."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Λειτ. πτήσης είναι ανενεργή"</string> <string name="global_action_settings" msgid="1756531602592545966">"Ρυθμίσεις"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Φων.υποβοηθ."</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Κλείδωμα τώρα"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Ασφαλής λειτουργία"</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index a8f35a2561a6..8d1dd070881b 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Aeroplane mode is ON"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Aeroplane mode is OFF"</string> <string name="global_action_settings" msgid="1756531602592545966">"Settings"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lock now"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index a8f35a2561a6..8d1dd070881b 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Aeroplane mode is ON"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Aeroplane mode is OFF"</string> <string name="global_action_settings" msgid="1756531602592545966">"Settings"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lock now"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index 70b4e81ffeb4..852e28dba756 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"El modo avión está Activado"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"El modo avión está Desactivado"</string> <string name="global_action_settings" msgid="1756531602592545966">"Configuración"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Asistente voz"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear ahora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 81bf1b7d7c77..e19e75249344 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Modo avión activado. Desactivar"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Modo avión desactivado. Activar"</string> <string name="global_action_settings" msgid="1756531602592545966">"Ajustes"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Asistente voz"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear ahora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"> 999"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> @@ -539,9 +540,9 @@ <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"Permite que la aplicación acceda a otros comandos del proveedor de ubicación. De esta forma, la aplicación podrá interferir en el funcionamiento del GPS o de otras fuentes de ubicación."</string> <string name="permlab_installLocationProvider" msgid="6578101199825193873">"permiso para instalar un proveedor de ubicación"</string> <string name="permdesc_installLocationProvider" msgid="9066146120470591509">"Permite crear fuentes de ubicación simuladas para hacer pruebas o instalar un nuevo proveedor de ubicación. Este permiso autoriza a la aplicación a sobrescribir la ubicación o el estado proporcionados por otras fuentes de ubicación, como los proveedores de ubicación o GPS."</string> - <string name="permlab_accessFineLocation" msgid="1191898061965273372">"ubicación precisa (basada en red y GPS)"</string> + <string name="permlab_accessFineLocation" msgid="1191898061965273372">"ubicación precisa (basada en redes y GPS)"</string> <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"Permite que la aplicación obtenga tu ubicación precisa mediante el Sistema de posicionamiento global (GPS) o fuentes de ubicación de red, como torres de telefonía y redes Wi-Fi. Estos servicios de ubicación deben estar activados y disponibles para que la aplicación pueda utilizarlos. Las aplicaciones pueden utilizar este permiso para determinar tu ubicación y es posible que el dispositivo consuma más batería."</string> - <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"ubicación aproximada (basada en red)"</string> + <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"ubicación aproximada (basada en redes)"</string> <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Permite que la aplicación obtenga tu ubicación aproximada. Esta ubicación se deriva de los servicios de ubicación que utilizan fuentes de ubicación de red, como torres de telefonía y redes Wi-Fi. Estos servicios de ubicación deben estar activados y disponibles para que la aplicación pueda utilizarlos. Las aplicaciones pueden utilizar este permiso para determinar tu ubicación de forma aproximada."</string> <string name="permlab_accessSurfaceFlinger" msgid="2363969641792388947">"acceder a SurfaceFlinger"</string> <string name="permdesc_accessSurfaceFlinger" msgid="1041619516733293551">"Permite que la aplicación use funciones de SurfaceFlinger de nivel inferior."</string> @@ -687,7 +688,7 @@ <string name="permdesc_useCredentials" msgid="7984227147403346422">"Permite que la aplicación solicite tokens de autenticación."</string> <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ver conexiones de red"</string> <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Permite que la aplicación vea información sobre conexiones de red (por ejemplo, qué redes existen y están conectadas)."</string> - <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"acceso completo a red"</string> + <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"acceso completo a la red"</string> <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Permite que la aplicación cree sockets de red y utilice protocolos de red personalizados. El navegador y otras aplicaciones proporcionan los medios necesarios para el envío de datos a Internet, por lo que no hace falta utilizar este permiso para eso."</string> <string name="permlab_writeApnSettings" msgid="505660159675751896">"cambiar/interceptar el tráfico y la configuración de red"</string> <string name="permdesc_writeApnSettings" msgid="5333798886412714193">"Permite que la aplicación modifique los ajustes de red y que intercepte e inspeccione todo el tráfico de red para, por ejemplo, cambiar el proxy y el puerto de cualquier APN. Las aplicaciones malintencionadas pueden controlar, redirigir o modificar los paquetes de red sin el consentimiento del usuario."</string> @@ -1386,7 +1387,7 @@ <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"NUEVO:"</font></string> <string name="perms_description_app" msgid="5139836143293299417">"Proporcionado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="no_permissions" msgid="7283357728219338112">"No es necesario ningún permiso"</string> - <string name="perm_costs_money" msgid="4902470324142151116">"es posible que se cobre por usar la aplicación."</string> + <string name="perm_costs_money" msgid="4902470324142151116">"es posible que esto te cueste dinero"</string> <string name="usb_storage_activity_title" msgid="4465055157209648641">"Almacenamiento USB masivo"</string> <string name="usb_storage_title" msgid="5901459041398751495">"Conexión por USB"</string> <string name="usb_storage_message" product="nosdcard" msgid="3308538094316477839">"Has conectado el dispositivo al ordenador por USB. Toca el siguiente botón si quieres transferir archivos entre el ordenador y el almacenamiento USB del dispositivo."</string> diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml index b2ca84640da3..ed2cb3adface 100644 --- a/core/res/res/values-et-rEE/strings.xml +++ b/core/res/res/values-et-rEE/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Lennurežiim on SEES"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Lennurežiim on VÄLJAS"</string> <string name="global_action_settings" msgid="1756531602592545966">"Seaded"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Häälabi"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lukusta kohe"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Turvarežiim"</string> diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml index f12b79b53a48..0b61fa2f93ce 100644 --- a/core/res/res/values-eu-rES/strings.xml +++ b/core/res/res/values-eu-rES/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Hegaldi modua AKTIBATUTA dago"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Hegaldi modua DESAKTIBATUTA dago"</string> <string name="global_action_settings" msgid="1756531602592545966">"Ezarpenak"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Ahots-laguntza"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Blokeatu"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Modu segurua"</string> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index a0f929cd04d0..89e34f1d0165 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"حالت هواپیما روشن است"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"حالت هواپیما خاموش است"</string> <string name="global_action_settings" msgid="1756531602592545966">"تنظیمات"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"اکنون قفل شود"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"بیشتر از 999"</string> <string name="safeMode" msgid="2788228061547930246">"حالت ایمن"</string> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 73125bc4b2eb..f373e5357a10 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Lentokonetila on KÄYTÖSSÄ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Lentokonetila on POIS KÄYTÖSTÄ"</string> <string name="global_action_settings" msgid="1756531602592545966">"Asetukset"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Ääniapuri"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lukitse nyt"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Suojattu tila"</string> @@ -577,13 +578,13 @@ <string name="permdesc_camera" msgid="8497216524735535009">"Antaa sovelluksen ottaa kuvia ja kuvata videoita kameralla. Sovellus voi käyttää kameraa milloin tahansa ilman lupaasi."</string> <string name="permlab_cameraDisableTransmitLed" msgid="2651072630501126222">"poista lähetyksen merkkivalo käytöstä, kun kameraa käytetään"</string> <string name="permdesc_cameraDisableTransmitLed" msgid="4764585465480295341">"Antaa valmiiksi asennetun järjestelmäsovelluksen poistaa käytöstä kameran käytössäolon merkkivalon."</string> - <string name="permlab_brick" product="tablet" msgid="2961292205764488304">"poista tablet-laite käytöstä lopullisesti"</string> + <string name="permlab_brick" product="tablet" msgid="2961292205764488304">"poista tabletti käytöstä lopullisesti"</string> <string name="permlab_brick" product="tv" msgid="4912674222121249410">"Poista televisio pysyvästi käytöstä"</string> <string name="permlab_brick" product="default" msgid="8337817093326370537">"poista puhelin käytöstä pysyvästi"</string> <string name="permdesc_brick" product="tablet" msgid="4334818808001699530">"Antaa sovelluksen poistaa koko tablet-laitteen käytöstä lopullisesti. Tämä on hyvin vaarallista."</string> <string name="permdesc_brick" product="tv" msgid="7070924544316356349">"Antaa sovelluksen poistaa koko television pysyvästi käytöstä. Tämä on hyvin vaarallista."</string> <string name="permdesc_brick" product="default" msgid="5788903297627283099">"Antaa sovelluksen poistaa koko puhelimen käytöstä lopullisesti. Tämä on hyvin vaarallista."</string> - <string name="permlab_reboot" product="tablet" msgid="3436634972561795002">"pakota tablet-laite käynnistymään uudelleen"</string> + <string name="permlab_reboot" product="tablet" msgid="3436634972561795002">"pakota tabletti käynnistymään uudelleen"</string> <string name="permlab_reboot" product="tv" msgid="2112102119558886236">"Pakota television uudelleenkäynnistys"</string> <string name="permlab_reboot" product="default" msgid="2898560872462638242">"pakota puhelin käynnistymään uudelleen"</string> <string name="permdesc_reboot" product="tablet" msgid="8172056180063700741">"Antaa sovelluksen pakottaa tablet-laitteen käynnistymään uudelleen."</string> @@ -647,7 +648,7 @@ <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Antaa sovelluksen käyttää tablet-laitteen infrapunalähetintä."</string> <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Antaa sovelluksen käyttää television infrapunalähetintä."</string> <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Antaa sovelluksen käyttää puhelimen infrapunalähetintä."</string> - <string name="permlab_devicePower" product="tablet" msgid="2787034722616350417">"käynnistä tai sammuta tablet-laite"</string> + <string name="permlab_devicePower" product="tablet" msgid="2787034722616350417">"käynnistä tai sammuta tabletti"</string> <string name="permlab_devicePower" product="tv" msgid="7579718349658943416">"Sammuta ja käynnistä televisio"</string> <string name="permlab_devicePower" product="default" msgid="4928622470980943206">"sammutta tai käynnistä puhelin"</string> <string name="permdesc_devicePower" product="tablet" msgid="6689862878984631831">"Antaa sovelluksen sammuttaa tai käynnistää tablet-laitteen."</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index 7a7fad89bca7..47a9a469fc12 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Le mode Avion est activé."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Le mode Avion est désactivé."</string> <string name="global_action_settings" msgid="1756531602592545966">"Paramètres"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Assist. vocale"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Verrouiller"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="safeMode" msgid="2788228061547930246">"Mode sécurisé"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index f149bc967c9d..70041a0b6420 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Le mode Avion est activé."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Le mode Avion est désactivé."</string> <string name="global_action_settings" msgid="1756531602592545966">"Paramètres"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Assistance vocale"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Verrouiller"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="safeMode" msgid="2788228061547930246">"Mode sécurisé"</string> diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml index 5bd774671ece..f02e6edf9a64 100644 --- a/core/res/res/values-gl-rES/strings.xml +++ b/core/res/res/values-gl-rES/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"O modo avión está activado"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"O modo avión está desactivado"</string> <string name="global_action_settings" msgid="1756531602592545966">"Configuración"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Asistente voz"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index c82711750588..d9bd00dd559d 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"हवाई जहाज मोड चालू है"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"हवाई जहाज मोड बंद है"</string> <string name="global_action_settings" msgid="1756531602592545966">"सेटिंग"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"वॉइस सहायक"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"अभी लॉक करें"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"सुरक्षित मोड"</string> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 16d59debf732..2aa4549da76e 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Uključen je način rada u zrakoplovu"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Isključen je način rada u zrakoplovu"</string> <string name="global_action_settings" msgid="1756531602592545966">"Postavke"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Glasovna pomoć"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Zaključaj sada"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Siguran način rada"</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 67992e9c9f8a..9bf3ec6711ed 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Repülőgép üzemmód bekapcsolva"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Repülőgép üzemmód kikapcsolva"</string> <string name="global_action_settings" msgid="1756531602592545966">"Beállítások"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Hangsegéd"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Zárolás most"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Biztonsági üzemmód"</string> diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml index d9fbe987b54e..e0f6d29b4847 100644 --- a/core/res/res/values-hy-rAM/strings.xml +++ b/core/res/res/values-hy-rAM/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Ինքնաթիռային ռեժիմը միացված է"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Ինքնաթիռային ռեժիմը անջատված է"</string> <string name="global_action_settings" msgid="1756531602592545966">"Կարգավորումներ"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Ձայնային օգնութ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Կողպել հիմա"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Անվտանգ ռեժիմ"</string> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 39bb13b9ab35..aeddbac65b8e 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Mode pesawat AKTIF"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Mode pesawat MATI"</string> <string name="global_action_settings" msgid="1756531602592545966">"Setelan"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Bantuan"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Kunci sekarang"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Mode aman"</string> diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml index cabb0327e597..6739835fc7a0 100644 --- a/core/res/res/values-is-rIS/strings.xml +++ b/core/res/res/values-is-rIS/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"KVEIKT er á flugstillingu"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"SLÖKKT er á flugstillingu"</string> <string name="global_action_settings" msgid="1756531602592545966">"Stillingar"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Raddaðstoð"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Læsa núna"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Örugg stilling"</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index f8a666485f08..0c7dcd3ff366 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Modalità aereo attiva"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Modalità aereo non attiva"</string> <string name="global_action_settings" msgid="1756531602592545966">"Impostazioni"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Blocca ora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Modalità provvisoria"</string> @@ -753,7 +754,7 @@ <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"lettura contenuti scheda SD"</string> <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"L\'app può leggere i contenuti dell\'archivio USB."</string> <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"Consente all\'applicazione di leggere i contenuti della scheda SD."</string> - <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"Modifica/eliminazione contenuti USB"</string> + <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"modifica/eliminazione contenuti USB"</string> <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"modifica o eliminazione dei contenuti della scheda SD"</string> <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"Consente all\'applicazione di scrivere nell\'archivio USB."</string> <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"Consente all\'applicazione di scrivere sulla scheda SD."</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index 6151d4603a7e..cc8be66dfc31 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"מצב טיסה מופעל"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"מצב טיסה כבוי"</string> <string name="global_action_settings" msgid="1756531602592545966">"הגדרות"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"נעל עכשיו"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"מצב בטוח"</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index ae4a7c0bd4ca..ef28215e76f2 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"機内モードON"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"機内モードOFF"</string> <string name="global_action_settings" msgid="1756531602592545966">"設定"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"音声アシスト"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"今すぐロック"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"セーフモード"</string> diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml index c9dcdb43dfd6..07ccca5d14e4 100644 --- a/core/res/res/values-ka-rGE/strings.xml +++ b/core/res/res/values-ka-rGE/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"თვითმფრინავის რეჟიმი ჩართულია."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"თვითმფრინავის რეჟიმი გამორთულია."</string> <string name="global_action_settings" msgid="1756531602592545966">"პარამეტრები"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"ხმოვანი ასისტ."</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ახლა ჩაკეტვა"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"უსაფრთხო რეჟიმი"</string> diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml index dec11c6a2a1b..5c4475ad43f3 100644 --- a/core/res/res/values-kk-rKZ/strings.xml +++ b/core/res/res/values-kk-rKZ/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Ұшақ режимі ҚОСУЛЫ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Ұшақ режимі ӨШІРУЛІ"</string> <string name="global_action_settings" msgid="1756531602592545966">"Параметрлер"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Дауыс көмекшісі"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Қазір бекіту"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Қауіпсіз режим"</string> diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml index ab7cdb045f54..4d35eedf2ac1 100644 --- a/core/res/res/values-km-rKH/strings.xml +++ b/core/res/res/values-km-rKH/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"បានបើករបៀបពេលជិះយន្តហោះ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"បានបិទរបៀបពេលជិះយន្តហោះ"</string> <string name="global_action_settings" msgid="1756531602592545966">"ការកំណត់"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"ជំនួយសម្លេង"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ចាក់សោឥឡូវនេះ"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"របៀបសុវត្ថិភាព"</string> diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml index 06db43c15702..b01bf44b766c 100644 --- a/core/res/res/values-kn-rIN/strings.xml +++ b/core/res/res/values-kn-rIN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ಎರ್ಪ್ಲೇನ್ ಮೋಡ್ ಆನ್ ಆಗಿದೆ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ಎರ್ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಆಗಿದೆ"</string> <string name="global_action_settings" msgid="1756531602592545966">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"ಧ್ವನಿ ಸಹಾಯಕ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ಈಗ ಲಾಕ್ ಮಾಡಿ"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"ಸುರಕ್ಷಿತ ಮೋಡ್"</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index e0b7aac45f13..48a6b31dc9b5 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"비행기 모드 사용중"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"비행기 모드 사용중이 아님"</string> <string name="global_action_settings" msgid="1756531602592545966">"설정"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"음성 지원"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"지금 잠그기"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"안전 모드"</string> diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml index 590f83b4bf3f..0a4925a585eb 100644 --- a/core/res/res/values-ky-rKG/strings.xml +++ b/core/res/res/values-ky-rKG/strings.xml @@ -305,6 +305,7 @@ <!-- no translation found for global_actions_airplane_mode_off_status (5075070442854490296) --> <skip /> <string name="global_action_settings" msgid="1756531602592545966">"Жөндөөлөр"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Үн жардамчысы"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Азыр кулпулоо"</string> <!-- no translation found for status_bar_notification_info_overflow (5301981741705354993) --> <skip /> diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml index 920e3e727cc2..283e60591afb 100644 --- a/core/res/res/values-lo-rLA/strings.xml +++ b/core/res/res/values-lo-rLA/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ເປີດໂໝດຢູ່ໃນຍົນແລ້ວ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ປິດໂໝດໃນຍົນແລ້ວ"</string> <string name="global_action_settings" msgid="1756531602592545966">"ການຕັ້ງຄ່າ"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"ຊ່ວຍເຫຼືອທາງສຽງ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ລັອກດຽວນີ້"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index aad8f6a4f555..53c0fe0e1373 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ĮJUNGTAS lėktuvo režimas"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"lėktuvo režimas IŠJUNGTAS"</string> <string name="global_action_settings" msgid="1756531602592545966">"Nustatymai"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Užrakinti dabar"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Saugos režimas"</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 2cf3cde0da53..02c885836d75 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Lidojuma režīms ir IESLĒGTS."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Lidojuma režīms ir IZSLĒGTS."</string> <string name="global_action_settings" msgid="1756531602592545966">"Iestatījumi"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Balss palīgs"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloķēt tūlīt"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"Pārsniedz"</string> <string name="safeMode" msgid="2788228061547930246">"Drošais režīms"</string> diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml index b200a1c7f496..e1418290f51b 100644 --- a/core/res/res/values-mk-rMK/strings.xml +++ b/core/res/res/values-mk-rMK/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Режимот на работа во авион е вклучен"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Режимот на работа во авион е исклучен"</string> <string name="global_action_settings" msgid="1756531602592545966">"Поставки"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Гласовна помош"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Заклучи сега"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Безбеден режим"</string> diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml index eab0e0482b8d..de2193421053 100644 --- a/core/res/res/values-ml-rIN/strings.xml +++ b/core/res/res/values-ml-rIN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ഫ്ലൈറ്റ് മോഡ് ഓണാണ്"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ഫ്ലൈറ്റ് മോഡ് ഓഫാണ്"</string> <string name="global_action_settings" msgid="1756531602592545966">"ക്രമീകരണങ്ങൾ"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"വോയ്സ് സഹായം"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ഇപ്പോൾ ലോക്കുചെയ്യുക"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"സുരക്ഷിത മോഡ്"</string> diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml index ee70952a1c02..36a430eb1477 100644 --- a/core/res/res/values-mn-rMN/strings.xml +++ b/core/res/res/values-mn-rMN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Нислэгийн горим асав"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Нислэгийн горим унтарсан"</string> <string name="global_action_settings" msgid="1756531602592545966">"Тохиргоо"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Дуут туслах"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Одоо түгжих"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Аюулгүй горим"</string> diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml index fd7d531b550a..ba11028f26b9 100644 --- a/core/res/res/values-mr-rIN/strings.xml +++ b/core/res/res/values-mr-rIN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"विमान मोड चालू आहे"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"विमान मोड बंद आहे"</string> <string name="global_action_settings" msgid="1756531602592545966">"सेटिंग्ज"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"व्हॉइस सहाय्य"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"आता लॉक करा"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"सुरक्षित मोड"</string> diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml index 35e8c1850478..e9a97b80da8c 100644 --- a/core/res/res/values-ms-rMY/strings.xml +++ b/core/res/res/values-ms-rMY/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Mod Pesawat DIHIDUPKAN"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Mod Pesawat DIMATIKAN"</string> <string name="global_action_settings" msgid="1756531602592545966">"Tetapan"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Bantuan Suara"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Kunci sekarang"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Mod selamat"</string> diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml index a92ee835add9..fd332283470b 100644 --- a/core/res/res/values-my-rMM/strings.xml +++ b/core/res/res/values-my-rMM/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"လေယဥ်ပျံပေါ်၌အသုံးပြုသောစနစ်ဖွင့်ထားသည်"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"လေယဥ်ပျံပေါ်၌အသုံးပြုသောစနစ်ပိတ်ထားသည်"</string> <string name="global_action_settings" msgid="1756531602592545966">"ဆက်တင်များ"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"အသံ အကူအညီ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ယခု သော့ပိတ်ရန်"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"၉၉၉+"</string> <string name="safeMode" msgid="2788228061547930246">"အန္တရာယ်ကင်းမှု စနစ်(Safe mode)"</string> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index 631e40b00bde..f0ffe22eddec 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Flymodus er på"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Flymodus er av"</string> <string name="global_action_settings" msgid="1756531602592545966">"Innstillinger"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Talehjelp"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lås nå"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Sikkermodus"</string> diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml index 4ad76befa6c8..c4817867e3b1 100644 --- a/core/res/res/values-ne-rNP/strings.xml +++ b/core/res/res/values-ne-rNP/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"हवाइजहाज मोड खुला छ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"हवाइजहाज मोड बन्द छ"</string> <string name="global_action_settings" msgid="1756531602592545966">"सेटिङ्हरू"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"आवाज सहायता"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"अब बन्द गर्नुहोस्"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"९९९+"</string> <string name="safeMode" msgid="2788228061547930246">"सुरक्षित मोड"</string> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index 3a8e4ab453c6..e7f6bfd8c7d9 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Vliegmodus is AAN"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Vliegmodus is UIT"</string> <string name="global_action_settings" msgid="1756531602592545966">"Instellingen"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Spraakassistent"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Nu vergrendelen"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999 +"</string> <string name="safeMode" msgid="2788228061547930246">"Veilige modus"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index dafc67931a5f..80b40b8a1178 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Tryb samolotowy jest włączony"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Tryb samolotowy jest wyłączony"</string> <string name="global_action_settings" msgid="1756531602592545966">"Ustawienia"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Asystent głosowy"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Zablokuj teraz"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="safeMode" msgid="2788228061547930246">"Tryb awaryjny"</string> @@ -699,7 +700,7 @@ <string name="permdesc_changeBackgroundDataSetting" msgid="5347729578468744379">"Pozwala aplikacji na zmianę ustawień użycia danych w tle."</string> <string name="permlab_accessWifiState" msgid="5202012949247040011">"wyświetlanie połączeń Wi-Fi"</string> <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Pozwala aplikacji na dostęp do informacji o połączeniach Wi-Fi – np. na sprawdzenie, czy obsługa Wi-Fi jest włączona, oraz odczytanie nazw podłączonych urządzeń Wi-Fi."</string> - <string name="permlab_changeWifiState" msgid="6550641188749128035">"łączenie się i rozłączanie z siecią Wi-Fi"</string> + <string name="permlab_changeWifiState" msgid="6550641188749128035">"łączenie się i rozłączanie z siecią Wi‑Fi"</string> <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Pozwala aplikacji na nawiązywanie i kończenie połączeń z punktami dostępowymi Wi-Fi oraz na zmienianie konfiguracji sieci Wi-Fi w urządzeniu."</string> <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"zezwolenie na odbiór grupowych połączeń Wi-Fi"</string> <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Pozwala aplikacji na odbieranie pakietów wysyłanych przez sieć Wi-Fi do wszystkich urządzeń, a nie tylko do Twojego tabletu, przy użyciu adresów połączeń grupowych. Powoduje większe zapotrzebowanie na energię niż w trybie innym niż grupowy."</string> @@ -882,7 +883,7 @@ <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Faks domowy"</string> <string name="phoneTypePager" msgid="7582359955394921732">"Pager"</string> <string name="phoneTypeOther" msgid="1544425847868765990">"Inny"</string> - <string name="phoneTypeCallback" msgid="2712175203065678206">"Połączenie zwrotne"</string> + <string name="phoneTypeCallback" msgid="2712175203065678206">"Oddzwanianie"</string> <string name="phoneTypeCar" msgid="8738360689616716982">"Samochód"</string> <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Firmowy główny"</string> <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string> @@ -1265,7 +1266,7 @@ <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Otwórz w aplikacji %1$s"</string> <string name="whichEditApplication" msgid="144727838241402655">"Edytuj w aplikacji"</string> <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Edytuj w aplikacji %1$s"</string> - <string name="whichSendApplication" msgid="6902512414057341668">"Udostępnij przez"</string> + <string name="whichSendApplication" msgid="6902512414057341668">"Udostępnij przez:"</string> <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Udostępnij przez %1$s"</string> <string name="whichHomeApplication" msgid="4307587691506919691">"Wybierz aplikację ekranu głównego"</string> <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Użyj %1$s jako ekranu głównego"</string> @@ -1692,7 +1693,7 @@ <string name="kg_login_checking_password" msgid="1052685197710252395">"Sprawdzam konto"</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> wpisałeś nieprawidłowy PIN. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> wpisałeś nieprawidłowe hasło. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> - <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> narysowałeś nieprawidłowy wzór odblokowania. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> + <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"<xliff:g id="NUMBER_0">%d</xliff:g> razy narysowałeś nieprawidłowy wzór odblokowania. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> próbowałeś nieprawidłowo odblokować tablet. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach tablet zostanie zresetowany do ustawień fabrycznych, a wszystkie dane użytkownika zostaną utracone."</string> <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Podałeś nieprawidłowe dane odblokowania telewizora <xliff:g id="NUMBER_0">%d</xliff:g> razy. Po jeszcze <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telewizor zostanie zresetowany do stanu fabrycznego, a wszystkie dane użytkownika zostaną skasowane."</string> <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> próbowałeś nieprawidłowo odblokować telefon. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telefon zostanie zresetowany do ustawień fabrycznych, a wszystkie dane użytkownika zostaną utracone."</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index 1483dd0b41de..420a0d4ef24f 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"O modo de voo está ativado"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"O modo de voo está desativado"</string> <string name="global_action_settings" msgid="1756531602592545966">"Definições"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Assist. de voz"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index 58d4f6dd64a6..ba667ad7dd7a 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Modo avião ATIVADO"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Modo avião DESATIVADO"</string> <string name="global_action_settings" msgid="1756531602592545966">"Configurações"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Ajuda de voz"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="safeMode" msgid="2788228061547930246">"Modo de segurança"</string> @@ -987,7 +988,7 @@ <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Consulte o Guia do usuário ou entre em contato com o Serviço de atendimento ao cliente."</string> <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"O cartão SIM está bloqueado."</string> <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"Desbloqueando o cartão SIM…"</string> - <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Você desenhou sua sequência de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. \n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string> + <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Você desenhou seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. \n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string> <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Você digitou sua senha incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. \n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string> <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Você digitou seu PIN incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes.\n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string> <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Você desenhou sua sequência de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%d</xliff:g> tentativas incorretas, será solicitado que você use o login do Google para desbloquear seu tablet.\n\n Tente novamente em <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string> @@ -1407,7 +1408,7 @@ <string name="dlg_confirm_kill_storage_users_text" msgid="5100428757107469454">"Se você ativar o armazenamento USB, alguns apps que estão em uso serão interrompidos e poderão ficar indisponíveis até você desativar o armazenamento USB."</string> <string name="dlg_error_title" msgid="7323658469626514207">"Falha na operação do USB"</string> <string name="dlg_ok" msgid="7376953167039865701">"OK"</string> - <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como um dispositivo de mídia"</string> + <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como disp. de mídia"</string> <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectado como câmera"</string> <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectados como um instalador"</string> <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Conectado a um acessório USB"</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index 8c0dec14851f..0216ad8dd792 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Modul Avion este ACTIVAT"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Modul avion este DEZACTIVAT"</string> <string name="global_action_settings" msgid="1756531602592545966">"Setări"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Asistent vocal"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Blocați acum"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"˃999"</string> <string name="safeMode" msgid="2788228061547930246">"Mod sigur"</string> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index d07c7aa39a1c..6632114b1ce9 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -71,7 +71,7 @@ <string name="ClirMmi" msgid="7784673673446833091">"Идентификация звонящего абонента"</string> <string name="ColpMmi" msgid="3065121483740183974">"Идентификатор подключенной линии"</string> <string name="ColrMmi" msgid="4996540314421889589">"Ограничение идентификатора подключенной линии"</string> - <string name="CfMmi" msgid="5123218989141573515">"Переадресация вызова"</string> + <string name="CfMmi" msgid="5123218989141573515">"Переадресация вызовов"</string> <string name="CwMmi" msgid="9129678056795016867">"Параллельный вызов"</string> <string name="BaMmi" msgid="455193067926770581">"Запрет вызовов"</string> <string name="PwdMmi" msgid="7043715687905254199">"Смена пароля"</string> @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Выключить"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Включить"</string> <string name="global_action_settings" msgid="1756531602592545966">"Настройки"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Аудиоподсказки"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Заблокировать"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="safeMode" msgid="2788228061547930246">"Безопасный режим"</string> @@ -839,30 +840,30 @@ <item msgid="1735177144948329370">"Домашний факс"</item> <item msgid="603878674477207394">"Пейджер"</item> <item msgid="1650824275177931637">"Другой"</item> - <item msgid="9192514806975898961">"Создать свой ярлык"</item> + <item msgid="9192514806975898961">"Новый тип"</item> </string-array> <string-array name="emailAddressTypes"> <item msgid="8073994352956129127">"Личный"</item> <item msgid="7084237356602625604">"Рабочий"</item> <item msgid="1112044410659011023">"Другой"</item> - <item msgid="2374913952870110618">"Создать свой ярлык"</item> + <item msgid="2374913952870110618">"Новый тип"</item> </string-array> <string-array name="postalAddressTypes"> <item msgid="6880257626740047286">"Домашний"</item> <item msgid="5629153956045109251">"Рабочий"</item> <item msgid="4966604264500343469">"Другой"</item> - <item msgid="4932682847595299369">"Создать свой ярлык"</item> + <item msgid="4932682847595299369">"Новый тип"</item> </string-array> <string-array name="imAddressTypes"> <item msgid="1738585194601476694">"Домашний"</item> <item msgid="1359644565647383708">"Рабочий"</item> <item msgid="7868549401053615677">"Другое"</item> - <item msgid="3145118944639869809">"Создать свой ярлык"</item> + <item msgid="3145118944639869809">"Новый тип"</item> </string-array> <string-array name="organizationTypes"> <item msgid="7546335612189115615">"Рабочий"</item> <item msgid="4378074129049520373">"Другое"</item> - <item msgid="3455047468583965104">"Создать свой ярлык"</item> + <item msgid="3455047468583965104">"Новый тип"</item> </string-array> <string-array name="imProtocols"> <item msgid="8595261363518459565">"AIM"</item> @@ -874,7 +875,7 @@ <item msgid="2506857312718630823">"ICQ"</item> <item msgid="1648797903785279353">"Jabber"</item> </string-array> - <string name="phoneTypeCustom" msgid="1644738059053355820">"Создать свой ярлык"</string> + <string name="phoneTypeCustom" msgid="1644738059053355820">"Новый тип"</string> <string name="phoneTypeHome" msgid="2570923463033985887">"Домашний"</string> <string name="phoneTypeMobile" msgid="6501463557754751037">"Мобильный"</string> <string name="phoneTypeWork" msgid="8863939667059911633">"Рабочий"</string> @@ -899,20 +900,20 @@ <string name="eventTypeBirthday" msgid="2813379844211390740">"День рождения"</string> <string name="eventTypeAnniversary" msgid="3876779744518284000">"Юбилей"</string> <string name="eventTypeOther" msgid="7388178939010143077">"Другой"</string> - <string name="emailTypeCustom" msgid="8525960257804213846">"Создать свой ярлык"</string> + <string name="emailTypeCustom" msgid="8525960257804213846">"Новый тип"</string> <string name="emailTypeHome" msgid="449227236140433919">"Личный"</string> <string name="emailTypeWork" msgid="3548058059601149973">"Рабочий"</string> <string name="emailTypeOther" msgid="2923008695272639549">"Другой"</string> <string name="emailTypeMobile" msgid="119919005321166205">"Мобильный"</string> - <string name="postalTypeCustom" msgid="8903206903060479902">"Создать свой ярлык"</string> + <string name="postalTypeCustom" msgid="8903206903060479902">"Новый тип"</string> <string name="postalTypeHome" msgid="8165756977184483097">"Домашний"</string> <string name="postalTypeWork" msgid="5268172772387694495">"Рабочий"</string> <string name="postalTypeOther" msgid="2726111966623584341">"Другой"</string> - <string name="imTypeCustom" msgid="2074028755527826046">"Создать свой ярлык"</string> + <string name="imTypeCustom" msgid="2074028755527826046">"Новый тип"</string> <string name="imTypeHome" msgid="6241181032954263892">"Домашний"</string> <string name="imTypeWork" msgid="1371489290242433090">"Рабочий"</string> <string name="imTypeOther" msgid="5377007495735915478">"Другой"</string> - <string name="imProtocolCustom" msgid="6919453836618749992">"Создать свой ярлык"</string> + <string name="imProtocolCustom" msgid="6919453836618749992">"Новый тип"</string> <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string> <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string> <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string> @@ -924,7 +925,7 @@ <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string> <string name="orgTypeWork" msgid="29268870505363872">"Работа"</string> <string name="orgTypeOther" msgid="3951781131570124082">"Другое"</string> - <string name="orgTypeCustom" msgid="225523415372088322">"Создать свой ярлык"</string> + <string name="orgTypeCustom" msgid="225523415372088322">"Новый тип"</string> <string name="relationTypeCustom" msgid="3542403679827297300">"Особый"</string> <string name="relationTypeAssistant" msgid="6274334825195379076">"Секретарь"</string> <string name="relationTypeBrother" msgid="8757913506784067713">"Брат"</string> @@ -1265,8 +1266,8 @@ <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Открыть с помощью приложения \"%1$s\""</string> <string name="whichEditApplication" msgid="144727838241402655">"Редактировать с помощью приложения:"</string> <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Редактировать с помощью приложения \"%1$s\""</string> - <string name="whichSendApplication" msgid="6902512414057341668">"Поделиться с помощью приложения:"</string> - <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Предоставлять доступ с помощью приложения \"%1$s\""</string> + <string name="whichSendApplication" msgid="6902512414057341668">"Поделиться с помощью:"</string> + <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Поделиться через %1$s"</string> <string name="whichHomeApplication" msgid="4307587691506919691">"Выберите главное приложение"</string> <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Назначьте приложение \"%1$s\" главным"</string> <string name="alwaysUse" msgid="4583018368000610438">"По умолчанию для этого действия"</string> diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml index 07b6a91697af..353a08a9c4bd 100644 --- a/core/res/res/values-si-rLK/strings.xml +++ b/core/res/res/values-si-rLK/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"අහස්යානා ආකාරය සක්රීයයි."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"අහස්යානා අකාරය අක්රියයි"</string> <string name="global_action_settings" msgid="1756531602592545966">"සැකසීම්"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"හඬ සහායක"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"දැන් අගුළු දමන්න"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"ආරක්ෂිත ආකාරය"</string> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index 20bf432b2be9..3ba752092b32 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Režim v lietadle je ZAPNUTÝ"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Režim v lietadle je VYPNUTÝ"</string> <string name="global_action_settings" msgid="1756531602592545966">"Nastavenia"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Hlasový asistent"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Uzamknúť"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Núdzový režim"</string> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index 711a956c1f02..9eaac834e0db 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Način za letalo je VKLOPLJEN"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Način za letalo je IZKLOPLJEN"</string> <string name="global_action_settings" msgid="1756531602592545966">"Nastavitve"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Glas. pomočnik"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Zakleni zdaj"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999 +"</string> <string name="safeMode" msgid="2788228061547930246">"Varni način"</string> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index 4ef8249b6676..c7dd49adaec5 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Режим рада у авиону је УКЉУЧЕН"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Режим рада у авиону је ИСКЉУЧЕН"</string> <string name="global_action_settings" msgid="1756531602592545966">"Подешавања"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Гласовна помоћ"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Закључај одмах"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Безбедни режим"</string> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index e26f5c032384..2a8cc7a37348 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Flygplansläge är AKTIVERAT"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Flygplansläge är INAKTIVERAT"</string> <string name="global_action_settings" msgid="1756531602592545966">"Inställningar"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Lås nu"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Säkert läge"</string> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 0d5e2d927e2d..ea34586e78d0 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Hali ya ndege IMEWASHWA"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Hali ya ndege IMEZIMWA"</string> <string name="global_action_settings" msgid="1756531602592545966">"Mipangilio"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Usaidizi wa Sauti"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Funga sasa"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Mtindo salama"</string> diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml index 3ae589290e3f..20e11901728c 100644 --- a/core/res/res/values-ta-rIN/strings.xml +++ b/core/res/res/values-ta-rIN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"விமானப் பயன்முறை இயக்கத்தில் உள்ளது"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"விமானப் பயன்முறை முடக்கத்தில் உள்ளது"</string> <string name="global_action_settings" msgid="1756531602592545966">"அமைப்பு"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"குரல் உதவி"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"இப்போது பூட்டு"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"பாதுகாப்பு பயன்முறை"</string> diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml index ea563af903ac..44c14e682e6d 100644 --- a/core/res/res/values-te-rIN/strings.xml +++ b/core/res/res/values-te-rIN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ఎయిర్ప్లేన్ మోడ్ ఆన్లో ఉంది"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ఎయిర్ప్లేన్ మోడ్ ఆఫ్లో ఉంది"</string> <string name="global_action_settings" msgid="1756531602592545966">"సెట్టింగ్లు"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"వాయిస్ సహాయకం"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ఇప్పుడు లాక్ చేయండి"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"సురక్షిత మోడ్"</string> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 2a37ffa8327c..00d2f5771425 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"เปิดโหมดใช้งานบนเครื่องบิน"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"โหมดใช้งานบนเครื่องบินปิดทำงานอยู่"</string> <string name="global_action_settings" msgid="1756531602592545966">"การตั้งค่า"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"ตัวช่วยเสียง"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ล็อกเลย"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"โหมดปลอดภัย"</string> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index d5b8eeabe31e..40973d659c61 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Naka-ON ang airplane mode"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Naka-OFF ang airplane mode"</string> <string name="global_action_settings" msgid="1756531602592545966">"Mga Setting"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"I-lock ngayon"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> @@ -935,7 +936,7 @@ <string name="relationTypeManager" msgid="6365677861610137895">"Manager"</string> <string name="relationTypeMother" msgid="4578571352962758304">"Ina"</string> <string name="relationTypeParent" msgid="4755635567562925226">"Magulang"</string> - <string name="relationTypePartner" msgid="7266490285120262781">"Kasosyo"</string> + <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string> <string name="relationTypeReferredBy" msgid="101573059844135524">"Ni-refer ni"</string> <string name="relationTypeRelative" msgid="1799819930085610271">"Kamag-anak"</string> <string name="relationTypeSister" msgid="1735983554479076481">"Kapatid na Babae"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 5bdeae8e9d2d..e22f521d7aca 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Uçak modu AÇIK"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Uçak modu KAPALI"</string> <string name="global_action_settings" msgid="1756531602592545966">"Ayarlar"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Sesli Yardım"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Şimdi kilitle"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Güvenli mod"</string> @@ -287,7 +288,7 @@ <string name="permdesc_install_shortcut" msgid="8341295916286736996">"Uygulamaya, kullanıcı müdahalesi olmadan kısayolları Ana Ekrana ekleme izni verir."</string> <string name="permlab_uninstall_shortcut" msgid="4729634524044003699">"kısayolların yüklemesini kaldırma"</string> <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"Uygulamaya, kullanıcının müdahalesi olmadan kısayolları Ana Ekrandan kaldırma izni verir."</string> - <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"giden çağrıları yeniden yönlendir"</string> + <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"giden çağrıları yeniden yönlendirme"</string> <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"Uygulamaya, giden bir çağrının numarası çevrilirken çağrıyı farklı bir numaraya yönlendirme ya da tamamen kapatma seçeneğiyle birlikte numarayı görme izni verir."</string> <string name="permlab_receiveSms" msgid="8673471768947895082">"kısa mesajları al (SMS)"</string> <string name="permdesc_receiveSms" msgid="6424387754228766939">"Uygulamaya SMS iletilerini alma ve işleme izni verir. Bu izin, uygulamanın cihazınıza gönderilen iletileri takip edip size göstermeden silebileceği anlamına gelir."</string> @@ -891,8 +892,8 @@ <string name="phoneTypeRadio" msgid="4093738079908667513">"Telsiz"</string> <string name="phoneTypeTelex" msgid="3367879952476250512">"Teleks"</string> <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string> - <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"İş Yeri Cep Telefonu"</string> - <string name="phoneTypeWorkPager" msgid="649938731231157056">"İş Yeri Çağrı Cihazı"</string> + <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"İş Cep Telefonu"</string> + <string name="phoneTypeWorkPager" msgid="649938731231157056">"İş Çağrı Cihazı"</string> <string name="phoneTypeAssistant" msgid="5596772636128562884">"Yardımcı"</string> <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string> <string name="eventTypeCustom" msgid="7837586198458073404">"Özel"</string> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 32df9d3e8c8f..eb0b3a637b9a 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Режим польоту ВВІМК."</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Режим польоту ВИМК."</string> <string name="global_action_settings" msgid="1756531602592545966">"Налаштування"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Голос. підказки"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Блокувати зараз"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Безп. режим"</string> diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml index 85219a5f99c1..eee4f3b2f8f9 100644 --- a/core/res/res/values-ur-rPK/strings.xml +++ b/core/res/res/values-ur-rPK/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"ہوائی جہاز وضع آن ہے"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"ہوائی جہاز وضع آف ہے"</string> <string name="global_action_settings" msgid="1756531602592545966">"ترتیبات"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Voice Assist"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"ابھی مقفل کریں"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"حفاظتی وضع"</string> diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml index bf1395be8e78..b6d4833720f1 100644 --- a/core/res/res/values-uz-rUZ/strings.xml +++ b/core/res/res/values-uz-rUZ/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Parvoz usuli yoqilgan"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Parvoz rejimi o‘chirilgan"</string> <string name="global_action_settings" msgid="1756531602592545966">"Sozlamalar"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Ovozli yordam"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Qulflash"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Xavfsiz usul"</string> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 6381069b69f5..31392b6937a6 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Chế độ trên máy bay BẬT"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Chế độ trên máy bay TẮT"</string> <string name="global_action_settings" msgid="1756531602592545966">"Cài đặt"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Trợ lý thoại"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Khóa ngay"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Chế độ an toàn"</string> diff --git a/core/res/res/values-watch/config.xml b/core/res/res/values-watch/config.xml index 3eede32bd344..745aa7399aca 100644 --- a/core/res/res/values-watch/config.xml +++ b/core/res/res/values-watch/config.xml @@ -23,7 +23,7 @@ <!-- Only show settings item due to smaller real estate. --> <string-array translatable="false" name="config_globalActionsList"> - <item>settings</item> + <item>voiceassist</item> </string-array> <!-- Base "touch slop" value used by ViewConfiguration as a @@ -43,4 +43,12 @@ <!-- Flags enabling default window features. See Window.java --> <bool name="config_defaultWindowFeatureOptionsPanel">false</bool> <bool name="config_defaultWindowFeatureContextMenu">false</bool> + + <!-- Time adjustment, in milliseconds, applied to the default double tap threshold + used for gesture detection by the screen magnifier. --> + <integer name="config_screen_magnification_multi_tap_adjustment">25</integer> + + <!-- Scale factor threshold used by the screen magnifier to determine when to switch from + panning to scaling the magnification viewport. --> + <item name="config_screen_magnification_scaling_threshold" format="float" type="dimen">0.1</item> </resources> diff --git a/core/res/res/values-watch/strings.xml b/core/res/res/values-watch/strings.xml new file mode 100644 index 000000000000..4ea2b52c5b4d --- /dev/null +++ b/core/res/res/values-watch/strings.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* //device/apps/common/assets/res/any/strings.xml +** +** Copyright 2015, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- [CHAR LIMIT=16] Message shown in upgrading dialog for each .apk that is optimized. --> + <!-- Each word has an 8 character limit due to screen width limitation. --> + <string name="android_upgrading_apk">App + <xliff:g id="number" example="123">%1$d</xliff:g> of + <xliff:g id="number" example="123">%2$d</xliff:g>.</string> +</resources> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index fa11220300f6..f4ad14b9316a 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"已开启飞行模式"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"未开启飞行模式"</string> <string name="global_action_settings" msgid="1756531602592545966">"设置"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"语音助理"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"立即锁定"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"安全模式"</string> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index d7a59c5b1274..0e89b47d9f7f 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"飛航模式為 [開啟]"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"飛行模式為 [關閉]"</string> <string name="global_action_settings" msgid="1756531602592545966">"設定"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"語音小幫手"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"立即鎖定"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"安全模式"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 1df3a2b2c956..2a4d4236ed0f 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"飛航模式為 [開啟]"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"飛航模式為 [關閉]"</string> <string name="global_action_settings" msgid="1756531602592545966">"設定"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"語音小幫手"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"立即鎖定"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"超過 999"</string> <string name="safeMode" msgid="2788228061547930246">"安全模式"</string> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 2f06f954c93e..ecfeb3b3d781 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -200,6 +200,7 @@ <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Imodi yendiza IVULIWE"</string> <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Imodi yendiza IVALIWE"</string> <string name="global_action_settings" msgid="1756531602592545966">"Izilungiselelo"</string> + <string name="global_action_voice_assist" msgid="7751191495200504480">"Isisekeli sezwi"</string> <string name="global_action_lockdown" msgid="8751542514724332873">"Khiya manje"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="safeMode" msgid="2788228061547930246">"Imodi ephephile"</string> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 2fd7d3091a9b..8492eaa0dd53 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -329,7 +329,9 @@ <attr name="windowOverscan" format="boolean" /> <!-- Flag indicating whether this is a floating window. --> <attr name="windowIsFloating" format="boolean" /> - <!-- Flag indicating whether this is a translucent window. --> + <!-- Flag indicating whether this is a translucent window. If this attribute is unset (but + not if set to false), the window might still be considered translucent, if + windowSwipeToDismiss is set to true. --> <attr name="windowIsTranslucent" format="boolean" /> <!-- Flag indicating that this window's background should be the user's current wallpaper. Corresponds @@ -455,7 +457,9 @@ <attr name="windowTranslucentNavigation" format="boolean" /> <!-- Flag to indicate that a window can be swiped away to be dismissed. - Corresponds to {@link android.view.Window#FEATURE_SWIPE_TO_DISMISS} --> + Corresponds to {@link android.view.Window#FEATURE_SWIPE_TO_DISMISS}. It will also + dynamically change translucency of the window, if the windowIsTranslucent is not set. + If windowIsTranslucent is set (to either true or false) it will obey that setting. --> <attr name="windowSwipeToDismiss" format="boolean" /> <!-- Flag indicating whether this window requests that content changes be performed diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 68df6f1a3010..254e2560c1e9 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -530,6 +530,8 @@ <bool name="config_allowTheaterModeWakeFromWindowLayout">false</bool> <!-- If this is true, go to sleep when theater mode is enabled from button press --> <bool name="config_goToSleepOnButtonPressTheaterMode">true</bool> + <!-- If this is true, long press on power button will be available from the non-interactive state --> + <bool name="config_supportLongPressPowerWhenNonInteractive">false</bool> <!-- Auto-rotation behavior --> @@ -861,10 +863,34 @@ <!-- Allow automatic adjusting of the screen brightness while dozing in low power state. --> <bool name="config_allowAutoBrightnessWhileDozing">false</bool> + <!-- Stability requirements in milliseconds for accepting a new brightness level. This is used + for debouncing the light sensor. Different constants are used to debounce the light sensor + when adapting to brighter or darker environments. This parameter controls how quickly + brightness changes occur in response to an observed change in light level that exceeds the + hysteresis threshold. --> + <integer name="config_autoBrightnessBrighteningLightDebounce">4000</integer> + <integer name="config_autoBrightnessDarkeningLightDebounce">8000</integer> + + <!-- Light sensor event rate in milliseconds for automatic brightness control. --> + <integer name="config_autoBrightnessLightSensorRate">250</integer> + <!-- If we allow automatic adjustment of screen brightness while dozing, how many times we want to reduce it to preserve the battery. Value of 100% means no scaling. --> <fraction name="config_screenAutoBrightnessDozeScaleFactor">100%</fraction> + <!-- When the screen is turned on, the previous estimate of the ambient light level at the time + the screen was turned off is restored and is used to determine the initial screen + brightness. + + If this flag is true, then the ambient light level estimate will be promptly recomputed + after the warm-up interface and the screen brightness will be adjusted immediately. + + If this flag is false, then the ambient light level estimate will be adjusted more + gradually in the same manner that normally happens when the screen is on according to the + brightening or dimming debounce thresholds. As a result, it may take somewhat longer to + adapt to the environment. This mode may be better suited for watches. --> + <bool name="config_autoBrightnessResetAmbientLuxAfterWarmUp">true</bool> + <!-- Screen brightness used to dim the screen when the user activity timeout expires. May be less than the minimum allowed brightness setting that can be set by the user. --> @@ -1820,6 +1846,12 @@ <item>users</item> </string-array> + <!-- Number of milliseconds to hold a wake lock to ensure that drawing is fully + flushed to the display while dozing. This value needs to be large enough + to account for processing and rendering time plus a frame or two of latency + in the display pipeline plus some slack just to be sure. --> + <integer name="config_drawLockTimeoutMillis">120</integer> + <!-- default telephony hardware configuration for this platform. --> <!-- this string array should be overridden by the device to present a list @@ -2028,4 +2060,34 @@ <!-- Whether to start in touch mode --> <bool name="config_defaultInTouchMode">true</bool> + + <!-- Time adjustment, in milliseconds, applied to the default double tap threshold + used for gesture detection by the screen magnifier. --> + <integer name="config_screen_magnification_multi_tap_adjustment">-50</integer> + + <!-- Scale factor threshold used by the screen magnifier to determine when to switch from + panning to scaling the magnification viewport. --> + <item name="config_screen_magnification_scaling_threshold" format="float" type="dimen">0.3</item> + + <!-- If true, the display will be shifted around in ambient mode. --> + <bool name="config_enableBurnInProtection">false</bool> + + <!-- Specifies the maximum burn-in offset displacement from the center. If -1, no maximum value + will be used. --> + <integer name="config_burnInProtectionMaxRadius">-1</integer> + + <!-- Specifies the minimum burn-in offset horizontally. --> + <integer name="config_burnInProtectionMinHorizontalOffset">0</integer> + + <!-- Specifies the maximum burn-in offset horizontally. --> + <integer name="config_burnInProtectionMaxHorizontalOffset">0</integer> + + <!-- Specifies the minimum burn-in offset vertically. --> + <integer name="config_burnInProtectionMinVerticalOffset">0</integer> + + <!-- Specifies the maximum burn-in offset vertically. --> + <integer name="config_burnInProtectionMaxVerticalOffset">0</integer> + + <!-- Keyguard component --> + <string name="config_keyguardComponent" translatable="false">com.android.systemui/com.android.systemui.keyguard.KeyguardService</string> </resources> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 02fa128c550e..30ea7c1e18c4 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -304,6 +304,9 @@ <!-- Touch slop for the global toggle accessibility gesture --> <dimen name="accessibility_touch_slop">80dip</dimen> + <!-- Width of the outline stroke used by the accessibility screen magnification indicator --> + <dimen name="accessibility_magnification_indicator_width">4dip</dimen> + <!-- Width of the sliding KeyguardSecurityContainer (includes 2x keyguard_security_view_margin) --> <dimen name="keyguard_security_width">320dp</dimen> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 20b4b62f3e80..d30d36e060f1 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -482,6 +482,9 @@ <!-- label for item that launches settings in phone options dialog [CHAR LIMIT=15]--> <string name="global_action_settings">Settings</string> + <!-- label for item that launches voice assist in phone options dialog [CHAR LIMIT=15]--> + <string name="global_action_voice_assist">Voice Assist</string> + <!-- label for item that locks the phone and enforces that it can't be unlocked without entering a credential. [CHAR LIMIT=15] --> <string name="global_action_lockdown">Lock now</string> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 105554794f53..464e4d3be68f 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -254,6 +254,7 @@ <java-symbol type="bool" name="config_duplicate_port_omadm_wappush" /> <java-symbol type="bool" name="config_enable_emergency_call_while_sim_locked" /> <java-symbol type="bool" name="config_enable_puk_unlock_screen" /> + <java-symbol type="bool" name="config_enableBurnInProtection" /> <java-symbol type="bool" name="config_hotswapCapable" /> <java-symbol type="bool" name="config_mms_content_disposition_support" /> <java-symbol type="bool" name="config_networkSamplingWakesDevice" /> @@ -344,7 +345,13 @@ <java-symbol type="integer" name="config_wifi_framework_current_network_boost" /> <java-symbol type="integer" name="config_bluetooth_max_advertisers" /> <java-symbol type="integer" name="config_bluetooth_max_scan_filters" /> + <java-symbol type="integer" name="config_burnInProtectionMinHorizontalOffset" /> + <java-symbol type="integer" name="config_burnInProtectionMaxHorizontalOffset" /> + <java-symbol type="integer" name="config_burnInProtectionMinVerticalOffset" /> + <java-symbol type="integer" name="config_burnInProtectionMaxVerticalOffset" /> + <java-symbol type="integer" name="config_burnInProtectionMaxRadius" /> <java-symbol type="integer" name="config_cursorWindowSize" /> + <java-symbol type="integer" name="config_drawLockTimeoutMillis" /> <java-symbol type="integer" name="config_doublePressOnPowerBehavior" /> <java-symbol type="integer" name="config_extraFreeKbytesAdjust" /> <java-symbol type="integer" name="config_extraFreeKbytesAbsolute" /> @@ -412,6 +419,7 @@ <java-symbol type="dimen" name="notification_badge_size" /> <java-symbol type="dimen" name="immersive_mode_cling_width" /> <java-symbol type="dimen" name="circular_display_mask_offset" /> + <java-symbol type="dimen" name="accessibility_magnification_indicator_width" /> <java-symbol type="string" name="add_account_button_label" /> <java-symbol type="string" name="addToDictionary" /> @@ -1527,6 +1535,7 @@ <java-symbol type="string" name="global_action_silent_mode_on_status" /> <java-symbol type="string" name="global_action_toggle_silent_mode" /> <java-symbol type="string" name="global_action_lockdown" /> + <java-symbol type="string" name="global_action_voice_assist" /> <java-symbol type="string" name="invalidPuk" /> <java-symbol type="string" name="lockscreen_carrier_default" /> <java-symbol type="style" name="Animation.LockScreen" /> @@ -1584,6 +1593,7 @@ <java-symbol type="bool" name="config_useAttentionLight" /> <java-symbol type="bool" name="config_animateScreenLights" /> <java-symbol type="bool" name="config_automatic_brightness_available" /> + <java-symbol type="bool" name="config_autoBrightnessResetAmbientLuxAfterWarmUp" /> <java-symbol type="bool" name="config_dozeAfterScreenOff" /> <java-symbol type="bool" name="config_enableActivityRecognitionHardwareOverlay" /> <java-symbol type="bool" name="config_enableFusedLocationOverlay" /> @@ -1605,6 +1615,7 @@ <java-symbol type="bool" name="config_allowTheaterModeWakeFromDock" /> <java-symbol type="bool" name="config_allowTheaterModeWakeFromWindowLayout" /> <java-symbol type="bool" name="config_goToSleepOnButtonPressTheaterMode" /> + <java-symbol type="bool" name="config_supportLongPressPowerWhenNonInteractive" /> <java-symbol type="bool" name="config_wifi_background_scan_support" /> <java-symbol type="bool" name="config_wifi_dual_band_support" /> <java-symbol type="bool" name="config_wimaxEnabled" /> @@ -1614,6 +1625,7 @@ <java-symbol type="drawable" name="ic_notification_ime_default" /> <java-symbol type="drawable" name="ic_menu_refresh" /> <java-symbol type="drawable" name="ic_settings" /> + <java-symbol type="drawable" name="ic_voice_search" /> <java-symbol type="drawable" name="stat_notify_car_mode" /> <java-symbol type="drawable" name="stat_notify_disabled_data" /> <java-symbol type="drawable" name="stat_notify_disk_full" /> @@ -1638,6 +1650,9 @@ <java-symbol type="id" name="replace_message" /> <java-symbol type="fraction" name="config_dimBehindFadeDuration" /> <java-symbol type="fraction" name="config_screenAutoBrightnessDozeScaleFactor" /> + <java-symbol type="integer" name="config_autoBrightnessBrighteningLightDebounce"/> + <java-symbol type="integer" name="config_autoBrightnessDarkeningLightDebounce"/> + <java-symbol type="integer" name="config_autoBrightnessLightSensorRate"/> <java-symbol type="integer" name="config_carDockKeepsScreenOn" /> <java-symbol type="integer" name="config_criticalBatteryWarningLevel" /> <java-symbol type="integer" name="config_datause_notification_type" /> @@ -2065,6 +2080,9 @@ <java-symbol type="array" name="config_clockTickVibePattern" /> <java-symbol type="array" name="config_calendarDateVibePattern" /> + <!-- From KeyguardServiceDelegate --> + <java-symbol type="string" name="config_keyguardComponent" /> + <!-- From various Material changes --> <java-symbol type="attr" name="titleTextAppearance" /> <java-symbol type="attr" name="subtitleTextAppearance" /> @@ -2157,4 +2175,7 @@ <java-symbol type="bool" name="config_use_sim_language_file" /> <java-symbol type="bool" name="config_LTE_eri_for_network_name" /> <java-symbol type="bool" name="config_defaultInTouchMode" /> + + <java-symbol type="integer" name="config_screen_magnification_multi_tap_adjustment" /> + <java-symbol type="dimen" name="config_screen_magnification_scaling_threshold" /> </resources> diff --git a/core/res/res/values/themes_micro.xml b/core/res/res/values/themes_micro.xml index 1ebc70892d1c..e730dff3f891 100644 --- a/core/res/res/values/themes_micro.xml +++ b/core/res/res/values/themes_micro.xml @@ -24,9 +24,6 @@ <item name="windowBackground">@color/black</item> <item name="windowContentOverlay">@null</item> <item name="windowIsFloating">false</item> - <!-- We need the windows to be translucent for SwipeToDismiss layout - to work properly. --> - <item name="windowIsTranslucent">true</item> <item name="windowSwipeToDismiss">true</item> <!-- Required to force windowInsets dispatch through application UI. --> <item name="windowOverscan">true</item> @@ -42,9 +39,6 @@ <item name="windowBackground">@color/white</item> <item name="windowContentOverlay">@null</item> <item name="windowIsFloating">false</item> - <!-- We need the windows to be translucent for SwipeToDismiss layout - to work properly. --> - <item name="windowIsTranslucent">true</item> <item name="windowSwipeToDismiss">true</item> <!-- Required to force windowInsets dispatch through application UI. --> <item name="windowOverscan">true</item> diff --git a/packages/BackupRestoreConfirmation/res/values-es/strings.xml b/packages/BackupRestoreConfirmation/res/values-es/strings.xml index 01f7cf7e6184..ac0836d44580 100644 --- a/packages/BackupRestoreConfirmation/res/values-es/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-es/strings.xml @@ -25,11 +25,11 @@ <string name="allow_restore_button_label" msgid="3081286752277127827">"Restaurar mis datos"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"No restaurar"</string> <string name="current_password_text" msgid="8268189555578298067">"Introduce a continuación la contraseña actual de copia de seguridad:"</string> - <string name="device_encryption_restore_text" msgid="1570864916855208992">"Introduce a continuación la contraseña de encriptación del dispositivo."</string> - <string name="device_encryption_backup_text" msgid="5866590762672844664">"Introduce a continuación la contraseña de encriptación del dispositivo. Esta contraseña se usará también para encriptar el archivo de copia de seguridad."</string> + <string name="device_encryption_restore_text" msgid="1570864916855208992">"Introduce a continuación la contraseña de cifrado del dispositivo."</string> + <string name="device_encryption_backup_text" msgid="5866590762672844664">"Introduce a continuación la contraseña de cifrado del dispositivo. Esta contraseña se usará también para cifrar el archivo de copia de seguridad."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"Introduce la contraseña que quieras usar para cifrar los datos de la copia de seguridad completa. Si dejas este campo en blanco, se usará tu contraseña de copia de seguridad actual:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"Si quieres cifrar los datos de la copia de seguridad completa, introduce la contraseña a continuación:"</string> - <string name="backup_enc_password_required" msgid="7889652203371654149">"Tu dispositivo está encriptado, por lo que debes encriptar tu copia de seguridad. Introduce una contraseña a continuación:"</string> + <string name="backup_enc_password_required" msgid="7889652203371654149">"Tu dispositivo está cifrado, por lo que debes cifrar tu copia de seguridad. Introduce una contraseña a continuación:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"Si los datos de restauración están cifrados, introduce la contraseña a continuación:"</string> <string name="toast_backup_started" msgid="550354281452756121">"Iniciando copia de seguridad..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"Copia de seguridad finalizada"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-hi/strings.xml b/packages/BackupRestoreConfirmation/res/values-hi/strings.xml index 71a319f26d3a..2578e8fec895 100644 --- a/packages/BackupRestoreConfirmation/res/values-hi/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-hi/strings.xml @@ -21,15 +21,15 @@ <string name="backup_confirm_text" msgid="1878021282758896593">"कनेक्ट किए गए डेस्कटॉप कंप्यूटर से सभी डेटा के संपूर्ण सुरक्षा का अनुरोध किया गया है. क्या आप इसकी अनुमति देना चाहते हैं?\n\nयदि आपने स्वयं बैकअप का अनुरोध नहीं किया है, तो प्रक्रिया जारी रखने की अनुमति न दें."</string> <string name="allow_backup_button_label" msgid="4217228747769644068">"मेरे डेटा का बैकअप लें"</string> <string name="deny_backup_button_label" msgid="6009119115581097708">"बैकअप न लें"</string> - <string name="restore_confirm_text" msgid="7499866728030461776">"कनेक्ट किए गए डेस्कटॉप कंप्यूटर से सभी डेटा की पूर्ण पुनर्स्थापना का अनुरोध किया गया है. क्या आप इसकी अनुमति देना चाहते हैं?\n\nयदि आपने स्वयं पुनर्प्राप्ति का अनुरोध नहीं किया है, तो प्रक्रिया जारी रखने की अनुमति न दें. इससे वर्तमान में आपके उपकरण पर मौजूद डेटा बदल जाएगा!"</string> + <string name="restore_confirm_text" msgid="7499866728030461776">"कनेक्ट किए गए डेस्कटॉप कंप्यूटर से सभी डेटा की पूर्ण पुनर्स्थापना का अनुरोध किया गया है. क्या आप इसकी अनुमति देना चाहते हैं?\n\nयदि आपने स्वयं पुनर्प्राप्ति का अनुरोध नहीं किया है, तो प्रक्रिया जारी रखने की अनुमति न दें. इससे वर्तमान में आपके डिवाइस पर मौजूद डेटा बदल जाएगा!"</string> <string name="allow_restore_button_label" msgid="3081286752277127827">"मेरा डेटा पुनर्स्थापित करें"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"पुनर्स्थापित न करें"</string> <string name="current_password_text" msgid="8268189555578298067">"कृपया नीचे अपना वर्तमान सुरक्षित करने का पासवर्ड डालें:"</string> - <string name="device_encryption_restore_text" msgid="1570864916855208992">"कृपया नीचे अपना उपकरण एन्क्रिप्शन पासवर्ड डालें."</string> - <string name="device_encryption_backup_text" msgid="5866590762672844664">"कृपया अपना उपकरण सुरक्षित तरीका पासवर्ड नीचे दर्ज करें. बैकअप संग्रहण को एन्क्रिप्ट करने के लिए भी इसका उपयोग किया जाएगा."</string> + <string name="device_encryption_restore_text" msgid="1570864916855208992">"कृपया नीचे अपना डिवाइस एन्क्रिप्शन पासवर्ड डालें."</string> + <string name="device_encryption_backup_text" msgid="5866590762672844664">"कृपया अपना डिवाइस सुरक्षित तरीका पासवर्ड नीचे दर्ज करें. बैकअप मेमोरी को एन्क्रिप्ट करने के लिए भी इसका उपयोग किया जाएगा."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"कृपया संपूर्ण सुरक्षित डेटा को एन्क्रिप्ट करने में उपयोग के लिए पासवर्ड डालें. यदि यह खाली छोड़ दिया जाता है, तो आपके वर्तमान बैकअप पासवर्ड का उपयोग किया जाएगा:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"यदि आप संपूर्ण सुरक्षित डेटा को एन्क्रिप्ट करना चाहते हैं, तो नीचे पासवर्ड डालें:"</string> - <string name="backup_enc_password_required" msgid="7889652203371654149">"चूंकि आपका उपकरण एन्क्रिप्ट किया हुआ है, इसलिए आपको अपने बैकअप को एन्क्रिप्ट करना आवश्यक है. कृपया नीचे पासवर्ड डालें:"</string> + <string name="backup_enc_password_required" msgid="7889652203371654149">"चूंकि आपका डिवाइस एन्क्रिप्ट किया हुआ है, इसलिए आपको अपने बैकअप को एन्क्रिप्ट करना आवश्यक है. कृपया नीचे पासवर्ड डालें:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"यदि पुनर्स्थापित डेटा को एन्क्रिप्ट किया गया है, तो कृपया नीचे पासवर्ड डालें:"</string> <string name="toast_backup_started" msgid="550354281452756121">"सुरक्षित करना शुरु हो रहा है..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"सुरक्षित करना पूर्ण"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-kk-rKZ/strings.xml b/packages/BackupRestoreConfirmation/res/values-kk-rKZ/strings.xml index 6a36b9e9a99e..38d71724de0e 100644 --- a/packages/BackupRestoreConfirmation/res/values-kk-rKZ/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-kk-rKZ/strings.xml @@ -29,8 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Құрылғыңыздың кодтық кілтсөзін енгізіңіз. Ол сақтық көшірме мұрағатын кодтау үшін де қолданылады."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"Деректердің сақтық көшірмесін толығымен шифрлау үшін кілтсөзді енгізіңіз. Егер бұл бос қалдырылса, сіздің қазіргі сақтық көшірме кілтсөзіңіз қолданылады:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"Деректердің сақтық көшірмесін толығымен шифрлауды қаласаңыз, кілтсөзді енгізіңіз:"</string> - <!-- no translation found for backup_enc_password_required (7889652203371654149) --> - <skip /> + <string name="backup_enc_password_required" msgid="7889652203371654149">"Құрылғыңыз шифрланғандықтан, сақтық көшірмені шифрлау қажет. Төменде құпия сөзді енгізіңіз:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"Қалпына келтіру деректері кодталса, кілтсөзді енгізіңіз:"</string> <string name="toast_backup_started" msgid="550354281452756121">"Сақтық көшірме басталуда..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"Қалпына келтіру аяқталды"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-ky-rKG/strings.xml b/packages/BackupRestoreConfirmation/res/values-ky-rKG/strings.xml index 3c7b6e7bc990..6333b18debc7 100644 --- a/packages/BackupRestoreConfirmation/res/values-ky-rKG/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-ky-rKG/strings.xml @@ -29,8 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Түзмөгүңүздүн шифрлөө сырсөзүн төмөндө киргизиңиз. Ал бэкап архивин шифрлегенге дагы колдонулат."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"Эгер сиз толук бэкапты шифрлегиңиз келсе, төмөндө сырсөз киргизиңиз. Эгер ал бош калтырылса, анда учурдагы сырсөз колдонулат:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"Эгер сиз толук бэкапты шифрлегиңиз келсе, төмөндө сырсөз киргизиңиз:"</string> - <!-- no translation found for backup_enc_password_required (7889652203371654149) --> - <skip /> + <string name="backup_enc_password_required" msgid="7889652203371654149">"Түзмөгүңүз шифрленген болгондуктан, камдооңузду шифрлешиңиз керек. Төмөнгө сырсөз киргизиңиз:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"Эгер калыбына келтирүү берилиштери шифрленген болсо, төмөндө сырсөздү киргизиңиз:"</string> <string name="toast_backup_started" msgid="550354281452756121">"Бэкап башталды..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"Бэкап аяктады"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-ne-rNP/strings.xml b/packages/BackupRestoreConfirmation/res/values-ne-rNP/strings.xml index 993311d3dbe9..473802ee1700 100644 --- a/packages/BackupRestoreConfirmation/res/values-ne-rNP/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-ne-rNP/strings.xml @@ -29,8 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"कृपया तल तपाईंको उपकरण एन्क्रिप्सन पासवर्ड प्रविष्टि गर्नुहोस्: यो ब्याकप सँग्रह एन्क्रिप्ट गर्न पनि प्रयोग हुने छ।"</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"ब्याकप डेटालाई encrypt गर्न पासवर्ड प्रविष्टि गर्नुहोस्, यदि यो खालि छोडिएको खण्डमा तपाईको पुरानै पासवर्ड प्रयोग हुने छ।"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"यदि तपाईं पूर्ण ब्याकअप डेटा इन्क्रिप्ट गर्न चाहनु हुन्छ भने तल पासवर्ड प्रविष्टि गर्नुहोस्।"</string> - <!-- no translation found for backup_enc_password_required (7889652203371654149) --> - <skip /> + <string name="backup_enc_password_required" msgid="7889652203371654149">"तपाईँको उपकरण गुप्तिकरण गरिए देखि, तपाईंले आफ्नो जगेडा गुप्तिकरण गर्न आवश्यक छ। कृपया तल पासवर्ड प्रविष्ट गर्नुहोस्:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"यदि पुनःबहाली डेटा इन्क्रिप्ट छ भने कृपया तल पासवर्ड प्रविष्टि गर्नुहोस्:"</string> <string name="toast_backup_started" msgid="550354281452756121">"जगेडा राख्न सुरु हुँदै..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"ब्याकअप सकियो"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-si-rLK/strings.xml b/packages/BackupRestoreConfirmation/res/values-si-rLK/strings.xml index 8d1ede4c33fc..aaeaf04498f1 100644 --- a/packages/BackupRestoreConfirmation/res/values-si-rLK/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-si-rLK/strings.xml @@ -29,8 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"කරුණාකර ඔබගේ උපාංගයේ සංකේතන මුරපදය පහත ඇතුලත් කරන්න. සංරක්ෂිත උපස්ථ සංකේතනය කිරීමට මෙය භාවිත කළ හැක."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"කරුණාකර සියලු උපස්ථ දත්ත සංකේතනය කිරීම සඳහා භාවිතයට මුරපදයක් ඇතුළත් කරන්න. මෙය හිස්ව තැබුවොත්, ඔබගේ වර්තමාන උපස්ථ මුරපදය භාවිත වෙයි:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"සියලු උපස්ථ දත්ත සංකේතනය කිරීමට ඔබ අදහස් කරන්නේ නම්, මුරපදය පහලින් ඇතුලත් කරන්න:"</string> - <!-- no translation found for backup_enc_password_required (7889652203371654149) --> - <skip /> + <string name="backup_enc_password_required" msgid="7889652203371654149">"ඔබගේ උපාංගය සංකේතනය කර තිබෙන නිසා, ඔබගේ උපස්ථය සංකේතනය ඔබට අවශ්ය වී තිබේ. කරුණාකර මුරපදය පහළින් එකතු කරන්න:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"යළි පිහිටුවන දත්ත සංකේතනය කරන ලද ඒවානම්, කරුණාකර මුරපදය පහලින් ඇතුල් කරන්න:"</string> <string name="toast_backup_started" msgid="550354281452756121">"උපස්ථ කිරීම ආරම්භ කරමින්..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"උපස්ථය අවසන්"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-ur-rPK/strings.xml b/packages/BackupRestoreConfirmation/res/values-ur-rPK/strings.xml index 416b69328eae..6f1c9b57582a 100644 --- a/packages/BackupRestoreConfirmation/res/values-ur-rPK/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-ur-rPK/strings.xml @@ -29,8 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"براہ کرم ذیل میں اپنے آلہ کی مرموز کاری کا پاس ورڈ درج کریں۔ یہ بیک اپ آرکائیو کی مرموز کاری کرنے کیلئے بھی استعمال کیا جائے گا۔"</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"مکمل بیک اپ ڈیٹا کی مرموز کاری کرنے کیلئے استعمال کیلئے براہ کرم ایک پاس ورڈ درج کریں۔ اگر یہ خالی رہتا ہے تو آپ کا موجودہ بیک اپ پاس ورڈ استعمال کیا جائے گا:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"اگر آپ مکمل بیک اپ ڈیٹا کی مرموز کاری کرنا چاہتے ہیں تو ذیل میں ایک پاس ورڈ درج کریں:"</string> - <!-- no translation found for backup_enc_password_required (7889652203371654149) --> - <skip /> + <string name="backup_enc_password_required" msgid="7889652203371654149">"چونکہ آپ کا آلہ مرموز کردہ ہے، آپ کو اپنے بیک اپ کی مرموز کاری کرنے کی ضرورت ہے۔ براہ کرم ذیل میں ایک پاس ورڈ درج کریں:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"اگر بحال ہونے والا ڈیٹا مرموز کردہ ہے تو براہ کرم ذیل میں پاس ورڈ درج کریں:"</string> <string name="toast_backup_started" msgid="550354281452756121">"بیک اپ شروع ہو رہا ہے…"</string> <string name="toast_backup_ended" msgid="3818080769548726424">"بیک اپ مکمل ہو گیا"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-uz-rUZ/strings.xml b/packages/BackupRestoreConfirmation/res/values-uz-rUZ/strings.xml index 032f8843d735..1b5741ffcdca 100644 --- a/packages/BackupRestoreConfirmation/res/values-uz-rUZ/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-uz-rUZ/strings.xml @@ -29,8 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Qurilmangizning shifr parolini kiriting. U zahira arxivni shifrlash uchun ham ishlatiladi."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"To‘liq zahira fayllarini shifrlash uchun parol kiriting. Agar bo‘sh qoldirsangiz, joriy zahiralash parolingizdan foydalaniladi:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"To‘liq zahira ma’lumotlarini shifrlashni xohlasangiz, quyidagi parolni kiriting:"</string> - <!-- no translation found for backup_enc_password_required (7889652203371654149) --> - <skip /> + <string name="backup_enc_password_required" msgid="7889652203371654149">"Qurilmangiz shifrlangani bois ma’lumotlaringizning zaxira nusxasini ham shifrlash zarur. Shifrlash uchun parolni kiriting:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"Agar tiklash ma’lumoti shifrlangan bo‘lsa, pastga parolni kiriting:"</string> <string name="toast_backup_started" msgid="550354281452756121">"Zahiralash jarayoni boshlandi..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"Zahiralash jarayoni bajarildi"</string> diff --git a/packages/DocumentsUI/res/values-hi/strings.xml b/packages/DocumentsUI/res/values-hi/strings.xml index c4dc6521105f..88f26ed00e8e 100644 --- a/packages/DocumentsUI/res/values-hi/strings.xml +++ b/packages/DocumentsUI/res/values-hi/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="2783841764617238354">"दस्तावेज़"</string> <string name="title_open" msgid="4353228937663917801">"यहां से खोलें"</string> - <string name="title_save" msgid="2433679664882857999">"यहां सहेजें"</string> + <string name="title_save" msgid="2433679664882857999">"यहां जोड़ें"</string> <string name="menu_create_dir" msgid="5947289605844398389">"फ़ोल्डर बनाएं"</string> <string name="menu_grid" msgid="6878021334497835259">"ग्रिड दृश्य"</string> <string name="menu_list" msgid="7279285939892417279">"सूची दृश्य"</string> @@ -26,13 +26,13 @@ <string name="menu_search" msgid="3816712084502856974">"खोजें"</string> <string name="menu_settings" msgid="6008033148948428823">"सेटिंग"</string> <string name="menu_open" msgid="432922957274920903">"खोलें"</string> - <string name="menu_save" msgid="2394743337684426338">"सहेजें"</string> + <string name="menu_save" msgid="2394743337684426338">"जोड़ें"</string> <string name="menu_share" msgid="3075149983979628146">"साझा करें"</string> <string name="menu_delete" msgid="8138799623850614177">"हटाएं"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" चुनें"</string> - <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"आंतरिक संग्रहण दिखाएं"</string> + <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"आंतरिक मेमोरी दिखाएं"</string> <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD कार्ड दिखाएं"</string> - <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"आंतरिक संग्रहण छिपाएं"</string> + <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"आंतरिक मेमोरी छिपाएं"</string> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD कार्ड छिपाएं"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"फ़ाइल आकार दिखाएं"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"फ़ाइल आकार छिपाएं"</string> @@ -46,10 +46,10 @@ <string name="create_error" msgid="3735649141335444215">"फ़ोल्डर बनाने में विफल"</string> <string name="query_error" msgid="1222448261663503501">"दस्तावेजों के लिए क्वेरी करने में विफल रहा"</string> <string name="root_recent" msgid="4470053704320518133">"हाल ही के"</string> - <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> रिक्त"</string> - <string name="root_type_service" msgid="2178854894416775409">"संग्रहण सेवाएं"</string> + <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> खाली"</string> + <string name="root_type_service" msgid="2178854894416775409">"मेमोरी सेवाएं"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"शॉर्टकट"</string> - <string name="root_type_device" msgid="7121342474653483538">"उपकरण"</string> + <string name="root_type_device" msgid="7121342474653483538">"डिवाइस"</string> <string name="root_type_apps" msgid="8838065367985945189">"अधिक ऐप्स"</string> <string name="empty" msgid="7858882803708117596">"कोई आइटम नहीं"</string> <string name="toast_no_application" msgid="1339885974067891667">"फ़ाइल नहीं खोली जा सकती"</string> diff --git a/packages/DocumentsUI/res/values-ky-rKG/strings.xml b/packages/DocumentsUI/res/values-ky-rKG/strings.xml index 5513746e62de..a4f718bb1aa3 100644 --- a/packages/DocumentsUI/res/values-ky-rKG/strings.xml +++ b/packages/DocumentsUI/res/values-ky-rKG/strings.xml @@ -30,10 +30,10 @@ <string name="menu_share" msgid="3075149983979628146">"Бөлүшүү"</string> <string name="menu_delete" msgid="8138799623850614177">"Өчүрүү"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" тандоо"</string> - <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ички эстутумду көрсөтүү"</string> + <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ички сактагычты көрсөтүү"</string> <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD картаны көрсөтүү"</string> <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ички эстутумду жашыруу"</string> - <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD катраны жашыруу"</string> + <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD картаны жашыруу"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Файл өлчөмүн көрсөтүү"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Файл өлчөмүн жашыруу"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> тандалды"</string> diff --git a/packages/DocumentsUI/res/values-my-rMM/strings.xml b/packages/DocumentsUI/res/values-my-rMM/strings.xml index 98b3a909af36..50f836309897 100644 --- a/packages/DocumentsUI/res/values-my-rMM/strings.xml +++ b/packages/DocumentsUI/res/values-my-rMM/strings.xml @@ -26,7 +26,7 @@ <string name="menu_search" msgid="3816712084502856974">"ရှာဖွေရန်"</string> <string name="menu_settings" msgid="6008033148948428823">"ဆက်တင်များ"</string> <string name="menu_open" msgid="432922957274920903">"ဖွင့်ရန်"</string> - <string name="menu_save" msgid="2394743337684426338">"သိမ်းဆည်းရန်"</string> + <string name="menu_save" msgid="2394743337684426338">"သိမ်းပါ"</string> <string name="menu_share" msgid="3075149983979628146">"မျှဝေခြင်း"</string> <string name="menu_delete" msgid="8138799623850614177">"ဖျက်ပစ်ရန်"</string> <string name="menu_select" msgid="8711270657353563424">"ရွေးရန်\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> diff --git a/packages/DocumentsUI/res/values-pt/strings.xml b/packages/DocumentsUI/res/values-pt/strings.xml index 184fb5383b25..2aaa4d2c4c09 100644 --- a/packages/DocumentsUI/res/values-pt/strings.xml +++ b/packages/DocumentsUI/res/values-pt/strings.xml @@ -50,7 +50,7 @@ <string name="root_type_service" msgid="2178854894416775409">"Serviços de armazenamento"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"Atalhos"</string> <string name="root_type_device" msgid="7121342474653483538">"Dispositivos"</string> - <string name="root_type_apps" msgid="8838065367985945189">"Mais aplicativos"</string> + <string name="root_type_apps" msgid="8838065367985945189">"Mais apps"</string> <string name="empty" msgid="7858882803708117596">"Nenhum item"</string> <string name="toast_no_application" msgid="1339885974067891667">"Não é possível abrir o arquivo"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Não foi possível excluir alguns documentos"</string> diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml index a37dbe831dca..464a13e88c17 100644 --- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml @@ -45,7 +45,7 @@ <string name="save_error" msgid="6167009778003223664">"無法儲存文件"</string> <string name="create_error" msgid="3735649141335444215">"無法建立資料夾"</string> <string name="query_error" msgid="1222448261663503501">"無法查詢文件"</string> - <string name="root_recent" msgid="4470053704320518133">"最近存取過"</string> + <string name="root_recent" msgid="4470053704320518133">"最近"</string> <string name="root_available_bytes" msgid="8568452858617033281">"可用空間:<xliff:g id="SIZE">%1$s</xliff:g>"</string> <string name="root_type_service" msgid="2178854894416775409">"儲存空間服務"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"捷徑"</string> diff --git a/packages/ExternalStorageProvider/res/values-hi/strings.xml b/packages/ExternalStorageProvider/res/values-hi/strings.xml index 1227bd4eabd5..853808136715 100644 --- a/packages/ExternalStorageProvider/res/values-hi/strings.xml +++ b/packages/ExternalStorageProvider/res/values-hi/strings.xml @@ -16,7 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="7123375275748530234">"बाहरी संग्रहण"</string> - <string name="root_internal_storage" msgid="827844243068584127">"मोबाइल संग्रहण"</string> + <string name="app_label" msgid="7123375275748530234">"बाहरी मेमोरी"</string> + <string name="root_internal_storage" msgid="827844243068584127">"मोबाइल मेमोरी"</string> <string name="root_documents" msgid="4051252304075469250">"दस्तावेज़"</string> </resources> diff --git a/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml b/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml index 643fb9207bd9..dc9d684b1919 100644 --- a/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml +++ b/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml @@ -17,6 +17,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="7123375275748530234">"ပြင်ပသိုလှောင်ရာပစ္စည်း"</string> - <string name="root_internal_storage" msgid="827844243068584127">"စက်အတွင်းသိမ်းဆည်းရန်နေရာ"</string> + <string name="root_internal_storage" msgid="827844243068584127">"စက်တွင်း သိုလှောင်ထားမှု"</string> <string name="root_documents" msgid="4051252304075469250">"စာရွက်စာတန်းများ"</string> </resources> diff --git a/packages/InputDevices/res/values-de/strings.xml b/packages/InputDevices/res/values-de/strings.xml index 04c19e334c84..40722f6fe8df 100644 --- a/packages/InputDevices/res/values-de/strings.xml +++ b/packages/InputDevices/res/values-de/strings.xml @@ -3,7 +3,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="8016145283189546017">"Eingabegeräte"</string> <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android-Tastatur"</string> - <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Englisch (Großbritannien)"</string> + <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Englisch (Vereinigtes Königreich)"</string> <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Englisch (USA)"</string> <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Englisch (USA), international"</string> <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Englisch (USA), Colemak"</string> diff --git a/packages/InputDevices/res/values-hi/strings.xml b/packages/InputDevices/res/values-hi/strings.xml index 77cb8feb47f4..fcd7f8409c15 100644 --- a/packages/InputDevices/res/values-hi/strings.xml +++ b/packages/InputDevices/res/values-hi/strings.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="8016145283189546017">"इनपुट उपकरण"</string> + <string name="app_label" msgid="8016145283189546017">"इनपुट डिवाइस"</string> <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android कीबोर्ड"</string> <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"अंग्रेज़ी (यूके)"</string> <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"अंग्रेज़ी (यूएस)"</string> diff --git a/packages/PrintSpooler/res/values-am/strings.xml b/packages/PrintSpooler/res/values-am/strings.xml index 683d5854501c..d54f99798a9c 100644 --- a/packages/PrintSpooler/res/values-am/strings.xml +++ b/packages/PrintSpooler/res/values-am/strings.xml @@ -33,7 +33,7 @@ <string name="install_for_print_preview" msgid="6366303997385509332">"ለቅድመ-እይታ የፒ ዲ ኤፍ መመልከቻ ይጫኑ"</string> <string name="printing_app_crashed" msgid="854477616686566398">"የአታሚ መተግበሪያ ተበላሽቷል"</string> <string name="generating_print_job" msgid="3119608742651698916">"የህትመት ስራን በማመንጨት ላይ"</string> - <string name="save_as_pdf" msgid="5718454119847596853">"እንደ ፒዲኤፍ አስቀምጥ"</string> + <string name="save_as_pdf" msgid="5718454119847596853">"እንደ PDF አስቀምጥ"</string> <string name="all_printers" msgid="5018829726861876202">"ሁሉም አታሚዎች…"</string> <string name="print_dialog" msgid="32628687461331979">"የህትመት መገናኛ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> diff --git a/packages/PrintSpooler/res/values-bn-rBD/strings.xml b/packages/PrintSpooler/res/values-bn-rBD/strings.xml index 35a728522e4a..5c5fabf14828 100644 --- a/packages/PrintSpooler/res/values-bn-rBD/strings.xml +++ b/packages/PrintSpooler/res/values-bn-rBD/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"সমস্ত মুদ্রক…"</string> <string name="print_dialog" msgid="32628687461331979">"মুদ্রণ ডায়লগ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>টির মধ্যে <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> নম্বর পৃষ্ঠা"</string> + <string name="summary_template" msgid="8899734908625669193">"সারাংশ, <xliff:g id="COPIES">%1$s</xliff:g>টি অনুলিপি, কাগজের আকার <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"প্রসারিত করার হ্যান্ডেল"</string> + <string name="collapse_handle" msgid="6886637989442507451">"সঙ্কুচিত করার হ্যান্ডেল"</string> + <string name="print_button" msgid="645164566271246268">"মুদ্রণ করুন"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF হিসাবে সংরক্ষণ করুন"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"মুদ্রণ বিকল্প প্রসারিত হয়েছে"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"মুদ্রণ বিকল্প সংকুচিত হয়েছে"</string> <string name="search" msgid="5421724265322228497">"অনুসন্ধান করুন"</string> <string name="all_printers_label" msgid="3178848870161526399">"সমস্ত মুদ্রক"</string> <string name="add_print_service_label" msgid="5356702546188981940">"পরিষেবা যোগ করুন"</string> diff --git a/packages/PrintSpooler/res/values-ca/strings.xml b/packages/PrintSpooler/res/values-ca/strings.xml index 6d66b86d3181..a9677cbcddc8 100644 --- a/packages/PrintSpooler/res/values-ca/strings.xml +++ b/packages/PrintSpooler/res/values-ca/strings.xml @@ -29,7 +29,7 @@ <string name="template_all_pages" msgid="3322235982020148762">"Totes (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string> <string name="template_page_range" msgid="428638530038286328">"Interval de: <xliff:g id="PAGE_COUNT">%1$s</xliff:g>"</string> <string name="pages_range_example" msgid="8558694453556945172">"p. ex. 1-5, 8, 11-13"</string> - <string name="print_preview" msgid="8010217796057763343">"Visualització prèvia impressió"</string> + <string name="print_preview" msgid="8010217796057763343">"Previsualització impressió"</string> <string name="install_for_print_preview" msgid="6366303997385509332">"Instal·la un lector de PDF per a visualitz. prèvia"</string> <string name="printing_app_crashed" msgid="854477616686566398">"L\'aplicació d\'impressió ha fallat"</string> <string name="generating_print_job" msgid="3119608742651698916">"Generant tasca impressió"</string> @@ -85,5 +85,5 @@ <string name="print_error_default_message" msgid="8602678405502922346">"No ha funcionat. Torna-ho a provar."</string> <string name="print_error_retry" msgid="1426421728784259538">"Torna-ho a provar"</string> <string name="print_error_printer_unavailable" msgid="8985614415253203381">"Ara mateix, aquesta impressora no està disponible."</string> - <string name="print_preparing_preview" msgid="3939930735671364712">"S\'està preparant la visualització prèvia..."</string> + <string name="print_preparing_preview" msgid="3939930735671364712">"S\'està preparant la previsualització..."</string> </resources> diff --git a/packages/PrintSpooler/res/values-eu-rES/strings.xml b/packages/PrintSpooler/res/values-eu-rES/strings.xml index 69a04ad11887..4f0f8fcc43e3 100644 --- a/packages/PrintSpooler/res/values-eu-rES/strings.xml +++ b/packages/PrintSpooler/res/values-eu-rES/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Inprimagailu guztiak…"</string> <string name="print_dialog" msgid="32628687461331979">"Inprimatzeko elkarrizketa-koadroa"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g> orria"</string> + <string name="summary_template" msgid="8899734908625669193">"Laburpena, <xliff:g id="COPIES">%1$s</xliff:g> kopia, <xliff:g id="PAPER_SIZE">%2$s</xliff:g> paper-tamaina"</string> + <string name="expand_handle" msgid="7282974448109280522">"Zabaldu heldulekua"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Tolestu heldulekua"</string> + <string name="print_button" msgid="645164566271246268">"Inprimatu"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Gorde PDF gisa"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Inprimatzeko aukerak zabalduta daude"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Inprimatzeko aukerak tolestuta daude"</string> <string name="search" msgid="5421724265322228497">"Bilatu"</string> <string name="all_printers_label" msgid="3178848870161526399">"Inprimagailu guztiak"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Gehitu zerbitzua"</string> diff --git a/packages/PrintSpooler/res/values-gl-rES/strings.xml b/packages/PrintSpooler/res/values-gl-rES/strings.xml index 9b180cc0f6d9..6e542ea6819e 100644 --- a/packages/PrintSpooler/res/values-gl-rES/strings.xml +++ b/packages/PrintSpooler/res/values-gl-rES/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Todas as impresoras..."</string> <string name="print_dialog" msgid="32628687461331979">"Diálogo de impresión"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Páxina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resumo, copias <xliff:g id="COPIES">%1$s</xliff:g>, tamaño do papel <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Amplía a agarradoira"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Contrae a agarradoira"</string> + <string name="print_button" msgid="645164566271246268">"Imprimir"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Gardar en PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opcións de impresión ampliadas"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opcións de impresión contraídas"</string> <string name="search" msgid="5421724265322228497">"Buscar"</string> <string name="all_printers_label" msgid="3178848870161526399">"Todas as impresoras"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Engadir servizo"</string> diff --git a/packages/PrintSpooler/res/values-hi/strings.xml b/packages/PrintSpooler/res/values-hi/strings.xml index 81d3bf938ce6..a3f7fef27291 100644 --- a/packages/PrintSpooler/res/values-hi/strings.xml +++ b/packages/PrintSpooler/res/values-hi/strings.xml @@ -83,7 +83,7 @@ </string-array> <string name="print_write_error_message" msgid="5787642615179572543">"फ़ाइल पर नहीं लिखा जा सका"</string> <string name="print_error_default_message" msgid="8602678405502922346">"क्षमा करें, उससे बात नहीं बनी. पुन: प्रयास करें."</string> - <string name="print_error_retry" msgid="1426421728784259538">"पुनः प्रयास करें"</string> + <string name="print_error_retry" msgid="1426421728784259538">"फिर से प्रयास करें"</string> <string name="print_error_printer_unavailable" msgid="8985614415253203381">"यह प्रिंटर इस समय उपलब्ध नहीं है."</string> <string name="print_preparing_preview" msgid="3939930735671364712">"पूर्वावलोकन तैयार हो रहा है..."</string> </resources> diff --git a/packages/PrintSpooler/res/values-is-rIS/strings.xml b/packages/PrintSpooler/res/values-is-rIS/strings.xml index d18b8b527230..41a047d1b868 100644 --- a/packages/PrintSpooler/res/values-is-rIS/strings.xml +++ b/packages/PrintSpooler/res/values-is-rIS/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Allir prentarar…"</string> <string name="print_dialog" msgid="32628687461331979">"Prentgluggi"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Síða <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Yfirlit, <xliff:g id="COPIES">%1$s</xliff:g> eintök, pappírsstærð <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Stækkunarhandfang"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Minnkunarhandfang"</string> + <string name="print_button" msgid="645164566271246268">"Prenta"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Vista sem PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Prentvalkostir stækkaðir"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Prentvalkostir minnkaðir"</string> <string name="search" msgid="5421724265322228497">"Leita"</string> <string name="all_printers_label" msgid="3178848870161526399">"Allir prentarar"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Bæta við þjónustu"</string> diff --git a/packages/PrintSpooler/res/values-kk-rKZ/strings.xml b/packages/PrintSpooler/res/values-kk-rKZ/strings.xml index 8c6a34fd3f77..b02714befc59 100644 --- a/packages/PrintSpooler/res/values-kk-rKZ/strings.xml +++ b/packages/PrintSpooler/res/values-kk-rKZ/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Барлық принтерлер…"</string> <string name="print_dialog" msgid="32628687461331979">"Басу терезесі"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> ішінен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> бет"</string> + <string name="summary_template" msgid="8899734908625669193">"Жиынтық мәліметтер, көшірмелер <xliff:g id="COPIES">%1$s</xliff:g>, қағаз өлшемі <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Кеңейту таңбалауышы"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Тасалау таңбалауышы"</string> + <string name="print_button" msgid="645164566271246268">"Басып шығару"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF пішімінде сақтау"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Басып шығару опциялары кеңейтілді"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Басып шығару опциялары тасаланды"</string> <string name="search" msgid="5421724265322228497">"Іздеу"</string> <string name="all_printers_label" msgid="3178848870161526399">"Барлық принтерлер"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Қызмет қосу"</string> diff --git a/packages/PrintSpooler/res/values-km-rKH/strings.xml b/packages/PrintSpooler/res/values-km-rKH/strings.xml index 9279fe4e5804..63d710a8a631 100644 --- a/packages/PrintSpooler/res/values-km-rKH/strings.xml +++ b/packages/PrintSpooler/res/values-km-rKH/strings.xml @@ -70,7 +70,7 @@ </plurals> <string name="cancel" msgid="4373674107267141885">"បោះបង់"</string> <string name="restart" msgid="2472034227037808749">"ចាប់ផ្ដើមឡើងវិញ"</string> - <string name="no_connection_to_printer" msgid="2159246915977282728">"គ្មានការភ្ជាប់ទៅម៉ាស៊ីនបោះពុម្ព"</string> + <string name="no_connection_to_printer" msgid="2159246915977282728">"គ្មានការភ្ជាប់ទៅម៉ាស៊ីនបោះពុម្ព"</string> <string name="reason_unknown" msgid="5507940196503246139">"មិនស្គាល់"</string> <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – មិនអាចប្រើបាន"</string> <string-array name="color_mode_labels"> diff --git a/packages/PrintSpooler/res/values-kn-rIN/strings.xml b/packages/PrintSpooler/res/values-kn-rIN/strings.xml index 7f848e421eed..3950866029c3 100644 --- a/packages/PrintSpooler/res/values-kn-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-kn-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"ಎಲ್ಲಾ ಮುದ್ರಕಗಳು…"</string> <string name="print_dialog" msgid="32628687461331979">"ಮುದ್ರಣ ಸಂವಾದ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"ಪುಟ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"ಸಾರಾಂಶ, ನಕಲುಗಳು <xliff:g id="COPIES">%1$s</xliff:g>, ಪೇಪರ್ ಗಾತ್ರ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ಹ್ಯಾಂಡಲ್ ವಿಸ್ತರಿಸಿ"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ಹ್ಯಾಂಡಲ್ ಮುಚ್ಚಿರಿ"</string> + <string name="print_button" msgid="645164566271246268">"ಮುದ್ರಿಸು"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF ಗೆ ಉಳಿಸು"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ಪ್ರಿಂಟ್ ಆಯ್ಕೆಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ಪ್ರಿಂಟ್ ಆಯ್ಕೆಗಳನ್ನು ಮುಚ್ಚಲಾಗಿದೆ"</string> <string name="search" msgid="5421724265322228497">"ಹುಡುಕು"</string> <string name="all_printers_label" msgid="3178848870161526399">"ಎಲ್ಲಾ ಮುದ್ರಕಗಳು"</string> <string name="add_print_service_label" msgid="5356702546188981940">"ಸೇವೆಯನ್ನು ಸೇರಿಸು"</string> diff --git a/packages/PrintSpooler/res/values-ky-rKG/strings.xml b/packages/PrintSpooler/res/values-ky-rKG/strings.xml index f60f99495c2a..602f6605606b 100644 --- a/packages/PrintSpooler/res/values-ky-rKG/strings.xml +++ b/packages/PrintSpooler/res/values-ky-rKG/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Бардык принтерлер…"</string> <string name="print_dialog" msgid="32628687461331979">"Басуу баарлашуусу"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> ичинен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-бет"</string> + <string name="summary_template" msgid="8899734908625669193">"Корутунду, <xliff:g id="COPIES">%1$s</xliff:g> көчүрмө, барак өлчөмү <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Тутканы жаюу"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Тутканы жыйноо"</string> + <string name="print_button" msgid="645164566271246268">"Басуу"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF\'ке сактоо"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Басып чыгаруу параметрлери жайылды"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Басып чыгаруу параметрлери жыйналды"</string> <string name="search" msgid="5421724265322228497">"Издөө"</string> <string name="all_printers_label" msgid="3178848870161526399">"Бардык принтерлер"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Кызматты кошуу"</string> diff --git a/packages/PrintSpooler/res/values-mk-rMK/strings.xml b/packages/PrintSpooler/res/values-mk-rMK/strings.xml index eee7c6bb4683..91b5763fed80 100644 --- a/packages/PrintSpooler/res/values-mk-rMK/strings.xml +++ b/packages/PrintSpooler/res/values-mk-rMK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Сите печатачи..."</string> <string name="print_dialog" msgid="32628687461331979">"Дијалог рамка Печати"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> од <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Краток преглед, копии <xliff:g id="COPIES">%1$s</xliff:g>, големина на хартија <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Рачка за прикажување"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Рачка за сокривање"</string> + <string name="print_button" msgid="645164566271246268">"Печати"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Зачувај во PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Опциите на печатачот се прикажани"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Опциите на печатачот се сокриени"</string> <string name="search" msgid="5421724265322228497">"Пребарај"</string> <string name="all_printers_label" msgid="3178848870161526399">"Сите печатачи"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Додај услуга"</string> diff --git a/packages/PrintSpooler/res/values-ml-rIN/strings.xml b/packages/PrintSpooler/res/values-ml-rIN/strings.xml index 9093af11312c..a06ca7d53d0a 100644 --- a/packages/PrintSpooler/res/values-ml-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-ml-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"എല്ലാ പ്രിന്ററുകളും..."</string> <string name="print_dialog" msgid="32628687461331979">"പ്രിന്റ് സംഭാഷണം"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g> പേജ്"</string> + <string name="summary_template" msgid="8899734908625669193">"സംഗ്രഹം, പകർപ്പുകൾ <xliff:g id="COPIES">%1$s</xliff:g>, പേപ്പർ വലുപ്പം <xliff:g id="PAPER_SIZE">%2$s</xliff:g> എന്നിവ"</string> + <string name="expand_handle" msgid="7282974448109280522">"വിപുലീകരണം കൈകാര്യം ചെയ്യുക"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ചുരുക്കുന്നത് കൈകാര്യം ചെയ്യുക"</string> + <string name="print_button" msgid="645164566271246268">"പ്രിന്റുചെയ്യുക"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF-ൽ സംരക്ഷിക്കുക"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"പ്രിന്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകൾ വിപുലീകരിച്ചു"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"പ്രിന്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകൾ ചുരുക്കി"</string> <string name="search" msgid="5421724265322228497">"തിരയൽ"</string> <string name="all_printers_label" msgid="3178848870161526399">"എല്ലാ പ്രിന്ററുകളും"</string> <string name="add_print_service_label" msgid="5356702546188981940">"സേവനം ചേർക്കുക"</string> diff --git a/packages/PrintSpooler/res/values-mr-rIN/strings.xml b/packages/PrintSpooler/res/values-mr-rIN/strings.xml index 6afe95724d1f..1fade660548e 100644 --- a/packages/PrintSpooler/res/values-mr-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-mr-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"सर्व प्रिंटर..."</string> <string name="print_dialog" msgid="32628687461331979">"मुद्रण संवाद"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> पैकी <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> पृष्ठ"</string> + <string name="summary_template" msgid="8899734908625669193">"सारांश, प्रती <xliff:g id="COPIES">%1$s</xliff:g>, कागद आकार <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"विस्तृत करण्याचे हँडल"</string> + <string name="collapse_handle" msgid="6886637989442507451">"संक्षिप्त करण्याचे हँडल"</string> + <string name="print_button" msgid="645164566271246268">"मुद्रण करा"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF वर जतन करा"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"मुद्रण पर्याय विस्तृत झाले"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"मुद्रण पर्याय संक्षिप्त झाले"</string> <string name="search" msgid="5421724265322228497">"शोध"</string> <string name="all_printers_label" msgid="3178848870161526399">"सर्व प्रिंटर"</string> <string name="add_print_service_label" msgid="5356702546188981940">"सेवा जोडा"</string> diff --git a/packages/PrintSpooler/res/values-my-rMM/strings.xml b/packages/PrintSpooler/res/values-my-rMM/strings.xml index 04da765f5e2b..d6eb38035c27 100644 --- a/packages/PrintSpooler/res/values-my-rMM/strings.xml +++ b/packages/PrintSpooler/res/values-my-rMM/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"စာထုတ်စက် အားလုံး"</string> <string name="print_dialog" msgid="32628687461331979">"စာထုတ်ရန် အချက်ပြခြင်း"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>ထဲက စာမျက်နှာ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"အကျဉ်းချုပ်၊ ကော်ပီများ<xliff:g id="COPIES">%1$s</xliff:g>၊ စက္ကူ ဆိုက် <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ချဲ့ရန် လက်"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ခေါက်ရန် လက်"</string> + <string name="print_button" msgid="645164566271246268">"စာထုတ်ရန်"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF သို့ သိမ်းဆည်းခဲ့"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ပရင့်ထုတ် ရွေးစရာများကို ချဲ့ထား"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ပရင့်ထုတ် ရွေးစရာများကို ခေါက်ထား"</string> <string name="search" msgid="5421724265322228497">"ရှာဖွေခြင်း"</string> <string name="all_printers_label" msgid="3178848870161526399">"စာထုတ်စက် အားလုံး"</string> <string name="add_print_service_label" msgid="5356702546188981940">"ဆားဗစ် အသစ်ထည့်ရန်"</string> diff --git a/packages/PrintSpooler/res/values-ne-rNP/strings.xml b/packages/PrintSpooler/res/values-ne-rNP/strings.xml index 110f6985d1c9..eb9753050f8e 100644 --- a/packages/PrintSpooler/res/values-ne-rNP/strings.xml +++ b/packages/PrintSpooler/res/values-ne-rNP/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"सबै प्रिन्टरहरू..."</string> <string name="print_dialog" msgid="32628687461331979">"सम्वाद छाप्नुहोस्"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> को <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> पृष्ठ"</string> + <string name="summary_template" msgid="8899734908625669193">"सारांश, प्रतिहरू <xliff:g id="COPIES">%1$s</xliff:g> , कागज आकार <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ह्यान्डल विस्तार गर्नुहोस्"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ह्यान्डल कोल्याप्स गर्नुहोस्"</string> + <string name="print_button" msgid="645164566271246268">"प्रिन्ट गर्नुहोस्"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF सुरक्षित गर्नुहोस्"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"विस्तार गरेका विकल्पहरू प्रिन्ट गर्नुहोस्"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"कोल्याप्स गरेका विकल्पहरू प्रिन्ट गर्नुहोस्"</string> <string name="search" msgid="5421724265322228497">"खोज्नुहोस्"</string> <string name="all_printers_label" msgid="3178848870161526399">"सबै प्रिन्टरहरू"</string> <string name="add_print_service_label" msgid="5356702546188981940">"सेवा थप्नुहोस्"</string> diff --git a/packages/PrintSpooler/res/values-si-rLK/strings.xml b/packages/PrintSpooler/res/values-si-rLK/strings.xml index f6cc5e2de20e..386ce8db5777 100644 --- a/packages/PrintSpooler/res/values-si-rLK/strings.xml +++ b/packages/PrintSpooler/res/values-si-rLK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"සියලු මුද්රණ යන්ත්ර…"</string> <string name="print_dialog" msgid="32628687461331979">"මුද්රණ සංවාද කොටුව"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"පිටු <xliff:g id="PAGE_COUNT">%2$d</xliff:g> න් <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"සාරාංශය, පිටපත් <xliff:g id="COPIES">%1$s</xliff:g>, පිටුවේ ප්රමණය <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"විහිදන මිට"</string> + <string name="collapse_handle" msgid="6886637989442507451">"හකුළන මිට"</string> + <string name="print_button" msgid="645164566271246268">"මුද්රණය කරන්න"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF වෙත සුරකින්න"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"විහිදන ලද විකල්ප මුද්රණය කරන්න"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"හකුළන ලද විකල්ප මුද්රණය කරන්න"</string> <string name="search" msgid="5421724265322228497">"සෙවීම"</string> <string name="all_printers_label" msgid="3178848870161526399">"සියලු මුද්රණ යන්ත්ර"</string> <string name="add_print_service_label" msgid="5356702546188981940">"සේවාව එක් කිරීම"</string> diff --git a/packages/PrintSpooler/res/values-ta-rIN/strings.xml b/packages/PrintSpooler/res/values-ta-rIN/strings.xml index 39eead8315dc..0421bd6b01c4 100644 --- a/packages/PrintSpooler/res/values-ta-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-ta-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"எல்லா அச்சுப்பொறிகளும்…"</string> <string name="print_dialog" msgid="32628687461331979">"அச்சிடல் செய்தி"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"பக்கம்: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"சுருக்கம், நகல்கள் <xliff:g id="COPIES">%1$s</xliff:g>, தாள் அளவு <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ஹேண்டிலை விரிவாக்கு"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ஹேண்டிலைச் சுருக்கு"</string> + <string name="print_button" msgid="645164566271246268">"அச்சிடு"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF ஆகச் சேமி"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"அச்சு விருப்பங்கள் விரிவாக்கப்பட்டன"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"அச்சு விருப்பங்கள் சுருக்கப்பட்டன"</string> <string name="search" msgid="5421724265322228497">"தேடு"</string> <string name="all_printers_label" msgid="3178848870161526399">"எல்லா அச்சுப்பொறிகளும்"</string> <string name="add_print_service_label" msgid="5356702546188981940">"சேவையைச் சேர்"</string> diff --git a/packages/PrintSpooler/res/values-te-rIN/strings.xml b/packages/PrintSpooler/res/values-te-rIN/strings.xml index 3ad4d1d6d2d2..edb6e60b5efc 100644 --- a/packages/PrintSpooler/res/values-te-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-te-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"అన్ని ప్రింటర్లు…"</string> <string name="print_dialog" msgid="32628687461331979">"ముద్రణ డైలాగ్"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>లో <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>వ పేజీ"</string> + <string name="summary_template" msgid="8899734908625669193">"సారాంశం, కాపీలు <xliff:g id="COPIES">%1$s</xliff:g>, కాగితం పరిమాణం <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"విస్తరణ హ్యాండిల్"</string> + <string name="collapse_handle" msgid="6886637989442507451">"కుదింపు హ్యాండిల్"</string> + <string name="print_button" msgid="645164566271246268">"ముద్రించు"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF వలె సేవ్ చేయి"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ముద్రణ ఎంపికలు విస్తరించబడ్డాయి"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ముద్రణ ఎంపికలు కుదించబడ్డాయి"</string> <string name="search" msgid="5421724265322228497">"శోధించు"</string> <string name="all_printers_label" msgid="3178848870161526399">"అన్ని ప్రింటర్లు"</string> <string name="add_print_service_label" msgid="5356702546188981940">"సేవను జోడించు"</string> diff --git a/packages/PrintSpooler/res/values-ur-rPK/strings.xml b/packages/PrintSpooler/res/values-ur-rPK/strings.xml index 1ff57a77f50c..722d027d9c60 100644 --- a/packages/PrintSpooler/res/values-ur-rPK/strings.xml +++ b/packages/PrintSpooler/res/values-ur-rPK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"سبھی پرنٹرز…"</string> <string name="print_dialog" msgid="32628687461331979">"پرنٹ ڈائلاگ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"صفحہ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"خلاصہ، کاپیاں <xliff:g id="COPIES">%1$s</xliff:g>، کاغذ کا سائز <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"پھیلانے والا ہینڈل"</string> + <string name="collapse_handle" msgid="6886637989442507451">"سکیڑنے والا ہینڈل"</string> + <string name="print_button" msgid="645164566271246268">"پرنٹ کریں"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF میں محفوظ کریں"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"پرنٹ کے اختیارات پھیلا دیے گئے"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"پرنٹ کے اختیارات سکیڑ دیے گئے"</string> <string name="search" msgid="5421724265322228497">"تلاش کریں"</string> <string name="all_printers_label" msgid="3178848870161526399">"سبھی پرنٹرز"</string> <string name="add_print_service_label" msgid="5356702546188981940">"سروس شامل کریں"</string> diff --git a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml index 8ab3410010da..f62728fe1c65 100644 --- a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml +++ b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Barcha printerlar…"</string> <string name="print_dialog" msgid="32628687461331979">"Chop etish oynasi"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Sahifa: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Xulosa: nusxalar soni – <xliff:g id="COPIES">%1$s</xliff:g>, qog‘oz o‘lchami – <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Dastakni yoyish"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Dastakni yig‘ish"</string> + <string name="print_button" msgid="645164566271246268">"Chop etish"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF sifatida saqlash"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Chop qilish tanlamalari yoyildi"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Chop qilish tanlamalari yig‘ildi"</string> <string name="search" msgid="5421724265322228497">"Izlash"</string> <string name="all_printers_label" msgid="3178848870161526399">"Barcha printerlar"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Xizmat qo‘shish"</string> diff --git a/packages/SettingsProvider/res/values-bn-rBD/defaults.xml b/packages/SettingsProvider/res/values-bn-rBD/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-bn-rBD/defaults.xml +++ b/packages/SettingsProvider/res/values-bn-rBD/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-eu-rES/defaults.xml b/packages/SettingsProvider/res/values-eu-rES/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-eu-rES/defaults.xml +++ b/packages/SettingsProvider/res/values-eu-rES/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-gl-rES/defaults.xml b/packages/SettingsProvider/res/values-gl-rES/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-gl-rES/defaults.xml +++ b/packages/SettingsProvider/res/values-gl-rES/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-hi/strings.xml b/packages/SettingsProvider/res/values-hi/strings.xml index 0b0bd8a3250e..da8193fa55b9 100644 --- a/packages/SettingsProvider/res/values-hi/strings.xml +++ b/packages/SettingsProvider/res/values-hi/strings.xml @@ -19,5 +19,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="4567566098528588863">"सेटिंग संग्रहण"</string> + <string name="app_label" msgid="4567566098528588863">"सेटिंग मेमोरी"</string> </resources> diff --git a/packages/SettingsProvider/res/values-is-rIS/defaults.xml b/packages/SettingsProvider/res/values-is-rIS/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-is-rIS/defaults.xml +++ b/packages/SettingsProvider/res/values-is-rIS/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-kk-rKZ/defaults.xml b/packages/SettingsProvider/res/values-kk-rKZ/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-kk-rKZ/defaults.xml +++ b/packages/SettingsProvider/res/values-kk-rKZ/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-kn-rIN/defaults.xml b/packages/SettingsProvider/res/values-kn-rIN/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-kn-rIN/defaults.xml +++ b/packages/SettingsProvider/res/values-kn-rIN/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-ky-rKG/defaults.xml b/packages/SettingsProvider/res/values-ky-rKG/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-ky-rKG/defaults.xml +++ b/packages/SettingsProvider/res/values-ky-rKG/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-mk-rMK/defaults.xml b/packages/SettingsProvider/res/values-mk-rMK/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-mk-rMK/defaults.xml +++ b/packages/SettingsProvider/res/values-mk-rMK/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-ml-rIN/defaults.xml b/packages/SettingsProvider/res/values-ml-rIN/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-ml-rIN/defaults.xml +++ b/packages/SettingsProvider/res/values-ml-rIN/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-mr-rIN/defaults.xml b/packages/SettingsProvider/res/values-mr-rIN/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-mr-rIN/defaults.xml +++ b/packages/SettingsProvider/res/values-mr-rIN/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-my-rMM/defaults.xml b/packages/SettingsProvider/res/values-my-rMM/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-my-rMM/defaults.xml +++ b/packages/SettingsProvider/res/values-my-rMM/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-ne-rNP/defaults.xml b/packages/SettingsProvider/res/values-ne-rNP/defaults.xml index 295b4f54b1d3..012a65ff1ab3 100644 --- a/packages/SettingsProvider/res/values-ne-rNP/defaults.xml +++ b/packages/SettingsProvider/res/values-ne-rNP/defaults.xml @@ -20,4 +20,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <!-- String.format failed for translation --> + <!-- no translation found for def_device_name_simple (9037785625140748221) --> + <skip /> </resources> diff --git a/packages/SettingsProvider/res/values-si-rLK/defaults.xml b/packages/SettingsProvider/res/values-si-rLK/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-si-rLK/defaults.xml +++ b/packages/SettingsProvider/res/values-si-rLK/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-ta-rIN/defaults.xml b/packages/SettingsProvider/res/values-ta-rIN/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-ta-rIN/defaults.xml +++ b/packages/SettingsProvider/res/values-ta-rIN/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-te-rIN/defaults.xml b/packages/SettingsProvider/res/values-te-rIN/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-te-rIN/defaults.xml +++ b/packages/SettingsProvider/res/values-te-rIN/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-tl/strings.xml b/packages/SettingsProvider/res/values-tl/strings.xml index 19219ecd673c..0fe535eee8e3 100644 --- a/packages/SettingsProvider/res/values-tl/strings.xml +++ b/packages/SettingsProvider/res/values-tl/strings.xml @@ -19,5 +19,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="4567566098528588863">"Imbakan ng Mga Setting"</string> + <string name="app_label" msgid="4567566098528588863">"Storage ng Mga Setting"</string> </resources> diff --git a/packages/SettingsProvider/res/values-ur-rPK/defaults.xml b/packages/SettingsProvider/res/values-ur-rPK/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-ur-rPK/defaults.xml +++ b/packages/SettingsProvider/res/values-ur-rPK/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/SettingsProvider/res/values-uz-rUZ/defaults.xml b/packages/SettingsProvider/res/values-uz-rUZ/defaults.xml index 295b4f54b1d3..22443a5673ea 100644 --- a/packages/SettingsProvider/res/values-uz-rUZ/defaults.xml +++ b/packages/SettingsProvider/res/values-uz-rUZ/defaults.xml @@ -20,4 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> </resources> diff --git a/packages/Shell/res/values-cs/strings.xml b/packages/Shell/res/values-cs/strings.xml index 10ef1a6c18c7..d321159ddb4d 100644 --- a/packages/Shell/res/values-cs/strings.xml +++ b/packages/Shell/res/values-cs/strings.xml @@ -16,7 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="3701846017049540910">"Prostředí"</string> + <string name="app_label" msgid="3701846017049540910">"Shell"</string> <string name="bugreport_finished_title" msgid="2293711546892863898">"Bylo vytvořeno chybové hlášení"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Chcete-li hlášení chyby sdílet, přejeďte doleva."</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Chybové hlášení můžete sdílet klepnutím."</string> diff --git a/packages/Shell/res/values-es/strings.xml b/packages/Shell/res/values-es/strings.xml index c9a9bfa2e821..19bfc2529626 100644 --- a/packages/Shell/res/values-es/strings.xml +++ b/packages/Shell/res/values-es/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Shell"</string> - <string name="bugreport_finished_title" msgid="2293711546892863898">"Informe de error capturado"</string> + <string name="bugreport_finished_title" msgid="2293711546892863898">"Informe de error registrado"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Desliza el dedo hacia la izquierda para compartir el informe de error"</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Toca para compartir tu informe de error"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Los informes de errores contienen datos de los distintos archivos de registro del sistema, incluida información personal y privada. Comparte los informes de errores únicamente con aplicaciones y usuarios en los que confíes."</string> diff --git a/packages/Shell/res/values-fr-rCA/strings.xml b/packages/Shell/res/values-fr-rCA/strings.xml index 844c20970b69..d82ec9531a46 100644 --- a/packages/Shell/res/values-fr-rCA/strings.xml +++ b/packages/Shell/res/values-fr-rCA/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Shell"</string> <string name="bugreport_finished_title" msgid="2293711546892863898">"Rapport de bogue enregistré"</string> - <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Faites glisser le doigt vers la gauche pour partager votre rapport d\'erreur."</string> + <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Faites glisser le doigt vers la gauche pour partager votre rapport de bogue."</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Appuyer ici pour partager votre rapport de bogue"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Les rapports de bogue contiennent des données des fichiers journaux du système, y compris des informations personnelles et privées. Ne partagez les rapports de bogue qu\'avec les applications et les personnes que vous estimez fiables."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Afficher ce message la prochaine fois"</string> diff --git a/packages/Shell/res/values-ko/strings.xml b/packages/Shell/res/values-ko/strings.xml index fe5d855f6f8c..3e0dd0be2d0f 100644 --- a/packages/Shell/res/values-ko/strings.xml +++ b/packages/Shell/res/values-ko/strings.xml @@ -20,6 +20,6 @@ <string name="bugreport_finished_title" msgid="2293711546892863898">"버그 신고서 캡처됨"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"왼쪽으로 스와이프하여 버그 신고서를 공유하세요."</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"버그 신고서를 공유하려면 터치하세요."</string> - <string name="bugreport_confirm" msgid="5130698467795669780">"버그 신고서는 시스템의 다양한 로그 파일 데이터(예: 개인 및 비공개 정보)를 포함합니다. 신뢰할 수 있는 앱과 사용자에게만 버그 신고서를 공유합니다."</string> + <string name="bugreport_confirm" msgid="5130698467795669780">"버그 신고서는 시스템의 다양한 로그 파일 데이터(예: 개인 및 비공개 정보)를 포함합니다. 신뢰할 수 있는 앱과 사용자에게만 버그 신고서를 공유하세요."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"다음에 이 메시지 표시"</string> </resources> diff --git a/packages/Shell/res/values-lt/strings.xml b/packages/Shell/res/values-lt/strings.xml index 914ef46a8498..a78b1db0d659 100644 --- a/packages/Shell/res/values-lt/strings.xml +++ b/packages/Shell/res/values-lt/strings.xml @@ -17,9 +17,9 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Apvalkalas"</string> - <string name="bugreport_finished_title" msgid="2293711546892863898">"Trikčių ataskaita užfiksuota"</string> - <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Perbraukite kairėn, kad bendrintumėte trikties ataskaitą"</string> - <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Palieskite, kad bendrintumėte trikčių ataskaitą"</string> - <string name="bugreport_confirm" msgid="5130698467795669780">"Trikčių ataskaitose pateikiami duomenys iš įvairių sistemos žurnalo failų, įskaitant asmeninę ir privačią informaciją. Trikčių ataskaitas bendrinkite tik su patikimomis programomis ir žmonėmis."</string> + <string name="bugreport_finished_title" msgid="2293711546892863898">"Riktų ataskaita užfiksuota"</string> + <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Perbraukite kairėn, kad bendrintumėte rikto ataskaitą"</string> + <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Palieskite, kad bendrintumėte riktų ataskaitą"</string> + <string name="bugreport_confirm" msgid="5130698467795669780">"Riktų ataskaitose pateikiami duomenys iš įvairių sistemos žurnalo failų, įskaitant asmeninę ir privačią informaciją. Riktų ataskaitas bendrinkite tik su patikimomis programomis ir žmonėmis."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Rodyti šį pranešimą kitą kartą"</string> </resources> diff --git a/packages/Shell/res/values-pt/strings.xml b/packages/Shell/res/values-pt/strings.xml index 3d4c51f2fb9d..c166bf37abae 100644 --- a/packages/Shell/res/values-pt/strings.xml +++ b/packages/Shell/res/values-pt/strings.xml @@ -20,6 +20,6 @@ <string name="bugreport_finished_title" msgid="2293711546892863898">"Relatório de bugs capturado"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Deslize para a esquerda para compartilhar seu relatório de bugs"</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Toque para compartilhar seu relatório de bugs"</string> - <string name="bugreport_confirm" msgid="5130698467795669780">"Os relatórios de bugs contêm dados de diversos arquivos de registro do sistema, inclusive informações pessoais e particulares. Compartilhe relatórios de bugs somente com aplicativos e pessoas nos quais você confia."</string> + <string name="bugreport_confirm" msgid="5130698467795669780">"Os relatórios de bugs contêm dados de diversos arquivos de registro do sistema, inclusive informações pessoais e particulares. Compartilhe relatórios de bugs somente com apps e pessoas nos quais você confia."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Mostrar esta mensagem da próxima vez"</string> </resources> diff --git a/packages/Shell/res/values-ru/strings.xml b/packages/Shell/res/values-ru/strings.xml index 7c8073665059..77a8cd061f51 100644 --- a/packages/Shell/res/values-ru/strings.xml +++ b/packages/Shell/res/values-ru/strings.xml @@ -17,8 +17,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Оболочка"</string> - <string name="bugreport_finished_title" msgid="2293711546892863898">"Отчет об ошибках сохранен"</string> - <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Проведите пальцем влево, чтобы отправить отчет об ошибке"</string> + <string name="bugreport_finished_title" msgid="2293711546892863898">"Отчет об ошибке сохранен"</string> + <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Проведите влево, чтобы отправить отчет"</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Нажмите, чтобы отправить отчет об ошибках"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Отчеты об ошибках содержат данные различных системных журналов и могут включать личную информацию. Рекомендуем открывать к ним доступ только лицам и приложениям, заслуживающим доверие."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Показать это сообщение в следующий раз"</string> diff --git a/packages/Shell/res/values-tr/strings.xml b/packages/Shell/res/values-tr/strings.xml index 2e95b4edee73..ed0697e9af8a 100644 --- a/packages/Shell/res/values-tr/strings.xml +++ b/packages/Shell/res/values-tr/strings.xml @@ -21,5 +21,5 @@ <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Hata raporunuzu paylaşmak için hızlıca sola kaydırın"</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Hata raporunuzu paylaşmak için dokunun"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Hata raporları, kişisel ve özel bilgiler dahil olmak üzere sistemin çeşitli günlük dosyalarından veriler içerir. Hata raporlarını sadece güvendiğiniz uygulamalar ve kişilerle paylaşın."</string> - <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Bir dahaki sefere bu mesajı göster"</string> + <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Bir dahaki sefere bu iletiyi göster"</string> </resources> diff --git a/packages/Shell/res/values-zh-rHK/strings.xml b/packages/Shell/res/values-zh-rHK/strings.xml index 0d56d76d1446..f2e034b66822 100644 --- a/packages/Shell/res/values-zh-rHK/strings.xml +++ b/packages/Shell/res/values-zh-rHK/strings.xml @@ -20,6 +20,6 @@ <string name="bugreport_finished_title" msgid="2293711546892863898">"已擷取錯誤報告"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"向左滑動即可分享錯誤報告"</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"輕觸即可分享您的錯誤報告"</string> - <string name="bugreport_confirm" msgid="5130698467795669780">"錯誤報告中有來自系統各個記錄檔案的資料,包括個人和私人資料。請只與您信任的應用程式和用戶分享錯誤報告。"</string> + <string name="bugreport_confirm" msgid="5130698467795669780">"錯誤報告中有來自系統各個記錄檔案的資料,包括個人和私人資料。請只與您信任的應用程式和使用者分享錯誤報告。"</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"下次再顯示這則訊息"</string> </resources> diff --git a/packages/VpnDialogs/res/values-eu-rES/strings.xml b/packages/VpnDialogs/res/values-eu-rES/strings.xml index 7467195e1c78..b71650974f99 100644 --- a/packages/VpnDialogs/res/values-eu-rES/strings.xml +++ b/packages/VpnDialogs/res/values-eu-rES/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="prompt" msgid="3183836924226407828">"Konektatzeko eskaera"</string> - <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> VPN bidez konektatu nahi da sareko trafikoa kontrolatzeko. Iturburua fidagarria bada bakarrik baimendu. <br /> <br /> VPN konexioa aktibo dagoenean, <img src=vpn_icon /> agertuko da pantailaren goialdean."</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> aplikazioak VPN bidezko konexioa ezarri nahi du sareko trafikoa kontrolatzeko. Iturburua fidagarria bada bakarrik baimendu. <br /> <br /> VPN konexioa aktibo dagoenean, <img src=vpn_icon /> agertuko da pantailaren goialdean."</string> <string name="legacy_title" msgid="192936250066580964">"VPN sarera konektatuta dago"</string> <string name="configure" msgid="4905518375574791375">"Konfiguratu"</string> <string name="disconnect" msgid="971412338304200056">"Deskonektatu"</string> diff --git a/packages/VpnDialogs/res/values-zh-rCN/strings.xml b/packages/VpnDialogs/res/values-zh-rCN/strings.xml index a77ba3bd9856..cdea95d6e17a 100644 --- a/packages/VpnDialogs/res/values-zh-rCN/strings.xml +++ b/packages/VpnDialogs/res/values-zh-rCN/strings.xml @@ -16,8 +16,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="prompt" msgid="3183836924226407828">"连接请求"</string> - <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g>想要设置一个VPN连接(可被用于监控网络流量)。请只在您信任该来源的情况下才接受此请求。在VPN处于活动状态时,您的屏幕顶部会显示 <br /> <br /> <img src=vpn_icon /> 图标。"</string> + <string name="prompt" msgid="3183836924226407828">"网络连接请求"</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g>想要设置一个VPN连接(可被用于监控网络流量)。请只在您信任该来源的情况下才接受此请求。在VPN处于活动状态时,您的屏幕顶部会显示 <img src=vpn_icon /> 图标。"</string> <string name="legacy_title" msgid="192936250066580964">"已连接VPN"</string> <string name="configure" msgid="4905518375574791375">"配置"</string> <string name="disconnect" msgid="971412338304200056">"断开连接"</string> diff --git a/policy/src/com/android/internal/policy/impl/BurnInProtectionHelper.java b/policy/src/com/android/internal/policy/impl/BurnInProtectionHelper.java new file mode 100644 index 000000000000..19fe26267f82 --- /dev/null +++ b/policy/src/com/android/internal/policy/impl/BurnInProtectionHelper.java @@ -0,0 +1,203 @@ +package com.android.internal.policy.impl; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.Resources; +import android.hardware.display.DisplayManager; +import android.hardware.display.DisplayManagerInternal; +import android.os.Handler; +import android.os.SystemClock; +import android.util.Log; +import android.view.Display; + +import com.android.server.LocalServices; + +import java.io.PrintWriter; +import java.util.concurrent.TimeUnit; + +public class BurnInProtectionHelper implements DisplayManager.DisplayListener { + private static final String TAG = "BurnInProtection"; + + // Default value when max burnin radius is not set. + public static final int BURN_IN_RADIUS_MAX_DEFAULT = -1; + + private static final long BURNIN_PROTECTION_WAKEUP_INTERVAL_MS = TimeUnit.MINUTES.toMillis(1); + private static final long BURNIN_PROTECTION_MINIMAL_INTERVAL_MS = TimeUnit.SECONDS.toMillis(10); + + private static final String ACTION_BURN_IN_PROTECTION = + "android.internal.policy.action.BURN_IN_PROTECTION"; + + private static final int BURN_IN_SHIFT_STEP = 2; + + private boolean mBurnInProtectionActive; + + private final int mMinHorizontalBurnInOffset; + private final int mMaxHorizontalBurnInOffset; + private final int mMinVerticalBurnInOffset; + private final int mMaxVerticalBurnInOffset; + + private final int mBurnInRadiusMaxSquared; + + private int mLastBurnInXOffset = 0; + /* 1 means increasing, -1 means decreasing */ + private int mXOffsetDirection = 1; + private int mLastBurnInYOffset = 0; + /* 1 means increasing, -1 means decreasing */ + private int mYOffsetDirection = 1; + + private final AlarmManager mAlarmManager; + private final PendingIntent mBurnInProtectionIntent; + private final DisplayManagerInternal mDisplayManagerInternal; + private final Display mDisplay; + + private BroadcastReceiver mBurnInProtectionReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + updateBurnInProtection(); + } + }; + + public BurnInProtectionHelper(Context context) { + final Resources resources = context.getResources(); + mMinHorizontalBurnInOffset = resources.getInteger( + com.android.internal.R.integer.config_burnInProtectionMinHorizontalOffset); + mMaxHorizontalBurnInOffset = resources.getInteger( + com.android.internal.R.integer.config_burnInProtectionMaxHorizontalOffset); + mMinVerticalBurnInOffset = resources.getInteger( + com.android.internal.R.integer.config_burnInProtectionMinVerticalOffset); + mMaxVerticalBurnInOffset = resources.getInteger( + com.android.internal.R.integer.config_burnInProtectionMaxVerticalOffset); + int burnInRadiusMax = resources.getInteger( + com.android.internal.R.integer.config_burnInProtectionMaxRadius); + if (burnInRadiusMax != BURN_IN_RADIUS_MAX_DEFAULT) { + mBurnInRadiusMaxSquared = burnInRadiusMax * burnInRadiusMax; + } else { + mBurnInRadiusMaxSquared = BURN_IN_RADIUS_MAX_DEFAULT; + } + + mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); + mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); + context.registerReceiver(mBurnInProtectionReceiver, + new IntentFilter(ACTION_BURN_IN_PROTECTION)); + Intent intent = new Intent(ACTION_BURN_IN_PROTECTION); + intent.setPackage(context.getPackageName()); + intent.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); + mBurnInProtectionIntent = PendingIntent.getBroadcast(context, 0, + intent, PendingIntent.FLAG_UPDATE_CURRENT); + DisplayManager displayManager = + (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE); + mDisplay = displayManager.getDisplay(Display.DEFAULT_DISPLAY); + displayManager.registerDisplayListener(this, null /* handler */); + } + + public void startBurnInProtection() { + if (!mBurnInProtectionActive) { + mBurnInProtectionActive = true; + updateBurnInProtection(); + } + } + + private void updateBurnInProtection() { + if (mBurnInProtectionActive) { + adjustOffsets(); + mDisplayManagerInternal.setDisplayOffsets(mDisplay.getDisplayId(), + mLastBurnInXOffset, mLastBurnInYOffset); + // Next adjustment at least ten seconds in the future. + long next = SystemClock.elapsedRealtime() + BURNIN_PROTECTION_MINIMAL_INTERVAL_MS; + // And aligned to the minute. + next = next - next % BURNIN_PROTECTION_WAKEUP_INTERVAL_MS + + BURNIN_PROTECTION_WAKEUP_INTERVAL_MS; + mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, next, mBurnInProtectionIntent); + } else { + mAlarmManager.cancel(mBurnInProtectionIntent); + mDisplayManagerInternal.setDisplayOffsets(mDisplay.getDisplayId(), 0, 0); + } + } + + public void cancelBurnInProtection() { + if (mBurnInProtectionActive) { + mBurnInProtectionActive = false; + updateBurnInProtection(); + } + } + + /** + * Gently shifts current burn-in offsets, minimizing the change for the user. + * + * Shifts are applied in following fashion: + * 1) shift horizontally from minimum to the maximum; + * 2) shift vertically by one from minimum to the maximum; + * 3) shift horizontally from maximum to the minimum; + * 4) shift vertically by one from minimum to the maximum. + * 5) if you reach the maximum vertically, start shifting back by one from maximum to minimum. + * + * On top of that, stay within specified radius. If the shift distance from the center is + * higher than the radius, skip these values and go the next position that is within the radius. + */ + private void adjustOffsets() { + do { + // By default, let's just shift the X offset. + final int xChange = mXOffsetDirection * BURN_IN_SHIFT_STEP; + mLastBurnInXOffset += xChange; + if (mLastBurnInXOffset > mMaxHorizontalBurnInOffset + || mLastBurnInXOffset < mMinHorizontalBurnInOffset) { + // Whoops, we went too far horizontally. Let's retract.. + mLastBurnInXOffset -= xChange; + // change horizontal direction.. + mXOffsetDirection *= -1; + // and let's shift the Y offset. + final int yChange = mYOffsetDirection * BURN_IN_SHIFT_STEP; + mLastBurnInYOffset += yChange; + if (mLastBurnInYOffset > mMaxVerticalBurnInOffset + || mLastBurnInYOffset < mMinVerticalBurnInOffset) { + // Whoops, we went to far vertically. Let's retract.. + mLastBurnInYOffset -= yChange; + // and change vertical direction. + mYOffsetDirection *= -1; + } + } + // If we are outside of the radius, let's try again. + } while (mBurnInRadiusMaxSquared != BURN_IN_RADIUS_MAX_DEFAULT + && mLastBurnInXOffset * mLastBurnInXOffset + mLastBurnInYOffset * mLastBurnInYOffset + > mBurnInRadiusMaxSquared); + } + + public void dump(String prefix, PrintWriter pw) { + pw.println(prefix + TAG); + prefix += " "; + pw.println(prefix + "mBurnInProtectionActive=" + mBurnInProtectionActive); + pw.println(prefix + "mHorizontalBurnInOffsetsBounds=(" + mMinHorizontalBurnInOffset + ", " + + mMaxHorizontalBurnInOffset + ")"); + pw.println(prefix + "mVerticalBurnInOffsetsBounds=(" + mMinVerticalBurnInOffset + ", " + + mMaxVerticalBurnInOffset + ")"); + pw.println(prefix + "mBurnInRadiusMaxSquared=" + mBurnInRadiusMaxSquared); + pw.println(prefix + "mLastBurnInOffset=(" + mLastBurnInXOffset + ", " + + mLastBurnInYOffset + ")"); + pw.println(prefix + "mOfsetChangeDirections=(" + mXOffsetDirection + ", " + + mYOffsetDirection + ")"); + } + + @Override + public void onDisplayAdded(int i) { + } + + @Override + public void onDisplayRemoved(int i) { + } + + @Override + public void onDisplayChanged(int displayId) { + if (displayId == mDisplay.getDisplayId()) { + if (mDisplay.getState() == Display.STATE_DOZE + || mDisplay.getState() == Display.STATE_DOZE_SUSPEND) { + startBurnInProtection(); + } else { + cancelBurnInProtection(); + } + } + } +} diff --git a/policy/src/com/android/internal/policy/impl/GlobalActions.java b/policy/src/com/android/internal/policy/impl/GlobalActions.java index b0b2886fcdb4..20a2c9f76b78 100644 --- a/policy/src/com/android/internal/policy/impl/GlobalActions.java +++ b/policy/src/com/android/internal/policy/impl/GlobalActions.java @@ -100,6 +100,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac private static final String GLOBAL_ACTION_KEY_USERS = "users"; private static final String GLOBAL_ACTION_KEY_SETTINGS = "settings"; private static final String GLOBAL_ACTION_KEY_LOCKDOWN = "lockdown"; + private static final String GLOBAL_ACTION_KEY_VOICEASSIST = "voiceassist"; private final Context mContext; private final WindowManagerFuncs mWindowManagerFuncs; @@ -291,6 +292,8 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac mItems.add(getSettingsAction()); } else if (GLOBAL_ACTION_KEY_LOCKDOWN.equals(actionKey)) { mItems.add(getLockdownAction()); + } else if (GLOBAL_ACTION_KEY_VOICEASSIST.equals(actionKey)) { + mItems.add(getVoiceAssistAction()); } else { Log.e(TAG, "Invalid global action key " + actionKey); } @@ -436,6 +439,28 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac }; } + private Action getVoiceAssistAction() { + return new SinglePressAction(com.android.internal.R.drawable.ic_voice_search, + R.string.global_action_voice_assist) { + @Override + public void onPress() { + Intent intent = new Intent(Intent.ACTION_VOICE_ASSIST); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); + mContext.startActivity(intent); + } + + @Override + public boolean showDuringKeyguard() { + return true; + } + + @Override + public boolean showBeforeProvisioning() { + return true; + } + }; + } + private Action getLockdownAction() { return new SinglePressAction(com.android.internal.R.drawable.ic_lock_lock, R.string.global_action_lockdown) { diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index b4811da1fd76..cd26c319c39e 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -4159,12 +4159,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { return mMediaController; } - private boolean isTranslucent() { - TypedArray a = getWindowStyle(); - return a.getBoolean(a.getResourceId( - R.styleable.Window_windowIsTranslucent, 0), false); - } - @Override public void setEnterTransition(Transition enterTransition) { mEnterTransition = enterTransition; diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 345520a7de6b..aef927849161 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -153,6 +153,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final int SHORT_PRESS_POWER_GO_TO_SLEEP = 1; static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP = 2; static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME = 3; + static final int SHORT_PRESS_POWER_GO_HOME = 4; static final int LONG_PRESS_POWER_NOTHING = 0; static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1; @@ -251,6 +252,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { Vibrator mVibrator; // Vibrator for giving feedback of orientation changes SearchManager mSearchManager; AccessibilityManager mAccessibilityManager; + BurnInProtectionHelper mBurnInProtectionHelper; // Vibrator pattern for haptic feedback of a long press. long[] mLongPressVibePattern; @@ -534,6 +536,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { private boolean mAllowTheaterModeWakeFromLidSwitch; private boolean mAllowTheaterModeWakeFromWakeGesture; + // Whether to support long press from power button in non-interactive mode + private boolean mSupportLongPressPowerWhenNonInteractive; + // Whether to go to sleep entering theater mode from power button private boolean mGoToSleepOnButtonPressTheaterMode; @@ -885,12 +890,21 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } else { wakeUpFromPowerKey(event.getDownTime()); - final int maxCount = getMaxMultiPressPowerCount(); - if (maxCount <= 1) { - mPowerKeyHandled = true; - } else { + if (mSupportLongPressPowerWhenNonInteractive && hasLongPressOnPowerBehavior()) { + Message msg = mHandler.obtainMessage(MSG_POWER_LONG_PRESS); + msg.setAsynchronous(true); + mHandler.sendMessageDelayed(msg, + ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); mBeganFromNonInteractive = true; + } else { + final int maxCount = getMaxMultiPressPowerCount(); + + if (maxCount <= 1) { + mPowerKeyHandled = true; + } else { + mBeganFromNonInteractive = true; + } } } } @@ -971,6 +985,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE); launchHomeFromHotKey(); break; + case SHORT_PRESS_POWER_GO_HOME: + launchHomeFromHotKey(); + break; } } } @@ -1179,6 +1196,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { mWindowManagerFuncs = windowManagerFuncs; mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class); mDreamManagerInternal = LocalServices.getService(DreamManagerInternal.class); + if (context.getResources().getBoolean( + com.android.internal.R.bool.config_enableBurnInProtection)){ + mBurnInProtectionHelper = new BurnInProtectionHelper(context); + } mHandler = new PolicyHandler(); mWakeGestureListener = new MyWakeGestureListener(mContext, mHandler); @@ -1253,6 +1274,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mGoToSleepOnButtonPressTheaterMode = mContext.getResources().getBoolean( com.android.internal.R.bool.config_goToSleepOnButtonPressTheaterMode); + mSupportLongPressPowerWhenNonInteractive = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_supportLongPressPowerWhenNonInteractive); + mShortPressOnPowerBehavior = mContext.getResources().getInteger( com.android.internal.R.integer.config_shortPressOnPowerBehavior); mLongPressOnPowerBehavior = mContext.getResources().getInteger( @@ -2991,7 +3015,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } catch (RemoteException e) { } sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); - startDockOrHome(); + startDockOrHome(true /*fromHomeKey*/); } } }); @@ -3009,7 +3033,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } else { // Otherwise, just launch Home sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); - startDockOrHome(); + startDockOrHome(true /*fromHomeKey*/); } } } @@ -5821,19 +5845,31 @@ public class PhoneWindowManager implements WindowManagerPolicy { return null; } - void startDockOrHome() { + void startDockOrHome(boolean fromHomeKey) { awakenDreams(); Intent dock = createHomeDockIntent(); if (dock != null) { try { + if (fromHomeKey) { + dock.putExtra(WindowManagerPolicy.EXTRA_FROM_HOME_KEY, fromHomeKey); + } mContext.startActivityAsUser(dock, UserHandle.CURRENT); return; } catch (ActivityNotFoundException e) { } } - mContext.startActivityAsUser(mHomeIntent, UserHandle.CURRENT); + Intent intent; + + if (fromHomeKey) { + intent = new Intent(mHomeIntent); + intent.putExtra(WindowManagerPolicy.EXTRA_FROM_HOME_KEY, fromHomeKey); + } else { + intent = mHomeIntent; + } + + mContext.startActivityAsUser(intent, UserHandle.CURRENT); } /** @@ -5848,7 +5884,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } catch (RemoteException e) { } sendCloseSystemWindows(); - startDockOrHome(); + startDockOrHome(false /*fromHomeKey*/); } else { // This code brings home to the front or, if it is already // at the front, puts the device to sleep. @@ -6382,5 +6418,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mOrientationListener != null) { mOrientationListener.dump(pw, prefix); } + if (mBurnInProtectionHelper != null) { + mBurnInProtectionHelper.dump(prefix, pw); + } } } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java index 6e8f5502a2d2..6c98e50a266d 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardServiceDelegate.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.content.pm.ActivityInfo; +import android.content.res.Resources; import android.graphics.PixelFormat; import android.os.Bundle; import android.os.IBinder; @@ -27,9 +28,6 @@ import com.android.internal.policy.IKeyguardShowCallback; * local or remote instances of keyguard. */ public class KeyguardServiceDelegate { - public static final String KEYGUARD_PACKAGE = "com.android.systemui"; - public static final String KEYGUARD_CLASS = "com.android.systemui.keyguard.KeyguardService"; - private static final String TAG = "KeyguardServiceDelegate"; private static final boolean DEBUG = true; @@ -111,10 +109,15 @@ public class KeyguardServiceDelegate { public void bindService(Context context) { Intent intent = new Intent(); - intent.setClassName(KEYGUARD_PACKAGE, KEYGUARD_CLASS); + final Resources resources = context.getApplicationContext().getResources(); + + final ComponentName keyguardComponent = ComponentName.unflattenFromString( + resources.getString(com.android.internal.R.string.config_keyguardComponent)); + intent.setComponent(keyguardComponent); + if (!context.bindServiceAsUser(intent, mKeyguardConnection, Context.BIND_AUTO_CREATE, UserHandle.OWNER)) { - Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS); + Log.v(TAG, "*** Keyguard: can't bind to " + keyguardComponent); mKeyguardState.showing = false; mKeyguardState.showingAndNotOccluded = false; mKeyguardState.secure = false; diff --git a/services/accessibility/java/com/android/server/accessibility/ScreenMagnifier.java b/services/accessibility/java/com/android/server/accessibility/ScreenMagnifier.java index c8b080e91dc8..b4613d6d811a 100644 --- a/services/accessibility/java/com/android/server/accessibility/ScreenMagnifier.java +++ b/services/accessibility/java/com/android/server/accessibility/ScreenMagnifier.java @@ -34,6 +34,7 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Property; import android.util.Slog; +import android.util.TypedValue; import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MagnificationSpec; @@ -110,7 +111,6 @@ public final class ScreenMagnifier implements WindowManagerInternal.Magnificatio private static final int STATE_MAGNIFIED_INTERACTION = 4; private static final float DEFAULT_MAGNIFICATION_SCALE = 2.0f; - private static final int MULTI_TAP_TIME_SLOP_ADJUSTMENT = 50; private static final int MESSAGE_ON_MAGNIFIED_BOUNDS_CHANGED = 1; private static final int MESSAGE_ON_RECTANGLE_ON_SCREEN_REQUESTED = 2; @@ -135,9 +135,8 @@ public final class ScreenMagnifier implements WindowManagerInternal.Magnificatio private final AccessibilityManagerService mAms; - private final int mTapTimeSlop = ViewConfiguration.getTapTimeout(); - private final int mMultiTapTimeSlop = - ViewConfiguration.getDoubleTapTimeout() - MULTI_TAP_TIME_SLOP_ADJUSTMENT; + private final int mTapTimeSlop = ViewConfiguration.getJumpTapTimeout(); + private final int mMultiTapTimeSlop; private final int mTapDistanceSlop; private final int mMultiTapDistanceSlop; @@ -192,6 +191,9 @@ public final class ScreenMagnifier implements WindowManagerInternal.Magnificatio mWindowManager = LocalServices.getService(WindowManagerInternal.class); mAms = service; + mMultiTapTimeSlop = ViewConfiguration.getDoubleTapTimeout() + + mContext.getResources().getInteger( + com.android.internal.R.integer.config_screen_magnification_multi_tap_adjustment); mLongAnimationDuration = context.getResources().getInteger( com.android.internal.R.integer.config_longAnimTime); mTapDistanceSlop = ViewConfiguration.get(context).getScaledTouchSlop(); @@ -481,15 +483,20 @@ public final class ScreenMagnifier implements WindowManagerInternal.Magnificatio private static final float MIN_SCALE = 1.3f; private static final float MAX_SCALE = 5.0f; - private static final float SCALING_THRESHOLD = 0.3f; - private final ScaleGestureDetector mScaleGestureDetector; private final GestureDetector mGestureDetector; + private final float mScalingThreshold; + private float mInitialScaleFactor = -1; private boolean mScaling; public MagnifiedContentInteractonStateHandler(Context context) { + final TypedValue scaleValue = new TypedValue(); + context.getResources().getValue( + com.android.internal.R.dimen.config_screen_magnification_scaling_threshold, + scaleValue, false); + mScalingThreshold = scaleValue.getFloat(); mScaleGestureDetector = new ScaleGestureDetector(context, this); mScaleGestureDetector.setQuickScaleEnabled(false); mGestureDetector = new GestureDetector(context, this); @@ -537,7 +544,7 @@ public final class ScreenMagnifier implements WindowManagerInternal.Magnificatio mInitialScaleFactor = detector.getScaleFactor(); } else { final float deltaScale = detector.getScaleFactor() - mInitialScaleFactor; - if (Math.abs(deltaScale) > SCALING_THRESHOLD) { + if (Math.abs(deltaScale) > mScalingThreshold) { mScaling = true; return true; } diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index 32a6a2faad75..0c726f313d94 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -41,6 +41,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; +import android.os.ParcelFileDescriptor; import android.os.Process; import android.os.RemoteCallbackList; import android.os.RemoteException; @@ -51,6 +52,7 @@ import android.provider.Settings; import android.util.Log; import java.io.FileDescriptor; +import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; @@ -1523,17 +1525,24 @@ class BluetoothManagerService extends IBluetoothManager.Stub { public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG); - writer.println("enabled: " + mEnable); - writer.println("state: " + mState); - writer.println("address: " + mAddress); - writer.println("name: " + mName); + writer.println("Bluetooth Status"); + writer.println(" enabled: " + mEnable); + writer.println(" state: " + mState); + writer.println(" address: " + mAddress); + writer.println(" name: " + mName + "\n"); + writer.flush(); + if (mBluetooth == null) { writer.println("Bluetooth Service not connected"); } else { try { - writer.println(mBluetooth.dump()); + ParcelFileDescriptor pfd = ParcelFileDescriptor.dup(fd); + mBluetooth.dump(pfd); + pfd.close(); } catch (RemoteException re) { writer.println("RemoteException while calling Bluetooth Service"); + } catch (IOException re) { + writer.println("IOException attempting to dup() fd"); } } } diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java index b1b2a5cbda3c..cb780b1351ee 100755 --- a/services/core/java/com/android/server/am/ActivityRecord.java +++ b/services/core/java/com/android/server/am/ActivityRecord.java @@ -474,10 +474,16 @@ final class ActivityRecord { AttributeCache.Entry ent = AttributeCache.instance().get(packageName, realTheme, com.android.internal.R.styleable.Window, userId); + final boolean translucent = ent.array.getBoolean( + com.android.internal.R.styleable.Window_windowIsTranslucent, false) + || (!ent.array.hasValue( + com.android.internal.R.styleable.Window_windowIsTranslucent) + && ent.array.getBoolean( + com.android.internal.R.styleable.Window_windowSwipeToDismiss, + false)); fullscreen = ent != null && !ent.array.getBoolean( com.android.internal.R.styleable.Window_windowIsFloating, false) - && !ent.array.getBoolean( - com.android.internal.R.styleable.Window_windowIsTranslucent, false); + && !translucent; noDisplay = ent != null && ent.array.getBoolean( com.android.internal.R.styleable.Window_windowNoDisplay, false); diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 32787d8e9aed..0630cad95c32 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -69,6 +69,7 @@ import android.hardware.display.DisplayManagerGlobal; import android.hardware.display.VirtualDisplay; import android.hardware.input.InputManager; import android.hardware.input.InputManagerInternal; +import android.net.Uri; import android.os.Binder; import android.os.Bundle; import android.os.Debug; @@ -855,6 +856,11 @@ public final class ActivityStackSupervisor implements DisplayListener { ActivityContainer container = (ActivityContainer)iContainer; synchronized (mService) { + if (container != null && container.mParentActivity != null && + container.mParentActivity.state != ActivityState.RESUMED) { + // Cannot start a child activity if the parent is not resumed. + return ActivityManager.START_CANCELED; + } final int realCallingPid = Binder.getCallingPid(); final int realCallingUid = Binder.getCallingUid(); int callingPid; @@ -3788,18 +3794,21 @@ public final class ActivityStackSupervisor implements DisplayListener { @Override public final int startActivity(Intent intent) { mService.enforceNotIsolatedCaller("ActivityContainer.startActivity"); - int userId = mService.handleIncomingUser(Binder.getCallingPid(), + final int userId = mService.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), mCurrentUser, false, ActivityManagerService.ALLOW_FULL_ONLY, "ActivityContainer", null); + // TODO: Switch to user app stacks here. - intent.addFlags(FORCE_NEW_TASK_FLAGS); String mimeType = intent.getType(); - if (mimeType == null && intent.getData() != null - && "content".equals(intent.getData().getScheme())) { - mimeType = mService.getProviderMimeType(intent.getData(), userId); + final Uri data = intent.getData(); + if (mimeType == null && data != null && "content".equals(data.getScheme())) { + mimeType = mService.getProviderMimeType(data, userId); } - return startActivityMayWait(null, -1, null, intent, mimeType, null, null, null, null, 0, - 0, null, null, null, null, userId, this, null); + checkEmbeddedAllowedInner(userId, intent, mimeType); + + intent.addFlags(FORCE_NEW_TASK_FLAGS); + return startActivityMayWait(null, -1, null, intent, mimeType, null, null, null, null, + 0, 0, null, null, null, null, userId, this, null); } @Override @@ -3810,21 +3819,19 @@ public final class ActivityStackSupervisor implements DisplayListener { throw new IllegalArgumentException("Bad PendingIntent object"); } - return ((PendingIntentRecord)intentSender).sendInner(0, null, null, null, null, null, - null, 0, FORCE_NEW_TASK_FLAGS, FORCE_NEW_TASK_FLAGS, null, this); - } - - private void checkEmbeddedAllowedInner(Intent intent, String resolvedType) { - int userId = mService.handleIncomingUser(Binder.getCallingPid(), + final int userId = mService.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), mCurrentUser, false, ActivityManagerService.ALLOW_FULL_ONLY, "ActivityContainer", null); - if (resolvedType == null) { - resolvedType = intent.getType(); - if (resolvedType == null && intent.getData() != null - && "content".equals(intent.getData().getScheme())) { - resolvedType = mService.getProviderMimeType(intent.getData(), userId); - } - } + + final PendingIntentRecord pendingIntent = (PendingIntentRecord) intentSender; + checkEmbeddedAllowedInner(userId, pendingIntent.key.requestIntent, + pendingIntent.key.requestResolvedType); + + return pendingIntent.sendInner(0, null, null, null, null, null, null, 0, + FORCE_NEW_TASK_FLAGS, FORCE_NEW_TASK_FLAGS, null, this); + } + + private void checkEmbeddedAllowedInner(int userId, Intent intent, String resolvedType) { ActivityInfo aInfo = resolveActivity(intent, resolvedType, 0, null, userId); if (aInfo != null && (aInfo.flags & ActivityInfo.FLAG_ALLOW_EMBEDDED) == 0) { throw new SecurityException( @@ -3832,23 +3839,6 @@ public final class ActivityStackSupervisor implements DisplayListener { } } - /** Throw a SecurityException if allowEmbedded is not true */ - @Override - public final void checkEmbeddedAllowed(Intent intent) { - checkEmbeddedAllowedInner(intent, null); - } - - /** Throw a SecurityException if allowEmbedded is not true */ - @Override - public final void checkEmbeddedAllowedIntentSender(IIntentSender intentSender) { - if (!(intentSender instanceof PendingIntentRecord)) { - throw new IllegalArgumentException("Bad PendingIntent object"); - } - PendingIntentRecord pendingIntent = (PendingIntentRecord) intentSender; - checkEmbeddedAllowedInner(pendingIntent.key.requestIntent, - pendingIntent.key.requestResolvedType); - } - @Override public IBinder asBinder() { return this; diff --git a/services/core/java/com/android/server/am/PendingIntentRecord.java b/services/core/java/com/android/server/am/PendingIntentRecord.java index ffaa03d62533..7bdfcedda26f 100644 --- a/services/core/java/com/android/server/am/PendingIntentRecord.java +++ b/services/core/java/com/android/server/am/PendingIntentRecord.java @@ -29,6 +29,8 @@ import android.os.RemoteException; import android.os.UserHandle; import android.util.Slog; +import com.android.server.am.ActivityStackSupervisor.ActivityContainer; + import java.io.PrintWriter; import java.lang.ref.WeakReference; @@ -201,6 +203,13 @@ final class PendingIntentRecord extends IIntentSender.Stub { IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle options, IActivityContainer container) { synchronized(owner) { + final ActivityContainer activityContainer = (ActivityContainer)container; + if (activityContainer != null && activityContainer.mParentActivity != null && + activityContainer.mParentActivity.state + != ActivityStack.ActivityState.RESUMED) { + // Cannot start a child activity if the parent is not resumed. + return ActivityManager.START_CANCELED; + } if (!canceled) { sent = true; if ((key.flags&PendingIntent.FLAG_ONE_SHOT) != 0) { diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java index d919bf6ff8c4..93d37f1da650 100644 --- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java +++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java @@ -52,20 +52,9 @@ class AutomaticBrightnessController { // auto-brightness adjustment setting. private static final float SCREEN_AUTO_BRIGHTNESS_ADJUSTMENT_MAX_GAMMA = 3.0f; - // Light sensor event rate in milliseconds. - private static final int LIGHT_SENSOR_RATE_MILLIS = 1000; - // Period of time in which to consider light samples in milliseconds. private static final int AMBIENT_LIGHT_HORIZON = 10000; - // Stability requirements in milliseconds for accepting a new brightness level. This is used - // for debouncing the light sensor. Different constants are used to debounce the light sensor - // when adapting to brighter or darker environments. This parameter controls how quickly - // brightness changes occur in response to an observed change in light level that exceeds the - // hysteresis threshold. - private static final long BRIGHTENING_LIGHT_DEBOUNCE = 4000; - private static final long DARKENING_LIGHT_DEBOUNCE = 8000; - // Hysteresis constraints for brightening or darkening. // The recent lux must have changed by at least this fraction relative to the // current ambient lux before a change will be considered. @@ -121,6 +110,22 @@ class AutomaticBrightnessController { private final int mScreenBrightnessRangeMaximum; private final float mDozeScaleFactor; + // Light sensor event rate in milliseconds. + private final int mLightSensorRate; + + // Stability requirements in milliseconds for accepting a new brightness level. This is used + // for debouncing the light sensor. Different constants are used to debounce the light sensor + // when adapting to brighter or darker environments. This parameter controls how quickly + // brightness changes occur in response to an observed change in light level that exceeds the + // hysteresis threshold. + private final long mBrighteningLightDebounceConfig; + private final long mDarkeningLightDebounceConfig; + + // If true immediately after the screen is turned on the controller will try to adjust the + // brightness based on the current sensor reads. If false, the controller will collect more data + // and only then decide whether to change brightness. + private final boolean mResetAmbientLuxAfterWarmUpConfig; + // Amount of time to delay auto-brightness after screen on while waiting for // the light sensor to warm-up in milliseconds. // May be 0 if no warm-up is required. @@ -176,7 +181,9 @@ class AutomaticBrightnessController { public AutomaticBrightnessController(Callbacks callbacks, Looper looper, SensorManager sensorManager, Spline autoBrightnessSpline, int lightSensorWarmUpTime, - int brightnessMin, int brightnessMax, float dozeScaleFactor) { + int brightnessMin, int brightnessMax, float dozeScaleFactor, + int lightSensorRate, long brighteningLightDebounceConfig, + long darkeningLightDebounceConfig, boolean resetAmbientLuxAfterWarmUpConfig) { mCallbacks = callbacks; mTwilight = LocalServices.getService(TwilightManager.class); mSensorManager = sensorManager; @@ -185,9 +192,13 @@ class AutomaticBrightnessController { mScreenBrightnessRangeMaximum = brightnessMax; mLightSensorWarmUpTimeConfig = lightSensorWarmUpTime; mDozeScaleFactor = dozeScaleFactor; + mLightSensorRate = lightSensorRate; + mBrighteningLightDebounceConfig = brighteningLightDebounceConfig; + mDarkeningLightDebounceConfig = darkeningLightDebounceConfig; + mResetAmbientLuxAfterWarmUpConfig = resetAmbientLuxAfterWarmUpConfig; mHandler = new AutomaticBrightnessHandler(looper); - mAmbientLightRingBuffer = new AmbientLightRingBuffer(); + mAmbientLightRingBuffer = new AmbientLightRingBuffer(mLightSensorRate); if (!DEBUG_PRETEND_LIGHT_SENSOR_ABSENT) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); @@ -226,6 +237,9 @@ class AutomaticBrightnessController { pw.println(" mScreenBrightnessRangeMinimum=" + mScreenBrightnessRangeMinimum); pw.println(" mScreenBrightnessRangeMaximum=" + mScreenBrightnessRangeMaximum); pw.println(" mLightSensorWarmUpTimeConfig=" + mLightSensorWarmUpTimeConfig); + pw.println(" mBrighteningLightDebounceConfig=" + mBrighteningLightDebounceConfig); + pw.println(" mDarkeningLightDebounceConfig=" + mDarkeningLightDebounceConfig); + pw.println(" mResetAmbientLuxAfterWarmUpConfig=" + mResetAmbientLuxAfterWarmUpConfig); pw.println(); pw.println("Automatic Brightness Controller State:"); @@ -252,13 +266,13 @@ class AutomaticBrightnessController { mLightSensorEnabled = true; mLightSensorEnableTime = SystemClock.uptimeMillis(); mSensorManager.registerListener(mLightSensorListener, mLightSensor, - LIGHT_SENSOR_RATE_MILLIS * 1000, mHandler); + mLightSensorRate * 1000, mHandler); return true; } } else { if (mLightSensorEnabled) { mLightSensorEnabled = false; - mAmbientLuxValid = false; + mAmbientLuxValid = !mResetAmbientLuxAfterWarmUpConfig; mRecentLightSamples = 0; mAmbientLightRingBuffer.clear(); mHandler.removeMessages(MSG_UPDATE_AMBIENT_LUX); @@ -347,7 +361,7 @@ class AutomaticBrightnessController { } earliestValidTime = mAmbientLightRingBuffer.getTime(i); } - return earliestValidTime + BRIGHTENING_LIGHT_DEBOUNCE; + return earliestValidTime + mBrighteningLightDebounceConfig; } private long nextAmbientLightDarkeningTransition(long time) { @@ -359,7 +373,7 @@ class AutomaticBrightnessController { } earliestValidTime = mAmbientLightRingBuffer.getTime(i); } - return earliestValidTime + DARKENING_LIGHT_DEBOUNCE; + return earliestValidTime + mDarkeningLightDebounceConfig; } private void updateAmbientLux() { @@ -420,7 +434,7 @@ class AutomaticBrightnessController { // should be enough time to decide whether we should actually transition to the new // weighted ambient lux or not. nextTransitionTime = - nextTransitionTime > time ? nextTransitionTime : time + LIGHT_SENSOR_RATE_MILLIS; + nextTransitionTime > time ? nextTransitionTime : time + mLightSensorRate; if (DEBUG) { Slog.d(TAG, "updateAmbientLux: Scheduling ambient lux update for " + nextTransitionTime + TimeUtils.formatUptime(nextTransitionTime)); @@ -559,8 +573,6 @@ class AutomaticBrightnessController { // Proportional extra capacity of the buffer beyond the expected number of light samples // in the horizon private static final float BUFFER_SLACK = 1.5f; - private static final int DEFAULT_CAPACITY = - (int) Math.ceil(AMBIENT_LIGHT_HORIZON * BUFFER_SLACK / LIGHT_SENSOR_RATE_MILLIS); private float[] mRingLux; private long[] mRingTime; private int mCapacity; @@ -571,8 +583,8 @@ class AutomaticBrightnessController { private int mEnd; private int mCount; - public AmbientLightRingBuffer() { - this(DEFAULT_CAPACITY); + public AmbientLightRingBuffer(long lightSensorRate) { + this((int) Math.ceil(AMBIENT_LIGHT_HORIZON * BUFFER_SLACK / lightSensorRate)); } public AmbientLightRingBuffer(int initialCapacity) { diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 09dc47797d45..5f0ad9f53666 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -46,7 +46,6 @@ import android.os.ServiceManager; import android.os.SystemClock; import android.os.SystemProperties; import android.text.TextUtils; -import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.view.Display; @@ -832,6 +831,24 @@ public final class DisplayManagerService extends SystemService { } } + private void setDisplayOffsetsInternal(int displayId, int x, int y) { + synchronized (mSyncRoot) { + LogicalDisplay display = mLogicalDisplays.get(displayId); + if (display == null) { + return; + } + if (display.getDisplayOffsetXLocked() != x + || display.getDisplayOffsetYLocked() != y) { + if (DEBUG) { + Slog.d(TAG, "Display " + displayId + " burn-in offset set to (" + + x + ", " + y + ")"); + } + display.setDisplayOffsetsLocked(x, y); + scheduleTraversalLocked(false); + } + } + } + private void clearViewportsLocked() { mDefaultViewport.valid = false; mExternalTouchViewport.valid = false; @@ -1513,5 +1530,10 @@ public final class DisplayManagerService extends SystemService { float requestedRefreshRate, boolean inTraversal) { setDisplayPropertiesInternal(displayId, hasContent, requestedRefreshRate, inTraversal); } + + @Override + public void setDisplayOffsets(int displayId, int x, int y) { + setDisplayOffsetsInternal(displayId, x, y); + } } } diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 78610ff71bd1..cf1f4b0f1424 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -302,6 +302,15 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mAllowAutoBrightnessWhileDozingConfig = resources.getBoolean( com.android.internal.R.bool.config_allowAutoBrightnessWhileDozing); + int lightSensorRate = resources.getInteger( + com.android.internal.R.integer.config_autoBrightnessLightSensorRate); + long brighteningLightDebounce = resources.getInteger( + com.android.internal.R.integer.config_autoBrightnessBrighteningLightDebounce); + long darkeningLightDebounce = resources.getInteger( + com.android.internal.R.integer.config_autoBrightnessDarkeningLightDebounce); + boolean autoBrightnessResetAmbientLuxAfterWarmUp = resources.getBoolean( + com.android.internal.R.bool.config_autoBrightnessResetAmbientLuxAfterWarmUp); + if (mUseSoftwareAutoBrightnessConfig) { int[] lux = resources.getIntArray( com.android.internal.R.array.config_autoBrightnessLevels); @@ -336,7 +345,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mAutomaticBrightnessController = new AutomaticBrightnessController(this, handler.getLooper(), sensorManager, screenAutoBrightnessSpline, lightSensorWarmUpTimeConfig, screenBrightnessRangeMinimum, - mScreenBrightnessRangeMaximum, dozeScaleFactor); + mScreenBrightnessRangeMaximum, dozeScaleFactor, lightSensorRate, + brighteningLightDebounce, darkeningLightDebounce, + autoBrightnessResetAmbientLuxAfterWarmUp); } } diff --git a/services/core/java/com/android/server/display/LogicalDisplay.java b/services/core/java/com/android/server/display/LogicalDisplay.java index 6c57eec9fdb7..3bb7818c339a 100644 --- a/services/core/java/com/android/server/display/LogicalDisplay.java +++ b/services/core/java/com/android/server/display/LogicalDisplay.java @@ -76,6 +76,10 @@ final class LogicalDisplay { // The pending requested refresh rate. 0 if no request is pending. private float mRequestedRefreshRate; + // The display offsets to apply to the display projection. + private int mDisplayOffsetX; + private int mDisplayOffsetY; + // Temporary rectangle used when needed. private final Rect mTempLayerStackRect = new Rect(); private final Rect mTempDisplayRect = new Rect(); @@ -313,6 +317,10 @@ final class LogicalDisplay { mTempDisplayRect.set(displayRectLeft, displayRectTop, displayRectLeft + displayRectWidth, displayRectTop + displayRectHeight); + mTempDisplayRect.left += mDisplayOffsetX; + mTempDisplayRect.right += mDisplayOffsetX; + mTempDisplayRect.top += mDisplayOffsetY; + mTempDisplayRect.bottom += mDisplayOffsetY; device.setProjectionInTransactionLocked(orientation, mTempLayerStackRect, mTempDisplayRect); } @@ -356,10 +364,34 @@ final class LogicalDisplay { return mRequestedRefreshRate; } + /** + * Gets the burn-in offset in X. + */ + public int getDisplayOffsetXLocked() { + return mDisplayOffsetX; + } + + /** + * Gets the burn-in offset in Y. + */ + public int getDisplayOffsetYLocked() { + return mDisplayOffsetY; + } + + /** + * Sets the burn-in offsets. + */ + public void setDisplayOffsetsLocked(int x, int y) { + mDisplayOffsetX = x; + mDisplayOffsetY = y; + } + public void dumpLocked(PrintWriter pw) { pw.println("mDisplayId=" + mDisplayId); pw.println("mLayerStack=" + mLayerStack); pw.println("mHasContent=" + mHasContent); + pw.println("mRequestedRefreshRate=" + mRequestedRefreshRate); + pw.println("mDisplayOffset=(" + mDisplayOffsetX + ", " + mDisplayOffsetY + ")"); pw.println("mPrimaryDisplayDevice=" + (mPrimaryDisplayDevice != null ? mPrimaryDisplayDevice.getNameLocked() : "null")); pw.println("mBaseDisplayInfo=" + mBaseDisplayInfo); diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index 9786b42ec30c..66c2f5f5418e 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -128,6 +128,7 @@ public final class PowerManagerService extends SystemService private static final int WAKE_LOCK_PROXIMITY_SCREEN_OFF = 1 << 4; private static final int WAKE_LOCK_STAY_AWAKE = 1 << 5; // only set if already awake private static final int WAKE_LOCK_DOZE = 1 << 6; + private static final int WAKE_LOCK_DRAW = 1 << 7; // Summarizes the user activity state. private static final int USER_ACTIVITY_SCREEN_BRIGHT = 1 << 0; @@ -1398,12 +1399,15 @@ public final class PowerManagerService extends SystemService case PowerManager.DOZE_WAKE_LOCK: mWakeLockSummary |= WAKE_LOCK_DOZE; break; + case PowerManager.DRAW_WAKE_LOCK: + mWakeLockSummary |= WAKE_LOCK_DRAW; + break; } } // Cancel wake locks that make no sense based on the current state. if (mWakefulness != WAKEFULNESS_DOZING) { - mWakeLockSummary &= ~WAKE_LOCK_DOZE; + mWakeLockSummary &= ~(WAKE_LOCK_DOZE | WAKE_LOCK_DRAW); } if (mWakefulness == WAKEFULNESS_ASLEEP || (mWakeLockSummary & WAKE_LOCK_DOZE) != 0) { @@ -1422,6 +1426,9 @@ public final class PowerManagerService extends SystemService mWakeLockSummary |= WAKE_LOCK_CPU; } } + if ((mWakeLockSummary & WAKE_LOCK_DRAW) != 0) { + mWakeLockSummary |= WAKE_LOCK_CPU; + } if (DEBUG_SPEW) { Slog.d(TAG, "updateWakeLockSummaryLocked: mWakefulness=" @@ -1845,6 +1852,10 @@ public final class PowerManagerService extends SystemService if (mDisplayPowerRequest.policy == DisplayPowerRequest.POLICY_DOZE) { mDisplayPowerRequest.dozeScreenState = mDozeScreenStateOverrideFromDreamManager; + if (mDisplayPowerRequest.dozeScreenState == Display.STATE_DOZE_SUSPEND + && (mWakeLockSummary & WAKE_LOCK_DRAW) != 0) { + mDisplayPowerRequest.dozeScreenState = Display.STATE_DOZE; + } mDisplayPowerRequest.dozeScreenBrightness = mDozeScreenBrightnessOverrideFromDreamManager; } else { @@ -2712,6 +2723,8 @@ public final class PowerManagerService extends SystemService return "PROXIMITY_SCREEN_OFF_WAKE_LOCK"; case PowerManager.DOZE_WAKE_LOCK: return "DOZE_WAKE_LOCK "; + case PowerManager.DRAW_WAKE_LOCK: + return "DRAW_WAKE_LOCK "; default: return "??? "; } diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index 08754f9942a2..37ca0db39040 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -397,8 +397,6 @@ final class AccessibilityController { private final class MagnifiedViewport { - private static final int DEFAUTLT_BORDER_WIDTH_DIP = 5; - private final SparseArray<WindowState> mTempWindowStates = new SparseArray<WindowState>(); @@ -411,6 +409,8 @@ final class AccessibilityController { private final Region mMagnifiedBounds = new Region(); private final Region mOldMagnifiedBounds = new Region(); + private final Path mCircularPath; + private final MagnificationSpec mMagnificationSpec = MagnificationSpec.obtain(); private final WindowManager mWindowManager; @@ -425,12 +425,22 @@ final class AccessibilityController { public MagnifiedViewport() { mWindowManager = (WindowManager) mContext.getSystemService(Service.WINDOW_SERVICE); - mBorderWidth = TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, DEFAUTLT_BORDER_WIDTH_DIP, - mContext.getResources().getDisplayMetrics()); + mBorderWidth = mContext.getResources().getDimension( + com.android.internal.R.dimen.accessibility_magnification_indicator_width); mHalfBorderWidth = (int) Math.ceil(mBorderWidth / 2); mDrawBorderInset = (int) mBorderWidth / 2; mWindow = new ViewportWindow(mContext); + + if (mContext.getResources().getBoolean( + com.android.internal.R.bool.config_windowIsRound)) { + mCircularPath = new Path(); + mWindowManager.getDefaultDisplay().getRealSize(mTempPoint); + final int centerXY = mTempPoint.x / 2; + mCircularPath.addCircle(centerXY, centerXY, centerXY, Path.Direction.CW); + } else { + mCircularPath = null; + } + recomputeBoundsLocked(); } @@ -459,6 +469,10 @@ final class AccessibilityController { Region availableBounds = mTempRegion1; availableBounds.set(0, 0, screenWidth, screenHeight); + if (mCircularPath != null) { + availableBounds.setPath(mCircularPath, availableBounds); + } + Region nonMagnifiedBounds = mTempRegion4; nonMagnifiedBounds.set(0, 0, 0, 0); diff --git a/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java b/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java index 62f2b489ee30..5e4bd8bbe439 100644 --- a/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java +++ b/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java @@ -93,7 +93,9 @@ class EmulatorDisplayOverlay { } c.drawColor(Color.TRANSPARENT, PorterDuff.Mode.SRC); mSurfaceControl.setPosition(0, 0); - mOverlay.setBounds(0, 0, mScreenSize.x, mScreenSize.y); + // Always draw the overlay with square dimensions + int size = Math.max(mScreenSize.x, mScreenSize.y); + mOverlay.setBounds(0, 0, size, size); mOverlay.draw(c); mSurface.unlockCanvasAndPost(c); } diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index a4dfd8a4ea15..a1d145c0bbaf 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -475,6 +475,16 @@ final class Session extends IWindowSession.Stub return mService.getWindowId(window); } + @Override + public void pokeDrawLock(IBinder window) { + final long identity = Binder.clearCallingIdentity(); + try { + mService.pokeDrawLock(this, window); + } finally { + Binder.restoreCallingIdentity(identity); + } + } + void windowAddedLocked() { if (mSurfaceSession == null) { if (WindowManagerService.localLOGV) Slog.v( diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index a1fe16b4bc32..5ca9ef72529c 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -194,6 +194,7 @@ public class WindowManagerService extends IWindowManager.Stub static final boolean DEBUG_TASK_MOVEMENT = false; static final boolean DEBUG_STACK = false; static final boolean DEBUG_DISPLAY = false; + static final boolean DEBUG_POWER = false; static final boolean SHOW_SURFACE_ALLOC = false; static final boolean SHOW_TRANSACTIONS = false; static final boolean SHOW_LIGHT_TRANSACTIONS = false || SHOW_TRANSACTIONS; @@ -338,6 +339,7 @@ public class WindowManagerService extends IWindowManager.Stub final boolean mHaveInputMethods; final boolean mHasPermanentDpad; + final long mDrawLockTimeoutMillis; final boolean mAllowBootMessages; @@ -827,6 +829,8 @@ public class WindowManagerService extends IWindowManager.Stub com.android.internal.R.bool.config_hasPermanentDpad); mInTouchMode = context.getResources().getBoolean( com.android.internal.R.bool.config_defaultInTouchMode); + mDrawLockTimeoutMillis = context.getResources().getInteger( + com.android.internal.R.integer.config_drawLockTimeoutMillis); mInputManager = inputManager; // Must be before createDisplayContentLocked. mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); mDisplaySettings = new DisplaySettings(); @@ -2992,6 +2996,15 @@ public class WindowManagerService extends IWindowManager.Stub } } + public void pokeDrawLock(Session session, IBinder token) { + synchronized (mWindowMap) { + WindowState window = windowForClientLocked(session, token, false); + if (window != null) { + window.pokeDrawLockLw(mDrawLockTimeoutMillis); + } + } + } + public int relayoutWindow(Session session, IWindow client, int seq, WindowManager.LayoutParams attrs, int requestedWidth, int requestedHeight, int viewVisibility, int flags, @@ -4334,8 +4347,13 @@ public class WindowManagerService extends IWindowManager.Stub + " ShowWallpaper=" + ent.array.getBoolean( com.android.internal.R.styleable.Window_windowShowWallpaper, false)); - if (ent.array.getBoolean( - com.android.internal.R.styleable.Window_windowIsTranslucent, false)) { + final boolean windowIsTranslucentDefined = ent.array.hasValue( + com.android.internal.R.styleable.Window_windowIsTranslucent); + final boolean windowIsTranslucent = ent.array.getBoolean( + com.android.internal.R.styleable.Window_windowIsTranslucent, false); + final boolean windowSwipeToDismiss = ent.array.getBoolean( + com.android.internal.R.styleable.Window_windowSwipeToDismiss, false); + if (windowIsTranslucent || (!windowIsTranslucentDefined && windowSwipeToDismiss)) { return; } if (ent.array.getBoolean( @@ -10110,7 +10128,9 @@ public class WindowManagerService extends IWindowManager.Stub if (mAllowTheaterModeWakeFromLayout || Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.THEATER_MODE_ON, 0) == 0) { - if (DEBUG_VISIBILITY) Slog.v(TAG, "Turning screen on after layout!"); + if (DEBUG_VISIBILITY || DEBUG_POWER) { + Slog.v(TAG, "Turning screen on after layout!"); + } mPowerManager.wakeUp(SystemClock.uptimeMillis()); } mTurnOnScreen = false; diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 021a6e4dc373..b621c52e19ae 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -19,9 +19,9 @@ package com.android.server.wm; import static com.android.server.wm.WindowManagerService.DEBUG_CONFIGURATION; import static com.android.server.wm.WindowManagerService.DEBUG_LAYOUT; import static com.android.server.wm.WindowManagerService.DEBUG_ORIENTATION; +import static com.android.server.wm.WindowManagerService.DEBUG_POWER; import static com.android.server.wm.WindowManagerService.DEBUG_RESIZE; import static com.android.server.wm.WindowManagerService.DEBUG_VISIBILITY; - import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW; @@ -34,12 +34,15 @@ import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; import android.app.AppOpsManager; import android.os.Debug; +import android.os.PowerManager; import android.os.RemoteCallbackList; import android.os.SystemClock; +import android.os.WorkSource; import android.util.TimeUtils; import android.view.Display; import android.view.IWindowFocusObserver; import android.view.IWindowId; + import com.android.server.input.InputWindowHandle; import android.content.Context; @@ -345,6 +348,15 @@ final class WindowState implements WindowManagerPolicy.WindowState { * the status bar */ boolean mUnderStatusBar = true; + /** + * Wake lock for drawing. + * Even though it's slightly more expensive to do so, we will use a separate wake lock + * for each app that is requesting to draw while dozing so that we can accurately track + * who is preventing the system from suspending. + * This lock is only acquired on first use. + */ + PowerManager.WakeLock mDrawLock; + WindowState(WindowManagerService service, Session s, IWindow c, WindowToken token, WindowState attachedWindow, int appOp, int seq, WindowManager.LayoutParams a, int viewVisibility, final DisplayContent displayContent) { @@ -1272,6 +1284,33 @@ final class WindowState implements WindowManagerPolicy.WindowState { } } + public void pokeDrawLockLw(long timeout) { + if (isVisibleOrAdding()) { + if (mDrawLock == null) { + // We want the tag name to be somewhat stable so that it is easier to correlate + // in wake lock statistics. So in particular, we don't want to include the + // window's hash code as in toString(). + CharSequence tag = mAttrs.getTitle(); + if (tag == null) { + tag = mAttrs.packageName; + } + mDrawLock = mService.mPowerManager.newWakeLock( + PowerManager.DRAW_WAKE_LOCK, "Window:" + tag); + mDrawLock.setReferenceCounted(false); + mDrawLock.setWorkSource(new WorkSource(mOwnerUid, mAttrs.packageName)); + } + // Each call to acquire resets the timeout. + if (DEBUG_POWER) { + Slog.d(TAG, "pokeDrawLock: poking draw lock on behalf of visible window owned by " + + mAttrs.packageName); + } + mDrawLock.acquire(timeout); + } else if (DEBUG_POWER) { + Slog.d(TAG, "pokeDrawLock: suppressed draw lock request for invisible window " + + "owned by " + mAttrs.packageName); + } + } + @Override public boolean isAlive() { return mClient.asBinder().isBinderAlive(); @@ -1626,6 +1665,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { pw.print(" mWallpaperDisplayOffsetY="); pw.println(mWallpaperDisplayOffsetY); } + if (mDrawLock != null) { + pw.println("mDrawLock=" + mDrawLock); + } } String makeInputChannelName() { diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index c2d8004f1d1d..4cdfc41ff0ee 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -542,9 +542,9 @@ class WindowStateAnimator { mDrawState = READY_TO_SHOW; final AppWindowToken atoken = mWin.mAppToken; if (atoken == null || atoken.allDrawn || mWin.mAttrs.type == TYPE_APPLICATION_STARTING) { - performShowLocked(); + return performShowLocked(); } - return true; + return false; } static class SurfaceTrace extends SurfaceControl { diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java index 0f51d00ca62d..25f70782cbed 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java @@ -212,4 +212,9 @@ public final class BridgeWindowSession implements IWindowSession { // pass for now. return null; } + + @Override + public void pokeDrawLock(IBinder window) { + // pass for now. + } } |