diff options
424 files changed, 8894 insertions, 1653 deletions
diff --git a/api/test-current.txt b/api/test-current.txt index 1a912a1c69b1..309ad4d15019 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -3236,10 +3236,13 @@ package android.view { } @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback { + method @android.view.ViewDebug.ExportedProperty(mapping={@android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, to="auto"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_YES, to="yes"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_NO, to="no"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, to="yesExcludeDescendants"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, to="noExcludeDescendants")}) public int getImportantForContentCapture(); method public android.view.View getTooltipView(); method public boolean isAutofilled(); method public static boolean isDefaultFocusHighlightEnabled(); method public boolean isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable); + method public final boolean isImportantForContentCapture(); + method public void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int); method protected void resetResolvedDrawables(); method public void resetResolvedLayoutDirection(); method public void resetResolvedPadding(); @@ -3250,7 +3253,13 @@ package android.view { method public boolean restoreFocusNotInCluster(); method public void setAutofilled(boolean); method public final void setFocusedInCluster(); + method public void setImportantForContentCapture(int); method public void setIsRootNamespace(boolean); + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO = 0; // 0x0 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO = 2; // 0x2 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS = 8; // 0x8 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES = 1; // 0x1 + field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS = 4; // 0x4 } public class ViewConfiguration { diff --git a/cmds/statsd/src/external/PowerStatsPuller.cpp b/cmds/statsd/src/external/PowerStatsPuller.cpp index c56f9a27086e..b142caca3acc 100644 --- a/cmds/statsd/src/external/PowerStatsPuller.cpp +++ b/cmds/statsd/src/external/PowerStatsPuller.cpp @@ -85,7 +85,6 @@ bool PowerStatsPuller::PullInternal(vector<shared_ptr<LogEvent>>* data) { std::lock_guard<std::mutex> lock(gPowerStatsHalMutex); if (!getPowerStatsHalLocked()) { - ALOGE("power.stats Hal not loaded"); return false; } @@ -116,6 +115,7 @@ bool PowerStatsPuller::PullInternal(vector<shared_ptr<LogEvent>>* data) { if (gRailInfo.empty()) { ALOGE("power.stats has no rail information"); gPowerStatsExist = false; // No rail info, so never try again. + gPowerStatsHal = nullptr; return false; } } diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java index 4771f9f6ad04..3bf659b663b0 100644 --- a/core/java/android/app/ActivityView.java +++ b/core/java/android/app/ActivityView.java @@ -120,6 +120,7 @@ public class ActivityView extends ViewGroup { mActivityTaskManager = ActivityTaskManager.getService(); mSurfaceView = new SurfaceView(context); + mSurfaceView.setAlpha(0f); mSurfaceCallback = new SurfaceCallback(); mSurfaceView.getHolder().addCallback(mSurfaceCallback); addView(mSurfaceView); @@ -347,6 +348,16 @@ public class ActivityView extends ViewGroup { } @Override + public void setAlpha(float alpha) { + mSurfaceView.setAlpha(alpha); + } + + @Override + public float getAlpha() { + return mSurfaceView.getAlpha(); + } + + @Override public boolean gatherTransparentRegion(Region region) { // The tap exclude region may be affected by any view on top of it, so we detect the // possible change by monitoring this function. diff --git a/core/java/android/app/ITaskStackListener.aidl b/core/java/android/app/ITaskStackListener.aidl index 1fdc8ca5b291..3f6880fc2625 100644 --- a/core/java/android/app/ITaskStackListener.aidl +++ b/core/java/android/app/ITaskStackListener.aidl @@ -169,4 +169,12 @@ oneway interface ITaskStackListener { * @param taskInfo info about the task which received the back press */ void onBackPressedOnTaskRoot(in ActivityManager.RunningTaskInfo taskInfo); + + /* + * Called when contents are drawn for the first time on a display which can only contain one + * task. + * + * @param displayId the id of the display on which contents are drawn. + */ + void onSingleTaskDisplayDrawn(int displayId); } diff --git a/core/java/android/app/StatusBarManager.java b/core/java/android/app/StatusBarManager.java index af2d774508c4..205e7a13092b 100644 --- a/core/java/android/app/StatusBarManager.java +++ b/core/java/android/app/StatusBarManager.java @@ -433,6 +433,9 @@ public class StatusBarManager { private boolean mNotificationPeeking; private boolean mRecents; private boolean mSearch; + private boolean mSystemIcons; + private boolean mClock; + private boolean mNotificationIcons; /** @hide */ public DisableInfo(int flags1, int flags2) { @@ -441,6 +444,9 @@ public class StatusBarManager { mNotificationPeeking = (flags1 & DISABLE_NOTIFICATION_ALERTS) != 0; mRecents = (flags1 & DISABLE_RECENT) != 0; mSearch = (flags1 & DISABLE_SEARCH) != 0; + mSystemIcons = (flags1 & DISABLE_SYSTEM_INFO) != 0; + mClock = (flags1 & DISABLE_CLOCK) != 0; + mNotificationIcons = (flags1 & DISABLE_NOTIFICATION_ICONS) != 0; } /** @hide */ @@ -527,6 +533,48 @@ public class StatusBarManager { } /** + * @return {@code true} if system icons are disabled + * + * @hide + */ + public boolean areSystemIconsDisabled() { + return mSystemIcons; + } + + /** * @hide */ + public void setSystemIconsDisabled(boolean disabled) { + mSystemIcons = disabled; + } + + /** + * @return {@code true} if the clock icon is disabled + * + * @hide + */ + public boolean isClockDisabled() { + return mClock; + } + + /** * @hide */ + public void setClockDisabled(boolean disabled) { + mClock = disabled; + } + + /** + * @return {@code true} if notification icons are disabled + * + * @hide + */ + public boolean areNotificationIconsDisabled() { + return mNotificationIcons; + } + + /** * @hide */ + public void setNotificationIconsDisabled(boolean disabled) { + mNotificationIcons = disabled; + } + + /** * @return {@code true} if no components are disabled (default state) * * @hide @@ -535,7 +583,7 @@ public class StatusBarManager { @TestApi public boolean areAllComponentsEnabled() { return !mStatusBarExpansion && !mNavigateHome && !mNotificationPeeking && !mRecents - && !mSearch; + && !mSearch && !mSystemIcons && !mClock && !mNotificationIcons; } /** @hide */ @@ -545,6 +593,9 @@ public class StatusBarManager { mNotificationPeeking = false; mRecents = false; mSearch = false; + mSystemIcons = false; + mClock = false; + mNotificationIcons = false; } /** @@ -554,7 +605,7 @@ public class StatusBarManager { */ public boolean areAllComponentsDisabled() { return mStatusBarExpansion && mNavigateHome && mNotificationPeeking - && mRecents && mSearch; + && mRecents && mSearch && mSystemIcons && mClock && mNotificationIcons; } /** @hide */ @@ -564,6 +615,9 @@ public class StatusBarManager { mNotificationPeeking = true; mRecents = true; mSearch = true; + mSystemIcons = true; + mClock = true; + mNotificationIcons = true; } @Override @@ -576,6 +630,9 @@ public class StatusBarManager { .append(mNotificationPeeking ? "disabled" : "enabled"); sb.append(" mRecents=").append(mRecents ? "disabled" : "enabled"); sb.append(" mSearch=").append(mSearch ? "disabled" : "enabled"); + sb.append(" mSystemIcons=").append(mSystemIcons ? "disabled" : "enabled"); + sb.append(" mClock=").append(mClock ? "disabled" : "enabled"); + sb.append(" mNotificationIcons=").append(mNotificationIcons ? "disabled" : "enabled"); return sb.toString(); @@ -596,6 +653,9 @@ public class StatusBarManager { if (mNotificationPeeking) disable1 |= DISABLE_NOTIFICATION_ALERTS; if (mRecents) disable1 |= DISABLE_RECENT; if (mSearch) disable1 |= DISABLE_SEARCH; + if (mSystemIcons) disable1 |= DISABLE_SYSTEM_INFO; + if (mClock) disable1 |= DISABLE_CLOCK; + if (mNotificationIcons) disable1 |= DISABLE_NOTIFICATION_ICONS; return new Pair<Integer, Integer>(disable1, disable2); } diff --git a/core/java/android/app/TaskStackListener.java b/core/java/android/app/TaskStackListener.java index 00f3ad58afa6..36daf32234db 100644 --- a/core/java/android/app/TaskStackListener.java +++ b/core/java/android/app/TaskStackListener.java @@ -173,4 +173,8 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { public void onBackPressedOnTaskRoot(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { } + + @Override + public void onSingleTaskDisplayDrawn(int displayId) throws RemoteException { + } } diff --git a/core/java/android/view/AccessibilityInteractionController.java b/core/java/android/view/AccessibilityInteractionController.java index bbd44c8b85af..4b929683fd6d 100644 --- a/core/java/android/view/AccessibilityInteractionController.java +++ b/core/java/android/view/AccessibilityInteractionController.java @@ -830,6 +830,32 @@ public final class AccessibilityInteractionController { return false; } + private void adjustBoundsInScreenIfNeeded(List<AccessibilityNodeInfo> infos) { + if (infos == null || shouldBypassAdjustBoundsInScreen()) { + return; + } + final int infoCount = infos.size(); + for (int i = 0; i < infoCount; i++) { + final AccessibilityNodeInfo info = infos.get(i); + adjustBoundsInScreenIfNeeded(info); + } + } + + private void adjustBoundsInScreenIfNeeded(AccessibilityNodeInfo info) { + if (info == null || shouldBypassAdjustBoundsInScreen()) { + return; + } + final Rect boundsInScreen = mTempRect; + info.getBoundsInScreen(boundsInScreen); + boundsInScreen.offset(mViewRootImpl.mAttachInfo.mLocationInParentDisplay.x, + mViewRootImpl.mAttachInfo.mLocationInParentDisplay.y); + info.setBoundsInScreen(boundsInScreen); + } + + private boolean shouldBypassAdjustBoundsInScreen() { + return mViewRootImpl.mAttachInfo.mLocationInParentDisplay.equals(0, 0); + } + private void applyAppScaleAndMagnificationSpecIfNeeded(AccessibilityNodeInfo info, MagnificationSpec spec) { if (info == null) { @@ -921,6 +947,7 @@ public final class AccessibilityInteractionController { MagnificationSpec spec, Region interactiveRegion) { try { mViewRootImpl.mAttachInfo.mAccessibilityFetchFlags = 0; + adjustBoundsInScreenIfNeeded(infos); applyAppScaleAndMagnificationSpecIfNeeded(infos, spec); adjustIsVisibleToUserIfNeeded(infos, interactiveRegion); callback.setFindAccessibilityNodeInfosResult(infos, interactionId); @@ -939,6 +966,7 @@ public final class AccessibilityInteractionController { MagnificationSpec spec, Region interactiveRegion) { try { mViewRootImpl.mAttachInfo.mAccessibilityFetchFlags = 0; + adjustBoundsInScreenIfNeeded(info); applyAppScaleAndMagnificationSpecIfNeeded(info, spec); adjustIsVisibleToUserIfNeeded(info, interactiveRegion); callback.setFindAccessibilityNodeInfoResult(info, interactionId); diff --git a/core/java/android/view/IWindow.aidl b/core/java/android/view/IWindow.aidl index 699e795be980..f34f9e6d5ce8 100644 --- a/core/java/android/view/IWindow.aidl +++ b/core/java/android/view/IWindow.aidl @@ -17,6 +17,7 @@ package android.view; +import android.graphics.Point; import android.graphics.Rect; import android.os.Bundle; import android.os.ParcelFileDescriptor; @@ -57,6 +58,12 @@ oneway interface IWindow { in DisplayCutout.ParcelableWrapper displayCutout); /** + * Called when the window location in parent display has changed. The offset will only be a + * nonzero value if the window is on an embedded display that is re-parented to another window. + */ + void locationInParentDisplayChanged(in Point offset); + + /** * Called when the window insets configuration has changed. */ void insetsChanged(in InsetsState insetsState); diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 254d04e8715d..add7376b8531 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -27,6 +27,7 @@ import android.content.res.Configuration; import android.graphics.BlendMode; import android.graphics.Canvas; import android.graphics.Color; +import android.graphics.HardwareRenderer; import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.PorterDuff; @@ -201,6 +202,29 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb private SurfaceControl.Transaction mRtTransaction = new SurfaceControl.Transaction(); + /** + * A callback which reflects an alpha value of this view onto the underlying surfaces. + * + * <p class="note"><strong>Note:</strong> This doesn't have to be defined as a member variable, + * but can be defined as an inline lambda when calling ViewRootImpl#registerRtFrameCallback(). + * However when we do so, the callback is triggered only for a few times and stops working for + * some reason. It's suspected that there is a problem around garbage collection, and until + * the cause is fixed, we will keep this callback in a member variable.</p> + */ + private HardwareRenderer.FrameDrawingCallback mSetSurfaceAlphaCallback = frame -> { + final ViewRootImpl viewRoot = getViewRootImpl(); + if (viewRoot == null || viewRoot.mSurface == null || !viewRoot.mSurface.isValid()) { + // In this case, the alpha value is reflected on the screen in #updateSurface() later. + return; + } + + final SurfaceControl.Transaction t = new SurfaceControl.Transaction(); + t.setAlpha(mSurfaceControl, getAlpha()); + t.deferTransactionUntilSurface(mSurfaceControl, viewRoot.mSurface, frame); + t.setEarlyWakeup(); + t.apply(); + }; + public SurfaceView(Context context) { this(context, null); } @@ -288,6 +312,17 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb updateSurface(); } + @Override + public void setAlpha(float alpha) { + super.setAlpha(alpha); + final ViewRootImpl viewRoot = getViewRootImpl(); + if (viewRoot == null) { + return; + } + viewRoot.registerRtFrameCallback(mSetSurfaceAlphaCallback); + invalidate(); + } + private void performDrawFinished() { if (mPendingReportDraws > 0) { mDrawFinished = true; @@ -647,6 +682,13 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb } updateBackgroundVisibilityInTransaction(viewRoot.getSurfaceControl()); + // Alpha value change is handled in setAlpha() directly using a local + // transaction. However it can happen that setAlpha() is called while + // local transactions cannot be applied, so the value is stored in a View + // but not yet reflected on the Surface. + mSurfaceControl.setAlpha(getAlpha()); + mBackgroundControl.setAlpha(getAlpha()); + // While creating the surface, we will set it's initial // geometry. Outside of that though, we should generally // leave it to the RenderThread. diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index bf6191ec61eb..063f02422d29 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -1377,6 +1377,74 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ public static final int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 0x1; + /** @hide */ + @IntDef(prefix = { "IMPORTANT_FOR_CONTENT_CAPTURE_" }, value = { + IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, + IMPORTANT_FOR_CONTENT_CAPTURE_YES, + IMPORTANT_FOR_CONTENT_CAPTURE_NO, + IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, + IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS + }) + @Retention(RetentionPolicy.SOURCE) + public @interface ContentCaptureImportance {} + + /** + * Automatically determine whether a view is important for content capture. + * + * @see #isImportantForContentCapture() + * @see #setImportantForContentCapture(int) + * + * @hide + */ + @TestApi + public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO = 0x0; + + /** + * The view is important for content capture, and its children (if any) will be traversed. + * + * @see #isImportantForContentCapture() + * @see #setImportantForContentCapture(int) + * + * @hide + */ + @TestApi + public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES = 0x1; + + /** + * The view is not important for content capture, but its children (if any) will be traversed. + * + * @see #isImportantForContentCapture() + * @see #setImportantForContentCapture(int) + * + * @hide + */ + @TestApi + public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO = 0x2; + + /** + * The view is important for content capture, but its children (if any) will not be traversed. + * + * @see #isImportantForContentCapture() + * @see #setImportantForContentCapture(int) + * + * @hide + */ + @TestApi + public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS = 0x4; + + /** + * The view is not important for content capture, and its children (if any) will not be + * traversed. + * + * @see #isImportantForContentCapture() + * @see #setImportantForContentCapture(int) + * + * @hide + */ + @TestApi + public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS = 0x8; + + /** * This view is enabled. Interpretation varies by subclass. * Use with ENABLED_MASK when calling setFlags. @@ -3349,6 +3417,55 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /* End of masks for mPrivateFlags3 */ + /* + * Masks for mPrivateFlags4, as generated by dumpFlags(): + * + * |-------|-------|-------|-------| + * 1111 PFLAG4_IMPORTANT_FOR_CONTENT_CAPTURE_MASK + * 1 PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED + * 1 PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED + * 1 PFLAG4_CONTENT_CAPTURE_IMPORTANCE_IS_CACHED + * 1 PFLAG4_CONTENT_CAPTURE_IMPORTANCE_CACHED_VALUE + * 11 PFLAG4_CONTENT_CAPTURE_IMPORTANCE_MASK + * |-------|-------|-------|-------| + */ + + /** + * Mask for obtaining the bits which specify how to determine + * whether a view is important for autofill. + * + * <p>NOTE: the important for content capture values were the first flags added and are set in + * the rightmost position, so we don't need to shift them + */ + private static final int PFLAG4_IMPORTANT_FOR_CONTENT_CAPTURE_MASK = + IMPORTANT_FOR_CONTENT_CAPTURE_AUTO | IMPORTANT_FOR_CONTENT_CAPTURE_YES + | IMPORTANT_FOR_CONTENT_CAPTURE_NO + | IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS + | IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS; + + /* + * Variables used to control when the IntelligenceManager.notifyNodeAdded()/removed() methods + * should be called. + * + * The idea is to call notifyAppeared() after the view is layout and visible, then call + * notifyDisappeared() when it's gone (without known when it was removed from the parent). + */ + private static final int PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED = 0x10; + private static final int PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED = 0x20; + + /* + * Flags used to cache the value returned by isImportantForContentCapture while the view + * hierarchy is being traversed. + */ + private static final int PFLAG4_CONTENT_CAPTURE_IMPORTANCE_IS_CACHED = 0x40; + private static final int PFLAG4_CONTENT_CAPTURE_IMPORTANCE_CACHED_VALUE = 0x80; + + private static final int PFLAG4_CONTENT_CAPTURE_IMPORTANCE_MASK = + PFLAG4_CONTENT_CAPTURE_IMPORTANCE_IS_CACHED + | PFLAG4_CONTENT_CAPTURE_IMPORTANCE_CACHED_VALUE; + + /* End of masks for mPrivateFlags4 */ + /** @hide */ protected static final int VIEW_STRUCTURE_FOR_ASSIST = 0; /** @hide */ @@ -3972,6 +4089,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 129147060) int mPrivateFlags3; + private int mPrivateFlags4; + /** * This view's request for the visibility of the status bar. * @hide @@ -8427,6 +8546,65 @@ public class View implements Drawable.Callback, KeyEvent.Callback, onProvideStructure(structure, VIEW_STRUCTURE_FOR_AUTOFILL, flags); } + /** + * Populates a {@link ViewStructure} for content capture. + * + * <p>This method is called after a view is that is eligible for content capture + * (for example, if it {@link #isImportantForAutofill()}, an intelligence service is enabled for + * the user, and the activity rendering the view is enabled for content capture) is laid out and + * is visible. + * + * <p>The populated structure is then passed to the service through + * {@link ContentCaptureSession#notifyViewAppeared(ViewStructure)}. + * + * <p><b>Note: </b>views that manage a virtual structure under this view must populate just + * the node representing this view and return right away, then asynchronously report (not + * necessarily in the UI thread) when the children nodes appear, disappear or have their text + * changed by calling + * {@link ContentCaptureSession#notifyViewAppeared(ViewStructure)}, + * {@link ContentCaptureSession#notifyViewDisappeared(AutofillId)}, and + * {@link ContentCaptureSession#notifyViewTextChanged(AutofillId, CharSequence)} + * respectively. The structure for the a child must be created using + * {@link ContentCaptureSession#newVirtualViewStructure(AutofillId, long)}, and the + * {@code autofillId} for a child can be obtained either through + * {@code childStructure.getAutofillId()} or + * {@link ContentCaptureSession#newAutofillId(AutofillId, long)}. + * + * <p>When the virtual view hierarchy represents a web page, you should also: + * + * <ul> + * <li>Call {@link ContentCaptureManager#getContentCaptureConditions()} to infer content + * capture events should be generate for that URL. + * <li>Create a new {@link ContentCaptureSession} child for every HTML element that + * renders a new URL (like an {@code IFRAME}) and use that session to notify events from + * that subtree. + * </ul> + * + * <p><b>Note: </b>the following methods of the {@code structure} will be ignored: + * <ul> + * <li>{@link ViewStructure#setChildCount(int)} + * <li>{@link ViewStructure#addChildCount(int)} + * <li>{@link ViewStructure#getChildCount()} + * <li>{@link ViewStructure#newChild(int)} + * <li>{@link ViewStructure#asyncNewChild(int)} + * <li>{@link ViewStructure#asyncCommit()} + * <li>{@link ViewStructure#setWebDomain(String)} + * <li>{@link ViewStructure#newHtmlInfoBuilder(String)} + * <li>{@link ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)} + * <li>{@link ViewStructure#setDataIsSensitive(boolean)} + * <li>{@link ViewStructure#setAlpha(float)} + * <li>{@link ViewStructure#setElevation(float)} + * <li>{@link ViewStructure#setTransformation(Matrix)} + * + * </ul> + * + * @hide + */ + @TestApi + public void onProvideContentCaptureStructure(@NonNull ViewStructure structure, int flags) { + onProvideStructure(structure, VIEW_STRUCTURE_FOR_CONTENT_CAPTURE, flags); + } + /** @hide */ protected void onProvideStructure(@NonNull ViewStructure structure, @ViewStructureType int viewFor, int flags) { @@ -9065,6 +9243,274 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** + * Gets the mode for determining whether this view is important for content capture. + * + * <p>See {@link #setImportantForContentCapture(int)} and + * {@link #isImportantForContentCapture()} for more info about this mode. + * + * @return {@link #IMPORTANT_FOR_CONTENT_CAPTURE_AUTO} by default, or value passed to + * {@link #setImportantForContentCapture(int)}. + * + * @attr ref android.R.styleable#View_importantForContentCapture + * + * @hide + */ + @ViewDebug.ExportedProperty(mapping = { + @ViewDebug.IntToString(from = IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, to = "auto"), + @ViewDebug.IntToString(from = IMPORTANT_FOR_CONTENT_CAPTURE_YES, to = "yes"), + @ViewDebug.IntToString(from = IMPORTANT_FOR_CONTENT_CAPTURE_NO, to = "no"), + @ViewDebug.IntToString(from = IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, + to = "yesExcludeDescendants"), + @ViewDebug.IntToString(from = IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, + to = "noExcludeDescendants")}) +// @InspectableProperty(enumMapping = { +// @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, name = "auto"), +// @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_YES, name = "yes"), +// @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_NO, name = "no"), +// @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, +// name = "yesExcludeDescendants"), +// @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, +// name = "noExcludeDescendants"), +// }) + @TestApi + public @ContentCaptureImportance int getImportantForContentCapture() { + // NOTE: the important for content capture values were the first flags added and are set in + // the rightmost position, so we don't need to shift them + return mPrivateFlags4 & PFLAG4_IMPORTANT_FOR_CONTENT_CAPTURE_MASK; + } + + /** + * Sets the mode for determining whether this view is considered important for content capture. + * + * <p>The platform determines the importance for autofill automatically but you + * can use this method to customize the behavior. Typically, a view that provides text should + * be marked as {@link #IMPORTANT_FOR_CONTENT_CAPTURE_YES}. + * + * @param mode {@link #IMPORTANT_FOR_CONTENT_CAPTURE_AUTO}, + * {@link #IMPORTANT_FOR_CONTENT_CAPTURE_YES}, {@link #IMPORTANT_FOR_CONTENT_CAPTURE_NO}, + * {@link #IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS}, + * or {@link #IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS}. + * + * @attr ref android.R.styleable#View_importantForContentCapture + * + * @hide + */ + @TestApi + public void setImportantForContentCapture(@ContentCaptureImportance int mode) { + // Reset first + mPrivateFlags4 &= ~PFLAG4_IMPORTANT_FOR_CONTENT_CAPTURE_MASK; + // Then set again + // NOTE: the important for content capture values were the first flags added and are set in + // the rightmost position, so we don't need to shift them + mPrivateFlags4 |= (mode & PFLAG4_IMPORTANT_FOR_CONTENT_CAPTURE_MASK); + } + + /** + * Hints the Android System whether this view is considered important for content capture, based + * on the value explicitly set by {@link #setImportantForContentCapture(int)} and heuristics + * when it's {@link #IMPORTANT_FOR_CONTENT_CAPTURE_AUTO}. + * + * <p>See {@link ContentCaptureManager} for more info about content capture. + * + * @return whether the view is considered important for content capture. + * + * @see #setImportantForContentCapture(int) + * @see #IMPORTANT_FOR_CONTENT_CAPTURE_AUTO + * @see #IMPORTANT_FOR_CONTENT_CAPTURE_YES + * @see #IMPORTANT_FOR_CONTENT_CAPTURE_NO + * @see #IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS + * @see #IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS + * + * @hide + */ + @TestApi + public final boolean isImportantForContentCapture() { + boolean isImportant; + if ((mPrivateFlags4 & PFLAG4_CONTENT_CAPTURE_IMPORTANCE_IS_CACHED) != 0) { + isImportant = (mPrivateFlags4 & PFLAG4_CONTENT_CAPTURE_IMPORTANCE_CACHED_VALUE) != 0; + return isImportant; + } + + isImportant = calculateIsImportantForContentCapture(); + + mPrivateFlags4 &= ~PFLAG4_CONTENT_CAPTURE_IMPORTANCE_CACHED_VALUE; + if (isImportant) { + mPrivateFlags4 |= PFLAG4_CONTENT_CAPTURE_IMPORTANCE_CACHED_VALUE; + } + mPrivateFlags4 |= PFLAG4_CONTENT_CAPTURE_IMPORTANCE_IS_CACHED; + return isImportant; + } + + /** + * Calculates whether the flag is important for content capture so it can be used by + * {@link #isImportantForContentCapture()} while the tree is traversed. + */ + private boolean calculateIsImportantForContentCapture() { + // Check parent mode to ensure we're important + ViewParent parent = mParent; + while (parent instanceof View) { + final int parentImportance = ((View) parent).getImportantForContentCapture(); + if (parentImportance == IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS + || parentImportance == IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS) { + if (Log.isLoggable(CONTENT_CAPTURE_LOG_TAG, Log.VERBOSE)) { + Log.v(CONTENT_CAPTURE_LOG_TAG, "View (" + this + ") is not important for " + + "content capture because parent " + parent + "'s importance is " + + parentImportance); + } + return false; + } + parent = parent.getParent(); + } + + final int importance = getImportantForContentCapture(); + + // First, check the explicit states. + if (importance == IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS + || importance == IMPORTANT_FOR_CONTENT_CAPTURE_YES) { + return true; + } + if (importance == IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS + || importance == IMPORTANT_FOR_CONTENT_CAPTURE_NO) { + if (Log.isLoggable(CONTENT_CAPTURE_LOG_TAG, Log.VERBOSE)) { + Log.v(CONTENT_CAPTURE_LOG_TAG, "View (" + this + ") is not important for content " + + "capture because its importance is " + importance); + } + return false; + } + + // Then use some heuristics to handle AUTO. + if (importance != IMPORTANT_FOR_CONTENT_CAPTURE_AUTO) { + Log.w(CONTENT_CAPTURE_LOG_TAG, "invalid content capture importance (" + importance + + " on view " + this); + return false; + } + + // View group is important if at least one children also is + if (this instanceof ViewGroup) { + final ViewGroup group = (ViewGroup) this; + for (int i = 0; i < group.getChildCount(); i++) { + final View child = group.getChildAt(i); + if (child.isImportantForContentCapture()) { + return true; + } + } + } + + // If the app developer explicitly set hints or autofill hintsfor it, it's important. + if (getAutofillHints() != null) { + return true; + } + + // Otherwise, assume it's not important... + return false; + } + + /** + * Helper used to notify the {@link ContentCaptureManager} when the view is removed or + * added, based on whether it's laid out and visible, and without knowing if the parent removed + * it from the view hierarchy. + * + * <p>This method is called from many places (visibility changed, view laid out, view attached + * or detached to/from window, etc...) and hence must contain the logic to call the manager, as + * described below: + * + * <ol> + * <li>It should only be called when content capture is enabled for the view. + * <li>It must call viewAppeared() before viewDisappeared() + * <li>viewAppearead() can only be called when the view is visible and laidout + * <li>It should not call the same event twice. + * </ol> + */ + private void notifyAppearedOrDisappearedForContentCaptureIfNeeded(boolean appeared) { + AttachInfo ai = mAttachInfo; + // Skip it while the view is being laided out for the first time + if (ai != null && !ai.mReadyForContentCaptureUpdates) return; + + if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) { + Trace.traceBegin(Trace.TRACE_TAG_VIEW, + "notifyContentCapture(" + appeared + ") for " + getClass().getSimpleName()); + } + try { + notifyAppearedOrDisappearedForContentCaptureIfNeededNoTrace(appeared); + } finally { + Trace.traceEnd(Trace.TRACE_TAG_VIEW); + } + } + + private void notifyAppearedOrDisappearedForContentCaptureIfNeededNoTrace(boolean appeared) { + AttachInfo ai = mAttachInfo; + + // First check if context has client, so it saves a service lookup when it doesn't + if (mContext.getContentCaptureOptions() == null) return; + + // Then check if it's enabled in the context... + final ContentCaptureManager ccm = ai != null ? ai.getContentCaptureManager(mContext) + : mContext.getSystemService(ContentCaptureManager.class); + if (ccm == null || !ccm.isContentCaptureEnabled()) return; + + // ... and finally at the view level + // NOTE: isImportantForContentCapture() is more expensive than cm.isContentCaptureEnabled() + if (!isImportantForContentCapture()) return; + + ContentCaptureSession session = getContentCaptureSession(); + if (session == null) return; + + if (appeared) { + if (!isLaidOut() || getVisibility() != VISIBLE + || (mPrivateFlags4 & PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED) != 0) { + if (DEBUG_CONTENT_CAPTURE) { + Log.v(CONTENT_CAPTURE_LOG_TAG, "Ignoring 'appeared' on " + this + ": laid=" + + isLaidOut() + ", visibleToUser=" + isVisibleToUser() + + ", visible=" + (getVisibility() == VISIBLE) + + ": alreadyNotifiedAppeared=" + ((mPrivateFlags4 + & PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED) != 0) + + ", alreadyNotifiedDisappeared=" + ((mPrivateFlags4 + & PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED) != 0)); + } + return; + } + setNotifiedContentCaptureAppeared(); + + if (ai != null) { + ai.delayNotifyContentCaptureEvent(session, this, appeared); + } else { + if (DEBUG_CONTENT_CAPTURE) { + Log.w(CONTENT_CAPTURE_LOG_TAG, "no AttachInfo on appeared for " + this); + } + } + } else { + if ((mPrivateFlags4 & PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED) == 0 + || (mPrivateFlags4 & PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED) != 0) { + if (DEBUG_CONTENT_CAPTURE) { + Log.v(CONTENT_CAPTURE_LOG_TAG, "Ignoring 'disappeared' on " + this + ": laid=" + + isLaidOut() + ", visibleToUser=" + isVisibleToUser() + + ", visible=" + (getVisibility() == VISIBLE) + + ": alreadyNotifiedAppeared=" + ((mPrivateFlags4 + & PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED) != 0) + + ", alreadyNotifiedDisappeared=" + ((mPrivateFlags4 + & PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED) != 0)); + } + return; + } + mPrivateFlags4 |= PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED; + mPrivateFlags4 &= ~PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED; + + if (ai != null) { + ai.delayNotifyContentCaptureEvent(session, this, appeared); + } else { + if (DEBUG_CONTENT_CAPTURE) { + Log.v(CONTENT_CAPTURE_LOG_TAG, "no AttachInfo on disappeared for " + this); + } + } + } + } + + private void setNotifiedContentCaptureAppeared() { + mPrivateFlags4 |= PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED; + mPrivateFlags4 &= ~PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED; + } + + /** * Sets the (optional) {@link ContentCaptureSession} associated with this view. * * <p>This method should be called when you need to associate a {@link ContentCaptureContext} to @@ -9317,6 +9763,68 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** + * Dispatches the initial content capture events for a view structure. + * + * @hide + */ + public void dispatchInitialProvideContentCaptureStructure() { + AttachInfo ai = mAttachInfo; + if (ai == null) { + Log.w(CONTENT_CAPTURE_LOG_TAG, + "dispatchProvideContentCaptureStructure(): no AttachInfo for " + this); + return; + } + ContentCaptureManager ccm = ai.mContentCaptureManager; + if (ccm == null) { + Log.w(CONTENT_CAPTURE_LOG_TAG, "dispatchProvideContentCaptureStructure(): " + + "no ContentCaptureManager for " + this); + return; + } + + // We must set it before checkign if the view itself is important, because it might + // initially not be (for example, if it's empty), although that might change later (for + // example, if important views are added) + ai.mReadyForContentCaptureUpdates = true; + + if (!isImportantForContentCapture()) { + if (Log.isLoggable(CONTENT_CAPTURE_LOG_TAG, Log.DEBUG)) { + Log.d(CONTENT_CAPTURE_LOG_TAG, + "dispatchProvideContentCaptureStructure(): decorView is not important"); + } + return; + } + + ai.mContentCaptureManager = ccm; + + ContentCaptureSession session = getContentCaptureSession(); + if (session == null) { + if (Log.isLoggable(CONTENT_CAPTURE_LOG_TAG, Log.DEBUG)) { + Log.d(CONTENT_CAPTURE_LOG_TAG, + "dispatchProvideContentCaptureStructure(): no session for " + this); + } + return; + } + + session.internalNotifyViewTreeEvent(/* started= */ true); + try { + dispatchProvideContentCaptureStructure(); + } finally { + session.internalNotifyViewTreeEvent(/* started= */ false); + } + } + + /** @hide */ + void dispatchProvideContentCaptureStructure() { + ContentCaptureSession session = getContentCaptureSession(); + if (session != null) { + ViewStructure structure = session.newViewStructure(this); + onProvideContentCaptureStructure(structure, /* flags= */ 0); + setNotifiedContentCaptureAppeared(); + session.notifyViewAppeared(structure); + } + } + + /** * @see #onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo) * * Note: Called from the default {@link AccessibilityDelegate}. @@ -13266,6 +13774,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, public void dispatchStartTemporaryDetach() { mPrivateFlags3 |= PFLAG3_TEMPORARY_DETACH; notifyEnterOrExitForAutoFillIfNeeded(false); + notifyAppearedOrDisappearedForContentCaptureIfNeeded(false); onStartTemporaryDetach(); } @@ -13292,6 +13801,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, notifyFocusChangeToInputMethodManager(true /* hasFocus */); } notifyEnterOrExitForAutoFillIfNeeded(true); + notifyAppearedOrDisappearedForContentCaptureIfNeeded(true); } /** @@ -13883,6 +14393,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, : AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED); } } + + notifyAppearedOrDisappearedForContentCaptureIfNeeded(isVisible); } /** @@ -17578,6 +18090,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } // Reset content capture caches + mPrivateFlags4 &= ~PFLAG4_CONTENT_CAPTURE_IMPORTANCE_MASK; mCachedContentCaptureSession = null; if ((mPrivateFlags & (PFLAG_DRAWN | PFLAG_HAS_BOUNDS)) == (PFLAG_DRAWN | PFLAG_HAS_BOUNDS) @@ -19587,6 +20100,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, needGlobalAttributesUpdate(false); notifyEnterOrExitForAutoFillIfNeeded(true); + notifyAppearedOrDisappearedForContentCaptureIfNeeded(true); } @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P) @@ -19636,6 +20150,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } notifyEnterOrExitForAutoFillIfNeeded(false); + notifyAppearedOrDisappearedForContentCaptureIfNeeded(false); } /** @@ -21970,6 +22485,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mPrivateFlags3 &= ~PFLAG3_NOTIFY_AUTOFILL_ENTER_ON_LAYOUT; notifyEnterOrExitForAutoFillIfNeeded(true); } + + notifyAppearedOrDisappearedForContentCaptureIfNeeded(true); } private boolean hasParentWantsFocus() { @@ -28035,6 +28552,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, boolean mHandlingPointerEvent; /** + * The offset of this view's window when it's on an embedded display that is re-parented + * to another window. + */ + final Point mLocationInParentDisplay = new Point(); + + /** * Global to the view hierarchy used as a temporary for dealing with * x/y points in the transparent region computations. */ @@ -28181,6 +28704,23 @@ public class View implements Drawable.Callback, KeyEvent.Callback, View mTooltipHost; /** + * The initial structure has been reported so the view is ready to report updates. + */ + boolean mReadyForContentCaptureUpdates; + + /** + * Map(keyed by session) of content capture events that need to be notified after the view + * hierarchy is traversed: value is either the view itself for appearead events, or its + * autofill id for disappeared. + */ + SparseArray<ArrayList<Object>> mContentCaptureEvents; + + /** + * Cached reference to the {@link ContentCaptureManager}. + */ + ContentCaptureManager mContentCaptureManager; + + /** * Creates a new set of attachment information with the specified * events handler and thread. * @@ -28198,6 +28738,31 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mRootCallbacks = effectPlayer; mTreeObserver = new ViewTreeObserver(context); } + + private void delayNotifyContentCaptureEvent(@NonNull ContentCaptureSession session, + @NonNull View view, boolean appeared) { + if (mContentCaptureEvents == null) { + // Most of the time there will be just one session, so intial capacity is 1 + mContentCaptureEvents = new SparseArray<>(1); + } + int sessionId = session.getId(); + // TODO: life would be much easier if we provided a MultiMap implementation somwhere... + ArrayList<Object> events = mContentCaptureEvents.get(sessionId); + if (events == null) { + events = new ArrayList<>(); + mContentCaptureEvents.put(sessionId, events); + } + events.add(appeared ? view : view.getAutofillId()); + } + + @Nullable + ContentCaptureManager getContentCaptureManager(@NonNull Context context) { + if (mContentCaptureManager != null) { + return mContentCaptureManager; + } + mContentCaptureManager = context.getSystemService(ContentCaptureManager.class); + return mContentCaptureManager; + } } /** diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index d362024ed525..937bd1b34e61 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -3606,7 +3606,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager return; } - final ChildListForAutofill children = getChildrenForAutofill(flags); + final ChildListForAutoFillOrContentCapture children = getChildrenForAutofill(flags); final int childrenCount = children.size(); structure.setChildCount(childrenCount); for (int i = 0; i < childrenCount; i++) { @@ -3617,14 +3617,30 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager children.recycle(); } + /** @hide */ + @Override + public void dispatchProvideContentCaptureStructure() { + super.dispatchProvideContentCaptureStructure(); + + if (!isLaidOut()) return; + + final ChildListForAutoFillOrContentCapture children = getChildrenForContentCapture(); + final int childrenCount = children.size(); + for (int i = 0; i < childrenCount; i++) { + final View child = children.get(i); + child.dispatchProvideContentCaptureStructure(); + } + children.recycle(); + } + /** * Gets the children for autofill. Children for autofill are the first * level descendants that are important for autofill. The returned * child list object is pooled and the caller must recycle it once done. * @hide */ - private @NonNull ChildListForAutofill getChildrenForAutofill( + private @NonNull ChildListForAutoFillOrContentCapture getChildrenForAutofill( @AutofillFlags int flags) { - final ChildListForAutofill children = ChildListForAutofill + final ChildListForAutoFillOrContentCapture children = ChildListForAutoFillOrContentCapture .obtain(); populateChildrenForAutofill(children, flags); return children; @@ -3652,6 +3668,34 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } } + private @NonNull ChildListForAutoFillOrContentCapture getChildrenForContentCapture() { + final ChildListForAutoFillOrContentCapture children = ChildListForAutoFillOrContentCapture + .obtain(); + populateChildrenForContentCapture(children); + return children; + } + + /** @hide */ + private void populateChildrenForContentCapture(ArrayList<View> list) { + final int childrenCount = mChildrenCount; + if (childrenCount <= 0) { + return; + } + final ArrayList<View> preorderedList = buildOrderedChildList(); + final boolean customOrder = preorderedList == null + && isChildrenDrawingOrderEnabled(); + for (int i = 0; i < childrenCount; i++) { + final int childIndex = getAndVerifyPreorderedIndex(childrenCount, i, customOrder); + final View child = (preorderedList == null) + ? mChildren[childIndex] : preorderedList.get(childIndex); + if (child.isImportantForContentCapture()) { + list.add(child); + } else if (child instanceof ViewGroup) { + ((ViewGroup) child).populateChildrenForContentCapture(list); + } + } + } + private static View getAndVerifyPreorderedView(ArrayList<View> preorderedList, View[] children, int childIndex) { final View child; @@ -8634,16 +8678,16 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager /** * Pooled class that to hold the children for autifill. */ - private static class ChildListForAutofill extends ArrayList<View> { + private static class ChildListForAutoFillOrContentCapture extends ArrayList<View> { private static final int MAX_POOL_SIZE = 32; - private static final Pools.SimplePool<ChildListForAutofill> sPool = + private static final Pools.SimplePool<ChildListForAutoFillOrContentCapture> sPool = new Pools.SimplePool<>(MAX_POOL_SIZE); - public static ChildListForAutofill obtain() { - ChildListForAutofill list = sPool.acquire(); + public static ChildListForAutoFillOrContentCapture obtain() { + ChildListForAutoFillOrContentCapture list = sPool.acquire(); if (list == null) { - list = new ChildListForAutofill(); + list = new ChildListForAutoFillOrContentCapture(); } return list; } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index e8356752f807..e07112078b35 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -105,7 +105,11 @@ import android.view.accessibility.IAccessibilityInteractionConnection; import android.view.accessibility.IAccessibilityInteractionConnectionCallback; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.Interpolator; +import android.view.autofill.AutofillId; import android.view.autofill.AutofillManager; +import android.view.contentcapture.ContentCaptureManager; +import android.view.contentcapture.ContentCaptureSession; +import android.view.contentcapture.MainContentCaptureSession; import android.view.inputmethod.InputMethodManager; import android.widget.Scroller; @@ -220,6 +224,21 @@ public final class ViewRootImpl implements ViewParent, */ static final int MAX_TRACKBALL_DELAY = 250; + /** + * Initial value for {@link #mContentCaptureEnabled}. + */ + private static final int CONTENT_CAPTURE_ENABLED_NOT_CHECKED = 0; + + /** + * Value for {@link #mContentCaptureEnabled} when it was checked and set to {@code true}. + */ + private static final int CONTENT_CAPTURE_ENABLED_TRUE = 1; + + /** + * Value for {@link #mContentCaptureEnabled} when it was checked and set to {@code false}. + */ + private static final int CONTENT_CAPTURE_ENABLED_FALSE = 2; + @UnsupportedAppUsage static final ThreadLocal<HandlerActionQueue> sRunQueues = new ThreadLocal<HandlerActionQueue>(); @@ -410,6 +429,10 @@ public final class ViewRootImpl implements ViewParent, boolean mLayoutRequested; boolean mFirst; + @Nullable + int mContentCaptureEnabled = CONTENT_CAPTURE_ENABLED_NOT_CHECKED; + boolean mPerformContentCapture; + boolean mReportNextDraw; boolean mFullRedrawNeeded; boolean mNewSurfaceNeeded; @@ -607,6 +630,7 @@ public final class ViewRootImpl implements ViewParent, mTransparentRegion = new Region(); mPreviousTransparentRegion = new Region(); mFirst = true; // true for the first time the view is added + mPerformContentCapture = true; // also true for the first time the view is added mAdded = false; mAttachInfo = new View.AttachInfo(mWindowSession, mWindow, display, this, mHandler, this, context); @@ -2756,9 +2780,55 @@ public final class ViewRootImpl implements ViewParent, } } + if (mAttachInfo.mContentCaptureEvents != null) { + notifyContentCatpureEvents(); + } + mIsInTraversal = false; } + private void notifyContentCatpureEvents() { + Trace.traceBegin(Trace.TRACE_TAG_VIEW, "notifyContentCaptureEvents"); + try { + MainContentCaptureSession mainSession = mAttachInfo.mContentCaptureManager + .getMainContentCaptureSession(); + for (int i = 0; i < mAttachInfo.mContentCaptureEvents.size(); i++) { + int sessionId = mAttachInfo.mContentCaptureEvents.keyAt(i); + mainSession.notifyViewTreeEvent(sessionId, /* started= */ true); + ArrayList<Object> events = mAttachInfo.mContentCaptureEvents + .valueAt(i); + for_each_event: for (int j = 0; j < events.size(); j++) { + Object event = events.get(j); + if (event instanceof AutofillId) { + mainSession.notifyViewDisappeared(sessionId, (AutofillId) event); + } else if (event instanceof View) { + View view = (View) event; + ContentCaptureSession session = view.getContentCaptureSession(); + if (session == null) { + Log.w(mTag, "no content capture session on view: " + view); + continue for_each_event; + } + int actualId = session.getId(); + if (actualId != sessionId) { + Log.w(mTag, "content capture session mismatch for view (" + view + + "): was " + sessionId + " before, it's " + actualId + " now"); + continue for_each_event; + } + ViewStructure structure = session.newViewStructure(view); + view.onProvideContentCaptureStructure(structure, /* flags= */ 0); + session.notifyViewAppeared(structure); + } else { + Log.w(mTag, "invalid content capture event: " + event); + } + } + mainSession.notifyViewTreeEvent(sessionId, /* started= */ false); + } + mAttachInfo.mContentCaptureEvents = null; + } finally { + Trace.traceEnd(Trace.TRACE_TAG_VIEW); + } + } + private void notifySurfaceDestroyed() { mSurfaceHolder.ungetCallbacks(); SurfaceHolder.Callback[] callbacks = mSurfaceHolder.getCallbacks(); @@ -2893,6 +2963,13 @@ public final class ViewRootImpl implements ViewParent, } } mFirstInputStage.onWindowFocusChanged(hasWindowFocus); + + // NOTE: there's no view visibility (appeared / disapparead) events when the windows focus + // is lost, so we don't need to to force a flush - there might be other events such as + // text changes, but these should be flushed independently. + if (hasWindowFocus) { + handleContentCaptureFlush(); + } } private void fireAccessibilityFocusEventIfHasFocusedNode() { @@ -3459,6 +3536,86 @@ public final class ViewRootImpl implements ViewParent, pendingDrawFinished(); } } + if (mPerformContentCapture) { + performContentCaptureInitialReport(); + } + } + + /** + * Checks (and caches) if content capture is enabled for this context. + */ + private boolean isContentCaptureEnabled() { + switch (mContentCaptureEnabled) { + case CONTENT_CAPTURE_ENABLED_TRUE: + return true; + case CONTENT_CAPTURE_ENABLED_FALSE: + return false; + case CONTENT_CAPTURE_ENABLED_NOT_CHECKED: + final boolean reallyEnabled = isContentCaptureReallyEnabled(); + mContentCaptureEnabled = reallyEnabled ? CONTENT_CAPTURE_ENABLED_TRUE + : CONTENT_CAPTURE_ENABLED_FALSE; + return reallyEnabled; + default: + Log.w(TAG, "isContentCaptureEnabled(): invalid state " + mContentCaptureEnabled); + return false; + } + + } + + /** + * Checks (without caching) if content capture is enabled for this context. + */ + private boolean isContentCaptureReallyEnabled() { + // First check if context supports it, so it saves a service lookup when it doesn't + if (mContext.getContentCaptureOptions() == null) return false; + + final ContentCaptureManager ccm = mAttachInfo.getContentCaptureManager(mContext); + // Then check if it's enabled in the contex itself. + if (ccm == null || !ccm.isContentCaptureEnabled()) return false; + + return true; + } + + private void performContentCaptureInitialReport() { + mPerformContentCapture = false; // One-time offer! + final View rootView = mView; + if (DEBUG_CONTENT_CAPTURE) { + Log.v(mTag, "performContentCaptureInitialReport() on " + rootView); + } + if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) { + Trace.traceBegin(Trace.TRACE_TAG_VIEW, "dispatchContentCapture() for " + + getClass().getSimpleName()); + } + try { + if (!isContentCaptureEnabled()) return; + + // Content capture is a go! + rootView.dispatchInitialProvideContentCaptureStructure(); + } finally { + Trace.traceEnd(Trace.TRACE_TAG_VIEW); + } + } + + private void handleContentCaptureFlush() { + if (DEBUG_CONTENT_CAPTURE) { + Log.v(mTag, "handleContentCaptureFlush()"); + } + if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) { + Trace.traceBegin(Trace.TRACE_TAG_VIEW, "flushContentCapture for " + + getClass().getSimpleName()); + } + try { + if (!isContentCaptureEnabled()) return; + + final ContentCaptureManager ccm = mAttachInfo.mContentCaptureManager; + if (ccm == null) { + Log.w(TAG, "No ContentCapture on AttachInfo"); + return; + } + ccm.flush(ContentCaptureSession.FLUSH_REASON_VIEW_ROOT_ENTERED); + } finally { + Trace.traceEnd(Trace.TRACE_TAG_VIEW); + } } private boolean draw(boolean fullRedrawNeeded) { @@ -3825,6 +3982,13 @@ public final class ViewRootImpl implements ViewParent, } } + void updateLocationInParentDisplay(int x, int y) { + if (mAttachInfo != null + && !mAttachInfo.mLocationInParentDisplay.equals(x, y)) { + mAttachInfo.mLocationInParentDisplay.set(x, y); + } + } + /** * Set the root-level system gesture exclusion rects. These are added to those provided by * the root's view hierarchy. @@ -4329,6 +4493,7 @@ public final class ViewRootImpl implements ViewParent, private static final int MSG_INSETS_CHANGED = 30; private static final int MSG_INSETS_CONTROL_CHANGED = 31; private static final int MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED = 32; + private static final int MSG_LOCATION_IN_PARENT_DISPLAY_CHANGED = 33; final class ViewRootHandler extends Handler { @Override @@ -4390,6 +4555,8 @@ public final class ViewRootImpl implements ViewParent, return "MSG_INSETS_CONTROL_CHANGED"; case MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED: return "MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED"; + case MSG_LOCATION_IN_PARENT_DISPLAY_CHANGED: + return "MSG_LOCATION_IN_PARENT_DISPLAY_CHANGED"; } return super.getMessageName(message); } @@ -4623,6 +4790,9 @@ public final class ViewRootImpl implements ViewParent, case MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED: { systemGestureExclusionChanged(); } break; + case MSG_LOCATION_IN_PARENT_DISPLAY_CHANGED: { + updateLocationInParentDisplay(msg.arg1, msg.arg2); + } break; } } } @@ -7829,6 +7999,17 @@ public final class ViewRootImpl implements ViewParent, mHandler.sendMessage(msg); } + /** + * Dispatch the offset changed. + * + * @param offset the offset of this view in the parent window. + */ + public void dispatchLocationInParentDisplayChanged(Point offset) { + Message msg = + mHandler.obtainMessage(MSG_LOCATION_IN_PARENT_DISPLAY_CHANGED, offset.x, offset.y); + mHandler.sendMessage(msg); + } + public void windowFocusChanged(boolean hasFocus, boolean inTouchMode) { synchronized (this) { mWindowFocusChanged = true; @@ -8356,6 +8537,14 @@ public final class ViewRootImpl implements ViewParent, } @Override + public void locationInParentDisplayChanged(Point offset) { + final ViewRootImpl viewAncestor = mViewAncestor.get(); + if (viewAncestor != null) { + viewAncestor.dispatchLocationInParentDisplayChanged(offset); + } + } + + @Override public void insetsChanged(InsetsState insetsState) { final ViewRootImpl viewAncestor = mViewAncestor.get(); if (viewAncestor != null) { diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index a25f2eede905..1f89de861111 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -261,6 +261,13 @@ public interface WindowManager extends ViewManager { int TRANSIT_TASK_CHANGE_WINDOWING_MODE = 27; /** + * A display which can only contain one task is being shown because the first activity is + * started or it's being turned on. + * @hide + */ + int TRANSIT_SHOW_SINGLE_TASK_DISPLAY = 28; + + /** * @hide */ @IntDef(prefix = { "TRANSIT_" }, value = { @@ -287,7 +294,8 @@ public interface WindowManager extends ViewManager { TRANSIT_TRANSLUCENT_ACTIVITY_OPEN, TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE, TRANSIT_CRASHING_ACTIVITY_CLOSE, - TRANSIT_TASK_CHANGE_WINDOWING_MODE + TRANSIT_TASK_CHANGE_WINDOWING_MODE, + TRANSIT_SHOW_SINGLE_TASK_DISPLAY }) @Retention(RetentionPolicy.SOURCE) @interface TransitionType {} diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 137b67c6e63e..9dc66d77ea44 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -413,6 +413,9 @@ public class WebView extends AbsoluteLayout if (getImportantForAutofill() == IMPORTANT_FOR_AUTOFILL_AUTO) { setImportantForAutofill(IMPORTANT_FOR_AUTOFILL_YES); } + if (getImportantForContentCapture() == IMPORTANT_FOR_CONTENT_CAPTURE_AUTO) { + setImportantForContentCapture(IMPORTANT_FOR_CONTENT_CAPTURE_YES); + } if (context == null) { throw new IllegalArgumentException("Invalid context argument"); @@ -2795,6 +2798,12 @@ public class WebView extends AbsoluteLayout mProvider.getViewDelegate().onProvideAutofillVirtualStructure(structure, flags); } + /** @hide */ + @Override + public void onProvideContentCaptureStructure(ViewStructure structure, int flags) { + mProvider.getViewDelegate().onProvideContentCaptureStructure(structure, flags); + } + @Override public void autofill(SparseArray<AutofillValue>values) { mProvider.getViewDelegate().autofill(values); diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java index c3bb9a0201d0..c55f7d654548 100644 --- a/core/java/android/widget/AdapterView.java +++ b/core/java/android/widget/AdapterView.java @@ -1318,7 +1318,8 @@ public abstract class AdapterView<T extends Adapter> extends ViewGroup { @ViewStructureType int viewFor, int flags) { super.onProvideStructure(structure, viewFor, flags); - if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL) { + if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL + || viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { final Adapter adapter = getAdapter(); if (adapter == null) return; diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a9e183ad5bf2..383d9b4e9c41 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -162,6 +162,8 @@ import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.AnimationUtils; import android.view.autofill.AutofillManager; import android.view.autofill.AutofillValue; +import android.view.contentcapture.ContentCaptureManager; +import android.view.contentcapture.ContentCaptureSession; import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.CompletionInfo; import android.view.inputmethod.CorrectionInfo; @@ -977,6 +979,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener if (getImportantForAutofill() == IMPORTANT_FOR_AUTOFILL_AUTO) { setImportantForAutofill(IMPORTANT_FOR_AUTOFILL_YES); } + if (getImportantForContentCapture() == IMPORTANT_FOR_CONTENT_CAPTURE_AUTO) { + setImportantForContentCapture(IMPORTANT_FOR_CONTENT_CAPTURE_YES); + } setTextInternal(""); @@ -10550,7 +10555,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } /** - * Notify managers (such as {@link AutofillManager}) that are interested in text changes. + * Notify managers (such as {@link AutofillManager} and {@link ContentCaptureManager}) that are + * interested on text changes. */ private void notifyListeningManagersAfterTextChanged() { @@ -10566,6 +10572,22 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener afm.notifyValueChanged(TextView.this); } } + + // TODO(b/121045053): should use a flag / boolean to keep status of SHOWN / HIDDEN instead + // of using isLaidout(), so it's not called in cases where it's laid out but a + // notifyAppeared was not sent. + + // ContentCapture + if (isLaidOut() && isImportantForContentCapture()) { + final ContentCaptureManager cm = mContext.getSystemService(ContentCaptureManager.class); + if (cm != null && cm.isContentCaptureEnabled()) { + final ContentCaptureSession session = getContentCaptureSession(); + if (session != null) { + // TODO(b/111276913): pass flags when edited by user / add CTS test + session.notifyViewTextChanged(getAutofillId(), getText()); + } + } + } } private boolean isAutofillable() { @@ -11409,7 +11431,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener final boolean isPassword = hasPasswordTransformationMethod() || isPasswordInputType(getInputType()); - if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL) { + if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL + || viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL) { structure.setDataIsSensitive(!mTextSetFromXmlOrResourceId); } @@ -11425,8 +11448,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } - if (!isPassword || viewFor == VIEW_STRUCTURE_FOR_AUTOFILL) { + if (!isPassword || viewFor == VIEW_STRUCTURE_FOR_AUTOFILL + || viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { if (mLayout == null) { + if (viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { + Log.w(LOG_TAG, "onProvideContentCaptureStructure(): calling assumeLayout()"); + } assumeLayout(); } Layout layout = mLayout; @@ -11514,7 +11541,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } - if (viewFor == VIEW_STRUCTURE_FOR_ASSIST) { + if (viewFor == VIEW_STRUCTURE_FOR_ASSIST + || viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { // Extract style information that applies to the TextView as a whole. int style = 0; int typefaceStyle = getTypefaceStyle(); @@ -11542,7 +11570,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener structure.setTextStyle(getTextSize(), getCurrentTextColor(), AssistStructure.ViewNode.TEXT_COLOR_UNDEFINED /* bgColor */, style); } - if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL) { + if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL + || viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { structure.setMinTextEms(getMinEms()); structure.setMaxTextEms(getMaxEms()); int maxLength = -1; diff --git a/core/java/com/android/internal/view/BaseIWindow.java b/core/java/com/android/internal/view/BaseIWindow.java index fb9ff15c79ac..f9cdf3d0be61 100644 --- a/core/java/com/android/internal/view/BaseIWindow.java +++ b/core/java/com/android/internal/view/BaseIWindow.java @@ -16,6 +16,7 @@ package com.android.internal.view; +import android.graphics.Point; import android.graphics.Rect; import android.hardware.input.InputManager; import android.os.Bundle; @@ -55,6 +56,10 @@ public class BaseIWindow extends IWindow.Stub { } @Override + public void locationInParentDisplayChanged(Point offset) { + } + + @Override public void insetsChanged(InsetsState insetsState) { } diff --git a/core/res/res/drawable/ic_audio_alarm.xml b/core/res/res/drawable/ic_audio_alarm.xml index 96206ea3ce57..93f9f8f99cdc 100644 --- a/core/res/res/drawable/ic_audio_alarm.xml +++ b/core/res/res/drawable/ic_audio_alarm.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="32.0dp" - android:height="32.0dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="48.0" android:viewportHeight="48.0" android:tint="?attr/colorControlNormal"> diff --git a/core/res/res/drawable/ic_audio_alarm_mute.xml b/core/res/res/drawable/ic_audio_alarm_mute.xml index 7f248c3b33e6..510a7c630fd2 100644 --- a/core/res/res/drawable/ic_audio_alarm_mute.xml +++ b/core/res/res/drawable/ic_audio_alarm_mute.xml @@ -14,8 +14,8 @@ Copyright (C) 2014 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="32.0dp" - android:height="32.0dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="48.0" android:viewportHeight="48.0" android:tint="?attr/colorControlNormal"> diff --git a/core/res/res/drawable/ic_battery_80_24dp.xml b/core/res/res/drawable/ic_battery_80_24dp.xml new file mode 100644 index 000000000000..2513d0d6d615 --- /dev/null +++ b/core/res/res/drawable/ic_battery_80_24dp.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="@android:color/white" + android:pathData="M9.5,2v2H7.33C6.6,4 6,4.6 6,5.33V15v5.67C6,21.4 6.6,22 7.33,22h9.33C17.4,22 18,21.4 18,20.67V15V5.33C18,4.6 17.4,4 16.67,4H14.5V2H9.5zM8,20v-5V6h8v9v5H8L8,20z"/> + <path + android:fillColor="@android:color/white" + android:pathData="M16.67,22H7.33C6.6,22 6,21.4 6,20.67V8h12v12.67C18,21.4 17.4,22 16.67,22z"/> +</vector>
\ No newline at end of file diff --git a/core/res/res/drawable/ic_bluetooth_share_icon.xml b/core/res/res/drawable/ic_bluetooth_share_icon.xml index 2152af55d5b6..6acfd57e669f 100644 --- a/core/res/res/drawable/ic_bluetooth_share_icon.xml +++ b/core/res/res/drawable/ic_bluetooth_share_icon.xml @@ -19,7 +19,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="@android:color/accent_device_default_light"> + android:tint="@*android:color/accent_device_default_light"> <path android:fillColor="@android:color/white" diff --git a/core/res/res/drawable/ic_corp_badge.xml b/core/res/res/drawable/ic_corp_badge.xml index 6a7ac4a20ff3..16df45290302 100644 --- a/core/res/res/drawable/ic_corp_badge.xml +++ b/core/res/res/drawable/ic_corp_badge.xml @@ -15,8 +15,8 @@ Copyright (C) 2018 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="48dp" - android:height="48dp" + android:width="24dp" + android:height="24dp" android:tint="@*android:color/accent_device_default_light" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/ic_file_copy.xml b/core/res/res/drawable/ic_file_copy.xml index b6d5e7328c40..d05b55f1279f 100644 --- a/core/res/res/drawable/ic_file_copy.xml +++ b/core/res/res/drawable/ic_file_copy.xml @@ -16,9 +16,10 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="@*android:color/material_grey_600" android:viewportWidth="24" android:viewportHeight="24"> <path android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z" - android:fillColor="#FF737373"/> + android:fillColor="@android:color/white"/> </vector> diff --git a/core/res/res/drawable/ic_qs_auto_rotate.xml b/core/res/res/drawable/ic_qs_auto_rotate.xml index 47e1059fab44..8858e2b778bb 100644 --- a/core/res/res/drawable/ic_qs_auto_rotate.xml +++ b/core/res/res/drawable/ic_qs_auto_rotate.xml @@ -16,8 +16,8 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="48dp" - android:width="48dp" + android:height="24dp" + android:width="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/core/res/res/drawable/ic_qs_battery_saver.xml b/core/res/res/drawable/ic_qs_battery_saver.xml index 93975b61948e..6e1ced083ba7 100644 --- a/core/res/res/drawable/ic_qs_battery_saver.xml +++ b/core/res/res/drawable/ic_qs_battery_saver.xml @@ -15,8 +15,8 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" - android:width="32.0dp" - android:height="32.0dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0" android:tint="?android:attr/colorControlNormal"> diff --git a/core/res/res/drawable/ic_qs_flashlight.xml b/core/res/res/drawable/ic_qs_flashlight.xml index e63595300d5f..59b0ccd493dd 100644 --- a/core/res/res/drawable/ic_qs_flashlight.xml +++ b/core/res/res/drawable/ic_qs_flashlight.xml @@ -15,8 +15,8 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="48dp" - android:height="48dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/core/res/res/drawable/perm_group_activity_recognition.xml b/core/res/res/drawable/perm_group_activity_recognition.xml index 0ade6c674171..ef025acbcb0c 100644 --- a/core/res/res/drawable/perm_group_activity_recognition.xml +++ b/core/res/res/drawable/perm_group_activity_recognition.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_aural.xml b/core/res/res/drawable/perm_group_aural.xml index b2737f24b86e..4b4c62cb73b6 100644 --- a/core/res/res/drawable/perm_group_aural.xml +++ b/core/res/res/drawable/perm_group_aural.xml @@ -16,6 +16,7 @@ Copyright (C) 2015 The Android Open Source Project <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/core/res/res/drawable/perm_group_calendar.xml b/core/res/res/drawable/perm_group_calendar.xml index 4b46dd36e3b1..0dfb30150535 100644 --- a/core/res/res/drawable/perm_group_calendar.xml +++ b/core/res/res/drawable/perm_group_calendar.xml @@ -17,13 +17,12 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="#000000" android:pathData="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99 0.9 -1.99 2L3 20c0 1.1 0.89 2 2 2h14c1.1 0 2-0.9 2-2V6c0-1.1-0.9-2-2-2zm0 16H5V10h14v10zm-4.5-7c-1.38 0-2.5 1.12-2.5 2.5s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5-1.12-2.5-2.5-2.5z" /> - <path - android:pathData="M0 0h24v24H0V0z" /> -</vector>
\ No newline at end of file +</vector> diff --git a/core/res/res/drawable/perm_group_call_log.xml b/core/res/res/drawable/perm_group_call_log.xml index 0dfdbee4e600..a37ed88bebfc 100644 --- a/core/res/res/drawable/perm_group_call_log.xml +++ b/core/res/res/drawable/perm_group_call_log.xml @@ -18,6 +18,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/core/res/res/drawable/perm_group_camera.xml b/core/res/res/drawable/perm_group_camera.xml index db7833f63faf..e65501c4efcc 100644 --- a/core/res/res/drawable/perm_group_camera.xml +++ b/core/res/res/drawable/perm_group_camera.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_contacts.xml b/core/res/res/drawable/perm_group_contacts.xml index b834a27bac4b..dd6ae210181f 100644 --- a/core/res/res/drawable/perm_group_contacts.xml +++ b/core/res/res/drawable/perm_group_contacts.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_location.xml b/core/res/res/drawable/perm_group_location.xml index a7fa52471ab4..a87fc0dc43df 100644 --- a/core/res/res/drawable/perm_group_location.xml +++ b/core/res/res/drawable/perm_group_location.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_microphone.xml b/core/res/res/drawable/perm_group_microphone.xml index 9b532c1a7376..a1ed72510cf8 100644 --- a/core/res/res/drawable/perm_group_microphone.xml +++ b/core/res/res/drawable/perm_group_microphone.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_phone_calls.xml b/core/res/res/drawable/perm_group_phone_calls.xml index 324d86492703..563222698b46 100644 --- a/core/res/res/drawable/perm_group_phone_calls.xml +++ b/core/res/res/drawable/perm_group_phone_calls.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> <path @@ -25,4 +26,4 @@ .37 2.33 .57 3.57 .57 .55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55 .45 -1 1-1h3.5c.55 0 1 .45 1 1 0 1.25 .2 2.45 .57 3.57 .11 .35 .03 .74-.25 1.02l-2.2 2.2z" /> -</vector>
\ No newline at end of file +</vector> diff --git a/core/res/res/drawable/perm_group_sensors.xml b/core/res/res/drawable/perm_group_sensors.xml index e4663d7206fc..f800965b6058 100644 --- a/core/res/res/drawable/perm_group_sensors.xml +++ b/core/res/res/drawable/perm_group_sensors.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> <path diff --git a/core/res/res/drawable/perm_group_sms.xml b/core/res/res/drawable/perm_group_sms.xml index ebcf3d1fcd82..44ccdd6394e6 100644 --- a/core/res/res/drawable/perm_group_sms.xml +++ b/core/res/res/drawable/perm_group_sms.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_storage.xml b/core/res/res/drawable/perm_group_storage.xml index 4b8965bd9ef8..fceda2b84885 100644 --- a/core/res/res/drawable/perm_group_storage.xml +++ b/core/res/res/drawable/perm_group_storage.xml @@ -17,6 +17,7 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/core/res/res/drawable/perm_group_visual.xml b/core/res/res/drawable/perm_group_visual.xml index 9b21c279e30a..bf3edea74199 100644 --- a/core/res/res/drawable/perm_group_visual.xml +++ b/core/res/res/drawable/perm_group_visual.xml @@ -16,11 +16,10 @@ Copyright (C) 2015 The Android Open Source Project <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#000000" android:pathData="M20,4v12H8V4H20 M20,2H8C6.9,2,6,2.9,6,4v12c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2L20,2z M2,6v14 c0,1.1,0.9,2,2,2h14v-2H4V6H2z M15.67,11l-2.5,2.98L11.5,11.8L9,15h10L15.67,11z" /> - <path - android:pathData="M0,0h24v24H0V0z" /> </vector> diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 7ee1f2a04980..a38c784e94ca 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Vingerafdrukikoon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"bestuur gesigstawinghardeware"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"bestuur gesigslothardeware"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Laat program toe om metodes te benut om gesigtemplate vir gebruik by te voeg en uit te vee."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"gebruik gesigstawinghardeware"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Laat die program toe om gesigstawinghardeware vir stawing te gebruik"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Gesigstawing"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"gebruik gesigslothardeware"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Laat die program toe om gesigslothardeware vir stawing te gebruik"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Gesigslot"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Skryf jou gesig weer in"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Skryf asseblief jou gesig weer in om herkenning te verbeter"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Kon nie gesigdata akkuraat vasvang nie. Probeer weer."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Kan nie gesig verifieer nie. Hardeware nie beskikbaar nie."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Probeer gesigstawing weer."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Probeer gesigslot weer."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Kan nie nuwe gesigdata berg nie. Vee eers \'n ou een uit."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Gesighandeling is gekanselleer"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Gesigstawing is deur gebruiker gekanselleer"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Gesighandeling is gekanselleer."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Gebruiker het gesigslot gekanselleer."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Te veel pogings. Probeer later weer."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Te veel pogings. Gesigstawing is gedeaktiveer."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Te veel pogings. Gesigslot is gedeaktiveer."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Kan nie gesig verifieer nie. Probeer weer."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Jy het nie gesigstawing opgestel nie"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Gesigstawing word nie op hierdie toestel gesteun nie"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"Jy het nie gesigslot opgestel nie."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Gesigslot word nie op hierdie toestel gesteun nie."</string> <string name="face_name_template" msgid="7004562145809595384">"Gesig <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index ebd79b28b2fc..78b46ef1a86a 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"የጣት አሻራ አዶ"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"የማረጋገጫ ሃርድዌር ፊትን ያስተዳድሩ"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"መተግበሪያው ጥቅም ላይ እንዲውሉ የፊት ቅንብር ደንቦችን ለማከል እና ለመሰረዝ የሚያስችሉ ስልቶችን እንዲያስጀምር ያስችለዋል።"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"የፊት ማረጋገጫ ሃርድዌር ይጠቀሙ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"መተግበሪያው የማረጋገጫ ሃርድዌር ለማረጋገጥ ሥራ እንዲጠቀም ያስችለዋል"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"በመልክ ማረጋገጥ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"የእርስዎን ፊት ዳግመኛ ያስመዝግቡ"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ማንነትን ለይቶ ማወቅን ለማሻሻል፣ እባክዎ የእርስዎን ፊት ዳግም ያስመዝግቡ"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ትክክለኛ የፊት ውሂብ ማንሳት አልተቻለም። እንደገና ይሞክሩ።"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"መልክን ማረጋገጥ አይቻልም። ሃርድዌር የለም።"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"በመልክ ማረጋገጥን እንደገና ይሞክሩ።"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"አዲስ የመልክ ውውሂብ ማስቀመጥ አልተቻለም። መጀመሪያ የድሮውን ይሰርዙት።"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"የመልክ ክወና ተሰርዟል"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"መልክን ማረጋገጥ በተጠቃሚ ተሰርዟል"</string> + <string name="face_error_canceled" msgid="283945501061931023">"የፊት ሥርዓተ ክወና ተሰርዟል።"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ከልክ በላይ ብዙ ሙከራዎች። በኋላ ላይ እንደገና ይሞክሩ።"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"በጣም ብዙ ሙከራዎች። የመልክ ማረጋገጫ ተሰናክሏል።"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ፊትን ማረጋገጥ አይቻልም። እንደገና ይሞክሩ።"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"የመልክ ማረጋገጫን አላቀናበሩም"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"የመልክ ማረጋገጫ መስጫ በዚህ መሣሪያ ላይ አይደገፍም።"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ፊት <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 99f3747b1855..dfc316cbf4fe 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -561,11 +561,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"رمز بصمة الإصبع"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"إدارة أجهزة مصادقة الوجه"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"السماح للتطبيق باستدعاء طرق لإضافة نماذج من الوجوه وحذفها"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"استخدام أجهزة مصادقة الوجه"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"السماح للتطبيق باستخدام أجهزة مصادقة الوجه"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"المصادقة بالوجه"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"إعادة تسجيل وجهك"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"لتحسين قدرة الجهاز على معرفة وجهك، يُرجى إعادة تسجيل الوجه."</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"تعذّر تسجيل بيانات دقيقة للوجه. حاول مرة أخرى."</string> @@ -591,15 +595,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"يتعذّر التحقُّق من الوجه. الجهاز غير مُتاح."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"جرِّب مصادقة الوجه مرة أخرى."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"يتعذَّر تخزين بيانات الوجه الجديد. احذف الوجه القديم أولاً."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"تم إلغاء عملية مصادقة الوجه."</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ألغَى المستخدم مصادقة الوجه."</string> + <string name="face_error_canceled" msgid="283945501061931023">"تمّ إلغاء عملية مصادقة الوجه."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"تمّ إجراء محاولات كثيرة. أعِد المحاولة لاحقًا."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"محاولات كثيرة جدًا. تم إيقاف مصادقة الوجه."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"يتعذّر التحقق من الوجه. حاول مرة أخرى."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"لم يسبق لك إعداد مصادقة الوجه."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"لا تتوفّر إمكانية مصادقة الوجه على هذا الجهاز."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"الوجه <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml index b44f052e3e8d..f9717034f7b5 100644 --- a/core/res/res/values-as/strings.xml +++ b/core/res/res/values-as/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ফিংগাৰপ্ৰিণ্ট আইকন"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"মুখমণ্ডল সত্যাপন হাৰ্ডৱেৰ পৰিচালনা কৰক"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"মুখমণ্ডলৰ টেম্প্লেট যোগ কৰাৰ বা মচাৰ পদ্ধতি কামত লগাবলৈ আহ্বান কৰিবলৈ এপটোক অনুমতি দিয়ে।"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"মুখমণ্ডল সত্যাপন হাৰ্ডৱেৰ ব্যৱহাৰ কৰক"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"বিশ্বাসযোগ্য়তা প্ৰমাণীকৰণৰ বাবে এপক মুখমণ্ডল সত্যাপন হাৰ্ডৱেৰ ব্য়ৱহাৰ কৰিবলৈ অনুমতি দিয়ে"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"মুখমণ্ডলৰ বিশ্বাসযোগ্যতাৰ প্ৰমাণীকৰণ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"আপোনাৰ মুখমণ্ডল পুনৰ পঞ্জীয়ণ কৰক"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"চিনাক্তকৰণৰ সুবিধাটো উন্নত কৰিবলৈ, অনুগ্ৰহ কৰি আপোনাৰ মুখমণ্ডল পুনৰ পঞ্জীয়ন কৰক"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"সঠিক মুখমণ্ডলৰ ডেটা কেপচাৰ নহ’ল। আকৌ চেষ্টা কৰক।"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"মুখমণ্ডল সত্যাপন কৰিব পৰা নগ’ল। হাৰ্ডৱেৰ নাই।"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"আকৌ মুখমণ্ডল সত্যাপন কৰিবলৈ চেষ্টা কৰক।"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"নতুন মুখমণ্ডলৰ ডেটা জমা কৰিব পৰা নাই। প্ৰথমে পুৰণি এখন মচক।"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"মুখমণ্ডলৰ প্ৰক্ৰিয়া বাতিল কৰা হ’ল"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ব্যৱহাৰকাৰীয়ে মুখমণ্ডল প্ৰমাণীকৰণ বাতিল কৰিছে"</string> + <string name="face_error_canceled" msgid="283945501061931023">"মুখমণ্ডলৰ প্ৰক্ৰিয়া বাতিল কৰা হ’ল।"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"অত্যধিক ভুল প্ৰয়াস। কিছুসময়ৰ পাছত আকৌ চেষ্টা কৰক।"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"অতি বেছি প্ৰয়াস। মুখমণ্ডল প্ৰমাণীকৰণ অক্ষম কৰা হ’ল।"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"মুখমণ্ডল সত্যাপন কৰিব পৰা নগ’ল। আকৌ চেষ্টা কৰক।"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"আপুনি মুখমণ্ডল প্ৰমাণীকৰণ ছেট আপ কৰা নাই"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"এই ডিভাইচটোত মুখমণ্ডল প্ৰমাণীকৰণ ব্যৱহাৰ কৰিব নোৱাৰি"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"মুখমণ্ডল <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml index 38e93d9f3a45..6eac6fef15e8 100644 --- a/core/res/res/values-az/strings.xml +++ b/core/res/res/values-az/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Barmaq izi ikonası"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"üz identifikasiyası proqramını idarə edin"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Proqramdan istifadə üçün barmaq izi şablonlarını əlavə etmək və silmək məqsədilə üsullara müraciət etməyə imkan verir."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"üz identifikasiyası proqramından istifadə edin"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Tətbiqin üz identifikasiyası proqramından identifikasiya zamanı istifadə etməsinə icazə verir"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Üz identifikasiyası"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Üzünüzü yenidən qeydiyyatdan keçirin"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Tanınmanı təkmilləşdirmək üçün üzünüzü yenidən qeydiyyatdan keçirin"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Dəqiq üz datası əldə edilmədi. Yenidən cəhd edin."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Üz doğrulanmadı. Avadanlıq əlçatan deyil."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Üz identifikasiyasını yenidən sınayın."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Yeni üz datası saxlanmadı. Əvvəlcə köhnə olanı silin."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Üz əməliyyatı ləğv edildi"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Üz dorğulaması istifadəçi tərəfindən ləğv edildi"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Üz əməliyyatı ləğv edildi."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Həddindən çox cəhd. Sonraya saxlayın."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Həddindən çox cəhd. Üz doğrulaması deaktiv edildi."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Üz doğrulanmadı. Yenidən cəhd edin."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Üz doğrulaması quraşdırmamısınız"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Üz doğrulaması bu cihazda dəstəklənmir"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Üz <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 5539515ad1d5..8f138d4c22aa 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -552,11 +552,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona otiska prsta"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"upravljanje hardv. za potvrdu identiteta pomoću lica"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Dozvoljava da aplikacija aktivira metode za dodavanje i brisanje šablona lica radi korišćenja."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"korišćenje hardv. za potvrdu identiteta pomoću lica"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Dozvoljava da aplikacija koristi hardver za potvrdu identiteta pomoću lica"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Potvrda identiteta licem"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Ponovo registrujte lice"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Da biste poboljšali prepoznavanje, ponovo registrujte lice"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Snimanje lica nije uspelo. Probajte ponovo."</string> @@ -582,15 +586,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Provera lica nije uspela. Hardver nije dostupan."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Probajte ponovo potvrdu identiteta pomoću lica."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Novi podaci o licu nisu sačuvani. Prvo izbrišete prethodne."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Obrada lica je otkazana"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Korisnik je otkazao potvrdu identiteta licem"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Obrada lica je otkazana."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Previše pokušaja. Probajte ponovo kasnije."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Previše pokušaja. Potvrda identiteta licem je onemogućena."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Provera lica nije uspela. Probajte ponovo."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Niste podesili potvrdu identiteta licem"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Prepoznavanje lica nije podržano na ovom uređaju"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Lice <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml index 5705e6162737..e3a55024a5b9 100644 --- a/core/res/res/values-be/strings.xml +++ b/core/res/res/values-be/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Значок адбіткаў пальцаў"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"кіраваць абсталяваннем для распазнавання твару"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Праграма зможа дадаваць і выдаляць шаблоны твару."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"карыстацца абсталяваннем для распазнавання твару"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Праграма зможа выкарыстоўваць абсталяванне распазнавання твару для аўтэнтыфікацыі"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Распазнаванне твару"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Паўтарыце рэгістрацыю твару"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Каб палепшыць распазнавальнасць, яшчэ раз выканайце рэгістрацыю твару"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Не атрымалася распазнаць твар. Паўтарыце спробу."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Твар не спраўджаны. Абсталяванне недаступнае."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Выканайце распазнаванне твару паўторна."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Новыя даныя пра твар не захаваны. Спачатку выдаліце старыя."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Распазнаванне твару скасавана"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Распазнаванне твару скасавана карыстальнікам"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Распазнаванне твару скасавана."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Занадта шмат спроб. Паўтарыце спробу пазней."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Занадта шмат спроб. Распазнаванне твару выключана."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Не ўдалося спраўдзіць твар. Паўтарыце спробу."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Вы не наладзілі распазнаванне твару"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"На гэтай прыладзе распазнаванне твару не падтрымліваецца"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Твар <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index 4027f0364f23..0e8555429ada 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Икона за отпечатък"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"управление на хардуера за удостоверяване с лице"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Разрешава на прил. да извиква методи за добавяне и изтриване на лицеви шаблони за ползване"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"използване на хардуера за удостоверяване с лице"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Разрешава на приложението при необходимост да използва хардуера за удостоверяване с лице"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Удостоверяване с лице"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Регистрирайте отново лицето си"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"С цел подобряване на разпознаването регистрирайте отново лицето си"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Лицето не бе заснето точно. Опитайте отново."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Лицето не може да се потвърди. Хардуерът не е налице."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Опитайте отново да удостоверите с лице."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Не може да се запази ново лице. Първо изтрийте старо."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Операцията с лице е анулирана"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Удостоверяването с лице е анулирано от потребителя"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Операцията с лице е анулирана."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Твърде много опити. Опитайте отново по-късно."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Твърде много опити. Удостоверяването с лице е деактивирано."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Лицето не може да се потвърди. Опитайте отново."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Не сте настроили удостоверяването с лице"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Удостоверяването с лице не се поддържа на това устройство"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Лице <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml index dbe3cd226ee6..8f1cf57e4906 100644 --- a/core/res/res/values-bn/strings.xml +++ b/core/res/res/values-bn/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"আঙ্গুলের ছাপ আইকন"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ফেস যাচাইকরণ হার্ডওয়্যার পরিচালনা করুন"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ব্যবহার করার জন্য ফেস টেম্পলেট যোগ করা এবং মোছার পদ্ধতি গ্রহণ করতে অ্যাপটিকে অনুমতি দেয়৷"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ফেস যাচাইকরণ হার্ডওয়্যার ব্যবহার করুন"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"প্রমাণীকরণের জন্য ফেস যাচাইকরণ হার্ডওয়্যার ব্যবহার করার অনুমতি অ্যাপটিকে দেয়"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ফেস যাচাইকরণ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"আপনার ফেস আবার এনরোল করুন"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"শনাক্তকরণের উন্নতি করতে আপনার ফেস আবার এনরোল করুন"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"মুখের সঠিক ডেটা পাওয়া যায়নি। আবার চেষ্টা করুন।"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ফেস যাচাই করা যায়নি। হার্ডওয়্যার উপলভ্য নেই।"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ফেস যাচাইকরণের ফিচার আবার ব্যবহার করুন।"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"নতুন ফেস ডেটা স্টোর করা যায়নি। প্রথমে পুরনোটি মুছে ফেলুন।"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ফেস যাচাই করার প্রসেস বাতিল করা হয়েছে"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ব্যবহারকারী মুখ শনাক্তকরণ প্রক্রিয়া বাতিল করেছেন"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ফেস অপারেশন বাতিল করা হয়েছে৷"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"অনেকবার চেষ্টা করা হয়েছে। পরে আবার চেষ্টা করুন।"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"অনেকবার চেষ্টা করেছেন। ফেস যাচাই করার ফিচারটি বন্ধ করা আছে।"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"আপনার মুখ যাচাই করা যাচ্ছে না। আবার চেষ্টা করুন।"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"ফেস যাচাই করার প্রক্রিয়াটি সেট-আপ করেননি"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"এই ডিভাইসে ফেস যাচাই করা যাবে না"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g> ফেস"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml index fb1b1b000802..5ef243c53027 100644 --- a/core/res/res/values-bs/strings.xml +++ b/core/res/res/values-bs/strings.xml @@ -552,11 +552,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona za otisak prsta"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"upravljanje hardverom za autentifikaciju licem"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Omogućava aplikaciji korištenje metoda za dodavanje i brisanje šablona lica za upotrebu."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"upotreba hardvera za autentifikaciju licem"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Omogućava aplikaciji da za autentifikaciju koristi hardver za autentifikaciju licem"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autentifikacija licem"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Ponovo registrirajte lice"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Ponovo registrirajte lice da poboljšate prepoznavanje"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Lice nije snimljeno precizno. Pokušajte ponovo."</string> @@ -582,15 +586,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Nije moguće potvrditi lice. Hardver nije dostupan."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Pokušajte ponovo s autentifikacijom lica."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nije moguće sačuvati nove podatke o licu. Prvo izbrišite stare."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Prepoznavanje lica je otkazano"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Korisnik je otkazao provjeru lica"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Prepoznavanje lica je otkazano."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Previše pokušaja. Pokušajte ponovo kasnije."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Previše pokušaja. Autentifikacija licem je onemogućena."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nije moguće potvrditi lice. Pokušajte ponovo."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Niste postavili autentifikaciju pomoću lica"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Autentifikacija pomoću lica nije podržana na ovom uređaju"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Lice <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index f94fcbb01392..2050de30a49d 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icona d\'empremta digital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gestiona el maquinari d\'autenticació facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permet que l\'aplicació afegeixi i suprimeixi plantilles de cares que es puguin fer servir."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"utilitza el maquinari d\'autenticació facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permet que l\'aplicació faci servir maquinari d\'autenticació facial"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticació facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Torna a registrar la cara"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Per millorar el reconeixement, torna a registrar la cara"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"No es reconeix la teva cara. Torna-ho a provar."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"No es pot verificar la cara. Maquinari no disponible."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Torna a provar l\'autenticació facial."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"No es poden desar dades facials noves. Suprimeix-ne d\'antigues."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"S\'ha cancel·lat el reconeixement facial"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"L\'usuari ha cancel·lat l\'autenticació facial"</string> + <string name="face_error_canceled" msgid="283945501061931023">"S\'ha cancel·lat el reconeixement facial."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Massa intents. Torna-ho a provar més tard."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Massa intents. S\'ha desactivat l\'autenticació facial."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"No es pot verificar la cara. Torna-ho a provar."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"No has configurat l\'autenticació facial"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"L\'autenticació facial no és compatible amb el dispositiu."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Cara <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index f2ed698fb4c0..6feb718f42f5 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona otisku prstů"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"správa hardwaru k ověření obličeje"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Umožňuje aplikaci volat metody k přidání a smazání šablon obličeje, které budou použity."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"použití hardwaru k ověření obličeje"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Umožňuje aplikaci provést ověření pomocí hardwaru k ověření obličeje"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Ověřování obličejem"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Zaznamenejte obličej znovu"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Chcete-li rozpoznání zdokonalit, zaznamenejte obličej znovu"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Obličej se nepodařilo zachytit. Zkuste to znovu."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Obličej nelze ověřit. Hardware není dostupný."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Zopakujte ověření obličeje."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Údaje o novém obličeji nelze uložit. Nejdřív vymažte starý."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operace snímání obličeje byla zrušena"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Ověření obličejem zrušil uživatel"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operace snímání obličeje byla zrušena."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Příliš mnoho pokusů. Zkuste to později."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Příliš mnoho pokusů. Ověření obličejem je vypnuto."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Obličej se nepodařilo ověřit. Zkuste to znovu."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Ověření obličejem nemáte nastavené"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ověření obličejem na tomto zařízení není podporováno"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Obličej <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index c2e8f6b5509a..ffa382b8849d 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikon for fingeraftryk"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"administrer hardware til ansigtsgenkendelse"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Tillader, at appen kan bruge metoder til at tilføje og slette ansigtsskabeloner."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"brug hardware til ansigtsgenkendelse"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Tillader, at appen bruger ansigtsgenkendelseshardware til godkendelse"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Ansigtsgodkendelse"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registrer dit ansigt igen"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Registrer dit ansigt igen for at forbedre genkendelsen af det"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Der blev ikke registreret ansigtsdata. Prøv igen."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Ansigt ikke bekræftet. Hardware ikke tilgængelig."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Prøv ansigtsgodkendelse igen."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Der kan ikke gemmes flere nye ansigter. Slet et gammelt."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Ansigtshandlingen blev annulleret"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Ansigtsgodkendelsen blev annulleret af brugeren"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Ansigtshandlingen blev annulleret."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Du har prøvet for mange gange. Prøv igen senere."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"For mange forsøg. Ansigtsgodkendelse er deaktiveret."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Ansigtet kan ikke genkendes. Prøv igen."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Du har ikke konfigureret ansigtsgodkendelse"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ansigtsgodkendelse understøttes ikke på denne enhed"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Ansigt <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index a6e89975c4d3..5e0ccd058d48 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingerabdruck-Symbol"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"Gesichtserkennungshardware verwalten"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Ermöglicht der App, Gesichtsvorlagen hinzuzufügen oder zu entfernen."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"Gesichtserkennungshardware verwenden"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Ermöglicht der App, für die Authentifizierung Gesichtserkennungshardware zu verwenden"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Gesichtserkennung"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Gesicht neu scannen lassen"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Für bessere Erkennung Gesicht neu scannen lassen"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Gesichtsdaten nicht gut erfasst. Erneut versuchen."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Gesicht nicht erkannt. Hardware nicht verfügbar."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Gesichtserkennung noch einmal versuchen."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Kein Speicherplatz frei. Bitte erst ein Gesicht löschen."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Gesichtserkennung abgebrochen"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Gesichtserkennung vom Nutzer abgebrochen"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Gesichtserkennung abgebrochen."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Zu viele Versuche, bitte später noch einmal versuchen"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Zu viele Versuche. Die Gesichtserkennung wurde deaktiviert."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Gesichtsprüfung nicht möglich. Noch mal versuchen."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Die Gesichtserkennung ist nicht eingerichtet"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Gesichtserkennung wird auf diesem Gerät nicht unterstützt"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Gesicht <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index 70a6681a325f..192388dd5690 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Εικονίδιο δακτυλικών αποτυπωμάτων"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"διαχείριση υλικολογισμ. ελέγχου ταυτότ. προσώπου"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"διαχείριση εξοπλισμού Face Unlock"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Επιτρέπει στην εφαρμογή να επικαλείται μεθόδους προσθήκης/διαγραφής προτύπων για χρήση."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"χρήση υλικολογισμικού ελέγχου ταυτότητας προσώπου"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Επιτρέπει στην εφαρμογή να χρησιμοποιεί υλικολογισμικό για έλεγχο ταυτότητας"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Έλεγχος ταυτότητας προσώπου"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"χρήση εξοπλισμού Face Unlock"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Επιτρέπει στην εφαρμογή να χρησιμοποιεί εξοπλισμό Face Unlock για έλεγχο ταυτότητας"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face Unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Εγγράψτε ξανά το πρόσωπό σας"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Για να βελτιώσετε την αναγνώριση, εγγράψτε ξανά το πρόσωπό σας"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Αδύνατη λήψη ακριβών δεδομ. προσώπου. Επανάληψη."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Αδύν. επαλήθ. προσώπου. Μη διαθέσιμος εξοπλισμός."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Επαναλάβετε τον έλεγχο ταυτότητας προσώπου."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Δοκιμάστε ξανά το Face Unlock."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Η αποθήκ. νέων δεδομ. προσώπ. είναι αδύν. Διαγρ. ένα παλιό."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Η λειτουργία προσώπου ακυρώθηκε"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Ο έλεγχ. ταυτότ. προσώπου ακυρώθηκε από τον χρήστη"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Η ενέργεια προσώπου ακυρώθηκε."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Το Face Unlock ακυρώθηκε από τον χρήστη."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Πάρα πολλές προσπάθειες. Δοκιμάστε ξανά αργότερα."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Υπερβ. πολλές προσπάθειες. Ο έλεγχ. ταυτ. προσώπου απενεργ."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Υπερβολικά πολλές προσπάθειες. Το Face Unlock απενεργοποιήθηκε."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Αδύνατη επαλήθευση του προσώπου. Επανάληψη."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Δεν έχετε ρυθμίσει τον έλεγχο ταυτότητας προσώπου"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ο έλεγχος ταυτότητας προσώπου δεν υποστηρίζεται στη συσκευή"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"Δεν έχετε ρυθμίσει το Face Unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Το Face Unlock δεν υποστηρίζεται σε αυτήν τη συσκευή."</string> <string name="face_name_template" msgid="7004562145809595384">"Πρόσωπο <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index 82972d9ee13d..84f1fafa49be 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingerprint icon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"manage face authentication hardware"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"manage Face Unlock hardware"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Allows the app to invoke methods to add and delete facial templates for use."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"use face authentication hardware"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Allows the app to use face authentication hardware for authentication"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Face Authentication"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"use Face Unlock hardware"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Allows the app to use Face Unlock hardware for authentication"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Re-enrol your face"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"To improve recognition, please re-enrol your face"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Couldn’t capture accurate face data. Try again."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Can’t verify face. Hardware not available."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Try face authentication again."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Try Face Unlock again."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Can’t store new face data. Delete an old one first."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Face operation cancelled"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Face authentication cancelled by user"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Face Unlock cancelled by user."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Too many attempts. Face authentication disabled."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Too many attempts. Face Unlock disabled."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Can’t verify face. Try again."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"You haven’t set up face authentication"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Face authentication is not supported on this device"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"You haven’t set up Face Unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face Unlock is not supported on this device."</string> <string name="face_name_template" msgid="7004562145809595384">"Face <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml index 0ededb833288..19b64c82d693 100644 --- a/core/res/res/values-en-rCA/strings.xml +++ b/core/res/res/values-en-rCA/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingerprint icon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"manage face authentication hardware"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"manage Face Unlock hardware"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Allows the app to invoke methods to add and delete facial templates for use."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"use face authentication hardware"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Allows the app to use face authentication hardware for authentication"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Face Authentication"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"use Face Unlock hardware"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Allows the app to use Face Unlock hardware for authentication"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Re-enrol your face"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"To improve recognition, please re-enrol your face"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Couldn’t capture accurate face data. Try again."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Can’t verify face. Hardware not available."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Try face authentication again."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Try Face Unlock again."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Can’t store new face data. Delete an old one first."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Face operation cancelled"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Face authentication cancelled by user"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Face Unlock cancelled by user."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Too many attempts. Face authentication disabled."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Too many attempts. Face Unlock disabled."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Can’t verify face. Try again."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"You haven’t set up face authentication"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Face authentication is not supported on this device"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"You haven’t set up Face Unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face Unlock is not supported on this device."</string> <string name="face_name_template" msgid="7004562145809595384">"Face <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index 82972d9ee13d..84f1fafa49be 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingerprint icon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"manage face authentication hardware"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"manage Face Unlock hardware"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Allows the app to invoke methods to add and delete facial templates for use."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"use face authentication hardware"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Allows the app to use face authentication hardware for authentication"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Face Authentication"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"use Face Unlock hardware"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Allows the app to use Face Unlock hardware for authentication"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Re-enrol your face"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"To improve recognition, please re-enrol your face"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Couldn’t capture accurate face data. Try again."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Can’t verify face. Hardware not available."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Try face authentication again."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Try Face Unlock again."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Can’t store new face data. Delete an old one first."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Face operation cancelled"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Face authentication cancelled by user"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Face Unlock cancelled by user."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Too many attempts. Face authentication disabled."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Too many attempts. Face Unlock disabled."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Can’t verify face. Try again."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"You haven’t set up face authentication"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Face authentication is not supported on this device"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"You haven’t set up Face Unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face Unlock is not supported on this device."</string> <string name="face_name_template" msgid="7004562145809595384">"Face <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 82972d9ee13d..84f1fafa49be 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingerprint icon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"manage face authentication hardware"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"manage Face Unlock hardware"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Allows the app to invoke methods to add and delete facial templates for use."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"use face authentication hardware"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Allows the app to use face authentication hardware for authentication"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Face Authentication"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"use Face Unlock hardware"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Allows the app to use Face Unlock hardware for authentication"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Re-enrol your face"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"To improve recognition, please re-enrol your face"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Couldn’t capture accurate face data. Try again."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Can’t verify face. Hardware not available."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Try face authentication again."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Try Face Unlock again."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Can’t store new face data. Delete an old one first."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Face operation cancelled"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Face authentication cancelled by user"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Face operation cancelled."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Face Unlock cancelled by user."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Too many attempts. Face authentication disabled."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Too many attempts. Face Unlock disabled."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Can’t verify face. Try again."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"You haven’t set up face authentication"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Face authentication is not supported on this device"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"You haven’t set up Face Unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face Unlock is not supported on this device."</string> <string name="face_name_template" msgid="7004562145809595384">"Face <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml index bbededf5c79d..0002e13f1183 100644 --- a/core/res/res/values-en-rXC/strings.xml +++ b/core/res/res/values-en-rXC/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingerprint icon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"manage face authentication hardware"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"manage face unlock hardware"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Allows the app to invoke methods to add and delete facial templates for use."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"use face authentication hardware"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Allows the app to use face authentication hardware for authentication"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Face Authentication"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"use face unlock hardware"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Allows the app to use face unlock hardware for authentication"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Re-enroll your face"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"To improve recognition, please re-enroll your face"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Couldn’t capture accurate face data. Try again."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Can’t verify face. Hardware not available."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Try face authentication again."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Try face unlock again."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Can’t store new face data. Delete an old one first."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Face operation canceled"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Face authentication canceled by user"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Face operation canceled."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Face unlock canceled by user."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Too many attempts. Try again later."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Too many attempts. Face authentication disabled."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Too many attempts. Face unlock disabled."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Can’t verify face. Try again."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"You haven’t set up face authentication"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Face authentication is not supported on this device"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"You haven’t set up face unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face unlock is not supported on this device."</string> <string name="face_name_template" msgid="7004562145809595384">"Face <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index 6fef44c8b0d3..07cae0a9b7af 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ícono de huella digital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"administrar el hardware de autenticación facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite que la app emplee métodos para agregar y borrar plantillas de rostros para su uso."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"usar el hardware de autenticación facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite que la app use el hardware de autenticación facial para reconocerte"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticación facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Vuelve a registrar tu rostro"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para mejorar el reconocimiento, vuelve a registrar tu rostro"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Datos faciales imprecisos. Vuelve a intentarlo."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"No se verificó el rostro. Hardware no disponible."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Vuelve a realizar la autenticación de rostro."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"No hay espacio para datos faciales nuevos. Borra uno viejo."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Se canceló el reconocimiento facial"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"El usuario canceló la autenticación facial"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Se canceló el reconocimiento facial."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Demasiados intentos. Inténtalo de nuevo más tarde."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Demasiados intentos. Se inhabilitó la autenticación facial."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"No se pudo verificar la cara. Vuelve a intentarlo."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"No configuraste la autenticación facial"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"No se admite la autenticación facial en este dispositivo"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Rostro <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 4a39018ab60f..7261eb012b26 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icono de huella digital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gestionar el hardware de autenticación facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite que la app use métodos para añadir y suprimir plantillas de caras para su uso."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"usar el hardware de autenticación facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite que la aplicación utilice el hardware de autenticación facial para autenticarte"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticación facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Volver a registrar la cara"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para mejorar el reconocimiento, vuelve a registrar tu cara"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Datos faciales no reconocidos. Vuelve a intentarlo."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"No se puede verificar. Hardware no disponible."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Vuelve a probar la autenticación facial."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Para guardar nuevos datos faciales, borra otros antiguos."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Se ha cancelado el reconocimiento facial"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"El usuario ha cancelado la autenticación facial"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Se ha cancelado el reconocimiento facial."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Demasiados intentos. Inténtalo de nuevo más tarde."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Muchos intentos. Se ha inhabilitado la autenticación facial."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"No se ha verificado tu cara. Vuelve a intentarlo."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"No has configurado la autenticación facial"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Autenticación facial no disponible en este dispositivo"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Cara <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml index d7de02f9ba97..42ce4ef4917f 100644 --- a/core/res/res/values-et/strings.xml +++ b/core/res/res/values-et/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Sõrmejälje ikoon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"hallata näo autentimise riistvara"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Lubab rakendusel tühistada meetodid kasutatavate näomallide lisamiseks ja kustutamiseks."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"kasutada näo autentimise riistvara"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Võimaldab rakendusel autentimiseks kasutada näo autentimise riistvara"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Näo autentimine"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registreerige oma nägu uuesti"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Tuvastamise parandamiseks registreerige oma nägu uuesti"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Näoandmeid ei saanud jäädvustada. Proovige uuesti."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Nägu ei saa kinnitada. Riistvara pole saadaval."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Proovige uuesti näo autentimist."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Uue näo andmeid ei saa salvestada. Kustutage enne vanad."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Näo autentimise toiming tühistati"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Kasutaja tühistas näo autentimise"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Näotuvastuse toiming tühistati."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Liiga palju katseid. Proovige hiljem uuesti."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Liiga palju katseid. Näo autentimine on keelatud."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nägu ei saa kinnitada. Proovige uuesti."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Näo autentimist ei ole seadistatud."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Seade ei toeta näo autentimist"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Nägu <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml index 4ec7c1c9285d..00e9de9ee3b3 100644 --- a/core/res/res/values-eu/strings.xml +++ b/core/res/res/values-eu/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Hatz-markaren ikonoa"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"kudeatu aurpegi bidez autentifikatzeko hardwarea"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Aurpegi-txantiloiak gehitu eta ezabatzeko metodoei dei egitea baimentzen dio aplikazioari."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"erabili aurpegi bidez autentifikatzeko hardwarea"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Aurpegi bidez autentifikatzeko hardwarea erabiltzea baimentzen dio aplikazioari"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Aurpegi bidezko autentifikazioa"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Erregistratu aurpegia berriro"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Ezagutzea hobetzeko, erregistratu aurpegia berriro"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Ezin izan dira bildu argazkiaren datu zehatzak. Saiatu berriro."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Ezin da egiaztatu aurpegia. Hardwarea ez dago erabilgarri."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Saiatu berriro aurpegi bidez autentifikatzen"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Ezin dira gorde aurpegiaren datu berriak. Ezabatu zaharrak."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Utzi da aurpegi bidezko eragiketa"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Erabiltzaileak utzi du aurpegi bidezko autentifikazioa"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Utzi da aurpegiaren bidezko eragiketa."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Saiakera gehiegi egin dituzu. Saiatu berriro geroago."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Saiakera gehiegi egin dira. Desgaitu da aurpegi bidezko autentifikazioa."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Ezin da egiaztatu aurpegia. Saiatu berriro."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Ez duzu konfiguratu aurpegi bidezko autentifikazioa"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Gailu honek ez du onartzen aurpegi bidezko autentifikazioa"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g> aurpegia"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index deb015c427e8..d8582ffa3fd4 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"نماد اثر انگشت"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"مدیریت سختافزار احراز هویت با چهره"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"به برنامه امکان میدهد روشهایی را برای افزودن و حذف الگوهای چهره جهت استفاده فرابخواند."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"استفاده از سختافزار احراز هویت با چهره"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"به برنامه امکان میدهد از سختافزار احراز هویت با چهره برای احراز هویت استفاده کند"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"احراز هویت با چهره"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ثبت مجدد چهره"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"برای بهبود تشخیص، لطفاً چهرهتان را دوباره ثبت کنید"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"دادههای دقیق چهره ضبط نشد. دوباره امتحان کنید."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"چهره تأیید نشد. سختافزار در دسترس نیست."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"احراز هویت با چهره با دوباره امتحان کنید."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"داده چهره جدید ذخیره نشد. اول داده چهره قدیمی را حذف کنید."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"عملیات شناسایی چهره لغو شد"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"احراز هویت چهره توسط کاربر لغو شد"</string> + <string name="face_error_canceled" msgid="283945501061931023">"عملیات شناسایی چهره لغو شد."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"تعداد زیادی تلاش ناموفق. بعداً دوباره امتحان کنید."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"تعداد تلاشها بیشازحد مجاز است. احرازهویت چهره غیرفعال شد."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"چهره تأیید نشد. دوباره امتحان کنید."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"احراز هویت چهره راهاندازی نشده است"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"احراز هویت چهره در این دستگاه پشتیبانی نمیشود."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"چهره <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 8dcf33856c88..921788fcb649 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Sormenjälkikuvake"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"hallinnoida kasvojentodennuslaitteistoa"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Sallii sovelluksen käyttää menetelmiä, joilla voidaan lisätä tai poistaa kasvomalleja."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"käyttää kasvojentodennuslaitteistoa"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Sallii sovelluksen käyttää todennuslaitteistoa todennukseen"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Kasvojentunnistus"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Lisää kasvot uudelleen"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Lisää kasvosi uudelleen tunnistamisen parantamiseksi"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Tarkan kasvodatan tallennus epäonnistui. Yritä uudelleen."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Kasvoja ei voi vahvistaa. Laitteisto ei käytettäv."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Yritä kasvojentunnistusta uudelleen."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Uutta kasvodataa ei voi tallentaa. Poista ensin vanhaa."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Kasvotoiminto peruutettu"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Käyttäjä peruutti kasvojentunnistuksen"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Kasvotoiminto peruutettu"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Liian monta yritystä. Yritä myöhemmin uudelleen."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Liian monta yritystä. Kasvojentunnistus poistettu käytöstä."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Kasvoja ei voi vahvistaa. Yritä uudelleen."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Et ole määrittänyt kasvojentunnistusta"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Tämä laite ei tue kasvojentunnistusta."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Kasvot <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index 3fc57f888c84..8f99e3de0f15 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icône d\'empreinte digitale"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gérer le matériel d\'authentification de visage"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permet à l\'appli d\'employer des méthodes d\'aj. et de suppr. de modèles de reconn. visage."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"utiliser le matériel d\'authentification de visage"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permet à l\'appli d\'utiliser du matériel de reconnaissance du visage pour l\'authentification"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Authentification du visage"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Inscrivez votre visage à nouveau"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Pour améliorer la reconnaissance, veuillez enregistrer à nouveau votre visage"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Imposs. capt. données visage précises. Réessayez."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Imposs. de vérif. visage. Matériel non accessible."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Réessayez l\'authentification du visage."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Impossible de stocker de nouveaux visages. Supprimez-en un."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Opération de reconnaissance du visage annulée"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Authentification du visage annulée par l\'utilisateur"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Opération de reconnaissance du visage annulée."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Trop de tentatives. Veuillez réessayer plus tard."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Trop de tentatives. Authentification du visage désactivée."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Impossible de vérifier le visage. Réessayez."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Vous n\'avez pas configuré l\'authentific. du visage"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Cet appareil ne prend pas en charge l\'authentific. du visage"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Visage <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index 364e87b5ab79..b55f2972770f 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icône d\'empreinte digitale"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gérer le matériel d\'authentification faciale"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Autorise l\'appli à invoquer des méthodes pour ajouter et supprimer des modèles de visages."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"utiliser le matériel d\'authentification faciale"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Autorise l\'appli à utiliser le matériel d\'authentification faciale pour l\'authentification"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Authentification faciale"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Enregistrer à nouveau votre visage"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Pour améliorer la reconnaissance, veuillez enregistrer à nouveau votre visage"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Capture du visage impossible. Réessayez."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Imposs. valider visage. Matériel non disponible."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Réessayez d\'activer l\'authentification faciale."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Impossible stocker nouv. visages. Veuillez en supprimer un."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Opération de reconnaissance faciale annulée"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Authentification faciale annulée par l\'utilisateur"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Opération de reconnaissance faciale annulée."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Trop de tentatives. Réessayez plus tard."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Trop de tentatives. Authentification faciale désactivée."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Impossible de valider votre visage. Réessayez."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"L\'authentification faciale n\'est pas configurée"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Appareil incompatible avec l\'authentification faciale"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Visage <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-gl-watch/strings.xml b/core/res/res/values-gl-watch/strings.xml index 5e52823477ca..701bda59d07c 100644 --- a/core/res/res/values-gl-watch/strings.xml +++ b/core/res/res/values-gl-watch/strings.xml @@ -21,5 +21,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="android_upgrading_apk" msgid="1090732262010398759">"Aplicación <xliff:g id="NUMBER_0">%1$d</xliff:g> de <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string> - <string name="permgrouplab_sensors" msgid="202675452368612754">"Sensores"</string> + <string name="permgrouplab_sensors" msgid="202675452368612754">"sensores"</string> </resources> diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml index 58212db944fb..5e497a0895f1 100644 --- a/core/res/res/values-gl/strings.xml +++ b/core/res/res/values-gl/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icona de impresión dixital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"xestionar hardware de autenticación facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite que a aplicación invoque métodos para engadir e eliminar modelos faciais de uso."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"usar hardware de autenticación facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite que a aplicación utilice hardware facial para a autenticación"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticación facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Volve inscribir a túa cara"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para mellorar o recoñecemento, inscribe de novo a túa cara"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Sen datos faciais exactos. Téntao de novo."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Sen verificar a cara. Hardware non dispoñible."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Tenta utilizar a autenticación facial de novo."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Para gardar novos datos faciais, elimina os antigos."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Cancelouse a operación relacionada coa cara"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"O usuario cancelou a autenticación facial"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Cancelouse a operación relacionada coa cara"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Demasiados intentos. Téntao de novo máis tarde."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Demasiados intentos. Desactivouse a autenticación facial."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Non se puido verificar a cara. Téntao de novo."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Non configuraches a autenticación facial"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Este dispositivo non é compatible coa autenticación facial"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Cara <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml index 9f13a9ae6819..c03db766d292 100644 --- a/core/res/res/values-gu/strings.xml +++ b/core/res/res/values-gu/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ફિંગરપ્રિન્ટ આયકન"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ચહેરા પ્રમાણીકરણના હાર્ડવેરને મેનેજ કરો"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ઍપને ઉપયોગ માટે ચહેરાના નમૂના ઉમેરવા અને ડિલીટ કરવાની પદ્ધતિને રદ કરવાની મંજૂરી આપે છે."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ચહેરા પ્રમાણીકરણના હાર્ડવેરનો ઉપયોગ કરો"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ઍપને પ્રમાણીકરણ માટે ચહેરા પ્રમાણીકરણના હાર્ડવેરનો ઉપયોગ કરવાની મંજૂરી આપે છે"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ચહેરાનું પ્રમાણીકરણ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"તમારા ચહેરાની ફરી નોંધણી કરાવો"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ઓળખવાની પ્રક્રિયાને બહેતર બનાવવા માટે કૃપા કરીને તમારા ચહેરાની ફરી નોંધણી કરાવો"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ચહેરાનો સચોટ ડેટા કૅપ્ચર ન થયો. ફરી પ્રયાસ કરો."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ચહેરો ચકાસી શકાતો નથી. હાર્ડવેર ઉપલબ્ધ નથી."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ચહેરા પ્રમાણીકરણનો ફરીથી પ્રયાસ કરી જુઓ."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"ચહેરાનો નવો ડેટા સ્ટોર કરી શકતાં નથી. પહેલા જૂનો ડિલીટ કરો."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ચહેરા સંબંધિત પ્રક્રિયા રદ કરવામાં આવી છે"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"વપરાશકર્તાએ ચહેરાનું પ્રમાણીકરણ રદ કર્યુ"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ચહેરા સંબંધિત કાર્યવાહી રદ કરવામાં આવી છે."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ઘણા બધા પ્રયત્નો. થોડા સમય પછી ફરી પ્રયાસ કરો."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ઘણા બધા પ્રયાસો. ચહેરાનું પ્રમાણીકરણ બંધ કરવામાં આવ્યું છે."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ચહેરો ચકાસી શકાતો નથી. ફરી પ્રયાસ કરો."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"તમે ચહેરાના પ્રમાણીકરણનું સેટઅપ કર્યું નથી"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"આ ડિવાઇસ પર ચહેરાનું પ્રમાણીકરણ કરવાની સુવિધા નથી"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ચહેરાનું <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 933a02460560..4eeb661e782e 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"फ़िंगरप्रिंट आइकॉन"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"चेहरे की पुष्टि करने वाला हार्डवेयर प्रबंधित करें"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ऐप्लिकेशन को चेहरे के टेम्पलेट इस्तेमाल के तरीके जोड़ने और मिटाने की मंज़ूरी मिलती है."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"चेहरे की पुष्टि करने वाला हार्डवेयर इस्तेमाल करें"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ऐप्लिकेशन को चेहरे की पुष्टि करने वाले हार्डवेयर का इस्तेमाल करने की मंज़ूरी मिलती है"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"चेहरे की पहचान"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"अपना चेहरा फिर से दर्ज करें"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"कृपया अपना चेहरा फिर से दर्ज करें ताकि आपको बेहतर तरीके से पहचाना जा सके"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"चेहरे से जुड़ा सटीक डेटा कैप्चर नहीं किया जा सका. फिर से कोशिश करें."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"चेहरा नहीं पहचान पा रहे. हार्डवेयर उपलब्ध नहीं है."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"चेहरे की पुष्टि के लिए फिर से कोशिश करें."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"चेहरे का नया डेटा सेव नहीं हो सकता. कोई पुराना डेटा मिटाएं."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"चेहरा पहचानने की कार्रवाई रद्द की गई"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"उपयोगकर्ता ने \'चेहरे की पहचान\' रद्द कर दी."</string> + <string name="face_error_canceled" msgid="283945501061931023">"चेहरा पहचानने की कार्रवाई रद्द की गई."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"कई बार कोशिश की गई. बाद में कोशिश करें."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"कई बार कोशिश की जा चुकी है. \'चेहरे की पहचान\' बंद कर दी गई."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"चेहरा नहीं पहचान पा रहे. फिर से कोशिश करें."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"आपने डिवाइस पर \'चेहरे की पहचान\' सेट नहीं की है."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"इस डिवाइस पर \'चेहरे की पहचान\' सुविधा काम नहीं करती."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"चेहरा <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index b55ff895636a..eb091047f4ff 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -552,11 +552,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona otiska prsta"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"upravljati hardverom za autentifikaciju lica"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Aplikaciji omogućuje pozivanje načina za dodavanje i brisanje predložaka lica za upotrebu."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"upotrebljavati hardver za autentifikaciju lica"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Aplikaciji omogućuje upotrebu hardvera za autentifikaciju lica radi autentifikacije"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autentifikacija licem"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Ponovo registrirajte svoje lice"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Za poboljšanje prepoznavanja ponovo registrirajte svoje lice"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Podaci o licu nisu točni. Pokušajte ponovo."</string> @@ -582,15 +586,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Lice nije potvrđeno. Hardver nije dostupan."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Pokušajte ponovo autentificirati lice."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Podaci o novom licu nisu pohranjeni. Izbrišite neko staro."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Otkazana je radnja s licem"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autentifikaciju lica otkazao je korisnik"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Otkazana je radnja s licem."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Previše pokušaja. Pokušajte ponovo kasnije."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Previše pokušaja. Autentifikacija lica onemogućena."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Lice nije potvrđeno. Pokušajte ponovo."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Niste postavili autentifikaciju lica"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Autentifikacija lica nije podržana na ovom uređaju"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Lice <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 0555c064f447..608a1217172e 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ujjlenyomat ikon"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"arcfelismerő hardver kezelése"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Engedélyezi, hogy az alkalmazás arcsablon-hozzáadási és -törlési metódusokat hívjon."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"arcfelismerő hardver használata"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Engedélyezi, hogy az alkalmazás hitelesítésre használja az arcfelismerő hardvert"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Arcfelismerés"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Rögzítsen újra képet az arcáról"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"A felismerés javítása érdekében rögzítsen újra az arcáról készített képet"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Sikertelen az arc pontos rögzítése. Próbálja újra."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Sikertelen arcellenőrzés. A hardver nem érhető el."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Próbálja újra az arcfelismerést."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nem tárolhatók újabb arcadatok. Törölje valamelyik arcot."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Az arccal kapcsolatos művelet megszakítva"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Az arc hitelesítését megszakította a felhasználó"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Az arccal kapcsolatos művelet törölve."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Túl sok próbálkozás. Próbálja újra később."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Túl sokszor próbálkozott. Arcfelismerés letiltva."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nem sikerült ellenőrizni az arcát. Próbálja újra."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Nem állította be az arcfelismerést"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Az eszköz nem támogatja az arcfelismerést"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g> arc"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml index 0253757a31a3..d99afcb9e9d9 100644 --- a/core/res/res/values-hy/strings.xml +++ b/core/res/res/values-hy/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Մատնահետքի պատկերակ"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"կառավարել դեմքի ճանաչման սարքը"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Հավելվածին թույլ է տալիս ավելացնել և հեռացնել դեմքի նմուշներ:"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"օգտագործել դեմքի ճանաչման սարքը"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Հավելվածին թույլ է տալիս օգտագործել նույնականացման համար նախատեսված սարքը"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Նույնականացում դեմքի միջոցով"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Նորից գրանցեք ձեր դեմքը"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Ճանաչումը լավացնելու համար նորից գրանցեք ձեր դեմքը"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Չհաջողվեց գրանցել դեմքի ճշգրիտ տվյալները։ Կրկնեք։"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Չհաջողվեց հաստատել դեմքը։ Սարքն անհասանելի է:"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Նորից փորձեք դեմքի ճանաչումը։"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Չհաջողվեց պահել նոր դեմքը։ Ջնջեք հին տարբերակը։"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Դեմքի ճանաչումը չեղարկվել է"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Դեմքի ճանաչումը չեղարկվել է օգտատիրոջ կողմից"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Դեմքի ճանաչումը չեղարկվել է։"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Չափից շատ փորձեր եք կատարել: Փորձեք ավելի ուշ:"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Չափազանց շատ փորձեր են արվել։ Դեմքի ճանաչումն անջատված է։"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Չհաջողվեց հաստատել դեմքը։ Նորից փորձեք։"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Դուք չեք կարգավորել դեմքի ճանաչումը"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Դեմքի ճանաչումն այս սարքում չի աջակցվում"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Դեմք <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index cb91f8505846..a3cc65277774 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikon sidik jari"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"kelola hardware autentikasi wajah"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"kelola hardware face unlock"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Mengizinkan apl memicu metode untuk menambah & menghapus template wajah untuk digunakan."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"gunakan hardware autentikasi wajah"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Mengizinkan aplikasi untuk menggunakan hardware autentikasi wajah untuk autentikasi"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autentikasi Wajah"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"gunakan hardware face unlock"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Mengizinkan aplikasi untuk menggunakan hardware face unlock untuk autentikasi"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Daftarkan kembali wajah Anda"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Untuk menyempurnakan pengenalan wajah, daftarkan kembali wajah Anda"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Tidak bisa mengambil data wajah akurat. Coba lagi."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Tidak dapat memverifikasi wajah. Hardware tidak tersedia."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Coba autentikasi wajah lagi."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Coba face unlock lagi."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Tidak dapat menyimpan data wajah. Hapus dahulu data lama."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Pemrosesan wajah dibatalkan"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autentikasi wajah dibatalkan oleh pengguna"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Pemrosesan wajah dibatalkan."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Face unlock dibatalkan oleh pengguna."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Terlalu banyak percobaan. Coba lagi nanti."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Terlalu banyak percobaan. Autentikasi wajah dinonaktifkan."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Terlalu banyak percobaan. Face unlock dinonaktifkan."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Tidak dapat memverifikasi wajah. Coba lagi."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Anda belum menyiapkan autentikasi wajah"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Autentikasi wajah tidak didukung di perangkat ini"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"Anda belum menyiapkan face unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face unlock tidak didukung di perangkat ini."</string> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g> wajah"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml index 945284672f91..00637a4e54c4 100644 --- a/core/res/res/values-is/strings.xml +++ b/core/res/res/values-is/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Fingrafaratákn"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"stjórna vélbúnaði andlitsgreiningar"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Leyfir forritinu að beita aðferðum til að bæta við og eyða andlitssniðmátum til notkunar."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"nota vélbúnað andlitsgreiningar"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Leyfir forritinu að nota andlitsgreiningarvélbúnað til auðkenningar"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Andlitsgreining"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Skráðu andlitið þitt aftur"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Skráðu andlitið þitt til að bæta kennsl"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Nákvæm andlitsgögn fengust ekki. Reyndu aftur."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Andlit ekki staðfest. Vélbúnaður er ekki tiltækur."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Prófaðu andlitsgreiningu aftur."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Ekki er hægt að vista ný andlitsgögn. Eyddu gömlu fyrst."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Hætt við andlitsgreiningu"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Notandi hætti við andlitsgreiningu"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Hætt við andlitsgreiningu."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Of margar tilraunir. Reyndu aftur síðar."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Of margar tilraunir. Slökkt á andlitsgreiningu."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Ekki tókst að staðfesta andlit. Reyndu aftur."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Þú hefur ekki sett upp andlitsgreiningu"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Andlitsgreining er ekki studd í þessu tæki."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Andlit <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index f0b17c39a77f..96d44c6c454c 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icona dell\'impronta digitale"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gestisci l\'hardware per l\'autenticazione dei volti"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"gestisci l\'hardware per Sblocco col sorriso"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Consente all\'app di richiamare i metodi per aggiungere e rimuovere i modelli di volti."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"utilizza l\'hardware per l\'autenticazione dei volti"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Consente all\'app di utilizzare hardware per l\'autenticazione dei volti"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticazione volti"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"utilizza l\'hardware per Sblocco col sorriso"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Consente all\'app di utilizzare hardware per l\'autenticazione con Sblocco col sorriso"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Sblocco col sorriso"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registra di nuovo il volto"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Per migliorare il riconoscimento, registra di nuovo il tuo volto"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Impossibile acquisire dati viso accurati. Riprova."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Imposs. verificare volto. Hardware non disponibile."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Riprova l\'autenticazione volti."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Riprova lo Sblocco col sorriso."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Imposs. salvare dati nuovi volti. Elimina un volto vecchio."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operazione associata al volto annullata"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autenticazione volti annullata dall\'utente"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operazione associata al volto annullata."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"Sblocco col sorriso annullato dall\'utente."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Troppi tentativi. Riprova più tardi."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Troppi tentativi. Autenticazione volti disattivata."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Troppi tentativi. Sblocco col sorriso disattivato"</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Impossibile verificare il volto. Riprova."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Non hai configurato l\'autenticazione volti"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Autenticazione volti non supportata su questo dispositivo"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"Non hai configurato lo Sblocco col sorriso."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"Sblocco col sorriso non supportato su questo dispositivo."</string> <string name="face_name_template" msgid="7004562145809595384">"Volto <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index 20c6aa3dd109..78085c72591e 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"סמל טביעת אצבע"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ניהול של חומרה של זיהוי פנים לצורך אימות"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"מאפשרת לאפליקציה להפעיל שיטות להוספה ומחיקה של תבניות פנים שבהן ייעשה שימוש."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"שימוש בחומרה של זיהוי פנים לצורך אימות"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"מאפשרת לאפליקציה להשתמש בחומרה של זיהוי פנים לצורך אימות"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"אימות פנים"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"יש לבצע רישום מחדש של הפנים שלך"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"לשיפור הזיהוי יש לבצע רישום מחדש של הפנים שלך"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"לא ניתן היה לקלוט את הפנים במדויק. יש לנסות שוב."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"לא ניתן לאמת את הפנים. החומרה לא זמינה."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"יש לנסות שוב את זיהוי הפנים לצורך אימות."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"לא ניתן לאחסן נתוני פנים. תחילה יש למחוק פנים ישנים."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"פעולת הפנים בוטלה"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"זיהוי הפנים בוטל על ידי המשתמש"</string> + <string name="face_error_canceled" msgid="283945501061931023">"פעולת הפנים בוטלה."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"יותר מדי ניסיונות. יש לנסות שוב מאוחר יותר."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"יותר מדי ניסיונות. אימות פנים הושבת."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"לא ניתן לאמת את הפנים. יש לנסות שוב."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"לא הגדרת אימות פנים"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"המכשיר הזה לא תומך באימות פנים"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"פנים <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 2fbdebc2823a..e71bc0a30172 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"指紋アイコン"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"顔認証ハードウェアの管理"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"使用する顔テンプレートの追加や削除を行うメソッドの呼び出しをアプリに許可します。"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"顔認証ハードウェアの使用"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"顔認証ハードウェアを認証に使用することをアプリに許可します"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"顔認証"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"顔の再登録"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"認識を改善するには、顔を再登録してください"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"顔を認識できませんでした。もう一度お試しください。"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"顔を確認できません。ハードウェアを利用できません。"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"顔認証をもう一度お試しください。"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"新しい顔データを保存できません。古いデータを削除してください。"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"顔の操作をキャンセルしました"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"顔の認証がユーザーによりキャンセルされました"</string> + <string name="face_error_canceled" msgid="283945501061931023">"顔の操作をキャンセルしました。"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"試行回数の上限です。後でもう一度お試しください。"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"入力回数が上限を超えました。顔認証が無効になりました。"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"顔を確認できません。もう一度お試しください。"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"顔認証を設定していません"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"顔認証はこのデバイスではご利用いただけません"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"顔 <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml index 299c3e1f9404..d9ae8ead5d43 100644 --- a/core/res/res/values-ka/strings.xml +++ b/core/res/res/values-ka/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"თითის ანაბეჭდის ხატულა"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"სახის ამოცნობის აპარატურის მართვა"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"საშუალებას აძლევს აპს, დაამატოს და წაშალოს სახეების შაბლონები."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"სახის ამოცნობის აპარატურის გამოყენება"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"საშუალებას აძლევს აპს, ავტორიზაციისთვის გამოიყენოს სახის ამოცნობის აპარატურა"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"სახის ამოცნობა"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"დაარეგისტრირეთ თქვენი სახე ხელახლა"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ამოცნობის გასაუმჯობესებლად, გთხოვთ, ხელახლა დაარეგისტრიროთ თქვენი სახე"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"სახის ზუსტი მონაცემები არ აღიბეჭდა. ცადეთ ხელახლა."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"სახე ვერ დასტურდება. აპარატი მიუწვდომელია."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ცადეთ ხელახლა სახის ამოცნობა."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"სახის ახალი მონაცემები ვერ ინახება. ჯერ ძველი წაშალეთ."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"სახის ოპერაცია გაუქმდა."</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"სახის ავთენტიფიკაცია გაუქმდა მომხმარებლის მიერ"</string> + <string name="face_error_canceled" msgid="283945501061931023">"სახის ამოცნობა გაუქმდა."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"დაფიქსირდა ბევრი მცდელობა. ცადეთ მოგვიანებით."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"მეტისმეტად ბევრი მცდელობა იყო. სახის ამოცნობა გათიშულია."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"სახის დადასტურება ვერ ხერხდება. ცადეთ ხელახლა."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"თქვენ არ დაგიყენებიათ სახის ავთენტიფიკაცია"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"სახის ავთენტიფიკაცია ამ მოწყობილობაზე მხარდაჭერილი არ არის"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"სახე <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml index 9cd94fcd9fe6..cb43ba04a85b 100644 --- a/core/res/res/values-kk/strings.xml +++ b/core/res/res/values-kk/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Саусақ ізі белгішесі"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"бетті тану жабдығын басқару"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Қолданбаға пайдаланатын бет үлгілерін енгізу және жою әдістерін шақыруға мүмкіндік береді."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"бетті тану жабдығын пайдалану"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Қолданбаға бетті тану жабдығын қолдануға рұқсат етеді"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Бетті тану"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Бетті қайта тіркеу"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Құрылғы жүзіңізді жақсырақ тануы үшін, бетіңізді қайта тіркеңіз."</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Бет деректері дұрыс алынбады. Әрекетті қайталаңыз."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Бетті тану мүмкін емес. Жабдық қолжетімді емес."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Құрылғы бетіңізді танымады. Қайталап көріңіз."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Жаңа бетті сақтау мүмкін емес. Алдымен ескісін жойыңыз."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Бетті танудан бас тартылды."</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Пайдаланушы бетті тану әрекетінен бас тартты."</string> + <string name="face_error_canceled" msgid="283945501061931023">"Бетті танудан бас тартылды."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Тым көп әрекет жасалды. Кейінірек қайталаңыз."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Тым көп әрекет жасалды. Бетті тану функциясы өшірілді."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Бетті тану мүмкін емес. Әрекетті қайталаңыз."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Бетті тану функциясы реттелмеген."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Бетті тану функциясын бұл құрылғы қолдамайды."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g> беті"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml index 9f3453219ab7..f1a573eeef95 100644 --- a/core/res/res/values-km/strings.xml +++ b/core/res/res/values-km/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"រូបតំណាងស្នាមម្រាមដៃ"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"គ្រប់គ្រងផ្នែករឹងផ្ទៀងផ្ទាត់ផ្ទៃមុខ"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"អនុញ្ញាតឱ្យកម្មវិធីប្រើវិធីសាស្ត្រដើម្បីបញ្ចូល និងលុបទម្រង់គំរូផ្ទៃមុខសម្រាប់ប្រើប្រាស់។"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ប្រើផ្នែករឹងផ្ទៀងផ្ទាត់ផ្ទៃមុខ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"អនុញ្ញាតឱ្យកម្មវិធីប្រើផ្នែករឹងផ្ទៀងផ្ទាត់ផ្ទៃមុខសម្រាប់ការផ្ទៀងផ្ទាត់"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ការផ្ទៀងផ្ទាត់មុខ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ស្កេនបញ្ចូលមុខរបស់អ្នកម្ដងទៀត"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ដើម្បីធ្វើឱ្យការសម្គាល់មុខប្រសើរជាងមុន សូមស្កេនបញ្ចូលមុខរបស់អ្នកម្ដងទៀត"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"មិនអាចថតទិន្នន័យទម្រង់មុខបានត្រឹមត្រូវទេ។ សូមព្យាយាមម្ដងទៀត។"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"មិនអាចផ្ទៀងផ្ទាត់មុខបានទេ។ មិនមានហាតវែរទេ។"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"សាកល្បងផ្ទៀងផ្ទាត់មុខម្ដងទៀត។"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"មិនអាចផ្ទុកទិន្នន័យទម្រង់មុខថ្មីបានទេ។ សូមលុបទិន្នន័យទម្រង់មុខចាស់ជាមុនសិន។"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"បានបោះបង់ប្រតិបត្តិការចាប់ទម្រង់មុខ"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ការផ្ទៀងផ្ទាត់មុខត្រូវបានបោះបង់ដោយអ្នកប្រើប្រាស់"</string> + <string name="face_error_canceled" msgid="283945501061931023">"បានបោះបង់ប្រតិបត្តិការចាប់ផ្ទៃមុខ។"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ព្យាយាមចូលច្រើនពេកហើយ។ សូមព្យាយាមម្តងទៀតពេលក្រោយ។"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ព្យាយាមចូលច្រើនពេក។ បានបិទការផ្ទៀងផ្ទាត់មុខ។"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"មិនអាចផ្ទៀងផ្ទាត់មុខបានទេ។ សូមព្យាយាមម្ដងទៀត។"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"អ្នកមិនទាន់រៀបចំការផ្ទៀងផ្ទាត់មុខនៅឡើយទេ"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"មិនអាចប្រើការផ្ទៀងផ្ទាត់មុខនៅលើឧបករណ៍នេះបានទេ"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ផ្ទៃមុខទី <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml index 521343b076b5..fa42a603ce89 100644 --- a/core/res/res/values-kn/strings.xml +++ b/core/res/res/values-kn/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ಬೆರಳಚ್ಚು ಐಕಾನ್"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ಮುಖ ದೃಢೀಕರಣ ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"ಬಳಕೆಗೆ ಮುಖದ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಸೇರಿಸಲು ಮತ್ತು ಅಳಿಸಲು ವಿಧಾನಗಳನ್ನು ಮನವಿ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ಮುಖ ದೃಢೀಕರಣ ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ಬಳಸಿ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ಧೃಡೀಕರಣಕ್ಕಾಗಿ ಮುಖದ ಹಾರ್ಡ್ವೇರ್ ಬಳಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ಮುಖ ಗುರುತಿಸುವಿಕೆ"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಹಾರ್ಡ್ವೇರ್ ಬಳಸಿ"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"ಪ್ರಮಾಣೀಕರಣಕ್ಕಾಗಿ ಫೇಸ್ ಅನ್ಲಾಕ್ ಹಾರ್ಡ್ವೇರ್ ಬಳಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"ಫೇಸ್ ಅನ್ಲಾಕ್"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ನಿಮ್ಮ ಮುಖವನ್ನು ಮರುನೋಂದಣಿ ಮಾಡಿ"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ಗುರುತಿಸುವಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ನಿಮ್ಮ ಮುಖವನ್ನು ಮರುನೋಂದಣಿ ಮಾಡಿ"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ಸರಿಯಾಗಿ ಮುಖ ಕ್ಯಾಪ್ಚರ್ ಮಾಡಲಾಗಲಿಲ್ಲ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ಮುಖ ದೃಢೀಕರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಹಾರ್ಡ್ವೇರ್ ಲಭ್ಯವಿಲ್ಲ."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ಮುಖ ದೃಢೀಕರಣ ಹಾರ್ಡ್ವೇರ್ ಅನ್ನು ಬಳಸಿ ನೋಡಿ."</string> + <string name="face_error_timeout" msgid="981512090365729465">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string> <string name="face_error_no_space" msgid="2712120617457553825">"ಹೊಸ ಮುಖ ಡೇಟಾ ಸಂಗ್ರಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮೊದಲು ಹಳೆಯದನ್ನು ಅಳಿಸಿ"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ಮುಖದ ಕಾರ್ಯಚರಣೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ಮುಖ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಬಳಕೆದಾರರು ರದ್ದುಗೊಳಿಸಿದ್ದಾರೆ"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ಮುಖದ ಕಾರ್ಯಚರಣೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಬಳಕೆದಾರರು ರದ್ದುಗೊಳಿಸಿದ್ದಾರೆ."</string> <string name="face_error_lockout" msgid="3407426963155388504">"ಹಲವು ಬಾರಿ ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ. ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ಹಲವಾರು ಪ್ರಯತ್ನಗಳು. ಮುಖ ಗುರುತಿಸುವಿಕೆ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"ಹಲವು ಬಾರಿ ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ. ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ಮುಖವನ್ನು ದೃಢೀಕರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"ಮುಖ ಗುರುತಿಸುವಿಕೆಯನ್ನು ನೀವು ಸೆಟಪ್ ಮಾಡಿಲ್ಲ"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ಈ ಸಾಧನದಲ್ಲಿ ಮುಖ ಗುರುತಿಸುವಿಕೆ ವೈಶಿಷ್ಟ್ಯವು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"ನೀವು ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿಲ್ಲ."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"ಈ ಸಾಧನದಲ್ಲಿ ಫೇಸ್ ಅನ್ಲಾಕ್ ವೈಶಿಷ್ಟ್ಯವು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ."</string> <string name="face_name_template" msgid="7004562145809595384">"ಮುಖದ <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 32f7eecb6a91..8bdb19d0dcb3 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"지문 아이콘"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"얼굴 인증 하드웨어 관리"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"사용할 얼굴 템플릿의 추가 및 삭제 메서드를 앱에서 호출하도록 허용합니다."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"얼굴 인증 하드웨어 사용"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"앱에서 얼굴 인증 하드웨어를 인증에 사용하도록 허용합니다."</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"얼굴 인증"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"얼굴 재등록 필요"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"인식률을 개선하려면 얼굴을 다시 등록하세요."</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"정확한 얼굴 데이터를 캡처하지 못했습니다. 다시 시도하세요."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"얼굴을 확인할 수 없습니다. 하드웨어를 사용할 수 없습니다."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"얼굴 인증을 다시 시도해 보세요."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"새 얼굴 데이터를 저장할 수 없습니다. 먼저 기존 얼굴 데이터를 삭제하세요."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"얼굴 인식 작업이 취소되었습니다."</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"사용자가 얼굴 인증을 취소했습니다."</string> + <string name="face_error_canceled" msgid="283945501061931023">"얼굴 인식 작업이 취소되었습니다."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"시도 횟수가 너무 많습니다. 나중에 다시 시도하세요."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"시도 횟수가 너무 많습니다. 얼굴 인증이 사용 중지되었습니다."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"얼굴을 확인할 수 없습니다. 다시 시도하세요."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"얼굴 인증을 설정하지 않았습니다."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"이 기기에서는 얼굴 인증이 지원되지 않습니다."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"얼굴 <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml index f10c0575f1fa..4d1d0f43a58e 100644 --- a/core/res/res/values-ky/strings.xml +++ b/core/res/res/values-ky/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Манжа изинин сүрөтчөсү"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"жүздүн аныктыгын текшерүүчү аппараттык камсыздоону башкаруу"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Колдонмого пайдалануу үчүн жүздүн үлгүлөрүн кошуу жана жок кылуу мүмкүндүгүн берет."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"жүздүн аныктыгын текшерүүчү аппараттык камсыздоону колдонуу"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Колдонмого аныктыгын текшерүү үчүн жүздүн аныктыгын текшерүүчү аппараттык камсыздоону пайдалануу мүмкүндүгүн берет"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Жүздүн аныктыгын текшерүү"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Жүзүңүздү кайра таанытыңыз."</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Мыкты таануу үчүн, жүзүңүздү кайра таанытыңыз"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Жүзүңүз жакшы тартылган жок. Кайра аракет кылыңыз."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Жүз ырасталбай жатат. Аппараттык камсыздоо жеткиликсиз."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Жүздүн аныктыгын кайра текшерип көрүңүз"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Жаңы жүздү сактоо мүмкүн эмес. Адегенде эскисин өчүрүңүз."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Жүздүн аныктыгын текшерүү жокко чыгарылды"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Жүздүн аныктыгын текшерүү колдонуучу аркылуу жокко чыгарылды"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Жүздүн аныктыгын текшерүү жокко чыгарылды."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Өтө көп жолу аракет жасадыңыз. Кийинчерээк кайра аракет кылыңыз."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Өтө көп аракеттер аткарылды. Жүздүн аныктыгын текшерүү өчүк."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Жүз ырасталбай жатат. Кайра аракет кылыңыз."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Жүздүн аныктыгын текшерүүнү жөндөй элексиз"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Жүздүн аныктыгын текшерүү бул түзмөктө колдоого алынбайт"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Жүз <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml index 85957c06a003..bfc999e1a1d1 100644 --- a/core/res/res/values-lo/strings.xml +++ b/core/res/res/values-lo/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ໄອຄອນລາຍນິ້ວມື"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ຈັດການຮາດແວການກວດສອບຄວາມຖືກຕ້ອງດ້ວຍໃບໜ້າ"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ອະນຸຍາດໃຫ້ແອັບເປີດວິທີການຕ່າງໆເພື່ອເພີ່ມ ແລະ ລຶບແມ່ແບບໃບໜ້າສຳລັບການນຳໃຊ້."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ໃຊ້ຮາດແວການກວດສອບຄວາມຖືກຕ້ອງດ້ວຍໃບໜ້າ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ອະນຸຍາດໃຫ້ແອັບໃຊ້ຮາດແວການກວດສອບຄວາມຖືກຕ້ອງດ້ວຍໃບໜ້າສຳລັບການກວດສອບຄວາມຖືກຕ້ອງ"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ການພິສູດຢືນຢັນດ້ວຍໃບໜ້າ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ລົງທະບຽນໃບໜ້າຂອງທ່ານຄືນໃໝ່"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ເພື່ອປັບປຸງການຈຳແນກ, ກະລຸນາລົງທະບຽນໃບໜ້າຂອງທ່ານຄືນໃໝ່."</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ບໍ່ສາມາດບັນທຶກຂໍ້ມູນໃບໜ້າທີ່ຖືກຕ້ອງໄດ້. ກະລຸນາລອງໃໝ່."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ບໍ່ສາມາດຢັ້ງຢືນໃບໜ້າໄດ້. ບໍ່ມີຮາດແວໃຫ້ໃຊ້."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ລອງໃຊ້ການພິສູດຢືນຢັນໃບໜ້າອີກເທື່ອໜຶ່ງ"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"ບໍ່ສາມາດບັນທຶກຂໍ້ມູນໃບໜ້າໃໝ່ໄດ້. ກະລຸນາລຶບຂໍ້ມູນເກົ່າອອກກ່ອນ."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ຍົກເລີກການດຳເນີນການກັບໃບໜ້າແລ້ວ"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ຜູ້ໃຊ້ຍົກເລີກການພິສູດຢືນຢັນໃບໜ້າແລ້ວ"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ຍົກເລີກການດຳເນີນການກັບໃບໜ້າແລ້ວ."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ມີຄວາມພະຍາຍາມຫຼາຍຄັ້ງເກີນໄປ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ພະຍາຍາມຫຼາຍເທື່ອເກີນໄປ. ປິດການພິສູດຢືນຢັນດ້ວຍໃບໜ້າແລ້ວ."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ບໍ່ສາມາດຢັ້ງຢືນໃບໜ້າໄດ້. ກະລຸນາລອງໃໝ່."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"ທ່ານຍັງບໍ່ໄດ້ຕັ້ງຄ່າການພິສູດຢືນຢັນດ້ວຍໃບໜ້າເທື່ອ"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ບໍ່ຮອງຮັບການພິສູດຢືນຢັນໃບໜ້າຢູ່ອຸປະກອນນີ້"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ໃບໜ້າ <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index d1fc5fa1056e..3deae1387b0e 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Piršto antspaudo piktograma"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"tvarkyti veido autentifikavimo aparatinę įrangą"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Programai leidžiama aktyv. metodus, norint pridėti ir ištrinti naudojamus veidų šablonus."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"naudoti veido autentifikavimo aparatinę įrangą"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Programai leidžiama naudoti veido autentifikavimo aparatinę įrangą tapatybei nustatyti"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Veido autentifikavimas"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Pakartotinis veido registravimas"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Kad patobulintumėte atpažinimą, iš naujo užregistruokite veidą"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Neužfiks. tikslūs veido duom. Bandykite dar kartą."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Nepavyko patv. veido. Aparatinė įranga negalima."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Bandykite naudoti veido autentifikavimą dar kartą."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nepavyko išs. naujų veido duomenų. Pirm. ištrinkite senus."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Veido atpažinimo operacija atšaukta"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Veido autentifikavimą atšaukė naudotojas"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Veido atpažinimo operacija atšaukta."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Per daug bandymų. Vėliau bandykite dar kartą."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Per daug bandymų. Veido autentifikavimas išjungtas."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nepavyko patvirtinti veido. Bandykite dar kartą."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Nenustatėte veido autentifikavimo"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Veido autentifikavimo funkcija šiame įrenginyje nepalaikoma"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g> veidas"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index efbb677267e8..77ce8558dd3f 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -552,11 +552,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Pirksta nospieduma ikona"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"pārvaldīt sejas autentifikācijas aparatūru"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Atļauj lietotnei izsaukt metodes izmantojamo sejas veidņu pievienošanai un dzēšanai."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"izmantot sejas autentifikācijas aparatūru"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Atļauj lietotnei izmantot sejas autentifikācijas aparatūru autentificēšanai"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Sejas autentificēšana"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Atkārtoti reģistrējiet seju"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Lai uzlabotu atpazīšanu, lūdzu, atkārtoti reģistrējiet savu seju"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Neizdevās tvert sejas datus. Mēģiniet vēlreiz."</string> @@ -582,15 +586,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Nevar verificēt seju. Aparatūra nav pieejama."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Vēlreiz veiciet sejas autentificēšanu."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nevar saglabāt jaunās sejas datus. Dzēsiet kādu no vecajām."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Darbība ar sejas datiem atcelta"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Lietotājs atcēla sejas autentificēšanu"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Darbība ar sejas datiem atcelta."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Pārāk daudz mēģinājumu. Vēlāk mēģiniet vēlreiz."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Pārāk daudz mēģinājumu. Sejas autentificēšana ir atspējota."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nevar verificēt seju. Mēģiniet vēlreiz."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Sejas autentifikācija nav iestatīta"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Sejas autentificēšana šajā ierīcē netiek atbalstīta"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Seja <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml index a0088a813dac..0d085c8295d3 100644 --- a/core/res/res/values-mk/strings.xml +++ b/core/res/res/values-mk/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Икона за отпечатоци"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"управува со хардвер за проверка на лице"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Дозволува апликац. да повика начини за додавање и бришење шаблони на лице за користење."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"користи хардвер за проверка на лице"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Дозволува апликацијата да користи хардвер за лице за проверка"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Проверка на лик"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Повторно регистрирајте го ликот"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"За да се подобри препознавањето, повторно регистрирајте го ликот"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Не се сними прецизна слика. Обидете се повторно."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Ликот не може да се потврди. Хардвер - недостапен."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Пробајте ја проверката на лице повторно."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Не зачувува податоци за нов лик. Прво избришете стар."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Операцијата со лик се откажа"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Проверката на ликот е откажана од корисникот"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Операцијата со лице се откажа."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Премногу обиди. Обидете се повторно подоцна."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Премногу обиди. Проверката на лик е оневозможена."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Ликот не може да се потврди. Обидете се повторно."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Не сте поставиле проверка на лик"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Проверката на лик не е поддржана на уредов"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Лице <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml index 9503bf48ba44..c5d8d4e65a3f 100644 --- a/core/res/res/values-ml/strings.xml +++ b/core/res/res/values-ml/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"വിരലടയാള ഐക്കൺ"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"മുഖം തിരിച്ചറിയൽ ഹാർഡ്വെയർ മാനേജ് ചെയ്യുക"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ഉപയോഗിക്കാനായി, മുഖത്തിന്റെ ടെംപ്ലേറ്റുകൾ ചേർക്കാനും ഇല്ലാതാക്കാനുമുള്ള രീതികൾ അഭ്യർത്ഥിക്കാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"മുഖം തിരിച്ചറിയൽ ഹാർഡ്വെയർ ഉപയോഗിക്കുക"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"പരിശോധിച്ചുറപ്പിക്കലിനായി മുഖം തിരിച്ചറിയൽ ഹാർഡ്വെയർ ഉപയോഗിക്കാൻ ആപ്പിനെ അനുവദിക്കുന്നു"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"നിങ്ങളുടെ മുഖം വീണ്ടും എൻറോൾ ചെയ്യൂ"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"തിരിച്ചറിയൽ മെച്ചപ്പെടുത്താൻ, നിങ്ങളുടെ മുഖം ദയവായി വീണ്ടും എൻറോൾ ചെയ്യൂ"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"കൃത്യ മുഖ ഡാറ്റ എടുക്കാനായില്ല. വീണ്ടും ശ്രമിക്കൂ."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"മുഖം പരിശോധിക്കാൻ കഴിയില്ല. ഹാർഡ്വെയർ ലഭ്യമല്ല."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"മുഖം പരിശോധിച്ചുറപ്പിക്കാൻ വീണ്ടും ശ്രമിക്കുക."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"പുതിയ മുഖ ഡാറ്റ സംഭരിക്കാനാകില്ല. ആദ്യം പഴയത് ഇല്ലാതാക്കുക."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"മുഖം തിരിച്ചറിയൽ പ്രവർത്തനം റദ്ദാക്കി"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ ഉപയോക്താവ് റദ്ദാക്കി"</string> + <string name="face_error_canceled" msgid="283945501061931023">"മുഖത്തിന്റെ പ്രവർത്തനം റദ്ദാക്കി."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"നിരവധി തവണ ശ്രമിച്ചു. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"വളരെയധികം ശ്രമങ്ങൾ. മുഖം തിരിച്ചറിയൽ പ്രവർത്തനരഹിതമാക്കി."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"മുഖം പരിശോധിക്കാൻ കഴിയില്ല. വീണ്ടും ശ്രമിക്കൂ."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"നിങ്ങൾ മുഖം പരിശോധിച്ചുറപ്പിക്കൽ സജ്ജീകരിച്ചില്ല"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ഈ ഉപകരണം മുഖം പരിശോധിച്ചുറപ്പിക്കൽ പിന്തുണയ്ക്കുന്നില്ല"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"മുഖം <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml index 0711a809f248..13417f2846ae 100644 --- a/core/res/res/values-mn/strings.xml +++ b/core/res/res/values-mn/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Хурууны хээний дүрс"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"царай танилтын техник хангамжийг удирдах"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Аппад царайны загварыг ашиглахын тулд нэмэх эсвэл устгах аргыг идэвхжүүлэхийг зөвшөөрдөг."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"царай танилтын техник хангамжийг ашиглах"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Аппад царай танилтын техник хангамжийг баталгаажуулалтад ашиглахыг зөвшөөрдөг"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Царайн нотолгоо"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Царайгаа дахин бүртгүүлнэ үү"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Танилтыг сайжруулахын тулд царайгаа дахин бүртгүүлнэ үү"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Царайн өгөгдлийг зөв авч чадсангүй. Дахин оролдоно уу."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Царайг бататгаж чадсангүй. Техник хангамж боломжгүй байна."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Царайн нотолгоог дахин оролдоно уу."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Царайн шинэ өгөгдлийг хадгалж чадсангүй. Эхлээд хуучин өгөгдлийг устгана уу."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Царайн үйл ажиллагааг цуцаллаа"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Хэрэглэгч царайн нотолгоог цуцалсан байна"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Царайны үйл ажиллагааг цуцаллаа."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Хэт олон удаа оролдлоо. Дараа дахин оролдоно уу."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Хэт олон удаа оролдлоо. Царайн нотолгоог идэвхгүй болголоо."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Царайг бататгаж чадсангүй. Дахин оролдоно уу."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Та царайн нотолгоог тохируулаагүй байна"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Царайн нотолгоог энэ төхөөрөмж дээр дэмждэггүй"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Царай <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index 73c0b423e7e6..f4ef749382c8 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"फिंगरप्रिंट आयकन"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"चेहरा ऑथेंटिकेशन हार्डवेअर व्यवस्थापित करा"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"अॅपला वापरासाठी चेहरा टेम्पलेट जोडण्याच्या आणि हटवण्याच्या पद्धती जारी करू देते."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"चेहरा ऑथेंटिकेशन हार्डवेअर वापरा"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"अॅपला चेहरा ऑथेंटिकेशनसाठी ऑथेंटिकेशन हार्डवेअर वापरू देते"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"फेस ऑथेंटिकेशन"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"तुमच्या चेहऱ्याची पुन्हा नोंदणी करा"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ओळखण्यामध्ये सुधारणा करण्यासाठी, कृपया तुमच्या चेहऱ्याची पुन्हा नोंदणी करा"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"अचूक फेस डेटा कॅप्चर करता आला नाही. पुन्हा करा."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"चेहरा पडताळू शकत नाही. हार्डवेअर उपलब्ध नाही."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"चेहरा ऑथेंटिकेशनचा पुन्हा प्रयत्न करा"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"नवीन फेस डेटा स्टोअर करू शकत नाही. आधी जुना हटवा."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"फेस ऑपरेशन रद्द केले आहे"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"वापरकर्त्याने फेस ऑथेंटिकेशन रद्द केले आहे"</string> + <string name="face_error_canceled" msgid="283945501061931023">"चेहरा ऑपरेशन रद्द केले गेले."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"खूप जास्त प्रयत्न केले. नंतर पुन्हा प्रयत्न करा."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"बरेच प्रयत्न. फेस ऑथेंटिकेशन बंद केले आहे."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"चेहरा पडताळणी करू शकत नाही. पुन्हा प्रयत्न करा."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"तुम्ही फेस ऑथेंटिकेशन सेट केले नाही"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"या डिव्हाइसवर फेस ऑथेंटिकेशन ला सपोर्ट होत नाही"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"चेहरा <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml index 5edfc634a927..2961f379899a 100644 --- a/core/res/res/values-ms/strings.xml +++ b/core/res/res/values-ms/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikon cap jari"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"urus perkakasan pengesahan wajah"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Membenarkan apl menggunakan kaedah untuk menambahkan dan memadamkan templat wajah untuk digunakan."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"gunakan perkakasan pengesahan wajah"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Membenarkan apl menggunakan perkakasan pengesahan wajah untuk pengesahan"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Pengesahan Wajah"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Daftarkan semula wajah anda"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Untuk meningkatkan pengecaman, sila daftarkan semula wajah anda"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Gagal menangkap data wajah dgn tepat. Cuba lagi."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Tdk dpt sahkan wajah. Perkakasan tidak tersedia."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Cuba pengesahan wajah sekali lagi."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Tdk dpt menyimpan data wajah baharu. Padamkan yg lama dahulu."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Pengendalian wajah dibatalkan"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Pengesahan wajah dibatalkan oleh pengguna"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Pengendalian wajah dibatalkan."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Terlalu banyak percubaan. Cuba sebentar lagi."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Terlalu banyak percubaan. Pengesahan wajah dilumpuhkan."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Tidak dapat mengesahkan wajah. Cuba lagi."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Anda belum menyediakan pengesahan wajah"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Pengesahan wajah tidak disokong pada peranti ini"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Wajah <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml index 50b3372bac41..f59301af883a 100644 --- a/core/res/res/values-my/strings.xml +++ b/core/res/res/values-my/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"လက်ဗွေ အိုင်ကွန်"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"မျက်နှာအထောက်အထားစိစစ်ခြင်း စက်ပစ္စည်းကို စီမံပါ"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"မျက်နှာမှတ် သော့ဖွင့်ခြင်း စက်ပစ္စည်းကို စီမံခြင်း"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"အသုံးပြုရန်အတွက် မျက်နှာပုံစံထည့်ရန် (သို့) ဖျက်ရန်နည်းလမ်းကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"မျက်နှာအထောက်အထားစိစစ်ခြင်း စက်ပစ္စည်းကို သုံးပါ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"အထောက်အထားစိစစ်ရန်အတွက် ဤအက်ပ်အား မျက်နှာအထောက်အထားစိစစ်ခြင်း စက်ပစ္စည်းကိုသုံးခွင့်ပြုသည်"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"မျက်နှာ စိစစ်ခြင်း"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"မျက်နှာမှတ် သော့ဖွင့်ခြင်း စက်ပစ္စည်းကို သုံးပါ"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"အထောက်အထားစိစစ်ရန်အတွက် ဤအက်ပ်အား မျက်နှာမှတ်သော့ဖွင့်ခြင်း စက်ပစ္စည်းကိုသုံးခွင့်ပြုသည်"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"မျက်နှာမှတ် သော့ဖွင့်ခြင်း"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"သင့်မျက်နှာကို စာရင်းပြန်သွင်းပါ"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ပိုမှတ်မိစေရန် သင့်မျက်နှာကို စာရင်းပြန်သွင်းပါ"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"မျက်နှာဒေတာ အမှန် မရိုက်ယူနိုင်ပါ၊ ထပ်စမ်းကြည့်ပါ။"</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"မျက်နှာကို အတည်ပြု၍ မရပါ။ ဟာ့ဒ်ဝဲ မရနိုင်ပါ။"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"မျက်နှာဖြင့် ထပ်မံ၍ အထောက်အထား စိစစ်ကြည့်ပါ။"</string> + <string name="face_error_timeout" msgid="981512090365729465">"မျက်နှာမှတ် သော့ဖွင့်ခြင်းကို ထပ်စမ်းကြည့်ပါ။"</string> <string name="face_error_no_space" msgid="2712120617457553825">"မျက်နှာဒေတာအသစ် သိမ်း၍မရပါ။ အဟောင်းကို အရင်ဖျက်ပါ။"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"မျက်နှာဆိုင်ရာ ဆောင်ရွက်မှုကို ပယ်ဖျက်လိုက်ပါပြီ"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"အသုံးပြုသူက မျက်နှာအထောက်အထားစိစစ်မှု မလုပ်တော့ပါ"</string> + <string name="face_error_canceled" msgid="283945501061931023">"မျက်နှာ ဆောင်ရွက်ခြင်းကို ပယ်ဖျက်လိုက်ပါပြီ။"</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"မှတ်နှာမှတ် သော့ဖွင့်ခြင်းကို အသုံးပြုသူက မလုပ်တော့ပါ။"</string> <string name="face_error_lockout" msgid="3407426963155388504">"အကြိမ်များစွာ စမ်းပြီးပါပြီ။ နောက်မှထပ်စမ်းပါ။"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"စမ်းသပ်ကြိမ် များနေပြီ။ မျက်နှာစိစစ်ခြင်း ပိတ်လိုက်သည်။"</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"စမ်းသပ်ကြိမ် များနေပြီ။ မျက်နှာမှတ် သော့ဖွင့်ခြင်းကို ပိတ်လိုက်ပါပြီ။"</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"မျက်နှာကို အတည်ပြု၍ မရပါ။ ထပ်စမ်းကြည့်ပါ။"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"မျက်နှာ အထောက်အထားစိစစ်ခြင်းကို ထည့်သွင်းမထားပါ"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ဤစက်ပစ္စည်းတွင် မျက်နှာအထောက်အထား စိစစ်ခြင်းကို သုံး၍မရပါ"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"မျက်နှာမှတ် သော့ဖွင့်ခြင်းကို ထည့်သွင်းမထားပါ"</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"ဤစက်ပစ္စည်းတွင် မျက်နှာမှတ် သော့ဖွင့်ခြင်းကို သုံး၍မရပါ။"</string> <string name="face_name_template" msgid="7004562145809595384">"မျက်နှာ <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index 58c032b092bb..11cc95fda2a4 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikon for fingeravtrykk"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"administrere maskinvare for ansiktsautentisering"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Lar appen bruke metoder for å legge til og slette ansiktmaler for bruk."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"bruke maskinvare for ansiktsautentisering"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Lar appen bruke maskinvare for ansiktsautentisering til autentisering"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Ansiktsautentisering"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registrer ansiktet ditt på nytt"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"For å forbedre gjenkjennelse, registrer ansiktet ditt på nytt"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Kunne ikke ta opp nøyaktige ansiktsdata Prøv igjen"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Kan ikke bekrefte ansikt. Utilgjengelig maskinvare."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Prøv ansiktsautentisering igjen."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Kan ikke lagre nye ansiktsdata. Slett gamle data først."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Ansiktsoperasjonen ble avbrutt"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Ansiktsautentiseringen ble avbrutt av brukeren"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Ansikt-operasjonen ble avbrutt."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"For mange forsøk. Prøv igjen senere."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"For mange forsøk. Ansiktsautentisering er slått av."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Kan ikke bekrefte ansiktet. Prøv igjen."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Du har ikke konfigurert ansiktsautentisering"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ansiktsautentisering støttes ikke på denne enheten"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Ansikt <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml index 534752a0e90b..db9ca870b02e 100644 --- a/core/res/res/values-ne/strings.xml +++ b/core/res/res/values-ne/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"फिंगरप्रिन्ट आइकन"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"अनुहार प्रमाणिकरण हार्डवेयर व्यवस्थापन गर्नुहोस्"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"अनुप्रयोगलाई प्रयोगका लागि अनुहार टेम्प्लेट थप्न र मेटाउने तरिका आह्वान गर्न अनुमति दिन्छ।"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"अनुहार प्रमाणिकरण हार्डवेयर प्रयोग गर्नुहोस्"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"अनुप्रयोगलाई प्रमाणीकरणका लागि अनुहार प्रमाणीकरण हार्डवेयर प्रयोग गर्न अनुमति दिन्छ"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"अनुहार प्रमाणीकरण"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"आफ्नो अनुहार पुनः दर्ता गर्नुहोस्"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"अनुहार पहिचानको गुणस्तर सुधार गर्न कृपया आफ्नो अनुहार पुनः दर्ता गर्नुहोस्"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"अनुहारको सटीक डेटा खिच्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"अनुहार पुष्टि गर्न सकिएन। हार्डवेयर उपलब्ध छैन।"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"फेरि अनुहारको प्रमाणीकरण गरी हेर्नुहोस्।"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"अनुहारसम्बन्धी नयाँ डेटा भण्डारण गर्न सकिएन। पहिले कुनै पुरानो डेटा मेटाउनुहोस्।"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"अनुहार पहिचान गर्ने सुविधा रद्द गरियो"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"प्रयोगकर्ताले अनुहार प्रमाणीकरण सेवा रद्द गर्नुभयो"</string> + <string name="face_error_canceled" msgid="283945501061931023">"अनुहार पहिचान रद्द गरियो।"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"धेरैपटक प्रयासहरू भए। पछि फेरि प्रयास गर्नुहोस्।"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"अत्यधिक प्रयासहरू भए। अनुहार प्रमाणीकरण गर्ने सुविधा असक्षम पारियो।"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"अनुहार पुष्टि गर्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"तपाईंले अनुहार प्रमाणीकरण गर्ने सुविधा सेट अप गर्नुभएको छैन"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"यस यन्त्रमा अनुहार प्रमाणीकरण गर्ने सुविधा प्रयोग गर्न मिल्दैन"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"अनुहार <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index fe106e1d5c45..b583c73c3974 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Vingerafdruk-pictogram"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"hardware voor gezichtsherkenning beheren"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Hiermee kan de app methoden aanroepen om gezichtstemplates toe te voegen en te verwijderen voor gebruik."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"hardware voor gezichtsherkenning gebruiken"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Hiermee kan de app hardware voor gezichtsherkenning gebruiken voor verificatie"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Gezichtsherkenning"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Je gezicht opnieuw registreren"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Registreer je gezicht opnieuw om de herkenning te verbeteren"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Geen accurate gegevens. Probeer het nog eens."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Kan gezicht niet verifiëren. Hardware niet beschikbaar."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Probeer de gezichtsverificatie opnieuw."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Kan nieuwe gezichten niet opslaan. Verwijder eerst een oude."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Gezichtsbewerking geannuleerd"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Gezichtsverificatie geannuleerd door gebruiker"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Bewerking voor gezichtsherkenning geannuleerd."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Te veel pogingen. Probeer het later opnieuw."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Te veel pogingen. Gezichtsherkenning uitgeschakeld."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Kan gezicht niet verifiëren. Probeer het nog eens."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Je hebt gezichtsverificatie niet ingesteld"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Gezichtsverificatie wordt niet ondersteund op dit apparaat"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Gezicht <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml index 7e79f2148b7f..112f974f0156 100644 --- a/core/res/res/values-or/strings.xml +++ b/core/res/res/values-or/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ଆଇକନ୍"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ଫେସ୍ ପ୍ରମାଣୀକରଣ ହାର୍ଡୱେର୍ର ପରିଚାଳନା କରନ୍ତୁ"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ବ୍ୟବହାର ପାଇଁ ଆପ୍କୁ ଫେସିଆଲ୍ ଟେମ୍ପଲେଟ୍ ଯୋଡିବା ଓ ଡିଲିଟ୍ ର ପଦ୍ଧତି ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ଫେସ୍ ପ୍ରମାଣୀକରଣ ହାର୍ଡୱେର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ଫେସ୍ ପ୍ରମାଣୀକରଣ ହାର୍ଡୱେର୍ର ପ୍ରମାଣ ପାଇଁ ଆପ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ମୁହଁ ପ୍ରାମାଣିକତା"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ଆପଣଙ୍କର ମୁହଁ ପୁଣି-ଏନ୍ରୋଲ୍ କରନ୍ତୁ"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ଚିହ୍ନଟକରଣକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ଦୟାକରି ଆପଣଙ୍କର ମୁହଁ ପୁଣି-ଏନ୍ରୋଲ୍ କରନ୍ତୁ।"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ମୁହଁର ଡାଟା କ୍ୟାପଚର୍ ହେଲାନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ମୁହଁ ଚିହ୍ନଟ କରିପାରିଲା ନାହିଁ। ହାର୍ଡୱେୟାର୍ ଉପଲବ୍ଧ ନାହିଁ।"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ପୁଣି ମୁହଁ ପ୍ରାମାଣିକତା କରନ୍ତୁ।"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"ନୂଆ ମୁହଁ ଡାଟା ଷ୍ଟୋର୍ ହେବ ନାହିଁ। ପ୍ରଥମେ ପୁରୁଣାକୁ ଡିଲିଟ୍ କରନ୍ତୁ।"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ମୁହଁ ପ୍ରମାଣିକିକରଣ ପ୍ରକ୍ରିୟା ବାତିଲ୍ ହୋଇଛି"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ଉପଯୋଗକର୍ତ୍ତା ମୁହଁ ପ୍ରମାଣିକିକରଣ ବାତିଲ୍ କରିଛନ୍ତି"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ଫେସ୍ର ଅପରେଶନ୍ କ୍ୟାନ୍ସଲ୍ ହୋଇଗଲା"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ବାରମ୍ବାର ଚେଷ୍ଟା। ପରେ ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ଅତ୍ୟଧିକ ପ୍ରଚେଷ୍ଟା. ମୁହଁ ପ୍ରମାଣିକିକରଣ ଅକ୍ଷମ ହୋଇଛି।"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ମୁହଁ ଚିହ୍ନଟ କରିପାରିଲା ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"ଆପଣ ମୁହଁ ପ୍ରମାଣିକିକରଣ ସେଟ୍ ଅପ୍ କରିନାହାଁନ୍ତି"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ଏହି ଡିଭାଇସ୍ରେ ମୁହଁ ପ୍ରମାଣିକିକରଣ ସମର୍ଥିତ ନୁହେଁ"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"<xliff:g id="FACEID">%d</xliff:g>ଙ୍କ ଫେସ୍"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml index e6c8bfca000e..fcdc90045b22 100644 --- a/core/res/res/values-pa/strings.xml +++ b/core/res/res/values-pa/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਪ੍ਰਤੀਕ"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਹਾਰਡਵੇਅਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ਐਪ ਨੂੰ ਵਰਤਣ ਲਈ ਚਿਹਰਾ ਟੈਮਪਲੇਟ ਸ਼ਾਮਲ ਕਰਨ ਜਾਂ ਮਿਟਾਉਣ ਦੀਆਂ ਵਿਧੀਆਂ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦਿੰਦੀ ਹੈ।"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਹਾਰਡਵੇਅਰ ਵਰਤੋ"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ਐਪ ਨੂੰ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਹਾਰਡਵੇਅਰ ਵਰਤਣ ਦਿੰਦੀ ਹੈ"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ਆਪਣਾ ਚਿਹਰਾ ਮੁੜ-ਦਰਜ ਕਰੋ"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"ਪਛਾਣ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਚਿਹਰੇ ਨੂੰ ਮੁੜ-ਦਰਜ ਕਰੋ"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ਸਟੀਕ ਚਿਹਰਾ ਡਾਟਾ ਕੈਪਚਰ ਨਹੀਂ ਹੋਇਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ਚਿਹਰੇ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਹੋ ਸਕੀ। ਹਾਰਡਵੇਅਰ ਉਪਲਬਧ ਨਹੀਂ।"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਦੁਬਾਰਾ ਵਰਤ ਕੇ ਦੇਖੋ।"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"ਨਵਾਂ ਚਿਹਰਾ ਡਾਟਾ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਪਹਿਲਾਂ ਪੁਰਾਣਾ ਹਟਾਓ।"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ਚਿਹਰਾ ਪਛਾਣਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਰੱਦ ਕੀਤੀ ਗਈ"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਨੂੰ ਰੱਦ ਕੀਤਾ ਗਿਆ"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ਚਿਹਰਾ ਪਛਾਣਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਰੱਦ ਕੀਤੀ ਗਈ।"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ਹੱਦੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ਾਂ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ। ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਬੰਦ ਕੀਤਾ ਗਿਆ।"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ਚਿਹਰੇ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"ਤੁਸੀਂ ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤਾ ਹੈ"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਸੁਵਿਧਾ ਨਹੀਂ ਹੈ"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ਚਿਹਰਾ <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index bcf47e02da05..120d2568811b 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona odcisku palca"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"zarządzanie sprzętem do uwierzytelniania za pomocą twarzy"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Zezwala na aktywowanie przez aplikację metody dodawania i usuwania szablonów twarzy."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"używanie sprzętu do uwierzytelniania za pomocą twarzy"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Zezwala na używanie przez aplikację sprzętu do analizy twarzy na potrzeby uwierzytelniania"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Uwierzytelnianie twarzą"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Zarejestruj swoją twarz ponownie"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Aby poprawić rozpoznawanie, ponownie zarejestruj swoją twarz"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Nie udało się zarejestrować danych twarzy. Spróbuj ponownie."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Nie można zweryfikować twarzy. Sprzęt niedostępny."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Spróbuj uwierzytelniania twarzą ponownie."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nie można przechowywać nowych danych twarzy. Usuń stare."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Analiza twarzy została anulowana"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Użytkownik anulował uwierzytelnianie twarzą"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Analiza twarzy została anulowana."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Zbyt wiele prób. Spróbuj ponownie później."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Zbyt wiele prób. Uwierzytelnianie twarzą zostało wyłączone."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nie można zweryfikować twarzy. Spróbuj ponownie."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Uwierzytelnianie twarzą nie jest skonfigurowane"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"To urządzenie nie obsługuje uwierzytelniania twarzą"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Twarz <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index fbabb343ffb6..4dedb69fcfc1 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ícone de impressão digital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gerenciar hardware de autenticação facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite que o app execute métodos para adicionar e excluir modelos de rosto para uso."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"usar hardware de autenticação facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite que o app use o hardware de autenticação facial para autenticação"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticação facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registre seu rosto novamente"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para melhorar o reconhecimento, registre seu rosto novamente"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Dados precisos não capturados. Tente novamente."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Impossível verificar rosto. Hardware indisponível."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Tente realizar a autenticação facial novamente."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Não é possível salvar dados faciais. Exclua dados antigos."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operação facial cancelada"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autenticação facial cancelada pelo usuário"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operação facial cancelada."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Excesso de tentativas. Tente novamente mais tarde."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Muitas tentativas. Autenticação facial desativada."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Não é possível verificar o rosto. Tente novamente."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Autenticação facial não configurada"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"A autenticação facial não é permitida neste dispositivo"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Rosto <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index 5287600a7599..7283db2d208f 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ícone de impressão digital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gerir hardware de autenticação facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite à aplicação invocar métodos para adicionar e eliminar modelos faciais para uso."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"utilizar hardware de autenticação facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite que a aplicação utilize hardware de autenticação facial para autenticação."</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticação facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Volte a inscrever o seu rosto"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para melhorar o reconhecimento, volte a inscrever o seu rosto."</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Imp. capt. dados rosto precisos. Tente novamente."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Não pode validar o rosto. Hardware não disponível."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Tente efetuar a autenticação facial novamente."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Não pode guardar novos dados de rostos. Elimine um antigo."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operação de rosto cancelada."</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autenticação facial cancelada pelo utilizador."</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operação de rosto cancelada."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Demasiadas tentativas. Tente novamente mais tarde."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Demasiadas tentativas. Autenticação facial desativada."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Não é possível validar o rosto. Tente novamente."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Não configurou a autenticação facial."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"A autenticação facial não é suportada neste dispositivo."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Rosto <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index fbabb343ffb6..4dedb69fcfc1 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ícone de impressão digital"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"gerenciar hardware de autenticação facial"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite que o app execute métodos para adicionar e excluir modelos de rosto para uso."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"usar hardware de autenticação facial"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite que o app use o hardware de autenticação facial para autenticação"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autenticação facial"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registre seu rosto novamente"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para melhorar o reconhecimento, registre seu rosto novamente"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Dados precisos não capturados. Tente novamente."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Impossível verificar rosto. Hardware indisponível."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Tente realizar a autenticação facial novamente."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Não é possível salvar dados faciais. Exclua dados antigos."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operação facial cancelada"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autenticação facial cancelada pelo usuário"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operação facial cancelada."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Excesso de tentativas. Tente novamente mais tarde."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Muitas tentativas. Autenticação facial desativada."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Não é possível verificar o rosto. Tente novamente."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Autenticação facial não configurada"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"A autenticação facial não é permitida neste dispositivo"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Rosto <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index bda936e64941..3c2e03effae0 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -552,11 +552,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Pictograma amprentă"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"să gestioneze hardware-ul de autentificare facială"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Permite aplicației să invoce metode pentru a adăuga și a șterge șabloane faciale pentru utilizare."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"să folosească hardware de autentificare facială"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Permite aplicației să folosească hardware de autentificare facială pentru autentificare"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Autentificare facială"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Reînregistrați-vă chipul"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Pentru a îmbunătăți recunoașterea, reînregistrați-vă chipul"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Nu s-a putut fotografia fața cu precizie. Încercați din nou."</string> @@ -582,15 +586,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Nu se poate confirma fața. Hardware-ul nu este disponibil."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Încercați din nou autentificarea facială."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nu se pot stoca date faciale noi. Ștergeți întâi unele vechi."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operațiunea privind fața a fost anulată"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autentificarea chipului este anulată de utilizator"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operațiunea privind chipul a fost anulată."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Prea multe încercări. Reîncercați mai târziu."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Prea multe încercări. Autentificarea facială este dezactivată"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nu se poate confirma fața. Încercați din nou."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Nu ați configurat autentificarea facială"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Autentificarea facială nu este acceptată pe dispozitiv"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Chip <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index dc3a810ee606..936f463f7c42 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Значок отпечатка пальца"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"Управлять оборудованием для распознавания лиц"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Приложение сможет добавлять и удалять шаблоны лиц."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"Использовать оборудование для распознавания лиц"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Приложение сможет использовать распознающее оборудование для аутентификации."</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Распознавание лица"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Зарегистрируйте лицо ещё раз"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Чтобы улучшить распознавание лица, зарегистрируйте его ещё раз"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Не удалось собрать данные. Повторите попытку."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Не удалось распознать лицо. Сканер недоступен."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Лицо не распознано. Попробуйте ещё раз."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Недостаточно места. Удалите старые данные для распознавания."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Распознавание отменено."</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Распознавание лица отменено пользователем."</string> + <string name="face_error_canceled" msgid="283945501061931023">"Распознавание отменено"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Слишком много попыток. Повторите позже."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Слишком много попыток. Распознавание лица отключено."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Не удалось распознать лицо. Повторите попытку."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Вы не настроили распознавание лица."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Это устройство не поддерживает распознавание лица."</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Лицо <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml index 8e7beac4f7b0..fc7f3ea978eb 100644 --- a/core/res/res/values-si/strings.xml +++ b/core/res/res/values-si/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ඇඟිලි සලකුණු නිරූපකය"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"මුහුණු සත්යාපක දෘඪාංග කළමනාකරණය කරන්න"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"මුහුණු අඟුලු ඇරීමේ දෘඪාංග කළමනා කරන්න"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"මුහුණු අච්චු එකතු කිරීමට සහ ඉවත් කිරීමට අදාළ ක්රම භාවිතය සඳහා මෙම යෙදුමට ඉඩ දෙයි."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"මුහුණු සත්යාපක දෘඪාංග භාවිතා කරන්න"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"සත්යාපනය සඳහා සත්යාපක දෘඪාංග භාවිත කිරීමට යෙදුමට ඉඩ දෙයි"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"මුහුණු සත්යාපනය"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"මුහුණු අඟුලු ඇරීමේ දෘඪාංග භෘවිත කරන්න"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"සත්යාපනය සඳහා මුහුණු අඟුලු ඇරීමේ දෘඪාංග භාවිත කිරීමට යෙදුමට ඉඩ දෙයි"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"මුහුණු අඟුලු ඇරීම"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ඔබේ මුහුණ යළි ලියාපදිංචි කරන්න"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"හඳුනා ගැනීම වැඩිදියුණු කිරීමට, ඔබේ මුහුණ යළි-ලියාපදිංචි කරන්න"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"නිරවද්ය මුහුණු දත්ත ගත නොහැකි විය. නැවත උත්සාහ කරන්න."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"මුහුණ සත්යාපනය කළ නොහැක. දෘඩාංගය නොමැත."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"මුහුණු සත්යාපනයට උත්සාහ කරන්න."</string> + <string name="face_error_timeout" msgid="981512090365729465">"නැවතත් මුහුණු අඟුලු ඇරීම උත්සාහ කරන්න."</string> <string name="face_error_no_space" msgid="2712120617457553825">"නව මුහුණු දත්ත ගබඩා කළ නොහැක. පළමුව පැරණි එකක් මකන්න."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"මුහුණු මෙහෙයුම අවලංගුයි"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"පරිශීලකයා විසින් මුහුණ සත්යාපනය අවලංගු කර ඇත"</string> + <string name="face_error_canceled" msgid="283945501061931023">"මුහුණු මෙහෙයුම අවලංගු කරන ලදී."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"පරිශීලකයා මුහුණු අඟුලු ඇරීම අවලංගු කර ඇත."</string> <string name="face_error_lockout" msgid="3407426963155388504">"උත්සාහයන් ඉතා වැඩි ගණනකි. පසුව නැවත උත්සාහ කරන්න."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ප්රයත්නයන් බොහෝමයකි. මුහුණු සත්යාපනය අබලයි."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"ප්රයත්න ගණන වැඩියි. මුහුණු අඟුලු ඇරීම අබලයි."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"මුහුණ සත්යාපන කළ නොහැක. නැවත උත්සාහ කරන්න."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"ඔබ මුහුණු සත්යාපනය පිහිටුවා නැත"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"මෙම උපාංගයෙහි මුහුණු සත්යාපනයට සහාය නොදක්වයි"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"ඔබ මුහුණු අඟුලු ඇරීම සකසා නැත"</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"මෙම උපාංගයෙහි මුහුණු අඟුලු ඇරීමට සහය නොදැක්වේ"</string> <string name="face_name_template" msgid="7004562145809595384">"මුහුණු <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index 222d648f4a90..3a8136de91af 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona odtlačku prsta"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"správa hardvéru na overenie tváre"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Umožňuje aplikácii vyvolať metódy, ktoré pridávajú a odstraňujú šablóny tvárí."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"používanie hardvéru na overenie tváre"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Umožňuje aplikácii používať na overenie totožnosti hardvér na overenie tváre"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Overenie tváre"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Znova zaregistrujte svoju tvár"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Znova zaregistrujte svoju tvár, aby sa zlepšilo rozpoznávanie"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Nepodarilo sa nasnímať presné údaje o tvári. Skúste to znova."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Tvár sa nedá overiť. Hardvér nie je k dispozícii."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Vyskúšajte znova overenie tváre."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Nové údaje o tvári sa nedajú uložiť. Najprv odstráňte jeden zo starých záznamov."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Operácia týkajúca sa tváre bola zrušená"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Overenie tváre bolo zrušené používateľom"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Operácia týkajúca sa tváre bola zrušená"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Príliš veľa pokusov. Skúste to znova neskôr."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Príliš veľa pokusov. Overenie tváre bolo deaktivované."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Nedá sa overiť tvár. Skúste to znova."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Overenie tváre ste nenastavili"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Toto zariadenie nepodporuje overenie tváre"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Tvár <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index c8e3a9dbc6d5..84e63ccf3d87 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona prstnih odtisov"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"upravljanje strojne opreme za preverjanje pristnosti obraza"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Aplikaciji omogoča sprožanje načinov za dodajanje in brisanje predlog z obrazi za uporabo."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"uporaba strojne opreme za preverjanje pristnosti obraza"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Aplikaciji omogoča uporabo strojne opreme za preverjanje pristnosti obraza"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Preverjanje pristnosti z obrazom"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Znova prijavite obraz"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Za izboljšanje prepoznavanja znova prijavite svoj obraz"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Točnih podatkov o obrazu ni bilo mogoče zajeti. Poskusite znova."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Obraza ni mogoče preveriti. Str. opr. ni na voljo."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Znova izvedite preverjanje pristnosti z obrazom."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Novega obraza ni mogoče shraniti. Najprej izbrišite starega."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Dejanje z obrazom je bilo preklicano"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Preverjanje pristnosti obraza preklical uporabnik"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Dejanje z obrazom je bilo preklicano."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Preveč poskusov. Poskusite znova pozneje."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Preveč poskusov. Preverjanje pristnosti obraza onemogočeno."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Obraza ni mogoče preveriti. Poskusite znova."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Preverjanje pristnosti obraza ni nastavljeno"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ta naprava ne podpira preverjanja pristnosti obraza"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Obraz <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml index 72ee3962674e..202d0900a3a4 100644 --- a/core/res/res/values-sq/strings.xml +++ b/core/res/res/values-sq/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikona e gjurmës së gishtit"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"menaxho harduerin për vërtetimin e fytyrës"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Lejon aplikacionin të aktivizojë mënyra për shtim e fshirje të shablloneve të përdorura."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"përdor harduerin për vërtetimin e fytyrës"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Lejon aplikacionin të përdorë harduer vërtetimi të fytyrës për procesin e vërtetimit"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Vërtetimi me fytyrë"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Regjistro përsëri fytyrën tënde"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Për të përmirësuar njohjen, regjistro përsëri fytyrën tënde"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"S\'mund të regjistroheshin të dhëna të sakta të fytyrës. Provo përsëri."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Fytyra s\'mund të verifikohet. Hardueri nuk ofrohet."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Provo përsëri vërtetimin e fytyrës."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"S\'mund të ruhen të dhëna të reja fytyre. Fshi një të vjetër në fillim."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Veprimi me fytyrën u anulua"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Vërtetimi me fytyrë u anulua nga përdoruesi"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Veprimi me fytyrën u anulua."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Shumë përpjekje. Provo sërish më vonë."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Shumë përpjekje. Vërtetimi me fytyrë u çaktivizua."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Fytyra nuk mund të verifikohet. Provo përsëri."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Nuk e ke konfiguruar vërtetimin me fytyrë."</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Vërtetimi me fytyrë nuk mbështetet në këtë pajisje"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Fytyra <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index 96d97dd6130c..812af0257fd8 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -552,11 +552,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Икона отиска прста"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"управљање хардв. за потврду идентитета помоћу лица"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Дозвољава да апликација активира методе за додавање и брисање шаблона лица ради коришћења."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"коришћење хардв. за потврду идентитета помоћу лица"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Дозвољава да апликација користи хардвер за потврду идентитета помоћу лица"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Потврда идентитета лицем"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Поново региструјте лице"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Да бисте побољшали препознавање, поново региструјте лице"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Снимање лица није успело. Пробајте поново."</string> @@ -582,15 +586,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Провера лица није успела. Хардвер није доступан."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Пробајте поново потврду идентитета помоћу лица."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Нови подаци о лицу нису сачувани. Прво избришете претходне."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Обрада лица је отказана"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Корисник је отказао потврду идентитета лицем"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Обрада лица је отказана."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Превише покушаја. Пробајте поново касније."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Превише покушаја. Потврда идентитета лицем је онемогућена."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Провера лица није успела. Пробајте поново."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Нисте подесили потврду идентитета лицем"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Препознавање лица није подржано на овом уређају"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Лице <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index a7f74c9c977c..b3e95f9d11ae 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Ikon för fingeravtryck"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"hantera maskinvara för ansiktsautentisering"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Tillåter att appen anropar metoder för att lägga till och radera ansiktsmallar."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"använda maskinvara för ansiktsautentisering"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Tillåter att appen använder maskinvara för ansiktsigenkänning vid autentisering"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Ansiktsautentisering"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Registrera ansiktet på nytt"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Gör om registreringen av ansiktet så att ansiktsigenkänningen ska fungera bättre"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Det gick inte att fånga ansiktsdata. Försök igen."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Ansiktsverifiering går ej. Otillgänglig maskinvara."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Testa ansiktsautentiseringen igen."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Kan inte lagra ny ansiktsdata. Radera först gammal data."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Ansiktsåtgärden har avbrutits"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Autentiseringen av ansiktet avbröts av användaren"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Ansiktsåtgärden har avbrutits."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Du har gjort för många försök. Försök igen senare."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"För många försök. Ansiktsautentisering har inaktiverats."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Det gick inte att verifiera ansiktet. Försök igen."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Du har inte konfigurerat ansiktsautentisering"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ansiktsautentisering stöds inte på den här enheten"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Ansikte <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index dec924ecdbd7..b18543eb12c5 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Aikoni ya kitambulisho"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"dhibiti maunzi ya kuthibitisha uso"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Huruhusu programu iombe njia za kuongeza na kufuta violezo vya uso vitakavyotumiwa."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"tumia maunzi ya kuthibistiha uso"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Huruhusu programu ithibitishe uso kwa kutumia maunzi ya kuthibitisha"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Utambuzi wa Uso"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Sajili uso wako tena"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Ili kuimarisha utambuzi, tafadhali sajili uso wako tena"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Imeshindwa kunasa data sahihi ya uso. Jaribu tena."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Imeshindwa kuthibitisha uso. Maunzi hayapatikani."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Jaribu tena uthibitishaji wa uso."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Imeshindwa kuhifadhi data ya uso mpya. Futa wa kale kwanza."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Utendaji wa kitambulisho umeghairiwa"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Mtumiaji ameghairi uthibitishaji wa uso"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Utendaji wa kitambulisho umeghairiwa."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Umejaribu mara nyingi mno. Jaribu tena baadaye."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Umejaribu mara nyingi mno. Uthibitishaji wa uso umezimwa."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Imeshindwa kuthibitisha uso. Jaribu tena."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Hujaweka mipangilio ya uthibitishaji wa uso"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Uthibitishaji wa uso hautumiki kwenye kifaa hiki"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Uso wa <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml index 97a8df237315..3215fec520e3 100644 --- a/core/res/res/values-ta/strings.xml +++ b/core/res/res/values-ta/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"கைரேகை ஐகான்"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"முக அங்கீகாரத்திற்கான வன்பொருளை நிர்வகித்தல்"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"உபயோகிப்பதற்காக முக டெம்ப்ளேட்டுகளை சேர்க்கும்/நீக்கும் முறைகளை இயக்க, ஆப்ஸை அனுமதிக்கும்."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"முக அங்கீகாரத்திற்கான வன்பொருளைப் பயன்படுத்துதல்"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"அடையாளம் காண்பதற்கு, முக அங்கீகார வன்பொருளைப் பயன்படுத்த ஆப்ஸை அனுமதிக்கிறது"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"முக அங்கீகாரம்"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"முகத்தை மீண்டும் பதிவுசெய்யவும்"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"அடையாளத்தை மேம்படுத்த முகத்தை மீண்டும் பதிவுசெய்யவும்"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"முகம் தெளிவாகப் பதிவாகவில்லை. மீண்டும் முயலவும்."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"முகத்தைச் சரிபார்க்க இயலவில்லை. வன்பொருள் இல்லை."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"முக அங்கீகாரத்தை மீண்டும் முயலவும்."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"புதிய முகங்களைச் சேர்க்க இயலவில்லை. பழையது ஒன்றை நீக்கவும்."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"முக அங்கீகாரச் செயல்பாடு ரத்துசெய்யப்பட்டது"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"முக அங்கீகாரம் பயனரால் ரத்துசெய்யப்பட்டது"</string> + <string name="face_error_canceled" msgid="283945501061931023">"முக அங்கீகாரச் செயல்பாடு ரத்துசெய்யப்பட்டது."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"பலமுறை முயன்றுவிட்டீர்கள். பிறகு முயலவும்."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"பலமுறை முயன்றுவிட்டீர்கள். முக அங்கீகாரம் முடக்கப்பட்டது."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"முகத்தைச் சரிபார்க்க இயலவில்லை. மீண்டும் முயலவும்."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"முக அங்கீகாரத்தை இன்னும் நீங்கள் அமைக்கவில்லை"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"இந்தச் சாதனத்தில் முக அங்கீகாரம் ஆதரிக்கப்படவில்லை"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"முகம் <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml index a0da181dedd5..908f10d9c746 100644 --- a/core/res/res/values-te/strings.xml +++ b/core/res/res/values-te/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"వేలిముద్ర చిహ్నం"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"ముఖ ప్రమాణీకరణ హార్డ్వేర్ను నిర్వహించండి"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"వినియోగం కోసం ముఖ టెంప్లేట్లను జోడించే మరియు తొలగించే పద్ధతులను అమలు చేయడానికి యాప్ను అనుమతిస్తుంది."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ముఖ ప్రమాణీకరణ హార్డ్వేర్ను వాడండి"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ప్రమాణీకరణ కోసం ముఖ ప్రామాణీకరణ హార్డ్వేర్ను ఉపయోగించడానికి యాప్ని అనుమతిస్తుంది"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"ముఖ ప్రామాణీకరణ"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"మీ ముఖాన్ని తిరిగి నమోదు చేయండి"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"గుర్తింపును మెరుగుపరచడానికి, దయచేసి మీ ముఖంను తిరిగి నమోదు చేసుకోండి"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"ముఖం డేటా సరిగ్గా రాలేదు. మళ్లీ ప్రయత్నించండి."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ముఖం ధృవీకరించలేరు. హార్డ్వేర్ అందుబాటులో లేదు."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ముఖ ప్రామాణీకరణను మళ్ళీ ప్రయత్నించండి."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"కొత్త ముఖం డేటాను నిల్వ చేయడం కాదు. మొదట పాతది తొలిగించండి."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ముఖ కార్యకలాపం రద్దయింది"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"వినియోగదారు ద్వారా ముఖ ప్రామాణీకరణ రద్దు చేయబడింది"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ముఖ కార్యకలాపం రద్దయింది."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"చాలా ఎక్కువ ప్రయత్నాలు చేసారు. తర్వాత మళ్లీ ప్రయత్నించండి."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"అనేకసార్లు ప్రయత్నించారు. ముఖ ప్రమాణీకరణ నిలిపివేయబడింది."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ముఖం ధృవీకరించలేకపోయింది. మళ్లీ ప్రయత్నించండి."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"మీరు ముఖ ప్రామాణీకరణను సెటప్ చేయలేదు"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"ఈ పరికరంలో ముఖ ప్రమాణీకరణకు మద్దతు లేదు"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ముఖ <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 2bf0a9ce5c7e..fb00ceef249f 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"ไอคอนลายนิ้วมือ"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"จัดการฮาร์ดแวร์ตรวจสอบสิทธิ์ด้วยใบหน้า"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"อนุญาตให้แอปเรียกใช้วิธีเพิ่มและลบเทมเพลตใบหน้าสำหรับการใช้งาน"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"ใช้ฮาร์ดแวร์ตรวจสอบสิทธิ์ด้วยใบหน้า"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"อนุญาตให้แอปใช้ฮาร์ดแวร์ตรวจสอบสิทธิ์ด้วยใบหน้าเพื่อตรวจสอบสิทธิ์"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"การตรวจสอบสิทธิ์ด้วยใบหน้า"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ลงทะเบียนใบหน้าอีกครั้ง"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"โปรดลงทะเบียนใบหน้าอีกครั้งเพื่อปรับปรุงการจดจำ"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"บันทึกข้อมูลใบหน้าที่ถูกต้องไม่ได้ ลองอีกครั้ง"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"ยืนยันใบหน้าไม่ได้ ฮาร์ดแวร์ไม่พร้อมใช้งาน"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"ลองใช้การตรวจสอบสิทธิ์ด้วยใบหน้าอีกครั้ง"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"จัดเก็บข้อมูลใบหน้าใหม่ไม่ได้ ลบข้อมูลเก่าออกไปก่อน"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"ยกเลิกการดำเนินการด้วยใบหน้าแล้ว"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"ผู้ใช้ยกเลิกการตรวจสอบสิทธิ์ด้วยใบหน้า"</string> + <string name="face_error_canceled" msgid="283945501061931023">"ยกเลิกการดำเนินการกับใบหน้าแล้ว"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"ดำเนินการหลายครั้งเกินไป ลองอีกครั้งในภายหลัง"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"ลองหลายครั้งเกินไป การตรวจสอบสิทธิ์ด้วยใบหน้าถูกปิดใช้"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"ยืนยันใบหน้าไม่ได้ ลองอีกครั้ง"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"คุณยังไม่ได้ตั้งค่าการตรวจสอบสิทธิ์ด้วยใบหน้า"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"อุปกรณ์นี้ไม่รองรับการตรวจสอบสิทธิ์ด้วยใบหน้า"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"ใบหน้า <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 02410f26a118..73439bb9f864 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Icon ng fingerprint"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"pamahalaan ang hardware sa authentication ng mukha"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Pumapayag na mag-invoke ang app ng paraang magdagdag at mag-delete ng template ng mukha."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"gumamit ng hardware sa pag-authenticate ng mukha"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Pumapayag na gumamit ng face authentication hardware ang app para sa pag-authenticate"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Pag-authenticate ng Mukha"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"I-enroll ulit ang iyong mukha"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Para mapahusay ang pagkilala, paki-enroll ulit ang iyong mukha"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Hindi makakuha ng tamang face data. Subukang muli."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Di ma-verify ang mukha. Di available ang hardware."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Subukan ulit ang pag-authenticate sa mukha."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Hindi ma-store ang data ng mukha. Mag-delete muna ng iba."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Nakansela ang operation kaugnay ng mukha"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Kinansela ng user ang pag-authenticate ng mukha"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Nakansela ang operation kaugnay ng mukha."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Masyadong maraming pagsubok. Subukang muli mamaya."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Sumobra ang pagsubok. Na-disable ang face authentication."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Hindi ma-verify ang mukha. Subukang muli."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Hindi pa na-set up ang pag-authenticate ng mukha"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Hindi sinusuportahan ang pag-authenticate ng mukha sa device"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Mukha <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 6800a723c3b9..e1fa7da5f18d 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Parmak izi simgesi"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"yüz kimlik doğrulaması donanımını yönetme"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Uygulamanın, kullanılacak yüz şablonlarını ekleme ve silme yöntemlerini başlatmasına izin verir."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"yüz kimlik doğrulaması donanımını kullanma"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Uygulamanın yüz kimlik doğrulaması donanımı kullanmasına izin verir"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Yüzle Kimlik Doğrulama"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Yüzünüzü yeniden kaydedin"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Daha iyi tanınmasını sağlamak için lütfen yüzünüzü yeniden kaydedin"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Doğru yüz verileri yakalanamadı. Tekrar deneyin."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Yüz doğrulanamıyor. Donanım kullanılamıyor."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Yüzle kimlik doğrulamayı tekrar deneyin."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Yeni yüz verisi depolanamıyor. Önce eski bir tanesini silin."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Yüz işlemi iptal edildi"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Yüz kimlik doğrulama işlemini kullanıcı iptal etti"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Yüz işlemi iptal edildi."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Çok fazla deneme yapıldı. Daha sonra tekrar deneyin."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Çok fazla deneme yapıldı. Yüz kimlik doğrulaması devre dışı."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Yüz doğrulanamıyor. Tekrar deneyin."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Yüz kimlik doğrulaması ayarlamadınız"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Bu cihazda yüz kimlik doğrulaması desteklenmiyor"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Yüz <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 99322377213d..26de58325d8f 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -555,11 +555,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Значок відбитка пальця"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"керувати обладнанням для автентифікації облич"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Додаток може активувати способи додавання й видалення шаблонів облич."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"застосовувати обладнання для автентифікації облич"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Додаток може застосовувати обладнання для автентифікації облич"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Автентифікація за обличчям"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Повторно проскануйте обличчя"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Повторно проскануйте обличчя для ефективнішого розпізнавання"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Не вдалося чітко зняти обличчя. Повторіть спробу."</string> @@ -585,15 +589,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Не вдається перевірити обличчя. Апаратне забезпечення недоступне."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Повторіть автентифікацію за обличчям."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Не вдається зберегти нові дані про обличчя. Видаліть старі."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Дію з обличчям скасовано"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Користувач скасував автентифікацію за обличчям"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Дію з обличчям скасовано."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Забагато спроб. Повторіть пізніше."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Забагато спроб. Автентифікацію за обличчям вимкнено."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Не вдається перевірити обличчя. Повторіть спробу."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Ви не налаштували автентифікацію за обличчям"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"На цьому пристрої автентифікація за обличчям не підтримується"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Обличчя <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml index 3deaa84790bf..78d4a5806124 100644 --- a/core/res/res/values-ur/strings.xml +++ b/core/res/res/values-ur/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"فنگر پرنٹ آئیکن"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"چہرے کی توثیق کے ہارڈویئر کا نظم کریں"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"ایپ کو چہرے کی تمثیلات شامل اور حذف کرنے کے طریقوں کو کالعدم قرار دینے کی اجازت دیتا ہے۔"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"چہرے کی توثیق کا ہارڈویئر استعمال کریں"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"ایپ کو توثیق کیلئے چہرے کا ہارڈ ویئر استعمال کرنے کی اجازت دیتا ہے"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"چہرے سے تصدیق"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"اپنے چہرے کو دوبارہ مندرج کریں"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"شناخت کو بہتر بنانے کے لیے براہ کرم اپنے چہرے کو دوبارہ مندرج کریں"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"چہرے کا درست ڈيٹا کیپچر نہیں ہو سکا۔ پھر آزمائيں۔"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"چہرے کی توثیق نہیں کی جا سکی۔ ہارڈ ویئر دستیاب نہیں ہے۔"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"چہرے سے تصدیق دوبارہ آزمائيں۔"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"چہرے کا نیا ڈیٹا اسٹور نہیں کر سکتے۔ پہلے پرانا حذف کریں۔"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"چہرے پر آپریشن منسوخ ہو گئی"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"صارف نے چہرے کی تصدیق کو منسوخ کر دیا"</string> + <string name="face_error_canceled" msgid="283945501061931023">"چہرے پر ہونے والی کارروائی منسوخ ہو گئی۔"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"کافی زیادہ کوششیں کی گئیں۔ دوبارہ کوشش کریں۔"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"کافی زیادہ کوششیں۔ چہرے سے تصدیق غیر فعال کر دی گئی ہے۔"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"چہرے کی توثیق نہیں کی جا سکی۔ پھر آزمائيں۔"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"آپ نے چہرے سے تصدیق سیٹ اپ نہیں کیا ہے"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"اس آلہ پر چہرے سے تصدیق تعاون یافتہ نہیں ہے"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"چہرہ <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml index 1edf64444a0f..a192c762377a 100644 --- a/core/res/res/values-uz/strings.xml +++ b/core/res/res/values-uz/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Barmoq izi belgisi"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"yuzni aniqlash qurilmasini boshqarish"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Ilova foydalanish uchun yuz namunalarini qo‘shish va o‘chirish usullarini tatbiq qilishi mumkin."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"yuzni aniqlash qurilmasidan foydalanish"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Haqiqiylikni tekshirish uchun skanerdan foydalanish imkonini beradi"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Yuz tekshiruvi"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Yuzingizni yana qayd qiling"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Yuzingiz yanada yaxshiroq aniqlanishi uchun uni yana bir marta qayd qiling"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Yuz ravshan suratga olinmadi. Qaytadan urining."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Yuzingiz tasdiqlanmadi. Qurilma ishlamayapti."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Yana yuz tekshiruvini amalga oshirish."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Yuzga oid axborot saqlanmadi. Avval eskilari tozalansin."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Yuzni aniqlash bekor qilindi"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Yuz tekshiruvi bekor qilindi."</string> + <string name="face_error_canceled" msgid="283945501061931023">"Yuzni aniqlash bekor qilindi."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Juda ko‘p urinildi. Keyinroq qaytadan urining."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Juda koʻp urinildi. Yuz tekshiruvi faolsizlantirildi."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Yuzingiz tasdiqlanmadi. Qaytadan urining."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Hali yuz tekshiruvini sozlamagansiz"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Yuz tekshiruvi bu qurilmada ishlamaydi"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Yuz <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 7c69ee4828d5..b4e1559d5446 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Biểu tượng vân tay"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"quản lý phần cứng xác thực khuôn mặt"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"Cho phép ứng dụng gọi ra các phương pháp để thêm và xóa mẫu khuôn mặt sử dụng."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"sử dụng phần cứng xác thực khuôn mặt"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Cho phép ứng dụng sử dụng phần cứng xác thực khuôn mặt để tiến hành xác thực"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Xác thực khuôn mặt"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Đăng ký lại khuôn mặt của bạn"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Để cải thiện khả năng nhận dạng, hãy đăng ký lại khuôn mặt của bạn"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Không thể ghi lại đúng dữ liệu mặt. Hãy thử lại."</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Không thể xác minh khuôn mặt. Phần cứng không có sẵn."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Thử xác thực lại khuôn mặt."</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"Không lưu được dữ liệu khuôn mặt mới. Hãy xóa dữ liệu cũ trước."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Đã hủy thao tác dùng khuôn mặt"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Người dùng đã hủy thao tác xác thực khuôn mặt"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Đã hủy thao tác dùng khuôn mặt."</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"Bạn đã thử quá nhiều lần. Hãy thử lại sau."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Quá nhiều lần thử. Tính năng xác thực khuôn mặt đã tắt."</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Không thể xác minh khuôn mặt. Hãy thử lại."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Bạn chưa thiết lập tính năng xác thực khuôn mặt"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Thiết bị này không hỗ trợ tính năng xác thực khuôn mặt"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"Khuôn mặt <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index eb8e9bb993bb..da239b92238d 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"指纹图标"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"管理人脸身份验证硬件"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"允许该应用调用方法来添加和删除可用的人脸模板。"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"使用人脸身份验证硬件"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"允许该应用使用人脸身份验证硬件进行身份验证"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"面孔身份验证"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"重新注册您的面孔"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"要提升识别精确度,请重新注册您的面孔"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"无法捕获准确的人脸数据,请重试。"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"无法验证人脸。硬件无法使用。"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"请重新尝试面孔身份验证。"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"无法存储新的人脸数据。请先删除旧的人脸数据。"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"人脸处理操作已取消"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"用户已取消人脸身份验证"</string> + <string name="face_error_canceled" msgid="283945501061931023">"面孔处理操作已取消。"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"尝试次数过多,请稍后重试。"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"尝试次数过多,人脸身份验证已停用。"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"无法验证人脸,请重试。"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"您尚未设置人脸身份验证"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"此设备不支持人脸身份验证"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"面孔 <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index e3def2ed1fd1..1da26f03c968 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"指紋圖示"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"管理臉孔驗證硬件"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"允許應用程式調用方法,以加入和刪除可用的臉孔範本。"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"使用臉孔驗證硬件"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"允許應用程式使用臉孔驗證硬件來驗證"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"臉孔驗證"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"重新註冊臉孔"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"如要提高識別能力,請重新註冊您的臉孔"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"無法擷取準確的臉容資料。請再試一次。"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"無法驗證臉孔,硬件無法使用。"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"請再次嘗試驗證臉孔。"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"無法儲存新的臉容資料,請先刪除舊資料。"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"臉孔操作已取消"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"使用者已取消臉孔驗證"</string> + <string name="face_error_canceled" msgid="283945501061931023">"臉孔操作已取消。"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"嘗試次數過多,請稍後再試。"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"嘗試次數過多,臉孔驗證已停用。"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"無法驗證臉孔。請再試一次。"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"您尚未設定臉孔驗證"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"此裝置不支援臉孔驗證"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"臉孔 <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 9c1b05dce7c8..2e1a697ba357 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -549,11 +549,15 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"指紋圖示"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"管理臉孔驗證硬體"</string> + <!-- no translation found for permlab_manageFace (7262837876352591553) --> + <skip /> <string name="permdesc_manageFace" msgid="8919637120670185330">"允許應用程式呼叫方法來新增及移除可用的臉孔範本。"</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"使用臉孔驗證硬體"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"允許應用程式使用臉孔驗證硬體進行驗證"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"臉孔驗證"</string> + <!-- no translation found for permlab_useFaceAuthentication (2565716575739037572) --> + <skip /> + <!-- no translation found for permdesc_useFaceAuthentication (4712947955047607722) --> + <skip /> + <!-- no translation found for face_recalibrate_notification_name (1913676850645544352) --> + <skip /> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"請重新註冊你的臉孔"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"為提升辨識精準度,請重新註冊你的臉孔"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"無法擷取精準臉孔資料,請再試一次。"</string> @@ -579,15 +583,20 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"相關硬體無法使用,因此無法驗證臉孔。"</string> - <string name="face_error_timeout" msgid="3202585609451248103">"請重新驗證臉孔。"</string> + <!-- no translation found for face_error_timeout (981512090365729465) --> + <skip /> <string name="face_error_no_space" msgid="2712120617457553825">"無法儲存新的臉孔資料,請先刪除舊的資料。"</string> - <string name="face_error_canceled" msgid="2768146728600802422">"臉孔處理作業已取消"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"使用者已取消臉孔驗證作業"</string> + <string name="face_error_canceled" msgid="283945501061931023">"臉孔處理作業已取消。"</string> + <!-- no translation found for face_error_user_canceled (5317030072349668946) --> + <skip /> <string name="face_error_lockout" msgid="3407426963155388504">"嘗試次數過多,請稍後再試。"</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"嘗試次數過多,因此系統已停用臉孔驗證。"</string> + <!-- no translation found for face_error_lockout_permanent (4723594314443097159) --> + <skip /> <string name="face_error_unable_to_process" msgid="4940944939691171539">"無法驗證臉孔,請再試一次。"</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"你尚未設定臉孔驗證"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"這個裝置不支援臉孔驗證"</string> + <!-- no translation found for face_error_not_enrolled (4016937174832839540) --> + <skip /> + <!-- no translation found for face_error_hw_not_present (8302690289757559738) --> + <skip /> <string name="face_name_template" msgid="7004562145809595384">"臉孔 <xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 98ec22a266cf..ecb1cdcfb025 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -549,11 +549,11 @@ <string-array name="fingerprint_error_vendor"> </string-array> <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Isithonjana sezigxivizo zeminwe"</string> - <string name="permlab_manageFace" msgid="2137540986007309781">"phatha izingxenyekazi zekhompuyutha zokufakazela ubuqiniso zobuso"</string> + <string name="permlab_manageFace" msgid="7262837876352591553">"phatha izingxenyekazi zekhompuyutha ze-face unlock"</string> <string name="permdesc_manageFace" msgid="8919637120670185330">"Ivumela uhlelo lokusebenza ukuthi luhoxise izindlela zokungeza nokususa amathempulethi obuso azosetshenziswa."</string> - <string name="permlab_useFaceAuthentication" msgid="8996134460546804535">"sebenzisa izingxenyekazi zekhompuyutha zokufakazela ubuqiniso kobuso"</string> - <string name="permdesc_useFaceAuthentication" msgid="5011118722951833089">"Ivumela uhlelo lokusebenza ukuthi lusebenzise ukufakazela ubuqiniso bobuso bezingxenyekazi ukuze kufakazelwe ubuqiniso"</string> - <string name="face_recalibrate_notification_name" msgid="3976629945250435054">"Ukufakazela ubuqiniso bobuso"</string> + <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"sebenzisa izingxenyekazi zekhompuyutha ze-face unlock"</string> + <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Ivumela uhlelo lokusebenza ukuthi lusebenzise izingxenyekazi zekhompuyutha ze-face unlock ukuze kufakazelwe ubuqiniso"</string> + <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"I-Face unlock"</string> <string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Phinda ubhalise ubuso bakho"</string> <string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Ukuze uthuthukise ukubonwa, sicela uphinde ubhalise ubuso bakho"</string> <string name="face_acquired_insufficient" msgid="2767330364802375742">"Ayikwazanga ukuthwebula idatha enembile yobuso. Zama futhi."</string> @@ -579,15 +579,15 @@ <string-array name="face_acquired_vendor"> </string-array> <string name="face_error_hw_not_available" msgid="396883585636963908">"Ayikwazi ukuqinisekisa ubuso. Izingxenyekazi zekhompyutha azitholakali."</string> - <string name="face_error_timeout" msgid="3202585609451248103">"Zama ukufakazela ubuqiniso bobuso futhi."</string> + <string name="face_error_timeout" msgid="981512090365729465">"Zama i-face unlock futhi."</string> <string name="face_error_no_space" msgid="2712120617457553825">"Ayikwazi ukulondoloza idatha yobuso. Susa endala."</string> - <string name="face_error_canceled" msgid="2768146728600802422">"Umsebenzi wobuso ukhanselwe"</string> - <string name="face_error_user_canceled" msgid="9003022830076496163">"Ukufakazela ubuqiniso kobuso kukhanselwe umsebenzisi"</string> + <string name="face_error_canceled" msgid="283945501061931023">"Umsebenzi wobuso ukhanselwe."</string> + <string name="face_error_user_canceled" msgid="5317030072349668946">"I-face unlock ikhanselwe umsebenzisi."</string> <string name="face_error_lockout" msgid="3407426963155388504">"Imizamo eminingi kakhulu. Zama futhi emuva kwesikhathi."</string> - <string name="face_error_lockout_permanent" msgid="3485837851962070925">"Imizamo eminingi kakhulu. Ukugunyaza ubuso kukhutshaziwe."</string> + <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Imizamo eminingi kakhulu. I-Face unlock ikhutshaziwe."</string> <string name="face_error_unable_to_process" msgid="4940944939691171539">"Ayikwazi ukuqinisekisa ubuso. Zama futhi."</string> - <string name="face_error_not_enrolled" msgid="2600952202843125796">"Awukakasethi ukufakazela ubuqiniso bobuso"</string> - <string name="face_error_hw_not_present" msgid="1317845121210260372">"Ukufakazela ubuqiniso bobuso akusekelwe kule divayisi"</string> + <string name="face_error_not_enrolled" msgid="4016937174832839540">"Awukakasethi i-face unlock."</string> + <string name="face_error_hw_not_present" msgid="8302690289757559738">"I-face unlock ayisekelwe kule divayisi."</string> <string name="face_name_template" msgid="7004562145809595384">"Ubuso be-<xliff:g id="FACEID">%d</xliff:g>"</string> <string-array name="face_error_vendor"> </string-array> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 2beef4250441..acaa2027cbef 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4126,6 +4126,9 @@ <integer-array name="config_face_acquire_vendor_biometricprompt_ignorelist" translatable="false" > </integer-array> + <!-- If face auth sends the user directly to home/last open app, or stays on keyguard --> + <bool name="config_faceAuthDismissesKeyguard">true</bool> + <!-- The component name for the default profile supervisor, which can be set as a profile owner even after user setup is complete. The defined component should be used for supervision purposes only. The component must be part of a system app. --> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 5b917cc4fdf1..fe49a31c4b22 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1499,16 +1499,16 @@ <string name="fingerprint_icon_content_description">Fingerprint icon</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR LIMIT=70] --> - <string name="permlab_manageFace">manage face authentication hardware</string> + <string name="permlab_manageFace">manage face unlock hardware</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR LIMIT=90] --> <string name="permdesc_manageFace">Allows the app to invoke methods to add and delete facial templates for use.</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR LIMIT=70] --> - <string name="permlab_useFaceAuthentication">use face authentication hardware</string> + <string name="permlab_useFaceAuthentication">use face unlock hardware</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR LIMIT=90] --> - <string name="permdesc_useFaceAuthentication">Allows the app to use face authentication hardware for authentication</string> + <string name="permdesc_useFaceAuthentication">Allows the app to use face unlock hardware for authentication</string> <!-- Notification name shown when the system requires the user to re-enroll their face. [CHAR LIMIT=NONE] --> - <string name="face_recalibrate_notification_name">Face Authentication</string> + <string name="face_recalibrate_notification_name">Face unlock</string> <!-- Notification title shown when the system requires the user to re-enroll their face. [CHAR LIMIT=NONE] --> <string name="face_recalibrate_notification_title">Re-enroll your face</string> <!-- Notification content shown when the system requires the user to re-enroll their face. [CHAR LIMIT=NONE] --> @@ -1561,23 +1561,23 @@ <!-- Error message shown when the face hardware can't be accessed. [CHAR LIMIT=69] --> <string name="face_error_hw_not_available">Can\u2019t verify face. Hardware not available.</string> <!-- Error message shown when the face hardware timer has expired and the user needs to restart the operation. [CHAR LIMIT=50] --> - <string name="face_error_timeout">Try face authentication again.</string> + <string name="face_error_timeout">Try face unlock again.</string> <!-- Error message shown when the face hardware has run out of room for storing faces. [CHAR LIMIT=69] --> <string name="face_error_no_space">Can\u2019t store new face data. Delete an old one first.</string> <!-- Generic error message shown when the face operation (e.g. enrollment or authentication) is canceled. Generally not shown to the user. [CHAR LIMIT=50] --> - <string name="face_error_canceled">Face operation canceled</string> - <!-- Generic error message shown when the face authentication operation is canceled due to user input. Generally not shown to the user [CHAR LIMIT=54] --> - <string name="face_error_user_canceled">Face authentication canceled by user</string> + <string name="face_error_canceled">Face operation canceled.</string> + <!-- Generic error message shown when the face unlock operation is canceled due to user input. Generally not shown to the user [CHAR LIMIT=54] --> + <string name="face_error_user_canceled">Face unlock canceled by user.</string> <!-- Generic error message shown when the face operation fails because too many attempts have been made. [CHAR LIMIT=50] --> <string name="face_error_lockout">Too many attempts. Try again later.</string> <!-- Generic error message shown when the face operation fails because strong authentication is required. [CHAR LIMIT=71] --> - <string name="face_error_lockout_permanent">Too many attempts. Face authentication disabled.</string> + <string name="face_error_lockout_permanent">Too many attempts. Face unlock disabled.</string> <!-- Generic error message shown when the face hardware can't recognize the face. [CHAR LIMIT=50] --> <string name="face_error_unable_to_process">Can\u2019t verify face. Try again.</string> <!-- Generic error message shown when the user has no enrolled face. [CHAR LIMIT=52] --> - <string name="face_error_not_enrolled">You haven\u2019t set up face authentication</string> - <!-- Generic error message shown when the app requests face authentication on a device without a sensor. [CHAR LIMIT=61] --> - <string name="face_error_hw_not_present">Face authentication is not supported on this device</string> + <string name="face_error_not_enrolled">You haven\u2019t set up face unlock.</string> + <!-- Generic error message shown when the app requests face unlock on a device without a sensor. [CHAR LIMIT=61] --> + <string name="face_error_hw_not_present">Face unlock is not supported on this device.</string> <!-- Template to be used to name enrolled faces by default. [CHAR LIMIT=10] --> <string name="face_name_template">Face <xliff:g id="faceId" example="1">%d</xliff:g></string> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 4af05f699073..ff5845f47f6c 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2272,11 +2272,6 @@ <java-symbol type="anim" name="lock_screen_wallpaper_exit" /> <java-symbol type="anim" name="launch_task_behind_source" /> <java-symbol type="anim" name="wallpaper_open_exit" /> - <java-symbol type="anim" name="lock_to_error" /> - <java-symbol type="anim" name="lock_lock" /> - <java-symbol type="anim" name="lock_unlock" /> - <java-symbol type="anim" name="lock_in" /> - <java-symbol type="anim" name="lock_scanning" /> <java-symbol type="bool" name="config_alwaysUseCdmaRssi" /> <java-symbol type="dimen" name="status_bar_icon_size" /> @@ -2587,6 +2582,7 @@ <java-symbol type="array" name="config_face_acquire_vendor_keyguard_ignorelist" /> <java-symbol type="array" name="config_face_acquire_biometricprompt_ignorelist" /> <java-symbol type="array" name="config_face_acquire_vendor_biometricprompt_ignorelist" /> + <java-symbol type="bool" name="config_faceAuthDismissesKeyguard" /> <!-- Face config --> <java-symbol type="integer" name="config_faceMaxTemplatesPerUser" /> diff --git a/core/tests/coretests/res/values/overlayable_icons_test.xml b/core/tests/coretests/res/values/overlayable_icons_test.xml index 68de2c0caf18..285db5005187 100644 --- a/core/tests/coretests/res/values/overlayable_icons_test.xml +++ b/core/tests/coretests/res/values/overlayable_icons_test.xml @@ -20,15 +20,18 @@ <array name="overlayable_icons"> <item>@*android:drawable/ic_audio_alarm</item> <item>@*android:drawable/ic_audio_alarm_mute</item> + <item>@*android:drawable/ic_battery_80_24dp</item> <item>@*android:drawable/ic_bluetooth_share_icon</item> <item>@*android:drawable/ic_bt_headphones_a2dp</item> <item>@*android:drawable/ic_bt_headset_hfp</item> <item>@*android:drawable/ic_bt_hearing_aid</item> <item>@*android:drawable/ic_bt_laptop</item> + <item>@*android:drawable/ic_bt_misc_hid</item> <item>@*android:drawable/ic_bt_network_pan</item> <item>@*android:drawable/ic_bt_pointing_hid</item> <item>@*android:drawable/ic_corp_badge</item> <item>@*android:drawable/ic_expand_more</item> + <item>@*android:drawable/ic_faster_emergency</item> <item>@*android:drawable/ic_file_copy</item> <item>@*android:drawable/ic_lock</item> <item>@*android:drawable/ic_lock_bugreport</item> @@ -36,6 +39,7 @@ <item>@*android:drawable/ic_lock_power_off</item> <item>@*android:drawable/ic_lockscreen_ime</item> <item>@*android:drawable/ic_mode_edit</item> + <item>@*android:drawable/ic_notifications_alerted</item> <item>@*android:drawable/ic_phone</item> <item>@*android:drawable/ic_qs_airplane</item> <item>@*android:drawable/ic_qs_auto_rotate</item> diff --git a/packages/BackupRestoreConfirmation/res/values-eu/strings.xml b/packages/BackupRestoreConfirmation/res/values-eu/strings.xml index 3905a0b4d7be..ca89aa603e3f 100644 --- a/packages/BackupRestoreConfirmation/res/values-eu/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-eu/strings.xml @@ -18,10 +18,10 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="backup_confirm_title" msgid="827563724209303345">"Babeskopia osoa"</string> <string name="restore_confirm_title" msgid="5469365809567486602">"Leheneratze osoa"</string> - <string name="backup_confirm_text" msgid="1878021282758896593">"Datu guztien babeskopia egitea eta konektatutako ordenagailu batean gordetzea eskatu da. Horretarako baimena eman nahi duzu?\n\nEz baduzu babeskopia egitea zuk eskatu, ez eman eragiketarekin jarraitzeko baimena."</string> + <string name="backup_confirm_text" msgid="1878021282758896593">"Datu guztien babeskopia egitea eta konektatutako ordenagailu batean gordetzea eskatu da. Horretarako baimena eman nahi duzu?\n\nEz baduzu babeskopia egitea zeuk eskatu, ez eman eragiketarekin jarraitzeko baimena."</string> <string name="allow_backup_button_label" msgid="4217228747769644068">"Egin datuen babeskopia"</string> <string name="deny_backup_button_label" msgid="6009119115581097708">"Ez egin babeskopia"</string> - <string name="restore_confirm_text" msgid="7499866728030461776">"Konektatutako ordenagailu bateko datu guztiak leheneratzeko eskatu da. Horretarako baimena eman nahi duzu?\n\nEz baduzu leheneratzea zuk eskatu, ez eman eragiketarekin jarraitzeko baimena. Eragiketa gauzatzen bada, gailuan dituzun datu guztiak ordeztuko dira!"</string> + <string name="restore_confirm_text" msgid="7499866728030461776">"Konektatutako ordenagailu bateko datu guztiak leheneratzeko eskatu da. Horretarako baimena eman nahi duzu?\n\nEz baduzu leheneratzea zeuk eskatu, ez eman eragiketarekin jarraitzeko baimena. Eragiketa gauzatzen bada, gailuan dituzun datu guztiak ordeztuko dira!"</string> <string name="allow_restore_button_label" msgid="3081286752277127827">"Leheneratu datuak"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"Ez leheneratu"</string> <string name="current_password_text" msgid="8268189555578298067">"Idatzi babeskopien uneko pasahitza behean:"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-hi/strings.xml b/packages/BackupRestoreConfirmation/res/values-hi/strings.xml index 2e53cb6388a0..ae9e7c397c92 100644 --- a/packages/BackupRestoreConfirmation/res/values-hi/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-hi/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="backup_confirm_title" msgid="827563724209303345">"पूरा बैकअप"</string> - <string name="restore_confirm_title" msgid="5469365809567486602">"पूरी तरह से पुनर्स्थापना"</string> + <string name="backup_confirm_title" msgid="827563724209303345">"पूर्ण सुरक्षा"</string> + <string name="restore_confirm_title" msgid="5469365809567486602">"पूर्ण पुनर्स्थापना"</string> <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> @@ -32,7 +32,7 @@ <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> + <string name="toast_backup_ended" msgid="3818080769548726424">"सुरक्षित करना पूर्ण"</string> <string name="toast_restore_started" msgid="7881679218971277385">"पुनर्स्थापना प्रारंभ हो रही है..."</string> <string name="toast_restore_ended" msgid="1764041639199696132">"पुनर्स्थापना खत्म"</string> <string name="toast_timeout" msgid="5276598587087626877">"काम नहीं हो सका. टाइम आउट हो गया"</string> diff --git a/packages/CaptivePortalLogin/res/values-bs/strings.xml b/packages/CaptivePortalLogin/res/values-bs/strings.xml index 83b5067235e2..60c153a06471 100644 --- a/packages/CaptivePortalLogin/res/values-bs/strings.xml +++ b/packages/CaptivePortalLogin/res/values-bs/strings.xml @@ -18,7 +18,7 @@ <string name="ssl_error_unknown" msgid="4405203446079465859">"Nepoznata greška potvrde."</string> <string name="ssl_security_warning_title" msgid="8768539813847504404">"Sigurnosno upozorenje"</string> <string name="ssl_error_view_certificate" msgid="5722652540168339333">"Prikaži potvrdu"</string> - <string name="ok" msgid="2817931639040794018">"Uredu"</string> + <string name="ok" msgid="2817931639040794018">"UREDU"</string> <string name="page_info_address" msgid="1261481517455692363">"Adresa:"</string> <string name="page_info" msgid="4416941086705172545">"Informacije o stranici"</string> </resources> diff --git a/packages/PackageInstaller/res/values-bs/strings.xml b/packages/PackageInstaller/res/values-bs/strings.xml index ebf0685fd295..329e940056fa 100644 --- a/packages/PackageInstaller/res/values-bs/strings.xml +++ b/packages/PackageInstaller/res/values-bs/strings.xml @@ -40,7 +40,7 @@ <string name="unknown_apps_admin_dlg_text" msgid="4456572224020176095">"Vaš administrator ne dozvoljava instaliranje aplikacija iz nepoznatih izvora"</string> <string name="unknown_apps_user_restriction_dlg_text" msgid="151020786933988344">"Ovaj korisnik ne može instalirati nepoznate aplikacije"</string> <string name="install_apps_user_restriction_dlg_text" msgid="2154119597001074022">"Ovom korisniku nije dozvoljeno instaliranje aplikacija"</string> - <string name="ok" msgid="7871959885003339302">"Uredu"</string> + <string name="ok" msgid="7871959885003339302">"UREDU"</string> <string name="manage_applications" msgid="5400164782453975580">"Uprav. aplik."</string> <string name="out_of_space_dlg_title" msgid="4156690013884649502">"Nedostatak prostora"</string> <string name="out_of_space_dlg_text" msgid="8727714096031856231">"Ne možete instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g>. Oslobodite prostor u pohrani i pokušajte ponovo."</string> diff --git a/packages/PackageInstaller/res/values-eu/strings.xml b/packages/PackageInstaller/res/values-eu/strings.xml index dbcb2bb431f2..9c23097b7f23 100644 --- a/packages/PackageInstaller/res/values-eu/strings.xml +++ b/packages/PackageInstaller/res/values-eu/strings.xml @@ -83,9 +83,9 @@ <string name="untrusted_external_source_warning" product="tablet" msgid="6539403649459942547">"Segurtasuna bermatzeko, ezin dira instalatu iturburu honetako aplikazio ezezagunak tableta honetan."</string> <string name="untrusted_external_source_warning" product="tv" msgid="1206648674551321364">"Segurtasuna bermatzeko, ezin dira instalatu iturburu honetako aplikazio ezezagunak telebista honetan."</string> <string name="untrusted_external_source_warning" product="default" msgid="7279739265754475165">"Segurtasuna bermatzeko, ezin dira instalatu iturburu honetako aplikazio ezezagunak telefono honetan."</string> - <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Telefonoak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Aplikazio hau instalatzen baduzu, onartu egingo duzu zu zarela hura erabiltzeagatik telefonoak jasan ditzakeen kalteen edo datu-galeren erantzulea."</string> - <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Tabletak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Aplikazio hau instalatzen baduzu, onartu egingo duzu zu zarela hura erabiltzeagatik tabletak jasan ditzakeen kalteen edo datu-galeren erantzulea."</string> - <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Telebistak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Aplikazio hau instalatzen baduzu, onartu egingo duzu zu zarela hura erabiltzeagatik telebistak jasan ditzakeen kalteen edo datu-galeren erantzulea."</string> + <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Telefonoak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Aplikazio hau instalatzen baduzu, onartu egingo duzu zeu zarela hura erabiltzeagatik telefonoak jasan ditzakeen kalteen edo datu-galeren erantzulea."</string> + <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Tabletak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Aplikazio hau instalatzen baduzu, onartu egingo duzu zeu zarela hura erabiltzeagatik tabletak jasan ditzakeen kalteen edo datu-galeren erantzulea."</string> + <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Telebistak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Aplikazio hau instalatzen baduzu, onartu egingo duzu zeu zarela hura erabiltzeagatik telebistak jasan ditzakeen kalteen edo datu-galeren erantzulea."</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Egin aurrera"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Ezarpenak"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Wear aplikazioak instalatzea/desinstalatzea"</string> diff --git a/packages/PrintSpooler/res/values-fr/strings.xml b/packages/PrintSpooler/res/values-fr/strings.xml index f6e901de8393..3c2aec3c8bd2 100644 --- a/packages/PrintSpooler/res/values-fr/strings.xml +++ b/packages/PrintSpooler/res/values-fr/strings.xml @@ -65,7 +65,7 @@ <string name="notification_channel_failure" msgid="9042250774797916414">"Tâches d\'impression non abouties"</string> <string name="could_not_create_file" msgid="3425025039427448443">"Impossible de créer le fichier"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Certains services d\'impression sont désactivés."</string> - <string name="print_searching_for_printers" msgid="6550424555079932867">"Recherche d\'imprimantes..."</string> + <string name="print_searching_for_printers" msgid="6550424555079932867">"Recherche d\'imprimantes en cours"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Aucun service d\'impression activé"</string> <string name="print_no_printers" msgid="4869403323900054866">"Aucune imprimante trouvée"</string> <string name="cannot_add_printer" msgid="7840348733668023106">"Impossible d\'ajouter des imprimantes"</string> diff --git a/packages/PrintSpooler/res/values-hi/strings.xml b/packages/PrintSpooler/res/values-hi/strings.xml index 2637c3c0b562..6f9807028d5b 100644 --- a/packages/PrintSpooler/res/values-hi/strings.xml +++ b/packages/PrintSpooler/res/values-hi/strings.xml @@ -34,7 +34,7 @@ <string name="print_preview" msgid="8010217796057763343">"प्रिंट की झलक"</string> <string name="install_for_print_preview" msgid="6366303997385509332">"झलक देखने के लिए PDF व्यूअर इंस्टॉल करें"</string> <string name="printing_app_crashed" msgid="854477616686566398">"प्रिंटिंग ऐप बंद हो गया"</string> - <string name="generating_print_job" msgid="3119608742651698916">"प्रिंट जॉ जनरेट हो रहा है"</string> + <string name="generating_print_job" msgid="3119608742651698916">"प्रिंट कार्य जनरेट हो रहा है"</string> <string name="save_as_pdf" msgid="5718454119847596853">"पीडीएफ़ के तौर पर सेव करें"</string> <string name="all_printers" msgid="5018829726861876202">"सभी प्रिंटर..."</string> <string name="print_dialog" msgid="32628687461331979">"प्रिंट डॉयलॉग"</string> @@ -61,8 +61,8 @@ </plurals> <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> <string name="printer_info_desc" msgid="7181988788991581654">"इस प्रिंटर के बारे में ज़्यादा जानकारी"</string> - <string name="notification_channel_progress" msgid="872788690775721436">"चल रहे प्रिंट जॉ"</string> - <string name="notification_channel_failure" msgid="9042250774797916414">"असफल रहे प्रिंट जॉ"</string> + <string name="notification_channel_progress" msgid="872788690775721436">"चल रहे प्रिंट कार्य"</string> + <string name="notification_channel_failure" msgid="9042250774797916414">"असफल रहे प्रिंट कार्य"</string> <string name="could_not_create_file" msgid="3425025039427448443">"फ़ाइल नहीं बनाई जा सकी"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"कुछ प्रिंट सेवाएं अक्षम हैं"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"प्रिंटर सर्च कर रहा है"</string> diff --git a/packages/PrintSpooler/res/values-my/strings.xml b/packages/PrintSpooler/res/values-my/strings.xml index fdcdd7cdb0df..34297b657047 100644 --- a/packages/PrintSpooler/res/values-my/strings.xml +++ b/packages/PrintSpooler/res/values-my/strings.xml @@ -86,7 +86,7 @@ <string name="cancel" msgid="4373674107267141885">"မလုပ်တော့"</string> <string name="restart" msgid="2472034227037808749">"ပြန်စရန်"</string> <string name="no_connection_to_printer" msgid="2159246915977282728">"စာထုတ်စက်နဲ့ ဆက်သွယ်ထားမှု မရှိပါ"</string> - <string name="reason_unknown" msgid="5507940196503246139">"မသိ"</string> + <string name="reason_unknown" msgid="5507940196503246139">"မသိပါ"</string> <string name="print_service_security_warning_title" msgid="2160752291246775320">"<xliff:g id="SERVICE">%1$s</xliff:g>ကိုသုံးမလား။"</string> <string name="print_service_security_warning_summary" msgid="1427434625361692006">"သင်၏ စာရွက်စာတမ်းများသည် ပရင်တာထံသို့ သွားစဉ် ဆာဗာ တစ်ခု သို့မဟုတ် ပိုများပြီး ဖြတ်ကျော်နိုင်ရသည်။"</string> <string-array name="color_mode_labels"> @@ -99,7 +99,7 @@ <item msgid="79513688117503758">"အနားသတ် အတို"</item> </string-array> <string-array name="orientation_labels"> - <item msgid="4061931020926489228">"ဒေါင်လိုက်"</item> + <item msgid="4061931020926489228">"ထောင်လိုက်"</item> <item msgid="3199660090246166812">"အလျားလိုက်"</item> </string-array> <string name="print_write_error_message" msgid="5787642615179572543">"ဖိုင်သို့ မရေးနိုင်ခဲ့"</string> diff --git a/packages/PrintSpooler/res/values-pl/strings.xml b/packages/PrintSpooler/res/values-pl/strings.xml index 0b310f00a50b..a960fe206a58 100644 --- a/packages/PrintSpooler/res/values-pl/strings.xml +++ b/packages/PrintSpooler/res/values-pl/strings.xml @@ -67,7 +67,7 @@ <string name="notification_channel_failure" msgid="9042250774797916414">"Nieudane zadania drukowania"</string> <string name="could_not_create_file" msgid="3425025039427448443">"Nie udało się utworzyć pliku"</string> <string name="print_services_disabled_toast" msgid="9089060734685174685">"Niektóre usługi drukowania są wyłączone"</string> - <string name="print_searching_for_printers" msgid="6550424555079932867">"Szukam drukarek"</string> + <string name="print_searching_for_printers" msgid="6550424555079932867">"Szukanie drukarek"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Brak włączonych usług drukowania"</string> <string name="print_no_printers" msgid="4869403323900054866">"Nie znaleziono drukarek"</string> <string name="cannot_add_printer" msgid="7840348733668023106">"Nie można dodawać drukarek"</string> diff --git a/packages/PrintSpooler/res/values-ta/strings.xml b/packages/PrintSpooler/res/values-ta/strings.xml index 4bb167a07010..77737183452e 100644 --- a/packages/PrintSpooler/res/values-ta/strings.xml +++ b/packages/PrintSpooler/res/values-ta/strings.xml @@ -87,7 +87,7 @@ <string name="restart" msgid="2472034227037808749">"மீண்டும் தொடங்கு"</string> <string name="no_connection_to_printer" msgid="2159246915977282728">"அச்சுப்பொறியுடன் இணைக்கப்படவில்லை"</string> <string name="reason_unknown" msgid="5507940196503246139">"அறியப்படாதது"</string> - <string name="print_service_security_warning_title" msgid="2160752291246775320">"<xliff:g id="SERVICE">%1$s</xliff:g> ஐப் பயன்படுத்தவா?"</string> + <string name="print_service_security_warning_title" msgid="2160752291246775320">"<xliff:g id="SERVICE">%1$s</xliff:g>ஐப் பயன்படுத்தவா?"</string> <string name="print_service_security_warning_summary" msgid="1427434625361692006">"உங்கள் ஆவணம் பிரிண்டருக்குச் செல்லும் வழியில் ஒன்று அல்லது அதற்கு மேற்பட்ட சேவையகங்களைக் கடந்து செல்லக்கூடும்."</string> <string-array name="color_mode_labels"> <item msgid="7602948745415174937">"கருப்பு & வெள்ளை"</item> diff --git a/packages/SettingsLib/SearchWidget/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/SearchWidget/res/values-b+sr+Latn/strings.xml index 5cc170e6936f..f556eaed2388 100644 --- a/packages/SettingsLib/SearchWidget/res/values-b+sr+Latn/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-b+sr+Latn/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Pretražite podešavanja"</string> + <string name="search_menu" msgid="1604061903696928905">"Podešavanja pretrage"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-de/strings.xml b/packages/SettingsLib/SearchWidget/res/values-de/strings.xml index 1e612a7a469a..b438607bcfce 100644 --- a/packages/SettingsLib/SearchWidget/res/values-de/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-de/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Einstellungen durchsuchen"</string> + <string name="search_menu" msgid="1604061903696928905">"Sucheinstellungen"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-et/strings.xml b/packages/SettingsLib/SearchWidget/res/values-et/strings.xml index e064b14e1fb9..294bceddd620 100644 --- a/packages/SettingsLib/SearchWidget/res/values-et/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-et/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Otsige seadetest"</string> + <string name="search_menu" msgid="1604061903696928905">"Otsinguseaded"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-hi/strings.xml b/packages/SettingsLib/SearchWidget/res/values-hi/strings.xml index 7afdeabf0136..e6ab56c4d263 100644 --- a/packages/SettingsLib/SearchWidget/res/values-hi/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-hi/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"खोज की सेटिंग"</string> + <string name="search_menu" msgid="1604061903696928905">"खोज सेटिंग"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-ko/strings.xml b/packages/SettingsLib/SearchWidget/res/values-ko/strings.xml index 793582855ec5..948eb0361f0d 100644 --- a/packages/SettingsLib/SearchWidget/res/values-ko/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-ko/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"설정 검색"</string> + <string name="search_menu" msgid="1604061903696928905">"검색 설정"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-lo/strings.xml b/packages/SettingsLib/SearchWidget/res/values-lo/strings.xml index 3c44d5e91faa..bb4bb46fe611 100644 --- a/packages/SettingsLib/SearchWidget/res/values-lo/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-lo/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"ຊອກຫາການຕັ້ງຄ່າ"</string> + <string name="search_menu" msgid="1604061903696928905">"ການຕັ້ງຄ່າການຊອກຫາ"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-mk/strings.xml b/packages/SettingsLib/SearchWidget/res/values-mk/strings.xml index 543955c72115..79fde5d32512 100644 --- a/packages/SettingsLib/SearchWidget/res/values-mk/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-mk/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Пребарување низ поставките"</string> + <string name="search_menu" msgid="1604061903696928905">"Поставки за пребарување"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-sl/strings.xml b/packages/SettingsLib/SearchWidget/res/values-sl/strings.xml index e55e62f852b0..f937c85f6bc7 100644 --- a/packages/SettingsLib/SearchWidget/res/values-sl/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-sl/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Iščite po nastavitvah"</string> + <string name="search_menu" msgid="1604061903696928905">"Nastavitve iskanja"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-sr/strings.xml b/packages/SettingsLib/SearchWidget/res/values-sr/strings.xml index b3e34f97f5ca..650a9755502f 100644 --- a/packages/SettingsLib/SearchWidget/res/values-sr/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-sr/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Претражите подешавања"</string> + <string name="search_menu" msgid="1604061903696928905">"Подешавања претраге"</string> </resources> diff --git a/packages/SettingsLib/SearchWidget/res/values-tr/strings.xml b/packages/SettingsLib/SearchWidget/res/values-tr/strings.xml index 74bbcfb178ed..9805a9de5b9b 100644 --- a/packages/SettingsLib/SearchWidget/res/values-tr/strings.xml +++ b/packages/SettingsLib/SearchWidget/res/values-tr/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="search_menu" msgid="1604061903696928905">"Ayarlarda arayın"</string> + <string name="search_menu" msgid="1604061903696928905">"Arama ayarları"</string> </resources> diff --git a/packages/SettingsLib/res/values-ar/arrays.xml b/packages/SettingsLib/res/values-ar/arrays.xml index e6eedf1305b1..04f0fa5f340b 100644 --- a/packages/SettingsLib/res/values-ar/arrays.xml +++ b/packages/SettingsLib/res/values-ar/arrays.xml @@ -211,7 +211,7 @@ <item msgid="1069584980746680398">"حجم الرسوم المتحركة 10x"</item> </string-array> <string-array name="overlay_display_devices_entries"> - <item msgid="1606809880904982133">"بدون محاكاة"</item> + <item msgid="1606809880904982133">"بدون"</item> <item msgid="9033194758688161545">"480 بكسل"</item> <item msgid="1025306206556583600">"480 بكسل (العرض آمن)"</item> <item msgid="1853913333042744661">"720 بكسل"</item> diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml index 5ba5e82129c6..5013300944f6 100644 --- a/packages/SettingsLib/res/values-be/strings.xml +++ b/packages/SettingsLib/res/values-be/strings.xml @@ -35,7 +35,7 @@ <string name="wifi_not_in_range" msgid="1136191511238508967">"Не ў зоне дасягальнасці"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Не будзе аўтаматычна падключацца"</string> <string name="wifi_no_internet" msgid="4663834955626848401">"Няма доступу да інтэрнэту"</string> - <string name="saved_network" msgid="4352716707126620811">"Захавана праз: <xliff:g id="NAME">%1$s</xliff:g>"</string> + <string name="saved_network" msgid="4352716707126620811">"Хто захаваў: <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="connected_via_network_scorer" msgid="5713793306870815341">"Аўтаматычна падключана праз %1$s"</string> <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"Аўтаматычна падключана праз пастаўшчыка паслугі ацэнкі сеткі"</string> <string name="connected_via_passpoint" msgid="2826205693803088747">"Падключана праз %1$s"</string> @@ -407,7 +407,7 @@ <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ідзе зарадка"</string> <string name="battery_info_status_discharging" msgid="310932812698268588">"Не зараджаецца"</string> <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Падключана да сеткі сілкавання, зарадзіць зараз немагчыма"</string> - <string name="battery_info_status_full" msgid="2824614753861462808">"Акумулятар зараджаны"</string> + <string name="battery_info_status_full" msgid="2824614753861462808">"Поўная"</string> <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Кантралюецца адміністратарам"</string> <string name="disabled" msgid="9206776641295849915">"Адключанае"</string> <string name="external_source_trusted" msgid="2707996266575928037">"Дазволена"</string> diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml index 54bbffac58c1..18bbc80beed2 100644 --- a/packages/SettingsLib/res/values-bg/strings.xml +++ b/packages/SettingsLib/res/values-bg/strings.xml @@ -242,7 +242,7 @@ <string name="private_dns_mode_off" msgid="8236575187318721684">"Изкл."</string> <string name="private_dns_mode_opportunistic" msgid="8314986739896927399">"Автоматично"</string> <string name="private_dns_mode_provider" msgid="8354935160639360804">"Име на хоста на доставчика на частния DNS"</string> - <string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"Въведете име на хоста на DNS доставчика"</string> + <string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"Въведете името на хоста на DNS доставчика"</string> <string name="private_dns_mode_provider_failure" msgid="231837290365031223">"Не можа да се установи връзка"</string> <string name="wifi_display_certification_summary" msgid="1155182309166746973">"Показване на опциите за сертифициране на безжичния дисплей"</string> <string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"По-подробно регистр. на Wi‑Fi – данни за RSSI на SSID в инстр. за избор на Wi‑Fi"</string> diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml index 91d7581cf517..bbc89d4e961f 100644 --- a/packages/SettingsLib/res/values-bs/strings.xml +++ b/packages/SettingsLib/res/values-bs/strings.xml @@ -21,9 +21,9 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="wifi_fail_to_scan" msgid="1265540342578081461">"Ne može skenirati mreže"</string> - <string name="wifi_security_none" msgid="7985461072596594400">"Ništa"</string> + <string name="wifi_security_none" msgid="7985461072596594400">"Nema"</string> <string name="wifi_remembered" msgid="4955746899347821096">"Sačuvano"</string> - <string name="wifi_disconnected" msgid="8085419869003922556">"Nije povezano"</string> + <string name="wifi_disconnected" msgid="8085419869003922556">"Veza je prekinuta"</string> <string name="wifi_disabled_generic" msgid="4259794910584943386">"Onemogućeno"</string> <string name="wifi_disabled_network_failure" msgid="2364951338436007124">"Greška u konfiguraciji IP-a"</string> <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Niste povezani zbog slabog kvaliteta mreže"</string> diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml index 8827c9fab25f..0163382261a4 100644 --- a/packages/SettingsLib/res/values-cs/strings.xml +++ b/packages/SettingsLib/res/values-cs/strings.xml @@ -420,7 +420,7 @@ <item msgid="1286113608943010849">"100 %"</item> </string-array> <string name="charge_length_format" msgid="8978516217024434156">"před <xliff:g id="ID_1">%1$s</xliff:g>"</string> - <string name="remaining_length_format" msgid="7886337596669190587">"zbývá: <xliff:g id="ID_1">%1$s</xliff:g>"</string> + <string name="remaining_length_format" msgid="7886337596669190587">"Zbývající čas: <xliff:g id="ID_1">%1$s</xliff:g>"</string> <string name="screen_zoom_summary_small" msgid="5867245310241621570">"Malé"</string> <string name="screen_zoom_summary_default" msgid="2247006805614056507">"Výchozí"</string> <string name="screen_zoom_summary_large" msgid="4835294730065424084">"Velké"</string> diff --git a/packages/SettingsLib/res/values-de/arrays.xml b/packages/SettingsLib/res/values-de/arrays.xml index 7c50c3d9a269..90e26d23a610 100644 --- a/packages/SettingsLib/res/values-de/arrays.xml +++ b/packages/SettingsLib/res/values-de/arrays.xml @@ -185,30 +185,30 @@ </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation aus"</item> - <item msgid="6624864048416710414">"Animationsfaktor: 0,5x"</item> - <item msgid="2219332261255416635">"Animationsfaktor: 1x"</item> - <item msgid="3544428804137048509">"Animationsfaktor: 1,5x"</item> - <item msgid="3110710404225974514">"Animationsfaktor: 2x"</item> - <item msgid="4402738611528318731">"Animationsfaktor: 5x"</item> - <item msgid="6189539267968330656">"Animationsfaktor: 10x"</item> + <item msgid="6624864048416710414">"Animationsmaßstab: 0,5x"</item> + <item msgid="2219332261255416635">"Animationsmaßstab: 1x"</item> + <item msgid="3544428804137048509">"Animationsmaßstab: 1,5x"</item> + <item msgid="3110710404225974514">"Animationsmaßstab: 2x"</item> + <item msgid="4402738611528318731">"Animationsmaßstab: 5x"</item> + <item msgid="6189539267968330656">"Animationsmaßstab: 10x"</item> </string-array> <string-array name="transition_animation_scale_entries"> <item msgid="8464255836173039442">"Animation aus"</item> - <item msgid="3375781541913316411">"Animationsfaktor: 0,5x"</item> - <item msgid="1991041427801869945">"Animationsfaktor: 1x"</item> - <item msgid="4012689927622382874">"Animationsfaktor: 1,5x"</item> - <item msgid="3289156759925947169">"Animationsfaktor: 2x"</item> - <item msgid="7705857441213621835">"Animationsfaktor: 5x"</item> - <item msgid="6660750935954853365">"Animationsfaktor: 10x"</item> + <item msgid="3375781541913316411">"Animationsmaßstab: 0,5x"</item> + <item msgid="1991041427801869945">"Animationsmaßstab: 1x"</item> + <item msgid="4012689927622382874">"Animationsmaßstab: 1,5x"</item> + <item msgid="3289156759925947169">"Animationsmaßstab: 2x"</item> + <item msgid="7705857441213621835">"Animationsmaßstab: 5x"</item> + <item msgid="6660750935954853365">"Animationsmaßstab: 10x"</item> </string-array> <string-array name="animator_duration_scale_entries"> <item msgid="6039901060648228241">"Animation aus"</item> - <item msgid="1138649021950863198">"Animationsfaktor: 0,5x"</item> - <item msgid="4394388961370833040">"Animationsfaktor: 1x"</item> - <item msgid="8125427921655194973">"Animationsfaktor: 1,5x"</item> - <item msgid="3334024790739189573">"Animationsfaktor: 2x"</item> - <item msgid="3170120558236848008">"Animationsfaktor: 5x"</item> - <item msgid="1069584980746680398">"Animationsfaktor: 10x"</item> + <item msgid="1138649021950863198">"Animationsmaßstab: 0,5x"</item> + <item msgid="4394388961370833040">"Animationsmaßstab: 1x"</item> + <item msgid="8125427921655194973">"Animationsmaßstab: 1,5x"</item> + <item msgid="3334024790739189573">"Animationsmaßstab: 2x"</item> + <item msgid="3170120558236848008">"Animationsmaßstab: 5x"</item> + <item msgid="1069584980746680398">"Animationsmaßstab: 10x"</item> </string-array> <string-array name="overlay_display_devices_entries"> <item msgid="1606809880904982133">"Keine"</item> diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index 92413a7f3f77..e705d82928ca 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -113,7 +113,7 @@ <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Koppeln"</string> <string name="bluetooth_pairing_accept_all_caps" msgid="6061699265220789149">"KOPPELN"</string> <string name="bluetooth_pairing_decline" msgid="4185420413578948140">"Abbrechen"</string> - <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"Über die Kopplung kann auf deine Kontakte und auf deine Anrufliste zugegriffen werden, wenn eine Verbindung besteht."</string> + <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"Über die Kopplung kann auf deine Kontakte und auf deinen Anrufverlauf zugegriffen werden, wenn eine Verbindung besteht."</string> <string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"Kopplung mit <xliff:g id="DEVICE_NAME">%1$s</xliff:g> war nicht möglich."</string> <string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"Kopplung mit <xliff:g id="DEVICE_NAME">%1$s</xliff:g> war nicht möglich, weil die eingegebene PIN oder der Zugangscode falsch ist."</string> <string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"Kommunikation mit <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ist nicht möglich."</string> diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml index a939050e8312..22d39c502445 100644 --- a/packages/SettingsLib/res/values-es-rUS/strings.xml +++ b/packages/SettingsLib/res/values-es-rUS/strings.xml @@ -141,9 +141,9 @@ <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Aplicaciones eliminadas"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Aplicaciones y usuarios eliminados"</string> <string name="data_usage_ota" msgid="5377889154805560860">"Actualizaciones del sistema"</string> - <string name="tether_settings_title_usb" msgid="6688416425801386511">"Conexión USB"</string> + <string name="tether_settings_title_usb" msgid="6688416425801386511">"Conexión mediante USB"</string> <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Hotspot portátil"</string> - <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Conexión Bluetooth"</string> + <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Conexión mediante Bluetooth"</string> <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Compartir conexión"</string> <string name="tether_settings_title_all" msgid="8356136101061143841">"Hotspots y dispositivos portátiles"</string> <string name="managed_user_title" msgid="8109605045406748842">"Todas las apps de trabajo"</string> diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml index 3c11efd73c37..447b738dfae1 100644 --- a/packages/SettingsLib/res/values-eu/strings.xml +++ b/packages/SettingsLib/res/values-eu/strings.xml @@ -247,7 +247,7 @@ <string name="wifi_display_certification_summary" msgid="1155182309166746973">"Erakutsi hari gabe bistaratzeko ziurtagiriaren aukerak"</string> <string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"Erakutsi datu gehiago wifi-sareetan saioa hastean. Erakutsi sarearen identifikatzailea eta seinalearen indarra wifi-sareen hautagailuan."</string> <string name="wifi_metered_label" msgid="4514924227256839725">"Sare neurtua"</string> - <string name="wifi_unmetered_label" msgid="6124098729457992931">"Neurtu gabeko sarea"</string> + <string name="wifi_unmetered_label" msgid="6124098729457992931">"Sare ez-mugatua"</string> <string name="select_logd_size_title" msgid="7433137108348553508">"Erregistroen buffer-tamainak"</string> <string name="select_logd_size_dialog_title" msgid="1206769310236476760">"Hautatu erregistroen buffer-tamainak"</string> <string name="dev_logpersist_clear_warning_title" msgid="684806692440237967">"Erregistro iraunkorraren biltegia garbitu nahi duzu?"</string> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index 9a3061dd9b18..c8f99a757fa0 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -454,8 +454,8 @@ <string name="zen_mode_settings_summary_off" msgid="6119891445378113334">"هرگز"</string> <string name="zen_interruption_level_priority" msgid="2078370238113347720">"فقط اولویتدار"</string> <string name="zen_mode_and_condition" msgid="4927230238450354412">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string> - <string name="zen_alarm_warning_indef" msgid="3007988140196673193">"زنگ بعدیتان را در ساعت <xliff:g id="WHEN">%1$s</xliff:g> نخواهید شنید، مگر اینکه قبلاز آن ساعت، این تنظیم را خاموش کنید"</string> - <string name="zen_alarm_warning" msgid="6236690803924413088">"زنگ بعدیتان را در ساعت <xliff:g id="WHEN">%1$s</xliff:g> نخواهید شنید"</string> + <string name="zen_alarm_warning_indef" msgid="3007988140196673193">"صدای زنگ بعدیتان را در ساعت <xliff:g id="WHEN">%1$s</xliff:g> نخواهید شنید، مگر اینکه قبل از آن ساعت، این تنظیم را خاموش کنید"</string> + <string name="zen_alarm_warning" msgid="6236690803924413088">"صدای زنگ بعدیتان را در ساعت <xliff:g id="WHEN">%1$s</xliff:g> نخواهید شنید"</string> <string name="alarm_template" msgid="4996153414057676512">"ساعت <xliff:g id="WHEN">%1$s</xliff:g>"</string> <string name="alarm_template_far" msgid="3779172822607461675">"روز <xliff:g id="WHEN">%1$s</xliff:g>"</string> <string name="zen_mode_duration_settings_title" msgid="229547412251222757">"مدت"</string> diff --git a/packages/SettingsLib/res/values-fi/arrays.xml b/packages/SettingsLib/res/values-fi/arrays.xml index 925e18f02ca7..9566a29dc2ca 100644 --- a/packages/SettingsLib/res/values-fi/arrays.xml +++ b/packages/SettingsLib/res/values-fi/arrays.xml @@ -76,7 +76,7 @@ <item msgid="3422726142222090896">"avrcp16"</item> </string-array> <string-array name="bluetooth_a2dp_codec_titles"> - <item msgid="7065842274271279580">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="7065842274271279580">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="7539690996561263909">"SBC"</item> <item msgid="686685526567131661">"AAC"</item> <item msgid="5254942598247222737">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ‑ääni"</item> @@ -86,7 +86,7 @@ <item msgid="3304843301758635896">"Poista valinnaiset koodekit käytöstä"</item> </string-array> <string-array name="bluetooth_a2dp_codec_summaries"> - <item msgid="5062108632402595000">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="5062108632402595000">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="6898329690939802290">"SBC"</item> <item msgid="6839647709301342559">"AAC"</item> <item msgid="7848030269621918608">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ‑ääni"</item> @@ -96,38 +96,38 @@ <item msgid="741805482892725657">"Poista valinnaiset koodekit käytöstä"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_titles"> - <item msgid="3093023430402746802">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="3093023430402746802">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="8895532488906185219">"44,1 kHz"</item> <item msgid="2909915718994807056">"48,0 kHz"</item> <item msgid="3347287377354164611">"88,2 kHz"</item> <item msgid="1234212100239985373">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_summaries"> - <item msgid="3214516120190965356">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="3214516120190965356">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="4482862757811638365">"44,1 kHz"</item> <item msgid="354495328188724404">"48,0 kHz"</item> <item msgid="7329816882213695083">"88,2 kHz"</item> <item msgid="6967397666254430476">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_titles"> - <item msgid="2684127272582591429">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="2684127272582591429">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="5618929009984956469">"16 bittiä/näyte"</item> <item msgid="3412640499234627248">"24 bittiä/näyte"</item> <item msgid="121583001492929387">"32 bittiä/näyte"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_summaries"> - <item msgid="1081159789834584363">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="1081159789834584363">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="4726688794884191540">"16 bittiä/näyte"</item> <item msgid="305344756485516870">"24 bittiä/näyte"</item> <item msgid="244568657919675099">"32 bittiä/näyte"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_titles"> - <item msgid="5226878858503393706">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="5226878858503393706">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="4106832974775067314">"Mono"</item> <item msgid="5571632958424639155">"Stereo"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_summaries"> - <item msgid="4118561796005528173">"Käytä järjestelmän valintaa (oletus)."</item> + <item msgid="4118561796005528173">"Käytä järjestelmän valintaa (oletus)"</item> <item msgid="8900559293912978337">"Mono"</item> <item msgid="8883739882299884241">"Stereo"</item> </string-array> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index 79c762e66cfc..e2bc2fea882e 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -404,7 +404,7 @@ <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> jusqu\'à la charge complète"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Inconnu"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Batterie en charge"</string> - <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"en charge…"</string> + <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"chargement…"</string> <string name="battery_info_status_discharging" msgid="310932812698268588">"Pas en charge"</string> <string name="battery_info_status_not_charging" msgid="8523453668342598579">"Appareil branché, mais impossible de le charger pour le moment"</string> <string name="battery_info_status_full" msgid="2824614753861462808">"Pleine"</string> diff --git a/packages/SettingsLib/res/values-gl/arrays.xml b/packages/SettingsLib/res/values-gl/arrays.xml index 80a7aea81c6d..697a2f322758 100644 --- a/packages/SettingsLib/res/values-gl/arrays.xml +++ b/packages/SettingsLib/res/values-gl/arrays.xml @@ -86,7 +86,7 @@ <item msgid="3304843301758635896">"Desactivar códecs opcionais"</item> </string-array> <string-array name="bluetooth_a2dp_codec_summaries"> - <item msgid="5062108632402595000">"Usa a selección do sistema (predeterminado)"</item> + <item msgid="5062108632402595000">"Usar selección do sistema (predeterminado)"</item> <item msgid="6898329690939802290">"SBC"</item> <item msgid="6839647709301342559">"AAC"</item> <item msgid="7848030269621918608">"Audio <xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g>"</item> @@ -103,7 +103,7 @@ <item msgid="1234212100239985373">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_summaries"> - <item msgid="3214516120190965356">"Usa a selección do sistema (predeterminado)"</item> + <item msgid="3214516120190965356">"Usar selección do sistema (predeterminado)"</item> <item msgid="4482862757811638365">"44,1 kHz"</item> <item msgid="354495328188724404">"48,0 kHz"</item> <item msgid="7329816882213695083">"88,2 kHz"</item> @@ -116,7 +116,7 @@ <item msgid="121583001492929387">"32 bits/mostra"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_summaries"> - <item msgid="1081159789834584363">"Usa a selección do sistema (predeterminado)"</item> + <item msgid="1081159789834584363">"Usar selección do sistema (predeterminado)"</item> <item msgid="4726688794884191540">"16 bits/mostra"</item> <item msgid="305344756485516870">"24 bits/mostra"</item> <item msgid="244568657919675099">"32 bits/mostra"</item> @@ -127,7 +127,7 @@ <item msgid="5571632958424639155">"Estéreo"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_summaries"> - <item msgid="4118561796005528173">"Usa a selección do sistema (predeterminado)"</item> + <item msgid="4118561796005528173">"Usar selección do sistema (predeterminado)"</item> <item msgid="8900559293912978337">"Mono"</item> <item msgid="8883739882299884241">"Estéreo"</item> </string-array> diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index 2c37efa963ef..954c04ada091 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -282,7 +282,7 @@ <string name="no_application" msgid="2813387563129153880">"कुछ भी नहीं"</string> <string name="wait_for_debugger" msgid="1202370874528893091">"डीबगर का इंतज़ार करें"</string> <string name="wait_for_debugger_summary" msgid="1766918303462746804">"डीबग किया गया ऐप्लिकेशन प्रोसेस के पहले डीबगर के अटैच होने का इंतज़ार करता है"</string> - <string name="debug_input_category" msgid="1811069939601180246">"इनपुट"</string> + <string name="debug_input_category" msgid="1811069939601180246">"हिंदी में लिखें"</string> <string name="debug_drawing_category" msgid="6755716469267367852">"ड्रॉइंग"</string> <string name="debug_hw_drawing_category" msgid="6220174216912308658">"हार्डवेयर ऐक्सेलरेटेड रेंडरिंग"</string> <string name="media_category" msgid="4388305075496848353">"मीडिया"</string> @@ -434,7 +434,7 @@ <string name="active_input_method_subtypes" msgid="3596398805424733238">"टाइप करने की सक्रीय पद्धतियां"</string> <string name="use_system_language_to_select_input_method_subtypes" msgid="5747329075020379587">"सिस्टम की भाषाओं का उपयोग करें"</string> <string name="failed_to_open_app_settings_toast" msgid="1251067459298072462">"<xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g> के लिए सेटिंग खोलने में विफल रहा"</string> - <string name="ime_security_warning" msgid="4135828934735934248">"इनपुट का यह तरीका, आपके पासवर्ड और क्रेडिट कार्ड नंबर जैसे निजी डेटा के साथ-साथ उस सभी डेटा को इकट्ठा कर सकता है जिसे आप लिखते हैं. यह <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> ऐप्लिकेशन से आता है. इनपुट के इस तरीके का इस्तेमाल करें?"</string> + <string name="ime_security_warning" msgid="4135828934735934248">"यह इनपुट विधि, पासवर्ड और क्रेडिट कार्ड नंबर जैसे निजी डेटा सहित लिखे जाने वाले सभी लेख को एकत्र कर सकती है. यह <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> ऐप्लिकेशन से आती है. इस इनपुट विधि का उपयोग करें?"</string> <string name="direct_boot_unaware_dialog_message" msgid="7870273558547549125">"नोट: पुनः बूट करने के बाद, यह ऐप्लिकेशन तब तक शुरू नहीं हो सकता है जब तक कि आप अपना फ़ोन अनलॉक ना कर लें"</string> <string name="ims_reg_title" msgid="7609782759207241443">"IMS रजिस्ट्रेशन की स्थिति"</string> <string name="ims_reg_status_registered" msgid="933003316932739188">"रजिस्टर है"</string> diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml index 9ae2fa297a13..836b70d39af6 100644 --- a/packages/SettingsLib/res/values-hy/strings.xml +++ b/packages/SettingsLib/res/values-hy/strings.xml @@ -84,7 +84,7 @@ <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Ֆայլերի փոխանցում"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Ներմուծման սարք"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Ինտերնետի հասանելիություն"</string> - <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Կոնտակտների փոխանակում"</string> + <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Կոնտակտի համօգտագործում"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Օգտագործել կոնտակտի համօգտագործման համար"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Ինտերնետ կապի տարածում"</string> <string name="bluetooth_profile_map" msgid="1019763341565580450">"SMS հաղորդագրություններ"</string> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index 4b4efb31c7b5..1b8304ed928d 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -159,7 +159,7 @@ <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tinggi nada"</string> <string name="tts_default_pitch_summary" msgid="1944885882882650009">"Memengaruhi nada ucapan yang disintesis"</string> <string name="tts_default_lang_title" msgid="8018087612299820556">"Bahasa"</string> - <string name="tts_lang_use_system" msgid="2679252467416513208">"Gunakan bahasa sistem"</string> + <string name="tts_lang_use_system" msgid="2679252467416513208">"Menggunakan bahasa sistem"</string> <string name="tts_lang_not_selected" msgid="7395787019276734765">"Bahasa tidak dipilih"</string> <string name="tts_default_lang_summary" msgid="5219362163902707785">"Menyetel suara spesifik bahasa untuk teks lisan"</string> <string name="tts_play_example_title" msgid="7094780383253097230">"Dengarkan contoh"</string> diff --git a/packages/SettingsLib/res/values-it/arrays.xml b/packages/SettingsLib/res/values-it/arrays.xml index 5d24da437b6b..eb2c1342ff89 100644 --- a/packages/SettingsLib/res/values-it/arrays.xml +++ b/packages/SettingsLib/res/values-it/arrays.xml @@ -59,7 +59,7 @@ <item msgid="45075631231212732">"Usa sempre la verifica HDCP"</item> </string-array> <string-array name="bt_hci_snoop_log_entries"> - <item msgid="3966341281672645384">"Disattivato"</item> + <item msgid="3966341281672645384">"Non attivo"</item> <item msgid="1969681323976948639">"Filtro attivo"</item> <item msgid="8719029132154020716">"Attiva"</item> </string-array> diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index 633b72157c11..e1e06d297847 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -83,7 +83,7 @@ <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefonate"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Trasferimento file"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispositivo di input"</string> - <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Accesso a Internet"</string> + <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Accesso Internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Condivisione contatti"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Usa per condivisione contatti"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Condivisione connessione Internet"</string> diff --git a/packages/SettingsLib/res/values-kk/arrays.xml b/packages/SettingsLib/res/values-kk/arrays.xml index 2399a3b2158d..af578a94ad0e 100644 --- a/packages/SettingsLib/res/values-kk/arrays.xml +++ b/packages/SettingsLib/res/values-kk/arrays.xml @@ -135,13 +135,13 @@ <item msgid="7158319962230727476">"Аудиомазмұн сапасы бойынша оңтайландырылды (990 кбит/сек не 909 кбит/сек)"</item> <item msgid="2921767058740704969">"Теңгерілген аудиомазмұн мен байланыс сапасы (660 кб/сек не 606 кб/сек)"</item> <item msgid="8860982705384396512">"Байланыс сапасы бойынша оңтайландырылды (330 кбит/сек не 303 кбит/сек)"</item> - <item msgid="4414060457677684127">"Максималды күш (бейімделгіш битрейт)"</item> + <item msgid="4414060457677684127">"Максималды күш (Шартты жіберу жылдамдығы)"</item> </string-array> <string-array name="bluetooth_a2dp_codec_ldac_playback_quality_summaries"> <item msgid="6398189564246596868">"Аудиомазмұн сапасы үшін оңтайландырылды"</item> <item msgid="4327143584633311908">"Теңгерілген аудиомазмұн мен байланыс сапасы"</item> <item msgid="4681409244565426925">"Байланыс сапасы бойынша оңтайландырылды"</item> - <item msgid="364670732877872677">"Максималды күш (бейімделгіш битрейт)"</item> + <item msgid="364670732877872677">"Максималды күш (шартты жіберу жылдамдығы)"</item> </string-array> <string-array name="bluetooth_audio_active_device_summaries"> <item msgid="4862957058729193940"></item> diff --git a/packages/SettingsLib/res/values-km/arrays.xml b/packages/SettingsLib/res/values-km/arrays.xml index a0c54fdb4af8..88583ad9eebb 100644 --- a/packages/SettingsLib/res/values-km/arrays.xml +++ b/packages/SettingsLib/res/values-km/arrays.xml @@ -55,7 +55,7 @@ </string-array> <string-array name="hdcp_checking_summaries"> <item msgid="505558545611516707">"កុំប្រើការពិនិត្យ HDCP"</item> - <item msgid="3878793616631049349">"ប្រើការពិនិត្យ HDCP សម្រាប់តែខ្លឹមសារ DRM ប៉ុណ្ណោះ"</item> + <item msgid="3878793616631049349">"ប្រើការពិនិត្យ HDCP សម្រាប់តែមាតិកា DRM ប៉ុណ្ណោះ"</item> <item msgid="45075631231212732">"ប្រើការពិនិត្យ HDCP ជានិច្ច"</item> </string-array> <string-array name="bt_hci_snoop_log_entries"> diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index f195b33060f5..0ac0848f2a5b 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -156,7 +156,7 @@ <string name="tts_settings_title" msgid="1237820681016639683">"TTS 출력"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"말하는 속도"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"텍스트를 읽어주는 속도"</string> - <string name="tts_default_pitch_title" msgid="6135942113172488671">"음조"</string> + <string name="tts_default_pitch_title" msgid="6135942113172488671">"피치"</string> <string name="tts_default_pitch_summary" msgid="1944885882882650009">"합성 음성의 어조에 영향을 미침"</string> <string name="tts_default_lang_title" msgid="8018087612299820556">"언어"</string> <string name="tts_lang_use_system" msgid="2679252467416513208">"시스템 언어 사용"</string> @@ -200,7 +200,7 @@ <string name="development_settings_not_available" msgid="4308569041701535607">"이 사용자는 개발자 옵션을 사용할 수 없습니다."</string> <string name="vpn_settings_not_available" msgid="956841430176985598">"이 사용자는 VPN 설정을 수정할 수 없습니다."</string> <string name="tethering_settings_not_available" msgid="6765770438438291012">"이 사용자는 테더링 설정을 수정할 수 없습니다."</string> - <string name="apn_settings_not_available" msgid="7873729032165324000">"이 사용자는 액세스 포인트 이름(APN) 설정을 수정할 수 없습니다."</string> + <string name="apn_settings_not_available" msgid="7873729032165324000">"이 사용자는 액세스포인트 네임(APN) 설정을 수정할 수 없습니다."</string> <string name="enable_adb" msgid="7982306934419797485">"USB 디버깅"</string> <string name="enable_adb_summary" msgid="4881186971746056635">"USB가 연결된 경우 디버그 모드 사용"</string> <string name="clear_adb_keys" msgid="4038889221503122743">"USB 디버깅 권한 승인 취소"</string> diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml index 187c0f729aec..4991ddbcaff2 100644 --- a/packages/SettingsLib/res/values-ky/strings.xml +++ b/packages/SettingsLib/res/values-ky/strings.xml @@ -142,10 +142,10 @@ <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Өчүрүлгөн колдонмолор жана колдонуучулар"</string> <string name="data_usage_ota" msgid="5377889154805560860">"Тутум жаңыртуулары"</string> <string name="tether_settings_title_usb" msgid="6688416425801386511">"USB модем"</string> - <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Wi-Fi байланыш түйүнү"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Ташыма кошулуу чекити"</string> <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Bluetooth модем"</string> <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Жалгаштыруу"</string> - <string name="tether_settings_title_all" msgid="8356136101061143841">"Модем режими"</string> + <string name="tether_settings_title_all" msgid="8356136101061143841">"Жалгаштыруу жана ташыма чекит"</string> <string name="managed_user_title" msgid="8109605045406748842">"Жумуш профилинин колднмлр"</string> <string name="user_guest" msgid="8475274842845401871">"Конок"</string> <string name="unknown" msgid="1592123443519355854">"Белгисиз"</string> diff --git a/packages/SettingsLib/res/values-my/arrays.xml b/packages/SettingsLib/res/values-my/arrays.xml index ef049f9fa177..ba9c904d7cbd 100644 --- a/packages/SettingsLib/res/values-my/arrays.xml +++ b/packages/SettingsLib/res/values-my/arrays.xml @@ -211,7 +211,7 @@ <item msgid="1069584980746680398">"လှုပ်ရှားသက်ဝင်ပုံရိပ် စကေး ၁၀ဆ"</item> </string-array> <string-array name="overlay_display_devices_entries"> - <item msgid="1606809880904982133">"မရှိ"</item> + <item msgid="1606809880904982133">"တစ်ခုမျှ မဟုတ်ပါ"</item> <item msgid="9033194758688161545">"480p"</item> <item msgid="1025306206556583600">"480p (secure)"</item> <item msgid="1853913333042744661">"720p"</item> @@ -225,7 +225,7 @@ <item msgid="1311305077526792901">"720p, 1080p (dual screen)"</item> </string-array> <string-array name="enable_opengl_traces_entries"> - <item msgid="3191973083884253830">"မရှိ"</item> + <item msgid="3191973083884253830">"တစ်ခုမျှ မဟုတ်ပါ"</item> <item msgid="9089630089455370183">"လော့ဂ်ကက်"</item> <item msgid="5397807424362304288">"စနစ်ခြေရာခံခြင်း (ရုပ်ပုံများ)"</item> <item msgid="1340692776955662664">"glGetError အမှားတက်လျှင်ခေါ်သောလုပ်ငန်းစဉ်"</item> diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml index 1db26b403142..4500209ecd85 100644 --- a/packages/SettingsLib/res/values-my/strings.xml +++ b/packages/SettingsLib/res/values-my/strings.xml @@ -21,7 +21,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="wifi_fail_to_scan" msgid="1265540342578081461">"ကွန်ယက်များကို စကင်မလုပ်နိုင်ပါ"</string> - <string name="wifi_security_none" msgid="7985461072596594400">"မရှိ"</string> + <string name="wifi_security_none" msgid="7985461072596594400">"တစ်ခုမျှ မဟုတ်ပါ"</string> <string name="wifi_remembered" msgid="4955746899347821096">"သိမ်းဆည်းပြီး"</string> <string name="wifi_disconnected" msgid="8085419869003922556">"ချိတ်ဆက်မထားပါ"</string> <string name="wifi_disabled_generic" msgid="4259794910584943386">"ပိတ်ထားသည်"</string> @@ -35,7 +35,7 @@ <string name="wifi_not_in_range" msgid="1136191511238508967">"စက်ကွင်းထဲတွင် မဟုတ်ပါ"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"အလိုအလျောက်ချိတ်ဆက်မည်မဟုတ်ပါ"</string> <string name="wifi_no_internet" msgid="4663834955626848401">"အင်တာနက် ချိတ်ဆက်မှု မရှိပါ"</string> - <string name="saved_network" msgid="4352716707126620811">"<xliff:g id="NAME">%1$s</xliff:g> က သိမ်းဆည်းခဲ့သည်"</string> + <string name="saved_network" msgid="4352716707126620811">"<xliff:g id="NAME">%1$s</xliff:g> မှသိမ်းဆည်းခဲ့သည်"</string> <string name="connected_via_network_scorer" msgid="5713793306870815341">"%1$s မှတစ်ဆင့် အလိုအလျောက် ချိတ်ဆက်ထားပါသည်"</string> <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"ကွန်ရက်အဆင့်သတ်မှတ်ပေးသူ မှတစ်ဆင့် အလိုအလျောက် ချိတ်ဆက်ထားပါသည်"</string> <string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s မှတစ်ဆင့် ချိတ်ဆက်ထားသည်"</string> @@ -148,7 +148,7 @@ <string name="tether_settings_title_all" msgid="8356136101061143841">"တဆင့်ချိတ်ဆက်ခြင်း၊ ဟော့စပေါ့"</string> <string name="managed_user_title" msgid="8109605045406748842">"အလုပ်သုံးအက်ပ်များအားလုံး"</string> <string name="user_guest" msgid="8475274842845401871">"ဧည့်သည်"</string> - <string name="unknown" msgid="1592123443519355854">"မသိ"</string> + <string name="unknown" msgid="1592123443519355854">"မသိပါ"</string> <string name="running_process_item_user_label" msgid="3129887865552025943">"အသုံးပြုသူ- <xliff:g id="USER_NAME">%1$s</xliff:g>"</string> <string name="launch_defaults_some" msgid="313159469856372621">"မူရင်းအချို့ သတ်မှတ်ပြီး"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"ပုံမှန်သတ်မှတ်ထားခြင်းမရှိ"</string> @@ -402,7 +402,7 @@ <string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"အားပြည့်ရန် <xliff:g id="TIME">%1$s</xliff:g> လိုပါသည်"</string> <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> − အားပြည့်ရန် <xliff:g id="TIME">%2$s</xliff:g> ကျန်သည်"</string> - <string name="battery_info_status_unknown" msgid="196130600938058547">"မသိ"</string> + <string name="battery_info_status_unknown" msgid="196130600938058547">"မသိပါ"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"အားသွင်းနေပါသည်"</string> <string name="battery_info_status_charging_lower" msgid="8689770213898117994">"အားသွင်းနေပါသည်"</string> <string name="battery_info_status_discharging" msgid="310932812698268588">"အားသွင်းမနေပါ"</string> diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml index 6771da1387b3..d8154acc2ba1 100644 --- a/packages/SettingsLib/res/values-nl/strings.xml +++ b/packages/SettingsLib/res/values-nl/strings.xml @@ -37,7 +37,7 @@ <string name="wifi_no_internet" msgid="4663834955626848401">"Geen internettoegang"</string> <string name="saved_network" msgid="4352716707126620811">"Opgeslagen door \'<xliff:g id="NAME">%1$s</xliff:g>\'"</string> <string name="connected_via_network_scorer" msgid="5713793306870815341">"Automatisch verbonden via %1$s"</string> - <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"Automatisch verbonden via netwerkbeoordelaar"</string> + <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"Automatisch verbonden via provider van netwerkbeoordelingen"</string> <string name="connected_via_passpoint" msgid="2826205693803088747">"Verbonden via %1$s"</string> <string name="connected_via_app" msgid="5571999941988929520">"Verbonden via <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="available_via_passpoint" msgid="1617440946846329613">"Beschikbaar via %1$s"</string> diff --git a/packages/SettingsLib/res/values-or/arrays.xml b/packages/SettingsLib/res/values-or/arrays.xml index 62818ad3520f..25744e3fab95 100644 --- a/packages/SettingsLib/res/values-or/arrays.xml +++ b/packages/SettingsLib/res/values-or/arrays.xml @@ -86,7 +86,7 @@ <item msgid="3304843301758635896">"ବିକଳ୍ପ କୋଡେକ୍ଗୁଡ଼ିକୁ ଅକ୍ଷମ କରନ୍ତୁ"</item> </string-array> <string-array name="bluetooth_a2dp_codec_summaries"> - <item msgid="5062108632402595000">"ସିଷ୍ଟମ୍ର ଚୟନ (ଡିଫଲ୍ଟ୍) ବ୍ୟବହାର କରନ୍ତୁ"</item> + <item msgid="5062108632402595000">"ସିଷ୍ଟମ୍ର ଚୟନ (ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ) ବ୍ୟବହାର କରନ୍ତୁ"</item> <item msgid="6898329690939802290">"SBC"</item> <item msgid="6839647709301342559">"AAC"</item> <item msgid="7848030269621918608">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ଅଡିଓ"</item> @@ -96,21 +96,21 @@ <item msgid="741805482892725657">"ବିକଳ୍ପ କୋଡେକ୍ସ ଅକ୍ଷମ କରନ୍ତୁ"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_titles"> - <item msgid="3093023430402746802">"ସିଷ୍ଟମ୍ର ଚୟନ (ଡିଫଲ୍ଟ୍) ବ୍ୟବହାର କରନ୍ତୁ"</item> + <item msgid="3093023430402746802">"ସିଷ୍ଟମ୍ର ଚୟନ (ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ) ବ୍ୟବହାର କରନ୍ତୁ"</item> <item msgid="8895532488906185219">"44.1 kHz"</item> <item msgid="2909915718994807056">"48.0 kHz"</item> <item msgid="3347287377354164611">"88.2 kHz"</item> <item msgid="1234212100239985373">"96.0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_summaries"> - <item msgid="3214516120190965356">"ସିଷ୍ଟମ୍ ଚୟନ ବ୍ୟବହାର କରନ୍ତୁ (ଡିଫଲ୍ଟ୍)"</item> + <item msgid="3214516120190965356">"ସିଷ୍ଟମ୍ ଚୟନ ବ୍ୟବହାର କରନ୍ତୁ (ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ)"</item> <item msgid="4482862757811638365">"44.1 kHz"</item> <item msgid="354495328188724404">"48.0 kHz"</item> <item msgid="7329816882213695083">"88.2 kHz"</item> <item msgid="6967397666254430476">"96.0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_titles"> - <item msgid="2684127272582591429">"ସିଷ୍ଟମ୍ର ଚୟନ (ଡିଫଲ୍ଟ୍) ବ୍ୟବହାର କରନ୍ତୁ"</item> + <item msgid="2684127272582591429">"ସିଷ୍ଟମ୍ର ଚୟନ (ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ) ବ୍ୟବହାର କରନ୍ତୁ"</item> <item msgid="5618929009984956469">"16 ବିଟ୍ସ/ସାମ୍ପଲ୍"</item> <item msgid="3412640499234627248">"24 ବିଟ୍ସ/ନମୁନା"</item> <item msgid="121583001492929387">"32 ବିଟସ୍/ନମୂନା"</item> @@ -127,7 +127,7 @@ <item msgid="5571632958424639155">"ଷ୍ଟେରିଓ"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_summaries"> - <item msgid="4118561796005528173">"ସିଷ୍ଟମ୍ ଚୟନ ବ୍ୟବହାର କରନ୍ତୁ(ଡିଫଲ୍ଟ୍)"</item> + <item msgid="4118561796005528173">"ସିଷ୍ଟମ୍ ଚୟନ ବ୍ୟବହାର କରନ୍ତୁ(ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ)"</item> <item msgid="8900559293912978337">"ମୋନୋ"</item> <item msgid="8883739882299884241">"ଷ୍ଟେରିଓ"</item> </string-array> @@ -167,7 +167,7 @@ <item msgid="6921048829791179331">"ବନ୍ଦ"</item> <item msgid="2969458029344750262">"64K ପିଛା ଲଗ୍ ବଫର୍"</item> <item msgid="1342285115665698168">"256K ଲଗ୍ ପ୍ରତି ବଫର୍"</item> - <item msgid="1314234299552254621">"1M ପ୍ରତି ଲଗ୍ ବଫର୍"</item> + <item msgid="1314234299552254621">"ଲଗ୍ ବଫର୍ ପ୍ରତି 1M"</item> <item msgid="3606047780792894151">"ଲଗ୍ ବଫର୍ ପ୍ରତି 4M"</item> <item msgid="5431354956856655120">"16M ଲଗ ପିଛା ବଫର୍"</item> </string-array> @@ -195,7 +195,7 @@ <string-array name="transition_animation_scale_entries"> <item msgid="8464255836173039442">"ଆନିମେଶନ୍ ବନ୍ଦ କରନ୍ତୁ"</item> <item msgid="3375781541913316411">"ଆନିମେଶନ୍ ସ୍କେଲ୍ .5x"</item> - <item msgid="1991041427801869945">"ଆନିମେସନ୍ ସ୍କେଲ୍ 1x"</item> + <item msgid="1991041427801869945">"ଆନିମେଶନ୍ ସ୍କେଲ୍ 1x"</item> <item msgid="4012689927622382874">"ଆନିମେସନ୍ ସ୍କେଲ 1.5x"</item> <item msgid="3289156759925947169">"ଆନିମେଶନ୍ ସ୍କେଲ୍ 2x"</item> <item msgid="7705857441213621835">"ଆନିମେଶନ୍ ସ୍କେଲ୍ 5x"</item> @@ -246,7 +246,7 @@ <item msgid="2290859360633824369">"ଡିଉଟେରାନୋମାଲୀ ପାଇଁ କ୍ଷେତ୍ର ଦେଖନ୍ତୁ"</item> </string-array> <string-array name="app_process_limit_entries"> - <item msgid="3401625457385943795">"ମାନକ ସୀମା"</item> + <item msgid="3401625457385943795">"ସାଧାରଣ ସୀମା"</item> <item msgid="4071574792028999443">"କୌଣସି ବ୍ୟାକ୍ଗ୍ରାଉଣ୍ଡ ପ୍ରୋସେସ୍ ଚାଲୁନାହିଁ"</item> <item msgid="4810006996171705398">"ସର୍ବାଧିକ 1ଟି ପ୍ରକ୍ରିୟା"</item> <item msgid="8586370216857360863">"ସର୍ବାଧିକ 2 ଟି ପ୍ରକ୍ରିୟା"</item> diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml index c4e554b6603e..0ca4e3ed7d3e 100644 --- a/packages/SettingsLib/res/values-or/strings.xml +++ b/packages/SettingsLib/res/values-or/strings.xml @@ -460,7 +460,7 @@ <string name="alarm_template_far" msgid="3779172822607461675">"<xliff:g id="WHEN">%1$s</xliff:g> ବେଳେ"</string> <string name="zen_mode_duration_settings_title" msgid="229547412251222757">"ଅବଧି"</string> <string name="zen_mode_duration_always_prompt_title" msgid="6478923750878945501">"ପ୍ରତ୍ୟେକ ଥର ପଚାରନ୍ତୁ"</string> - <string name="zen_mode_forever" msgid="2704305038191592967">"ଆପଣ ବନ୍ଦ ନକରିବା ପର୍ଯ୍ୟନ୍ତ"</string> + <string name="zen_mode_forever" msgid="2704305038191592967">"ଆପଣ ବନ୍ଦ ନକରିବା ପର୍ଯ୍ୟନ୍ତ DND ଅନ୍ ରହିବ"</string> <string name="time_unit_just_now" msgid="6363336622778342422">"ଏହିକ୍ଷଣି"</string> <string name="media_transfer_this_device_name" msgid="1636276898262571213">"ଏହି ଡିଭାଇସ୍"</string> </resources> diff --git a/packages/SettingsLib/res/values-pa/arrays.xml b/packages/SettingsLib/res/values-pa/arrays.xml index 4ee7cfacf1f4..0bc2ce6203b1 100644 --- a/packages/SettingsLib/res/values-pa/arrays.xml +++ b/packages/SettingsLib/res/values-pa/arrays.xml @@ -246,7 +246,7 @@ <item msgid="2290859360633824369">"Deuteranomaly ਲਈ ਖੇਤਰ ਦਿਖਾਓ"</item> </string-array> <string-array name="app_process_limit_entries"> - <item msgid="3401625457385943795">"ਮਿਆਰੀ ਸੀਮਾ"</item> + <item msgid="3401625457385943795">"ਸਟੈਂਡਰਡ ਸੀਮਾ"</item> <item msgid="4071574792028999443">"ਕੋਈ ਪਿਛੋਕੜ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨਹੀਂ"</item> <item msgid="4810006996171705398">"ਵੱਧ ਤੋਂ ਵੱਧ 1 ਪ੍ਰਕਿਰਿਆ"</item> <item msgid="8586370216857360863">"ਵੱਧ ਤੋਂ ਵੱਧ 2 ਪ੍ਰਕਿਰਿਆਵਾਂ"</item> diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml index 7a5522ed7e5f..134871575841 100644 --- a/packages/SettingsLib/res/values-pt-rBR/strings.xml +++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml @@ -23,7 +23,7 @@ <string name="wifi_fail_to_scan" msgid="1265540342578081461">"Não é possível verificar a existência de redes"</string> <string name="wifi_security_none" msgid="7985461072596594400">"Nenhuma"</string> <string name="wifi_remembered" msgid="4955746899347821096">"Salva"</string> - <string name="wifi_disconnected" msgid="8085419869003922556">"Desconectada"</string> + <string name="wifi_disconnected" msgid="8085419869003922556">"Desconectado"</string> <string name="wifi_disabled_generic" msgid="4259794910584943386">"Desativado"</string> <string name="wifi_disabled_network_failure" msgid="2364951338436007124">"Falha de configuração de IP"</string> <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Não conectado devido à baixa qualidade da rede"</string> diff --git a/packages/SettingsLib/res/values-pt-rPT/arrays.xml b/packages/SettingsLib/res/values-pt-rPT/arrays.xml index 69c8fc7eb067..ac170caba375 100644 --- a/packages/SettingsLib/res/values-pt-rPT/arrays.xml +++ b/packages/SettingsLib/res/values-pt-rPT/arrays.xml @@ -76,7 +76,7 @@ <item msgid="3422726142222090896">"avrcp16"</item> </string-array> <string-array name="bluetooth_a2dp_codec_titles"> - <item msgid="7065842274271279580">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="7065842274271279580">"Utilizar seleção do sistema (predef.)"</item> <item msgid="7539690996561263909">"SBC"</item> <item msgid="686685526567131661">"AAC"</item> <item msgid="5254942598247222737">"Áudio <xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g>"</item> @@ -86,7 +86,7 @@ <item msgid="3304843301758635896">"Desativar codecs opcionais"</item> </string-array> <string-array name="bluetooth_a2dp_codec_summaries"> - <item msgid="5062108632402595000">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="5062108632402595000">"Utilizar seleção do sistema (predef.)"</item> <item msgid="6898329690939802290">"SBC"</item> <item msgid="6839647709301342559">"AAC"</item> <item msgid="7848030269621918608">"Áudio <xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g>"</item> @@ -96,38 +96,38 @@ <item msgid="741805482892725657">"Desativar codecs opcionais"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_titles"> - <item msgid="3093023430402746802">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="3093023430402746802">"Utilizar seleção do sistema (predef.)"</item> <item msgid="8895532488906185219">"44,1 kHz"</item> <item msgid="2909915718994807056">"48,0 kHz"</item> <item msgid="3347287377354164611">"88,2 kHz"</item> <item msgid="1234212100239985373">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_summaries"> - <item msgid="3214516120190965356">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="3214516120190965356">"Utilizar seleção do sistema (predef.)"</item> <item msgid="4482862757811638365">"44,1 kHz"</item> <item msgid="354495328188724404">"48,0 kHz"</item> <item msgid="7329816882213695083">"88,2 kHz"</item> <item msgid="6967397666254430476">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_titles"> - <item msgid="2684127272582591429">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="2684127272582591429">"Utilizar seleção do sistema (predef.)"</item> <item msgid="5618929009984956469">"16 bits/amostra"</item> <item msgid="3412640499234627248">"24 bits/amostra"</item> <item msgid="121583001492929387">"32 bits/amostra"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_summaries"> - <item msgid="1081159789834584363">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="1081159789834584363">"Utilizar seleção do sistema (predef.)"</item> <item msgid="4726688794884191540">"16 bits/amostra"</item> <item msgid="305344756485516870">"24 bits/amostra"</item> <item msgid="244568657919675099">"32 bits/amostra"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_titles"> - <item msgid="5226878858503393706">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="5226878858503393706">"Utilizar seleção do sistema (predef.)"</item> <item msgid="4106832974775067314">"Mono"</item> <item msgid="5571632958424639155">"Estéreo"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_summaries"> - <item msgid="4118561796005528173">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="4118561796005528173">"Utilizar seleção do sistema (predef.)"</item> <item msgid="8900559293912978337">"Mono"</item> <item msgid="8883739882299884241">"Estéreo"</item> </string-array> diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml index 7a5522ed7e5f..134871575841 100644 --- a/packages/SettingsLib/res/values-pt/strings.xml +++ b/packages/SettingsLib/res/values-pt/strings.xml @@ -23,7 +23,7 @@ <string name="wifi_fail_to_scan" msgid="1265540342578081461">"Não é possível verificar a existência de redes"</string> <string name="wifi_security_none" msgid="7985461072596594400">"Nenhuma"</string> <string name="wifi_remembered" msgid="4955746899347821096">"Salva"</string> - <string name="wifi_disconnected" msgid="8085419869003922556">"Desconectada"</string> + <string name="wifi_disconnected" msgid="8085419869003922556">"Desconectado"</string> <string name="wifi_disabled_generic" msgid="4259794910584943386">"Desativado"</string> <string name="wifi_disabled_network_failure" msgid="2364951338436007124">"Falha de configuração de IP"</string> <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"Não conectado devido à baixa qualidade da rede"</string> diff --git a/packages/SettingsLib/res/values-ro/arrays.xml b/packages/SettingsLib/res/values-ro/arrays.xml index 97c86aee7c98..28ae1616c204 100644 --- a/packages/SettingsLib/res/values-ro/arrays.xml +++ b/packages/SettingsLib/res/values-ro/arrays.xml @@ -165,11 +165,11 @@ </string-array> <string-array name="select_logd_size_summaries"> <item msgid="6921048829791179331">"Dezactivată"</item> - <item msgid="2969458029344750262">"64 KB/mem. temporară de înregistrări în jurnal"</item> - <item msgid="1342285115665698168">"256 KB/mem. temporară de înregistrări în jurnal"</item> - <item msgid="1314234299552254621">"1 MB/mem. temporară de înregistrări în jurnal"</item> - <item msgid="3606047780792894151">"4 MB/mem. temporară de înregistrări în jurnal"</item> - <item msgid="5431354956856655120">"16 MB/mem. temporară de înregistrări în jurnal"</item> + <item msgid="2969458029344750262">"64 KB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="1342285115665698168">"256 KB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="1314234299552254621">"1 MB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="3606047780792894151">"4 MB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="5431354956856655120">"16 MB/zonă-tampon de înregistrări în jurnal"</item> </string-array> <string-array name="select_logpersist_titles"> <item msgid="1744840221860799971">"Dezactivată"</item> @@ -181,7 +181,7 @@ <item msgid="2216470072500521830">"Dezactivată"</item> <item msgid="172978079776521897">"Toate zonele-tampon pentru jurnale"</item> <item msgid="3873873912383879240">"Toate zonele-tampon pentru jurnale fără cele radio"</item> - <item msgid="8489661142527693381">"numai memoria temporară pentru jurnalul nucleului"</item> + <item msgid="8489661142527693381">"numai zona-tampon pentru jurnalul nucleului"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animație dezactivată"</item> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index b4fd3fa4b701..1cbd70bf760a 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -83,7 +83,7 @@ <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Apeluri telefonice"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Transfer de fișiere"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Dispozitiv de intrare"</string> - <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acces la internet"</string> + <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Acces internet"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Acces la Agendă"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Utilizați pentru a permite accesul la Agendă"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Distribuirea conexiunii la internet"</string> diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml index 4c2441aa800f..d21e3ade0f7e 100644 --- a/packages/SettingsLib/res/values-sl/strings.xml +++ b/packages/SettingsLib/res/values-sl/strings.xml @@ -219,7 +219,7 @@ <string name="mock_location_app_set" msgid="8966420655295102685">"Aplikacija za simulirano lokacijo: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="debug_networking_category" msgid="7044075693643009662">"Omrežja"</string> <string name="wifi_display_certification" msgid="8611569543791307533">"Potrdilo brezžičnega zaslona"</string> - <string name="wifi_verbose_logging" msgid="4203729756047242344">"Omogoči podrobno zapisovanje dnevnika za Wi-Fi"</string> + <string name="wifi_verbose_logging" msgid="4203729756047242344">"Omogoči podrob. zapis. dnevnika za Wi-Fi"</string> <string name="mobile_data_always_on" msgid="8774857027458200434">"Prenos podatkov v mobilnem omrežju je vedno aktiven"</string> <string name="tethering_hardware_offload" msgid="7470077827090325814">"Strojno pospeševanje za internetno povezavo prek mobilnega telefona"</string> <string name="bluetooth_show_devices_without_names" msgid="4708446092962060176">"Prikaži naprave Bluetooth brez imen"</string> @@ -297,7 +297,7 @@ <string name="show_screen_updates_summary" msgid="2569622766672785529">"Ob posodobitvi osveži celotne površine oken"</string> <string name="show_hw_screen_updates" msgid="4117270979975470789">"Prikaži posodob. pogleda"</string> <string name="show_hw_screen_updates_summary" msgid="6506943466625875655">"Osveži poglede v oknih pri risanju"</string> - <string name="show_hw_layers_updates" msgid="5645728765605699821">"Pokaži posodobitve slojev strojne opreme"</string> + <string name="show_hw_layers_updates" msgid="5645728765605699821">"Pokaži pos. sl. str. opr."</string> <string name="show_hw_layers_updates_summary" msgid="5296917233236661465">"Obarvaj sloje strojne opreme zeleno ob posodobitvi"</string> <string name="debug_hw_overdraw" msgid="2968692419951565417">"Prekoračitev območja GPE"</string> <string name="disable_overlays" msgid="2074488440505934665">"Onem. strojni medp."</string> @@ -315,7 +315,7 @@ <string name="show_non_rect_clip" msgid="505954950474595172">"Odpravljanje težav s postopki nepravokotnega izrezovanja"</string> <string name="track_frame_time" msgid="6094365083096851167">"Upodob. profilov s HWUI"</string> <string name="enable_gpu_debug_layers" msgid="3848838293793255097">"Omog. sloje odpr. nap. GPE"</string> - <string name="enable_gpu_debug_layers_summary" msgid="8009136940671194940">"Aplikacijam za odpravljanje napak dovoli nalaganje slojev za odpravljanje napak GPE"</string> + <string name="enable_gpu_debug_layers_summary" msgid="8009136940671194940">"Apl. za odpr. nap. dovoli nal. sloj. odpr. nap. GPE"</string> <string name="window_animation_scale_title" msgid="6162587588166114700">"Merilo animacije okna"</string> <string name="transition_animation_scale_title" msgid="387527540523595875">"Merilo animacije prehoda"</string> <string name="animator_duration_scale_title" msgid="3406722410819934083">"Merilo trajanja animacije"</string> @@ -334,7 +334,7 @@ <string name="force_resizable_activities_summary" msgid="6667493494706124459">"Poskrbi, da je ne glede na vrednosti v manifestu mogoče vsem aktivnostim spremeniti velikost za način z več okni."</string> <string name="enable_freeform_support" msgid="1461893351278940416">"Omogočanje oken svobodne oblike"</string> <string name="enable_freeform_support_summary" msgid="8247310463288834487">"Omogočanje podpore za poskusna okna svobodne oblike"</string> - <string name="local_backup_password_title" msgid="3860471654439418822">"Geslo za varnostno kopijo namizja"</string> + <string name="local_backup_password_title" msgid="3860471654439418822">"Geslo za varn. kop. namizja"</string> <string name="local_backup_password_summary_none" msgid="6951095485537767956">"Popolne varnostne kopije namizja trenutno niso zaščitene"</string> <string name="local_backup_password_summary_change" msgid="5376206246809190364">"Dotaknite se, če želite spremeniti ali odstraniti geslo za popolno varnostno kopiranje namizja"</string> <string name="local_backup_password_toast_success" msgid="582016086228434290">"Novo geslo je nastavljeno"</string> diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml index 35a995458e3c..0b486f759e5a 100644 --- a/packages/SettingsLib/res/values-sw/strings.xml +++ b/packages/SettingsLib/res/values-sw/strings.xml @@ -83,7 +83,7 @@ <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Simu"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Uhamishaji wa faili"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Kifaa cha kuingiza"</string> - <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Ufikiaji wa mtandao"</string> + <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Ufikivu wa mtandao"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kushiriki anwani"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Tumia kwa kushiriki anwani"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Kushiriki muunganisho wa tovuti"</string> @@ -137,7 +137,7 @@ <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Nguvu kamili ya mtandao wa Wifi."</string> <string name="accessibility_wifi_security_type_none" msgid="1223747559986205423">"Mtandao unaotumiwa na mtu yeyote"</string> <string name="accessibility_wifi_security_type_secured" msgid="862921720418885331">"Mtandao salama"</string> - <string name="process_kernel_label" msgid="3916858646836739323">"Mfumo wa Uendeshaji wa Android"</string> + <string name="process_kernel_label" msgid="3916858646836739323">"OS ya Android"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"Programu zilizoondolewa"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"Watumiaji na programu ziilizoondolewa"</string> <string name="data_usage_ota" msgid="5377889154805560860">"Masasisho ya mfumo"</string> diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml index 6b5b0567d02e..13741e075cb3 100644 --- a/packages/SettingsLib/res/values-ta/strings.xml +++ b/packages/SettingsLib/res/values-ta/strings.xml @@ -23,7 +23,8 @@ <string name="wifi_fail_to_scan" msgid="1265540342578081461">"நெட்வொர்க்குகளுக்கு ஸ்கேன் செய்யப்படவில்லை"</string> <string name="wifi_security_none" msgid="7985461072596594400">"ஏதுமில்லை"</string> <string name="wifi_remembered" msgid="4955746899347821096">"சேமிக்கப்பட்டது"</string> - <string name="wifi_disconnected" msgid="8085419869003922556">"தொடர்பு துண்டிக்கப்பட்டது"</string> + <!-- no translation found for wifi_disconnected (8085419869003922556) --> + <skip /> <string name="wifi_disabled_generic" msgid="4259794910584943386">"முடக்கப்பட்டது"</string> <string name="wifi_disabled_network_failure" msgid="2364951338436007124">"IP உள்ளமைவில் தோல்வி"</string> <string name="wifi_disabled_by_recommendation_provider" msgid="5168315140978066096">"தரம் குறைவான நெட்வொர்க்கின் காரணமாக, இணைக்கப்படவில்லை"</string> @@ -196,7 +197,7 @@ <string name="category_work" msgid="8699184680584175622">"பணியிடம்"</string> <string name="development_settings_title" msgid="215179176067683667">"டெவெலப்பர் விருப்பங்கள்"</string> <string name="development_settings_enable" msgid="542530994778109538">"டெவெலப்பர் விருப்பங்களை இயக்கு"</string> - <string name="development_settings_summary" msgid="1815795401632854041">"ஆப்ஸின் மேம்பாட்டிற்காக விருப்பங்களை அமை"</string> + <string name="development_settings_summary" msgid="1815795401632854041">"பயன்பாட்டின் மேம்பாட்டிற்காக விருப்பங்களை அமை"</string> <string name="development_settings_not_available" msgid="4308569041701535607">"இவருக்கு, டெவெலப்பர் விருப்பங்கள் இல்லை"</string> <string name="vpn_settings_not_available" msgid="956841430176985598">"இவரால் VPN அமைப்புகளை மாற்ற முடியாது"</string> <string name="tethering_settings_not_available" msgid="6765770438438291012">"இவரால் இணைப்புமுறை அமைப்புகளை மாற்ற முடியாது"</string> @@ -354,7 +355,7 @@ <string name="inactive_apps_title" msgid="9042996804461901648">"காத்திருப்பில் உள்ள ஆப்ஸ்"</string> <string name="inactive_app_inactive_summary" msgid="5091363706699855725">"செயலில் இல்லை. மாற்ற, தட்டவும்."</string> <string name="inactive_app_active_summary" msgid="4174921824958516106">"செயலில் உள்ளது. மாற்ற, தட்டவும்."</string> - <string name="standby_bucket_summary" msgid="6567835350910684727">"காத்திருப்பில் உள்ள ஆப்ஸின் நிலை:<xliff:g id="BUCKET"> %s</xliff:g>"</string> + <string name="standby_bucket_summary" msgid="6567835350910684727">"காத்திருப்பில் உள்ள பயன்பாட்டின் நிலை:<xliff:g id="BUCKET"> %s</xliff:g>"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"இயங்கும் சேவைகள்"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"தற்போது இயக்கத்தில் இருக்கும் சேவைகளைப் பார்த்து கட்டுப்படுத்து"</string> <string name="select_webview_provider_title" msgid="4628592979751918907">"WebView செயல்படுத்தல்"</string> diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml index d3dfda3da4f6..99affe422be6 100644 --- a/packages/SettingsLib/res/values-te/strings.xml +++ b/packages/SettingsLib/res/values-te/strings.xml @@ -451,7 +451,7 @@ <string name="okay" msgid="1997666393121016642">"సరే"</string> <string name="zen_mode_enable_dialog_turn_on" msgid="8287824809739581837">"ఆన్ చేయండి"</string> <string name="zen_mode_settings_turn_on_dialog_title" msgid="2297134204747331078">"అంతరాయం కలిగించవద్దును ఆన్ చేయండి"</string> - <string name="zen_mode_settings_summary_off" msgid="6119891445378113334">"ఎప్పటికీ వద్దు"</string> + <string name="zen_mode_settings_summary_off" msgid="6119891445378113334">"ఎప్పటికీ"</string> <string name="zen_interruption_level_priority" msgid="2078370238113347720">"ప్రాధాన్యత మాత్రమే"</string> <string name="zen_mode_and_condition" msgid="4927230238450354412">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string> <string name="zen_alarm_warning_indef" msgid="3007988140196673193">"మీరు <xliff:g id="WHEN">%1$s</xliff:g> సెట్ చేసిన మీ తర్వాత అలారం మీరు ఆ లోపల దీన్ని ఆఫ్ చేయకుంటే వినిపించదు"</string> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index 9c89b5860709..7afb78a06635 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -448,7 +448,7 @@ <string name="accessibility_manual_zen_more_time" msgid="1636187409258564291">"Daha uzun süre."</string> <string name="accessibility_manual_zen_less_time" msgid="6590887204171164991">"Daha kısa süre."</string> <string name="cancel" msgid="6859253417269739139">"İptal"</string> - <string name="okay" msgid="1997666393121016642">"Tamam"</string> + <string name="okay" msgid="1997666393121016642">"TAMAM"</string> <string name="zen_mode_enable_dialog_turn_on" msgid="8287824809739581837">"Aç"</string> <string name="zen_mode_settings_turn_on_dialog_title" msgid="2297134204747331078">"Rahatsız Etmeyin\'i açın"</string> <string name="zen_mode_settings_summary_off" msgid="6119891445378113334">"Hiçbir zaman"</string> diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml index 278928b05992..08084561cce8 100644 --- a/packages/SettingsLib/res/values-uk/strings.xml +++ b/packages/SettingsLib/res/values-uk/strings.xml @@ -238,7 +238,7 @@ <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="6893955536658137179">"Активувати LDAC для аудіо Bluetooth\nВибір кодека: якість відтворення"</string> <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="5347862512596240506">"Трансляція: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string> <string name="select_private_dns_configuration_title" msgid="3700456559305263922">"Приватна DNS"</string> - <string name="select_private_dns_configuration_dialog_title" msgid="9221994415765826811">"Режим приватної системи DNS"</string> + <string name="select_private_dns_configuration_dialog_title" msgid="9221994415765826811">"Виберіть режим \"Приватна DNS\""</string> <string name="private_dns_mode_off" msgid="8236575187318721684">"Вимкнено"</string> <string name="private_dns_mode_opportunistic" msgid="8314986739896927399">"Автоматично"</string> <string name="private_dns_mode_provider" msgid="8354935160639360804">"Ім’я хосту приватного постачальника послуг DNS"</string> diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml index 26fa7721a494..2ac9a9bc2045 100644 --- a/packages/SettingsLib/res/values-vi/strings.xml +++ b/packages/SettingsLib/res/values-vi/strings.xml @@ -35,7 +35,7 @@ <string name="wifi_not_in_range" msgid="1136191511238508967">"Ngoài vùng phủ sóng"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Sẽ không tự động kết nối"</string> <string name="wifi_no_internet" msgid="4663834955626848401">"Không có quyền truy cập Internet"</string> - <string name="saved_network" msgid="4352716707126620811">"Do <xliff:g id="NAME">%1$s</xliff:g> lưu"</string> + <string name="saved_network" msgid="4352716707126620811">"Được lưu bởi <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="connected_via_network_scorer" msgid="5713793306870815341">"Tự động được kết nối qua %1$s"</string> <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"Tự động được kết nối qua nhà cung cấp dịch vụ xếp hạng mạng"</string> <string name="connected_via_passpoint" msgid="2826205693803088747">"Được kết nối qua %1$s"</string> @@ -88,7 +88,7 @@ <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Sử dụng để chia sẻ liên hệ"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Chia sẻ kết nối internet"</string> <string name="bluetooth_profile_map" msgid="1019763341565580450">"Tin nhắn văn bản"</string> - <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Truy cập SIM"</string> + <string name="bluetooth_profile_sap" msgid="5764222021851283125">"Quyền truy cập SIM"</string> <string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"Âm thanh HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string> <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"Âm thanh HD"</string> <string name="bluetooth_profile_hearing_aid" msgid="6680721080542444257">"Thiết bị trợ thính"</string> @@ -153,7 +153,7 @@ <string name="launch_defaults_some" msgid="313159469856372621">"Đã đặt một số ứng dụng chạy mặc định"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"Chưa đặt mặc định"</string> <string name="tts_settings" msgid="8186971894801348327">"Cài đặt chuyển văn bản sang lời nói"</string> - <string name="tts_settings_title" msgid="1237820681016639683">"Chuyển văn bản sang lời nói"</string> + <string name="tts_settings_title" msgid="1237820681016639683">"Đầu ra văn bản thành giọng nói"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Tốc độ lời nói"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Tốc độ đọc văn bản"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Độ cao"</string> diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml index 9cc87bd18384..653a39b3b695 100644 --- a/packages/SettingsLib/res/values-zh-rHK/strings.xml +++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml @@ -238,11 +238,11 @@ <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="6893955536658137179">"觸發藍牙音訊 LDAC\n編解碼器選項:播放品質"</string> <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="5347862512596240506">"正在串流:<xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string> <string name="select_private_dns_configuration_title" msgid="3700456559305263922">"私人 DNS"</string> - <string name="select_private_dns_configuration_dialog_title" msgid="9221994415765826811">"選取私人 DNS 模式"</string> + <string name="select_private_dns_configuration_dialog_title" msgid="9221994415765826811">"選取私人網域名稱系統 (DNS) 模式"</string> <string name="private_dns_mode_off" msgid="8236575187318721684">"停用"</string> <string name="private_dns_mode_opportunistic" msgid="8314986739896927399">"自動"</string> - <string name="private_dns_mode_provider" msgid="8354935160639360804">"私人 DNS 供應商主機名稱"</string> - <string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"輸入 DNS 供應商主機名稱"</string> + <string name="private_dns_mode_provider" msgid="8354935160639360804">"私人網域名稱系統 (DNS) 供應商主機名稱"</string> + <string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"輸入網域名稱系統 (DNS) 供應商的主機名稱"</string> <string name="private_dns_mode_provider_failure" msgid="231837290365031223">"無法連線"</string> <string name="wifi_display_certification_summary" msgid="1155182309166746973">"顯示無線螢幕分享認證的選項"</string> <string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"讓 Wi‑Fi 記錄功能升級,在 Wi‑Fi 選擇器中依每個 SSID RSSI 顯示 Wi‑Fi 詳細紀錄"</string> diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java b/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java index 98eb57300f0b..7ce713b2f296 100644 --- a/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java +++ b/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java @@ -60,6 +60,7 @@ public class SignalDrawable extends DrawableWrapper { private static final int NUM_LEVEL_MASK = 0xff << NUM_LEVEL_SHIFT; private static final int STATE_SHIFT = 16; private static final int STATE_MASK = 0xff << STATE_SHIFT; + private static final int STATE_EMPTY = 1; private static final int STATE_CUT = 2; private static final int STATE_CARRIER_CHANGE = 3; @@ -203,7 +204,7 @@ public class SignalDrawable extends DrawableWrapper { drawDotAndPadding(x - dotSpacing * 2, y, dotPadding, dotSize, 0); canvas.drawPath(mCutoutPath, mTransparentPaint); canvas.drawPath(mForegroundPath, mForegroundPaint); - } else if (isInState(STATE_CUT)) { + } else if (isInState(STATE_CUT) || isInState(STATE_EMPTY)) { float cut = (CUT_OUT * width); mCutoutPath.moveTo(width - padding, height - padding); mCutoutPath.rLineTo(-cut, 0); @@ -268,13 +269,14 @@ public class SignalDrawable extends DrawableWrapper { /** * Returns whether this drawable is in the specified state. * - * @param state must be one of {@link #STATE_CARRIER_CHANGE} or {@link #STATE_CUT} + * @param state must be one of {@link #STATE_CARRIER_CHANGE}, {@link #STATE_CUT}, + * or {@link #STATE_EMPTY}. */ private boolean isInState(int state) { return getState(getLevel()) == state; } - public static int getState(int fullState) { + private static int getState(int fullState) { return (fullState & STATE_MASK) >> STATE_SHIFT; } @@ -286,7 +288,12 @@ public class SignalDrawable extends DrawableWrapper { /** Returns the state representing empty mobile signal with the given number of levels. */ public static int getEmptyState(int numLevels) { - return getState(0, numLevels, true); + return (STATE_EMPTY << STATE_SHIFT) | (numLevels << NUM_LEVEL_SHIFT); + } + + /** Returns whether fullState corresponds to the empty state. */ + public static boolean isEmptyState(int fullState) { + return getState(fullState) == STATE_EMPTY; } /** Returns the state representing carrier change with the given number of levels. */ diff --git a/packages/Shell/res/values-ne/strings.xml b/packages/Shell/res/values-ne/strings.xml index 05ff41274cd5..ae0a92fc27e9 100644 --- a/packages/Shell/res/values-ne/strings.xml +++ b/packages/Shell/res/values-ne/strings.xml @@ -28,7 +28,7 @@ <string name="bugreport_finished_pending_screenshot_text" product="tv" msgid="2343263822812016950">"तपाईंको बग रिपोर्ट स्क्रिनसट बिना आदान प्रदान गर्नाका लागि चयन गर्नुहोस् वा स्क्रिनसट लिने प्रक्रिया पूरा हुने प्रतीक्षा गर्नुहोस्"</string> <string name="bugreport_finished_pending_screenshot_text" product="watch" msgid="1474435374470177193">"तपाईँको बग रिपोर्टलाई स्क्रिनसट बिना साझेदारी गर्नाका लागि ट्याप गर्नुहोस् वा स्क्रिनसट लिने प्रक्रिया पूरा हुन प्रतीक्षा गर्नुहोस्"</string> <string name="bugreport_finished_pending_screenshot_text" product="default" msgid="1474435374470177193">"तपाईँको बग रिपोर्टलाई स्क्रिनसट बिना साझेदारी गर्नाका लागि ट्याप गर्नुहोस् वा स्क्रिनसट लिने प्रक्रिया पूरा हुन प्रतीक्षा गर्नुहोस्"</string> - <string name="bugreport_confirm" msgid="5917407234515812495">"बग रिपोर्टहरूमा प्रणालीका विभिन्न लग फाइलहरूको डेटा हुन्छ जसमा तपाईँले संवेदनशील मानेको डेटा समावेश हुन सक्छ (जस्तै अनुप्रयोगको प्रयोग र स्थानसम्बन्धी डेटा)। तपाईँले विश्वास गर्ने व्यक्ति र अनुप्रयोगहरूसँग मात्र बग रिपोर्टहरूलाई साझेदारी गर्नुहोस्।"</string> + <string name="bugreport_confirm" msgid="5917407234515812495">"बग रिपोर्टहरूमा प्रणालीका विभिन्न लग फाइलहरूको डेटा हुन्छ जसमा तपाईँले संवेदनशील मानेको डेटा समावेश हुन सक्छ (जस्तै अनुप्रयोगको प्रयोग र स्थान सम्बन्धी डेटा)। तपाईँले विश्वास गर्ने व्यक्ति र अनुप्रयोगहरूसँग मात्र बग रिपोर्टहरूलाई साझेदारी गर्नुहोस्।"</string> <string name="bugreport_confirm_dont_repeat" msgid="6179945398364357318">"फेरि नदेखाउनुहोस्"</string> <string name="bugreport_storage_title" msgid="5332488144740527109">"बग रिपोर्टहरू"</string> <string name="bugreport_unreadable_text" msgid="586517851044535486">"बग रिपोर्ट फाइल पढ्न सकिएन"</string> diff --git a/packages/Shell/res/values-pt-rBR/strings.xml b/packages/Shell/res/values-pt-rBR/strings.xml index d0373b1b9ccd..71483c84fc69 100644 --- a/packages/Shell/res/values-pt-rBR/strings.xml +++ b/packages/Shell/res/values-pt-rBR/strings.xml @@ -19,7 +19,7 @@ <string name="app_label" msgid="3701846017049540910">"Shell"</string> <string name="bugreport_notification_channel" msgid="2574150205913861141">"Relatórios de bugs"</string> <string name="bugreport_in_progress_title" msgid="4311705936714972757">"O relatório do bug <xliff:g id="ID">#%d</xliff:g> está sendo gerado"</string> - <string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório de bug <xliff:g id="ID">#%d</xliff:g> capturado"</string> + <string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório do bug <xliff:g id="ID">#%d</xliff:g> capturado"</string> <string name="bugreport_updating_title" msgid="4423539949559634214">"Adicionando detalhes ao relatório do bug"</string> <string name="bugreport_updating_wait" msgid="3322151947853929470">"Aguarde…"</string> <string name="bugreport_finished_text" product="watch" msgid="1223616207145252689">"O relatório de bugs será exibido no smartphone em breve"</string> diff --git a/packages/Shell/res/values-pt/strings.xml b/packages/Shell/res/values-pt/strings.xml index d0373b1b9ccd..71483c84fc69 100644 --- a/packages/Shell/res/values-pt/strings.xml +++ b/packages/Shell/res/values-pt/strings.xml @@ -19,7 +19,7 @@ <string name="app_label" msgid="3701846017049540910">"Shell"</string> <string name="bugreport_notification_channel" msgid="2574150205913861141">"Relatórios de bugs"</string> <string name="bugreport_in_progress_title" msgid="4311705936714972757">"O relatório do bug <xliff:g id="ID">#%d</xliff:g> está sendo gerado"</string> - <string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório de bug <xliff:g id="ID">#%d</xliff:g> capturado"</string> + <string name="bugreport_finished_title" msgid="4429132808670114081">"Relatório do bug <xliff:g id="ID">#%d</xliff:g> capturado"</string> <string name="bugreport_updating_title" msgid="4423539949559634214">"Adicionando detalhes ao relatório do bug"</string> <string name="bugreport_updating_wait" msgid="3322151947853929470">"Aguarde…"</string> <string name="bugreport_finished_text" product="watch" msgid="1223616207145252689">"O relatório de bugs será exibido no smartphone em breve"</string> diff --git a/packages/SystemUI/legacy/recents/res/values-my/strings.xml b/packages/SystemUI/legacy/recents/res/values-my/strings.xml index 7b5870e1c123..94fc6628312f 100644 --- a/packages/SystemUI/legacy/recents/res/values-my/strings.xml +++ b/packages/SystemUI/legacy/recents/res/values-my/strings.xml @@ -35,7 +35,7 @@ <string name="recents_stack_action_button_label" msgid="1974273390109881497">"အားလုံး ဖယ်ရှားရန်"</string> <string name="recents_drag_hint_message" msgid="610417221848280136">"မျက်နှာပြင် ခွဲ၍ပြသခြင်းကို အသုံးပြုရန် ဤနေရာသို့ ဖိဆွဲပါ"</string> <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="488987777874979435">"အလျားလိုက် ခွဲရန်"</string> - <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="2498375296906391117">"ဒေါင်လိုက် ခွဲရန်"</string> + <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="2498375296906391117">"ထောင်လိုက် ခွဲရန်"</string> <string name="recents_multistack_add_stack_dialog_split_custom" msgid="7368405969130304811">"စိတ်ကြိုက် ခွဲရန်"</string> <string name="recents_accessibility_split_screen_top" msgid="8773505308411722524">"မျက်နှာပြင်ကို အပေါ်သို့ ခွဲရန်"</string> <string name="recents_accessibility_split_screen_left" msgid="722594718192007972">"မျက်နှာပြင်ကို ဘယ်ဘက်သို့ ခွဲရန်"</string> diff --git a/packages/SystemUI/legacy/recents/res/values-pt-rBR/strings.xml b/packages/SystemUI/legacy/recents/res/values-pt-rBR/strings.xml index b557ad2db67e..589b831e2a15 100644 --- a/packages/SystemUI/legacy/recents/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/legacy/recents/res/values-pt-rBR/strings.xml @@ -28,7 +28,7 @@ <string name="recents_empty_message" msgid="7967713254531861311">"Nenhum item recente"</string> <string name="recents_empty_message_dismissed_all" msgid="1850214584987361375">"Você limpou tudo"</string> <string name="recents_app_info_button_label" msgid="8732926607391786762">"Informações do aplicativo"</string> - <string name="recents_lock_to_app_button_label" msgid="6087750201863853365">"Fixar tela"</string> + <string name="recents_lock_to_app_button_label" msgid="6087750201863853365">"fixação de tela"</string> <string name="recents_search_bar_label" msgid="638132045925945941">"pesquisar"</string> <string name="recents_launch_error_message" msgid="9107963563503438012">"Não foi possível iniciar <xliff:g id="APP">%s</xliff:g>."</string> <string name="recents_launch_disabled_message" msgid="826461671965217243">"O app <xliff:g id="APP">%s</xliff:g> fica desativado no modo de segurança."</string> diff --git a/packages/SystemUI/legacy/recents/res/values-pt/strings.xml b/packages/SystemUI/legacy/recents/res/values-pt/strings.xml index b557ad2db67e..589b831e2a15 100644 --- a/packages/SystemUI/legacy/recents/res/values-pt/strings.xml +++ b/packages/SystemUI/legacy/recents/res/values-pt/strings.xml @@ -28,7 +28,7 @@ <string name="recents_empty_message" msgid="7967713254531861311">"Nenhum item recente"</string> <string name="recents_empty_message_dismissed_all" msgid="1850214584987361375">"Você limpou tudo"</string> <string name="recents_app_info_button_label" msgid="8732926607391786762">"Informações do aplicativo"</string> - <string name="recents_lock_to_app_button_label" msgid="6087750201863853365">"Fixar tela"</string> + <string name="recents_lock_to_app_button_label" msgid="6087750201863853365">"fixação de tela"</string> <string name="recents_search_bar_label" msgid="638132045925945941">"pesquisar"</string> <string name="recents_launch_error_message" msgid="9107963563503438012">"Não foi possível iniciar <xliff:g id="APP">%s</xliff:g>."</string> <string name="recents_launch_disabled_message" msgid="826461671965217243">"O app <xliff:g id="APP">%s</xliff:g> fica desativado no modo de segurança."</string> diff --git a/packages/SystemUI/legacy/recents/res/values-ur/strings.xml b/packages/SystemUI/legacy/recents/res/values-ur/strings.xml index 46033daebe09..32aae85539ad 100644 --- a/packages/SystemUI/legacy/recents/res/values-ur/strings.xml +++ b/packages/SystemUI/legacy/recents/res/values-ur/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="accessibility_desc_recent_apps" msgid="2427210347871321373">"عمومی جائزہ۔"</string> + <string name="accessibility_desc_recent_apps" msgid="2427210347871321373">"مجموعی جائزہ۔"</string> <string name="accessibility_recents_item_will_be_dismissed" msgid="2355882496933479534">"<xliff:g id="APP">%s</xliff:g> کو مسترد کریں۔"</string> <string name="accessibility_recents_item_dismissed" msgid="4816790842084268400">"<xliff:g id="APP">%s</xliff:g> کو مسترد کر دیا گیا۔"</string> <string name="accessibility_recents_all_items_dismissed" msgid="5693205751863608046">"سبھی حالیہ ایپلیکیشنز کو مسترد کر دیا گیا۔"</string> diff --git a/packages/SystemUI/res-keyguard/drawable/bubble_hour_hand.xml b/packages/SystemUI/res-keyguard/drawable/bubble_hour_hand.xml index 65f7a0e29843..8c611f61dc23 100644 --- a/packages/SystemUI/res-keyguard/drawable/bubble_hour_hand.xml +++ b/packages/SystemUI/res-keyguard/drawable/bubble_hour_hand.xml @@ -6,5 +6,5 @@ <path android:pathData="M170,40m-39,0a39,39 0,1 1,78 0a39,39 0,1 1,-78 0" android:strokeColor="#000000" - android:strokeWidth="2"/> + android:strokeWidth="3"/> </vector> diff --git a/packages/SystemUI/res-keyguard/drawable/bubble_minute_hand.xml b/packages/SystemUI/res-keyguard/drawable/bubble_minute_hand.xml index 95b4b1ad0b9b..27bc43638f06 100644 --- a/packages/SystemUI/res-keyguard/drawable/bubble_minute_hand.xml +++ b/packages/SystemUI/res-keyguard/drawable/bubble_minute_hand.xml @@ -6,5 +6,5 @@ <path android:pathData="M170,1L170,1A39,39 0,0 1,209 40L209,130A39,39 0,0 1,170 169L170,169A39,39 0,0 1,131 130L131,40A39,39 0,0 1,170 1z" android:strokeColor="#000000" - android:strokeWidth="2"/> + android:strokeWidth="3"/> </vector> diff --git a/core/res/res/anim/lock_in.xml b/packages/SystemUI/res/anim/lock_in.xml index c7014e80d33e..c7014e80d33e 100644 --- a/core/res/res/anim/lock_in.xml +++ b/packages/SystemUI/res/anim/lock_in.xml diff --git a/packages/SystemUI/res/anim/lock_in_circular.xml b/packages/SystemUI/res/anim/lock_in_circular.xml new file mode 100644 index 000000000000..d1e98db6e0e3 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_in_circular.xml @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="32dp" + android:viewportHeight="32" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G" + android:pivotX="9.583" + android:pivotY="8.916" + android:scaleX="0" + android:scaleY="0" + android:translateX="6.416" + android:translateY="10.416999999999998" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M17.42 1.75 C17.42,1.75 17.42,14.58 17.42,14.58 C17.42,15.41 16.74,16.08 15.92,16.08 C15.92,16.08 3.25,16.08 3.25,16.08 C2.42,16.08 1.75,15.41 1.75,14.58 C1.75,14.58 1.75,1.75 1.75,1.75 C1.75,1.75 17.42,1.75 17.42,1.75c M18.92 0.25 C18.92,0.25 0.25,0.25 0.25,0.25 C0.25,0.25 0.25,14.58 0.25,14.58 C0.25,16.24 1.59,17.58 3.25,17.58 C3.25,17.58 15.92,17.58 15.92,17.58 C17.57,17.58 18.92,16.24 18.92,14.58 C18.92,14.58 18.92,0.25 18.92,0.25c " /> + </group> + <group + android:name="_R_G_L_1_G_N_3_T_0" + android:pivotX="9.583" + android:pivotY="8.916" + android:scaleX="0" + android:scaleY="0" + android:translateX="6.416" + android:translateY="10.416999999999998" > + <group + android:name="_R_G_L_1_G" + android:translateX="7.334" + android:translateY="5.333" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M4.25 2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25 C3.35,0.25 4.25,1.15 4.25,2.25c " /> + <path + android:name="_R_G_L_1_G_D_1_P_0" + android:pathData=" M2.25 2.25 C2.25,2.25 2.25,5.92 2.25,5.92 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:pivotX="9.583" + android:pivotY="8.916" + android:scaleX="0" + android:scaleY="0" + android:translateX="6.416" + android:translateY="10.416999999999998" > + <group + android:name="_R_G_L_0_G_T_1" + android:translateX="9.583" + android:translateY="-0.861" > + <group + android:name="_R_G_L_0_G" + android:translateX="-8.083" + android:translateY="-8.173" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" + android:trimPathEnd="0.9" + android:trimPathOffset="0" + android:trimPathStart="0.15" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="50" + android:propertyName="trimPathStart" + android:startOffset="0" + android:valueFrom="0.15" + android:valueTo="0.15" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="67" + android:propertyName="trimPathStart" + android:startOffset="50" + android:valueFrom="0.15" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="50" + android:propertyName="trimPathEnd" + android:startOffset="0" + android:valueFrom="0.9" + android:valueTo="0.9" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="67" + android:propertyName="trimPathEnd" + android:startOffset="50" + android:valueFrom="0.9" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="150" + android:pathData="M 9.583,-0.861C 9.583,-1.32784640645981 9.583,-3.19515359354019 9.583,-3.662" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_in_filled.xml b/packages/SystemUI/res/anim/lock_in_filled.xml new file mode 100644 index 000000000000..4cde38d4f0dc --- /dev/null +++ b/packages/SystemUI/res/anim/lock_in_filled.xml @@ -0,0 +1,190 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="32dp" + android:viewportHeight="32" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_1_G" + android:pivotX="10.917" + android:pivotY="9.583" + android:scaleX="0" + android:scaleY="0" + android:translateX="5.083" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " /> + </group> + <group + android:name="_R_G_L_0_G_N_2_T_0" + android:pivotX="10.917" + android:pivotY="9.583" + android:scaleX="0" + android:scaleY="0" + android:translateX="5.083" + android:translateY="10.417" > + <group + android:name="_R_G_L_0_G_T_1" + android:translateX="10.917" + android:translateY="0.579" > + <group + android:name="_R_G_L_0_G" + android:translateX="-9" + android:translateY="-9" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13 13 C13,13 13,9 13,9 C13,6.79 11.21,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="2" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="150" + android:pathData="M 10.917,0.579C 10.917,-0.14248990631104008 10.917,-3.02851009368896 10.917,-3.75" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_2_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_in_rounded.xml b/packages/SystemUI/res/anim/lock_in_rounded.xml new file mode 100644 index 000000000000..7c8cf9d7b525 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_in_rounded.xml @@ -0,0 +1,336 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="38dp" + android:viewportHeight="38" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G" + android:pivotX="14.667" + android:pivotY="12.667" + android:scaleX="0" + android:scaleY="0" + android:translateX="1.3330000000000002" + android:translateY="10.333" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:pathData=" M22.09 5 C22.09,5 6,5 6,5 C5.45,5 5,5.45 5,6 C5,6 5,19.33 5,19.33 C5,19.89 5.45,20.33 6,20.33 C6,20.33 23.33,20.33 23.33,20.33 C23.89,20.33 24.33,19.89 24.33,19.33 C24.33,19.33 24.33,6 24.33,6 C24.33,5.45 23.89,5 23.33,5 C23.33,5 22.09,5 22.09,5c " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + <group + android:name="_R_G_L_1_G_N_3_T_0" + android:pivotX="14.667" + android:pivotY="12.667" + android:scaleX="0" + android:scaleY="0" + android:translateX="1.3330000000000002" + android:translateY="10.333" > + <group + android:name="_R_G_L_1_G" + android:translateX="12.416" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " /> + </group> + </group> + <group android:name="_R_G_L_0_G_N_3_T_0_M" > + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:pivotX="14.667" + android:pivotY="12.667" + android:scaleX="0" + android:scaleY="0" + android:translateX="1.3330000000000002" + android:translateY="10.333" > + <group + android:name="_R_G_L_0_G_T_1" + android:translateX="14.666" + android:translateY="3.769" > + <group + android:name="_R_G_L_0_G" + android:translateX="-9.333" + android:translateY="-9.713" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" + android:trimPathEnd="0.9" + android:trimPathOffset="0" + android:trimPathStart="0.14" /> + </group> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="50" + android:propertyName="trimPathStart" + android:startOffset="0" + android:valueFrom="0.14" + android:valueTo="0.14" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="67" + android:propertyName="trimPathStart" + android:startOffset="50" + android:valueFrom="0.14" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="50" + android:propertyName="trimPathEnd" + android:startOffset="0" + android:valueFrom="0.9" + android:valueTo="0.9" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="67" + android:propertyName="trimPathEnd" + android:startOffset="50" + android:valueFrom="0.9" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="150" + android:pathData="M 14.666,3.769C 14.666,3.18868762874603 14.666,0.8673123712539699 14.666,0.287" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1.025" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="233" + android:valueFrom="1.025" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_0_M" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="0" + android:propertyName="scaleX" + android:startOffset="50" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/core/res/res/anim/lock_lock.xml b/packages/SystemUI/res/anim/lock_lock.xml index 3b8c4855fc8f..3167e7cd616d 100644 --- a/core/res/res/anim/lock_lock.xml +++ b/packages/SystemUI/res/anim/lock_lock.xml @@ -1,17 +1,18 @@ -<!-- Copyright (C) 2019 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. ---> +<!-- + ~ Copyright (C) 2019 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 + --> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"> <aapt:attr name="android:drawable"> diff --git a/packages/SystemUI/res/anim/lock_lock_circular.xml b/packages/SystemUI/res/anim/lock_lock_circular.xml new file mode 100644 index 000000000000..81694407b640 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_lock_circular.xml @@ -0,0 +1,320 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G_T_1" + android:translateX="15.999" + android:translateY="24.333" > + <group + android:name="_R_G_L_2_G" + android:translateX="-9.583" + android:translateY="-8.916" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M17.42 1.75 C17.42,1.75 17.42,14.58 17.42,14.58 C17.42,15.41 16.74,16.08 15.92,16.08 C15.92,16.08 3.25,16.08 3.25,16.08 C2.42,16.08 1.75,15.41 1.75,14.58 C1.75,14.58 1.75,1.75 1.75,1.75 C1.75,1.75 17.42,1.75 17.42,1.75c M18.92 0.25 C18.92,0.25 0.25,0.25 0.25,0.25 C0.25,0.25 0.25,14.58 0.25,14.58 C0.25,16.24 1.59,17.58 3.25,17.58 C3.25,17.58 15.92,17.58 15.92,17.58 C17.57,17.58 18.92,16.24 18.92,14.58 C18.92,14.58 18.92,0.25 18.92,0.25c " /> + </group> + </group> + <group + android:name="_R_G_L_1_G_N_4_T_1" + android:translateX="15.999" + android:translateY="24.333" > + <group + android:name="_R_G_L_1_G_N_4_T_0" + android:translateX="-9.583" + android:translateY="-8.916" > + <group + android:name="_R_G_L_1_G" + android:pivotX="2.25" + android:pivotY="3.334" + android:scaleX="1" + android:scaleY="1" + android:translateX="7.334" + android:translateY="5.333" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M4.25 2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25 C3.35,0.25 4.25,1.15 4.25,2.25c " /> + <path + android:name="_R_G_L_1_G_D_1_P_0" + android:pathData=" M2.25 2.25 C2.25,2.25 2.25,5.92 2.25,5.92 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_4_T_1" + android:translateX="15.999" + android:translateY="24.333" > + <group + android:name="_R_G_L_0_G_N_4_T_0" + android:translateX="-9.583" + android:translateY="-8.916" > + <group + android:name="_R_G_L_0_G" + android:translateX="1.5" + android:translateY="-11.835" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M12.42 12.6 C12.42,12.6 12.41,8.16 12.41,8.16 C12.41,5.81 14.36,3.75 16.75,3.77 C19.15,3.78 21.07,5.71 21.07,8.05 C21.07,8.05 21.08,8.22 21.08,8.22 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="24.333" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="translateY" + android:startOffset="400" + android:valueFrom="24.333" + android:valueTo="25.833" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="translateY" + android:startOffset="517" + android:valueFrom="25.833" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="450" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="450" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="450" + android:valueFrom="1" + android:valueTo="1.05" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="450" + android:valueFrom="1" + android:valueTo="1.05" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="scaleX" + android:startOffset="533" + android:valueFrom="1.05" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="scaleY" + android:startOffset="533" + android:valueFrom="1.05" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_4_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="24.333" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="translateY" + android:startOffset="400" + android:valueFrom="24.333" + android:valueTo="25.833" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="translateY" + android:startOffset="517" + android:valueFrom="25.833" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="333" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M12.42 12.6 C12.42,12.6 12.41,8.16 12.41,8.16 C12.41,5.81 14.36,3.75 16.75,3.77 C19.15,3.78 21.07,5.71 21.07,8.05 C21.07,8.05 21.08,8.22 21.08,8.22 " + android:valueTo="M12.42 12.6 C12.42,12.6 12.4,5.86 12.4,5.86 C12.4,3.52 10.46,1.44 8.06,1.44 C5.67,1.44 3.73,3.52 3.73,5.86 C3.73,5.86 3.75,7.41 3.75,7.41 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.635,0 0.43,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="67" + android:propertyName="pathData" + android:startOffset="333" + android:valueFrom="M12.42 12.6 C12.42,12.6 12.4,5.86 12.4,5.86 C12.4,3.52 10.46,1.44 8.06,1.44 C5.67,1.44 3.73,3.52 3.73,5.86 C3.73,5.86 3.75,7.41 3.75,7.41 " + android:valueTo="M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.512,0 0.41,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_4_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="24.333" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="translateY" + android:startOffset="400" + android:valueFrom="24.333" + android:valueTo="25.833" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="translateY" + android:startOffset="517" + android:valueFrom="25.833" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_lock_filled.xml b/packages/SystemUI/res/anim/lock_lock_filled.xml new file mode 100644 index 000000000000..017c3299c3b2 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_lock_filled.xml @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_1_G_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_1_G" + android:translateX="-10.917" + android:translateY="-9.583" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_3_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:translateX="-10.917" + android:translateY="-9.583" > + <group + android:name="_R_G_L_0_G" + android:translateX="9.917000000000002" + android:translateY="-12.75" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13 9 C13,7.9 12.55,6.9 11.83,6.17 C11.1,5.45 10.11,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="2" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_1_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="450" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="pathData" + android:startOffset="450" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.58 C9.27,12.58 7.92,11.23 7.92,9.58 C7.92,7.93 9.27,6.58 10.92,6.58 C12.57,6.58 13.92,7.93 13.92,9.58 C13.92,11.23 12.57,12.58 10.92,12.58c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="pathData" + android:startOffset="533" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.58 C9.27,12.58 7.92,11.23 7.92,9.58 C7.92,7.93 9.27,6.58 10.92,6.58 C12.57,6.58 13.92,7.93 13.92,9.58 C13.92,11.23 12.57,12.58 10.92,12.58c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:pathData="M 16,25C 16,25.27083334326744 16,25 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,25C 16,25.27083334326744 16,26.625 16,26.625" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="400" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,26.625C 16,26.625 16,25.27083334326744 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="517" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="317" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M13 9 C13,7.9 12.55,6.9 11.83,6.17 C11.1,5.45 10.11,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 " + android:valueTo="M-3 6.73 C-3,5.62 -2.56,4.67 -1.84,4 C-1.11,3.32 -0.09,2.93 1.06,2.94 C3.27,2.96 5,4.54 5,6.75 C5,6.75 5,13 5,13 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.637,0 0.437,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="pathData" + android:startOffset="317" + android:valueFrom="M-3 6.73 C-3,5.62 -2.56,4.67 -1.84,4 C-1.11,3.32 -0.09,2.93 1.06,2.94 C3.27,2.96 5,4.54 5,6.75 C5,6.75 5,13 5,13 " + android:valueTo="M-3 13.04 C-3,13.04 -3,9.04 -3,9.04 C-3,6.83 -1.25,5.05 0.69,5.01 C2.9,4.97 5,6.79 5,9 C5,9 5,13 5,13 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.497,0 0.408,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:pathData="M 16,25C 16,25.27083334326744 16,25 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,25C 16,25.27083334326744 16,26.625 16,26.625" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="400" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,26.625C 16,26.625 16,25.27083334326744 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="517" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_lock_rounded.xml b/packages/SystemUI/res/anim/lock_lock_rounded.xml new file mode 100644 index 000000000000..fc4545c4323d --- /dev/null +++ b/packages/SystemUI/res/anim/lock_lock_rounded.xml @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_2_G" + android:translateX="-14.667" + android:translateY="-12.667" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:pathData=" M22.09 5 C22.09,5 6,5 6,5 C5.45,5 5,5.45 5,6 C5,6 5,19.33 5,19.33 C5,19.89 5.45,20.33 6,20.33 C6,20.33 23.33,20.33 23.33,20.33 C23.89,20.33 24.33,19.89 24.33,19.33 C24.33,19.33 24.33,6 24.33,6 C24.33,5.45 23.89,5 23.33,5 C23.33,5 22.09,5 22.09,5c " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + <group + android:name="_R_G_L_1_G_N_5_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_1_G_N_5_T_0" + android:translateX="-14.667" + android:translateY="-12.667" > + <group + android:name="_R_G_L_1_G" + android:pivotX="2.25" + android:pivotY="2.25" + android:scaleX="1" + android:scaleY="1" + android:translateX="12.416" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " /> + </group> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_5_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_0_G_N_5_T_0" + android:translateX="-14.667" + android:translateY="-12.667" > + <group + android:name="_R_G_L_0_G" + android:translateX="5.333" + android:translateY="-9.425999999999998" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.68,6.62 15.69,5.03 18.01,5.04 C20.46,5.04 22.32,6.89 22.34,8.85 C22.34,8.85 22.33,8.89 22.33,8.89 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:pathData="M 16,25C 16,25.35416665673256 16,25 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,25C 16,25.35416665673256 16,27.125 16,27.125" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="400" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,27.125C 16,27.125 16,25.35416665673256 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="517" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="450" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="450" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="450" + android:valueFrom="1" + android:valueTo="1.12" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="450" + android:valueFrom="1" + android:valueTo="1.12" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="scaleX" + android:startOffset="533" + android:valueFrom="1.12" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="scaleY" + android:startOffset="533" + android:valueFrom="1.12" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_5_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:pathData="M 16,25C 16,25.35416665673256 16,25 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,25C 16,25.35416665673256 16,27.125 16,27.125" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="400" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,27.125C 16,27.125 16,25.35416665673256 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="517" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="317" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.68,6.62 15.69,5.03 18.01,5.04 C20.46,5.04 22.32,6.89 22.34,8.85 C22.34,8.85 22.33,8.89 22.33,8.89 " + android:valueTo="M13.67 13.8 C13.67,13.8 13.69,5.06 13.69,5.06 C13.65,2.87 11.71,1.13 9.35,1.16 C7,1.13 5.06,2.87 5.02,5.06 C5.02,5.06 5,7.93 5,7.93 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.825,0 0.321,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="pathData" + android:startOffset="317" + android:valueFrom="M13.67 13.8 C13.67,13.8 13.69,5.06 13.69,5.06 C13.65,2.87 11.71,1.13 9.35,1.16 C7,1.13 5.06,2.87 5.02,5.06 C5.02,5.06 5,7.93 5,7.93 " + android:valueTo="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.683,0 0.342,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_5_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="400" + android:pathData="M 16,25C 16,25.35416665673256 16,25 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,25C 16,25.35416665673256 16,27.125 16,27.125" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="400" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:pathData="M 16,27.125C 16,27.125 16,25.35416665673256 16,25" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="517" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/core/res/res/anim/lock_scanning.xml b/packages/SystemUI/res/anim/lock_scanning.xml index db7972f542b3..db7972f542b3 100644 --- a/core/res/res/anim/lock_scanning.xml +++ b/packages/SystemUI/res/anim/lock_scanning.xml diff --git a/packages/SystemUI/res/anim/lock_scanning_circular.xml b/packages/SystemUI/res/anim/lock_scanning_circular.xml new file mode 100644 index 000000000000..9468213562f4 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_scanning_circular.xml @@ -0,0 +1,537 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G" + android:pivotX="9.583" + android:pivotY="8.916" + android:scaleX="1" + android:scaleY="1" + android:translateX="6.416" + android:translateY="15.416999999999998" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M17.42 1.75 C17.42,1.75 17.42,14.58 17.42,14.58 C17.42,15.41 16.74,16.08 15.92,16.08 C15.92,16.08 3.25,16.08 3.25,16.08 C2.42,16.08 1.75,15.41 1.75,14.58 C1.75,14.58 1.75,1.75 1.75,1.75 C1.75,1.75 17.42,1.75 17.42,1.75c M18.92 0.25 C18.92,0.25 0.25,0.25 0.25,0.25 C0.25,0.25 0.25,14.58 0.25,14.58 C0.25,16.24 1.59,17.58 3.25,17.58 C3.25,17.58 15.92,17.58 15.92,17.58 C17.57,17.58 18.92,16.24 18.92,14.58 C18.92,14.58 18.92,0.25 18.92,0.25c " /> + </group> + <group + android:name="_R_G_L_1_G_N_3_T_0" + android:pivotX="9.583" + android:pivotY="8.916" + android:scaleX="1" + android:scaleY="1" + android:translateX="6.416" + android:translateY="15.416999999999998" > + <group + android:name="_R_G_L_1_G" + android:pivotX="2.25" + android:pivotY="3.334" + android:scaleX="1" + android:scaleY="1" + android:translateX="7.334" + android:translateY="5.333" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M4.25 2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25 C3.35,0.25 4.25,1.15 4.25,2.25c " /> + <path + android:name="_R_G_L_1_G_D_1_P_0" + android:pathData=" M2.25 2.25 C2.25,2.25 2.25,5.92 2.25,5.92 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:pivotX="9.583" + android:pivotY="8.916" + android:scaleX="1" + android:scaleY="1" + android:translateX="6.416" + android:translateY="15.416999999999998" > + <group + android:name="_R_G_L_0_G_T_1" + android:translateX="9.583" + android:translateY="-3.662" > + <group + android:name="_R_G_L_0_G" + android:translateX="-8.083" + android:translateY="-8.173" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="150" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.613,0 0.396,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="150" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.613,0 0.396,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="150" + android:valueFrom="1" + android:valueTo="0.6" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.613,0 0.396,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="150" + android:valueFrom="1" + android:valueTo="0.6" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.613,0 0.396,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="317" + android:propertyName="scaleX" + android:startOffset="267" + android:valueFrom="0.6" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.429,0 0.613,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="317" + android:propertyName="scaleY" + android:startOffset="267" + android:valueFrom="0.6" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.429,0 0.613,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:valueTo="M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="pathData" + android:startOffset="83" + android:valueFrom="M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:valueTo="M12.39 9.16 C12.39,9.16 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.73,9.16 3.73,9.16 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="pathData" + android:startOffset="250" + android:valueFrom="M12.39 9.16 C12.39,9.16 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.73,9.16 3.73,9.16 " + android:valueTo="M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:pathData="M 9.583,-3.662C 9.583,-3.03073584985733 9.583,-3.662 9.583,-3.662" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:pathData="M 9.583,-3.662C 9.583,-3.03073584985733 9.583,0.126 9.583,0.126" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="83" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:pathData="M 9.583,0.126C 9.583,0.126 9.583,-3.03073584985733 9.583,-3.662" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="250" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_scanning_filled.xml b/packages/SystemUI/res/anim/lock_scanning_filled.xml new file mode 100644 index 000000000000..83ac8ad205f7 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_scanning_filled.xml @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_1_G" + android:pivotX="10.917" + android:pivotY="9.583" + android:scaleX="1" + android:scaleY="1" + android:translateX="5.083" + android:translateY="15.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " /> + </group> + <group + android:name="_R_G_L_0_G_N_2_T_0" + android:pivotX="10.917" + android:pivotY="9.583" + android:scaleX="1" + android:scaleY="1" + android:translateX="5.083" + android:translateY="15.417" > + <group + android:name="_R_G_L_0_G_T_1" + android:translateX="10.917" + android:translateY="-3.75" > + <group + android:name="_R_G_L_0_G" + android:translateX="-9" + android:translateY="-9" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13 13 C13,13 13,9 13,9 C13,6.79 11.21,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="2" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_1_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="150" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="pathData" + android:startOffset="150" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 11.4 C9.91,11.4 9.1,10.59 9.1,9.58 C9.1,8.58 9.91,7.76 10.92,7.76 C11.92,7.76 12.74,8.58 12.74,9.58 C12.74,10.59 11.92,11.4 10.92,11.4c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="317" + android:propertyName="pathData" + android:startOffset="267" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 11.4 C9.91,11.4 9.1,10.59 9.1,9.58 C9.1,8.58 9.91,7.76 10.92,7.76 C11.92,7.76 12.74,8.58 12.74,9.58 C12.74,10.59 11.92,11.4 10.92,11.4c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:pathData="M 10.917,-3.75C 10.917,-3.13846284151077 10.917,-3.75 10.917,-3.75" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:pathData="M 10.917,-3.75C 10.917,-3.13846284151077 10.917,-0.081 10.917,-0.081" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="83" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:pathData="M 10.917,-0.081C 10.917,-0.081 10.917,-3.13846284151077 10.917,-3.75" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="250" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_2_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.532,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_scanning_rounded.xml b/packages/SystemUI/res/anim/lock_scanning_rounded.xml new file mode 100644 index 000000000000..983549230b54 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_scanning_rounded.xml @@ -0,0 +1,531 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="38dp" + android:viewportHeight="38" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G" + android:pivotX="14.667" + android:pivotY="12.667" + android:scaleX="1" + android:scaleY="1" + android:translateX="1.3330000000000002" + android:translateY="10.333" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:pathData=" M22.09 5 C22.09,5 6,5 6,5 C5.45,5 5,5.45 5,6 C5,6 5,19.33 5,19.33 C5,19.89 5.45,20.33 6,20.33 C6,20.33 23.33,20.33 23.33,20.33 C23.89,20.33 24.33,19.89 24.33,19.33 C24.33,19.33 24.33,6 24.33,6 C24.33,5.45 23.89,5 23.33,5 C23.33,5 22.09,5 22.09,5c " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + <group + android:name="_R_G_L_1_G_N_4_T_0" + android:pivotX="14.667" + android:pivotY="12.667" + android:scaleX="1" + android:scaleY="1" + android:translateX="1.3330000000000002" + android:translateY="10.333" > + <group + android:name="_R_G_L_1_G" + android:pivotX="2.25" + android:pivotY="2.25" + android:scaleX="1" + android:scaleY="1" + android:translateX="12.416" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_4_T_0" + android:pivotX="14.667" + android:pivotY="12.667" + android:scaleX="1" + android:scaleY="1" + android:translateX="1.3330000000000002" + android:translateY="10.333" > + <group + android:name="_R_G_L_0_G_T_1" + android:translateX="14.666" + android:translateY="0.287" > + <group + android:name="_R_G_L_0_G" + android:translateX="-9.333" + android:translateY="-9.713" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.397,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.397,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="150" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="150" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleX" + android:startOffset="150" + android:valueFrom="1" + android:valueTo="0.8" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="117" + android:propertyName="scaleY" + android:startOffset="150" + android:valueFrom="1" + android:valueTo="0.8" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="317" + android:propertyName="scaleX" + android:startOffset="267" + android:valueFrom="0.8" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="317" + android:propertyName="scaleY" + android:startOffset="267" + android:valueFrom="0.8" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_4_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.397,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.397,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:valueTo="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="pathData" + android:startOffset="83" + android:valueFrom="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:valueTo="M13.7 10.21 C13.7,10.21 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5.03,10.21 5.03,10.21 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="pathData" + android:startOffset="250" + android:valueFrom="M13.7 10.21 C13.7,10.21 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5.03,10.21 5.03,10.21 " + android:valueTo="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:pathData="M 14.666,0.287C 14.666,0.8689466710090599 14.666,0.287 14.666,0.287" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="0" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:pathData="M 14.666,0.287C 14.666,0.8689466710090599 14.666,3.779 14.666,3.779" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="83" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:pathData="M 14.666,3.779C 14.666,3.779 14.666,0.8689466710090599 14.666,0.287" + android:propertyName="translateXY" + android:propertyXName="translateX" + android:propertyYName="translateY" + android:startOffset="250" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_4_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleX" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="83" + android:propertyName="scaleY" + android:startOffset="83" + android:valueFrom="1" + android:valueTo="0.9500000000000001" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.36,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleX" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="183" + android:propertyName="scaleY" + android:startOffset="167" + android:valueFrom="0.9500000000000001" + android:valueTo="1.2" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.461,0 0.526,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleX" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.397,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="233" + android:propertyName="scaleY" + android:startOffset="350" + android:valueFrom="1.2" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.428,0 0.397,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/core/res/res/anim/lock_to_error.xml b/packages/SystemUI/res/anim/lock_to_error.xml index e356f26dde59..e356f26dde59 100644 --- a/core/res/res/anim/lock_to_error.xml +++ b/packages/SystemUI/res/anim/lock_to_error.xml diff --git a/packages/SystemUI/res/anim/lock_to_error_circular.xml b/packages/SystemUI/res/anim/lock_to_error_circular.xml new file mode 100644 index 000000000000..9a847232d80b --- /dev/null +++ b/packages/SystemUI/res/anim/lock_to_error_circular.xml @@ -0,0 +1,276 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="32dp" + android:viewportHeight="32" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G" + android:pivotX="9.583" + android:pivotY="8.916" + android:rotation="0" + android:translateX="6.416" + android:translateY="10.416999999999998" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M17.42 1.75 C17.42,1.75 17.42,14.58 17.42,14.58 C17.42,15.41 16.74,16.08 15.92,16.08 C15.92,16.08 3.25,16.08 3.25,16.08 C2.42,16.08 1.75,15.41 1.75,14.58 C1.75,14.58 1.75,1.75 1.75,1.75 C1.75,1.75 17.42,1.75 17.42,1.75c M18.92 0.25 C18.92,0.25 0.25,0.25 0.25,0.25 C0.25,0.25 0.25,14.58 0.25,14.58 C0.25,16.24 1.59,17.58 3.25,17.58 C3.25,17.58 15.92,17.58 15.92,17.58 C17.57,17.58 18.92,16.24 18.92,14.58 C18.92,14.58 18.92,0.25 18.92,0.25c " /> + </group> + <group + android:name="_R_G_L_1_G_N_3_T_0" + android:pivotX="9.583" + android:pivotY="8.916" + android:rotation="0" + android:translateX="6.416" + android:translateY="10.416999999999998" > + <group + android:name="_R_G_L_1_G" + android:translateX="7.334" + android:translateY="5.333" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M4.25 2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25 C3.35,0.25 4.25,1.15 4.25,2.25c " /> + <path + android:name="_R_G_L_1_G_D_1_P_0" + android:pathData=" M2.25 2.25 C2.25,2.25 2.25,5.92 2.25,5.92 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:pivotX="9.583" + android:pivotY="8.916" + android:rotation="0" + android:translateX="6.416" + android:translateY="10.416999999999998" > + <group + android:name="_R_G_L_0_G" + android:translateX="1.5" + android:translateY="-11.835" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_to_error_filled.xml b/packages/SystemUI/res/anim/lock_to_error_filled.xml new file mode 100644 index 000000000000..6eb7425d9002 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_to_error_filled.xml @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="32dp" + android:viewportHeight="32" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_1_G" + android:pivotX="10.917" + android:pivotY="9.583" + android:rotation="0" + android:translateX="5.083" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " /> + </group> + <group + android:name="_R_G_L_0_G_N_2_T_0" + android:pivotX="10.917" + android:pivotY="9.583" + android:rotation="0" + android:translateX="5.083" + android:translateY="10.417" > + <group + android:name="_R_G_L_0_G" + android:translateX="1.9169999999999998" + android:translateY="-12.75" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13 13 C13,13 13,9 13,9 C13,6.79 11.21,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="2" /> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_2_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_to_error_rounded.xml b/packages/SystemUI/res/anim/lock_to_error_rounded.xml new file mode 100644 index 000000000000..46043caf8862 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_to_error_rounded.xml @@ -0,0 +1,270 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="32dp" + android:viewportHeight="32" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G" + android:pivotX="14.667" + android:pivotY="12.667" + android:rotation="0" + android:translateX="1.3330000000000002" + android:translateY="7.333" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:pathData=" M22.09 5 C22.09,5 6,5 6,5 C5.45,5 5,5.45 5,6 C5,6 5,19.33 5,19.33 C5,19.89 5.45,20.33 6,20.33 C6,20.33 23.33,20.33 23.33,20.33 C23.89,20.33 24.33,19.89 24.33,19.33 C24.33,19.33 24.33,6 24.33,6 C24.33,5.45 23.89,5 23.33,5 C23.33,5 22.09,5 22.09,5c " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + <group + android:name="_R_G_L_1_G_N_4_T_0" + android:pivotX="14.667" + android:pivotY="12.667" + android:rotation="0" + android:translateX="1.3330000000000002" + android:translateY="7.333" > + <group + android:name="_R_G_L_1_G" + android:translateX="12.416" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_4_T_0" + android:pivotX="14.667" + android:pivotY="12.667" + android:rotation="0" + android:translateX="1.3330000000000002" + android:translateY="7.333" > + <group + android:name="_R_G_L_0_G" + android:translateX="5.333" + android:translateY="-9.425999999999998" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_4_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_4_T_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="rotation" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="120" + android:propertyName="rotation" + android:startOffset="133" + android:valueFrom="0" + android:valueTo="-10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="97" + android:propertyName="rotation" + android:startOffset="253" + android:valueFrom="-10" + android:valueTo="10" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="rotation" + android:startOffset="350" + android:valueFrom="10" + android:valueTo="-5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="167" + android:propertyName="rotation" + android:startOffset="450" + android:valueFrom="-5" + android:valueTo="0" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/core/res/res/anim/lock_unlock.xml b/packages/SystemUI/res/anim/lock_unlock.xml index 91d44320d8c2..91d44320d8c2 100644 --- a/core/res/res/anim/lock_unlock.xml +++ b/packages/SystemUI/res/anim/lock_unlock.xml diff --git a/packages/SystemUI/res/anim/lock_unlock_circular.xml b/packages/SystemUI/res/anim/lock_unlock_circular.xml new file mode 100644 index 000000000000..5fc8576e6687 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_unlock_circular.xml @@ -0,0 +1,298 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G_T_1" + android:translateX="15.999" + android:translateY="24.333" > + <group + android:name="_R_G_L_2_G" + android:translateX="-9.583" + android:translateY="-8.916" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M17.42 1.75 C17.42,1.75 17.42,14.58 17.42,14.58 C17.42,15.41 16.74,16.08 15.92,16.08 C15.92,16.08 3.25,16.08 3.25,16.08 C2.42,16.08 1.75,15.41 1.75,14.58 C1.75,14.58 1.75,1.75 1.75,1.75 C1.75,1.75 17.42,1.75 17.42,1.75c M18.92 0.25 C18.92,0.25 0.25,0.25 0.25,0.25 C0.25,0.25 0.25,14.58 0.25,14.58 C0.25,16.24 1.59,17.58 3.25,17.58 C3.25,17.58 15.92,17.58 15.92,17.58 C17.57,17.58 18.92,16.24 18.92,14.58 C18.92,14.58 18.92,0.25 18.92,0.25c " /> + </group> + </group> + <group + android:name="_R_G_L_1_G_N_3_T_1" + android:translateX="15.999" + android:translateY="24.333" > + <group + android:name="_R_G_L_1_G_N_3_T_0" + android:translateX="-9.583" + android:translateY="-8.916" > + <group + android:name="_R_G_L_1_G" + android:pivotX="2.25" + android:pivotY="3.334" + android:scaleX="1" + android:scaleY="1" + android:translateX="7.334" + android:translateY="5.333" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M4.25 2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25 C3.35,0.25 4.25,1.15 4.25,2.25c " /> + <path + android:name="_R_G_L_1_G_D_1_P_0" + android:pathData=" M2.25 2.25 C2.25,2.25 2.25,5.92 2.25,5.92 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_3_T_1" + android:translateX="15.999" + android:translateY="24.333" > + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:translateX="-9.583" + android:translateY="-8.916" > + <group + android:name="_R_G_L_0_G" + android:translateX="1.5" + android:translateY="-11.835" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="24.333" + android:valueTo="22.458" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.705,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="22.458" + android:valueTo="25.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.289,0 0.724,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="25.333" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.624,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="100" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="0.9" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="0.9" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="283" + android:propertyName="scaleX" + android:startOffset="100" + android:valueFrom="0.9" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="283" + android:propertyName="scaleY" + android:startOffset="100" + android:valueFrom="0.9" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_3_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="24.333" + android:valueTo="22.458" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.705,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="22.458" + android:valueTo="25.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.289,0 0.724,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="25.333" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.624,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="67" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M12.42 12.6 C12.42,12.6 12.42,8.17 12.42,8.17 C12.42,5.83 10.48,3.75 8.08,3.75 C5.69,3.75 3.75,5.83 3.75,8.17 C3.75,8.17 3.75,12.6 3.75,12.6 " + android:valueTo="M12.42 12.6 C12.42,12.6 12.4,5.86 12.4,5.86 C12.4,3.52 10.46,1.44 8.06,1.44 C5.67,1.44 3.73,3.52 3.73,5.86 C3.73,5.86 3.75,7.41 3.75,7.41 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.59,0 0.488,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="333" + android:propertyName="pathData" + android:startOffset="67" + android:valueFrom="M12.42 12.6 C12.42,12.6 12.4,5.86 12.4,5.86 C12.4,3.52 10.46,1.44 8.06,1.44 C5.67,1.44 3.73,3.52 3.73,5.86 C3.73,5.86 3.75,7.41 3.75,7.41 " + android:valueTo="M12.42 12.6 C12.42,12.6 12.41,8.16 12.41,8.16 C12.41,5.81 14.36,3.75 16.75,3.77 C19.15,3.78 21.07,5.71 21.07,8.05 C21.07,8.05 21.08,8.22 21.08,8.22 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.57,0 0.365,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="24.333" + android:valueTo="22.458" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.705,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="22.458" + android:valueTo="25.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.289,0 0.724,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="25.333" + android:valueTo="24.333" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.624,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_unlock_filled.xml b/packages/SystemUI/res/anim/lock_unlock_filled.xml new file mode 100644 index 000000000000..2bf2d89e5c12 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_unlock_filled.xml @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_1_G_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_1_G" + android:translateX="-10.917" + android:translateY="-9.583" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " /> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_3_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_0_G_N_3_T_0" + android:translateX="-10.917" + android:translateY="-9.583" > + <group + android:name="_R_G_L_0_G" + android:translateX="9.917000000000002" + android:translateY="-12.75" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M-3 13.04 C-3,13.04 -3,9.04 -3,9.04 C-3,6.83 -1.03,5.04 0.91,5 C3.12,4.96 5,6.79 5,9 C5,9 5,13 5,13 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="2" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_1_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="100" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 11.78 C9.71,11.78 8.72,10.79 8.72,9.58 C8.72,8.37 9.71,7.38 10.92,7.38 C12.13,7.38 13.12,8.37 13.12,9.58 C13.12,10.79 12.13,11.78 10.92,11.78c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="283" + android:propertyName="pathData" + android:startOffset="100" + android:valueFrom=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 11.78 C9.71,11.78 8.72,10.79 8.72,9.58 C8.72,8.37 9.71,7.38 10.92,7.38 C12.13,7.38 13.12,8.37 13.12,9.58 C13.12,10.79 12.13,11.78 10.92,11.78c " + android:valueTo=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="25" + android:valueTo="23" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.32,0 0.803,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="23" + android:valueTo="26.5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.223,0 0.761,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="26.5" + android:valueTo="25" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.311,0 0.633,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="67" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M-3 13.04 C-3,13.04 -3,9.04 -3,9.04 C-3,6.83 -1.03,5.04 0.91,5 C3.12,4.96 5,6.79 5,9 C5,9 5,13 5,13 " + android:valueTo="M-3 6.73 C-3,5.62 -2.56,4.67 -1.84,4 C-1.11,3.32 -0.09,2.93 1.06,2.94 C3.27,2.96 5,4.54 5,6.75 C5,6.75 5,13 5,13 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.592,0 0.503,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="333" + android:propertyName="pathData" + android:startOffset="67" + android:valueFrom="M-3 6.73 C-3,5.62 -2.56,4.67 -1.84,4 C-1.11,3.32 -0.09,2.93 1.06,2.94 C3.27,2.96 5,4.54 5,6.75 C5,6.75 5,13 5,13 " + android:valueTo="M13 9 C13,7.9 12.55,6.9 11.83,6.17 C11.1,5.45 10.11,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.563,0 0.363,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_3_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="25" + android:valueTo="23" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.32,0 0.803,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="23" + android:valueTo="26.5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.223,0 0.761,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="26.5" + android:valueTo="25" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.311,0 0.633,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/anim/lock_unlock_rounded.xml b/packages/SystemUI/res/anim/lock_unlock_rounded.xml new file mode 100644 index 000000000000..7c558513c7f9 --- /dev/null +++ b/packages/SystemUI/res/anim/lock_unlock_rounded.xml @@ -0,0 +1,292 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector xmlns:aapt="http://schemas.android.com/aapt" + xmlns:android="http://schemas.android.com/apk/res/android" > + + <aapt:attr name="android:drawable" > + <vector + android:height="42dp" + android:viewportHeight="42" + android:viewportWidth="32" + android:width="32dp" > + <group android:name="_R_G" > + <group + android:name="_R_G_L_2_G_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_2_G" + android:translateX="-14.667" + android:translateY="-12.667" > + <path + android:name="_R_G_L_2_G_D_0_P_0" + android:pathData=" M22.09 5 C22.09,5 6,5 6,5 C5.45,5 5,5.45 5,6 C5,6 5,19.33 5,19.33 C5,19.89 5.45,20.33 6,20.33 C6,20.33 23.33,20.33 23.33,20.33 C23.89,20.33 24.33,19.89 24.33,19.33 C24.33,19.33 24.33,6 24.33,6 C24.33,5.45 23.89,5 23.33,5 C23.33,5 22.09,5 22.09,5c " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + <group + android:name="_R_G_L_1_G_N_4_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_1_G_N_4_T_0" + android:translateX="-14.667" + android:translateY="-12.667" > + <group + android:name="_R_G_L_1_G" + android:pivotX="2.25" + android:pivotY="2.25" + android:scaleX="1" + android:scaleY="1" + android:translateX="12.416" + android:translateY="10.417" > + <path + android:name="_R_G_L_1_G_D_0_P_0" + android:fillAlpha="1" + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " /> + </group> + </group> + </group> + <group + android:name="_R_G_L_0_G_N_4_T_1" + android:translateX="16" + android:translateY="25" > + <group + android:name="_R_G_L_0_G_N_4_T_0" + android:translateX="-14.667" + android:translateY="-12.667" > + <group + android:name="_R_G_L_0_G" + android:translateX="5.333" + android:translateY="-9.425999999999998" > + <path + android:name="_R_G_L_0_G_D_0_P_0" + android:pathData=" M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:strokeAlpha="1" + android:strokeColor="#ffffff" + android:strokeLineCap="round" + android:strokeLineJoin="round" + android:strokeWidth="1.5" /> + </group> + </group> + </group> + </group> + <group android:name="time_group" /> + </vector> + </aapt:attr> + + <target android:name="_R_G_L_2_G_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="25" + android:valueTo="23.5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="23.5" + android:valueTo="26" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="26" + android:valueTo="25" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="100" + android:propertyName="scaleX" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="0.85" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.346,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="scaleY" + android:startOffset="0" + android:valueFrom="1" + android:valueTo="0.85" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.346,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="283" + android:propertyName="scaleX" + android:startOffset="100" + android:valueFrom="0.85" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.423,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="283" + android:propertyName="scaleY" + android:startOffset="100" + android:valueFrom="0.85" + android:valueTo="1" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.423,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_1_G_N_4_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="25" + android:valueTo="23.5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="23.5" + android:valueTo="26" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="26" + android:valueTo="25" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_D_0_P_0" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="67" + android:propertyName="pathData" + android:startOffset="0" + android:valueFrom="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.63,6.75 11.69,5 9.33,5.04 C6.98,5 5.04,6.75 5,8.94 C5,8.94 5,13.8 5,13.8 " + android:valueTo="M13.67 13.8 C13.67,13.8 13.69,5.06 13.69,5.06 C13.65,2.87 11.71,1.13 9.35,1.16 C7,1.13 5.06,2.87 5.02,5.06 C5.02,5.06 5,7.93 5,7.93 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.658,0 0.317,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="333" + android:propertyName="pathData" + android:startOffset="67" + android:valueFrom="M13.67 13.8 C13.67,13.8 13.69,5.06 13.69,5.06 C13.65,2.87 11.71,1.13 9.35,1.16 C7,1.13 5.06,2.87 5.02,5.06 C5.02,5.06 5,7.93 5,7.93 " + android:valueTo="M13.67 13.8 C13.67,13.8 13.67,8.94 13.67,8.94 C13.68,6.62 15.69,5.03 18.01,5.04 C20.46,5.04 22.32,6.89 22.34,8.85 C22.34,8.85 22.33,8.89 22.33,8.89 " + android:valueType="pathType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.679,0 0.175,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="_R_G_L_0_G_N_4_T_1" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="0" + android:valueFrom="25" + android:valueTo="23.5" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="133" + android:propertyName="translateY" + android:startOffset="133" + android:valueFrom="23.5" + android:valueTo="26" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + <objectAnimator + android:duration="100" + android:propertyName="translateY" + android:startOffset="267" + android:valueFrom="26" + android:valueTo="25" + android:valueType="floatType" > + <aapt:attr name="android:interpolator" > + <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" /> + </aapt:attr> + </objectAnimator> + </set> + </aapt:attr> + </target> + <target android:name="time_group" > + <aapt:attr name="android:animation" > + <set android:ordering="together" > + <objectAnimator + android:duration="717" + android:propertyName="translateX" + android:startOffset="0" + android:valueFrom="0" + android:valueTo="1" + android:valueType="floatType" /> + </set> + </aapt:attr> + </target> + +</animated-vector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_info_outline.xml b/packages/SystemUI/res/drawable/ic_info_outline.xml index a4a3e9aab239..44e09f6faa51 100644 --- a/packages/SystemUI/res/drawable/ic_info_outline.xml +++ b/packages/SystemUI/res/drawable/ic_info_outline.xml @@ -15,8 +15,8 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="32dp" - android:height="32dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/ic_invert_colors.xml b/packages/SystemUI/res/drawable/ic_invert_colors.xml index 77d491810ccc..37ea0800a51e 100644 --- a/packages/SystemUI/res/drawable/ic_invert_colors.xml +++ b/packages/SystemUI/res/drawable/ic_invert_colors.xml @@ -15,8 +15,8 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="48dp" - android:height="48dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml index fbd92dead675..d2ee2839d701 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml @@ -14,8 +14,8 @@ Copyright (C) 2017 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="64dp" - android:height="64dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0" android:tint="?android:attr/colorControlNormal" > diff --git a/packages/SystemUI/res/drawable/ic_qs_no_sim.xml b/packages/SystemUI/res/drawable/ic_qs_no_sim.xml index 22e12cc10405..6cabcaf4bcb4 100644 --- a/packages/SystemUI/res/drawable/ic_qs_no_sim.xml +++ b/packages/SystemUI/res/drawable/ic_qs_no_sim.xml @@ -14,8 +14,8 @@ Copyright (C) 2017 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="32dp" - android:height="32dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/drawable/ic_screenshot_delete.xml b/packages/SystemUI/res/drawable/ic_screenshot_delete.xml index d60ee414888d..4cf578a92826 100644 --- a/packages/SystemUI/res/drawable/ic_screenshot_delete.xml +++ b/packages/SystemUI/res/drawable/ic_screenshot_delete.xml @@ -14,8 +14,8 @@ Copyright (C) 2015 The Android Open Source Project limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="32dp" - android:height="32dp" + android:width="24dp" + android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path diff --git a/packages/SystemUI/res/values-hi/strings_tv.xml b/packages/SystemUI/res/values-hi/strings_tv.xml index 6e3c1787b305..357f7a6d197d 100644 --- a/packages/SystemUI/res/values-hi/strings_tv.xml +++ b/packages/SystemUI/res/values-hi/strings_tv.xml @@ -22,5 +22,5 @@ <string name="notification_channel_tv_pip" msgid="134047986446577723">"पिक्चर में पिक्चर"</string> <string name="pip_notification_unknown_title" msgid="6289156118095849438">"(कोई शीर्षक कार्यक्रम नहीं)"</string> <string name="pip_close" msgid="3480680679023423574">"PIP बंद करें"</string> - <string name="pip_fullscreen" msgid="8604643018538487816">"फ़ुल स्क्रीन"</string> + <string name="pip_fullscreen" msgid="8604643018538487816">"पूर्ण स्क्रीन"</string> </resources> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 19e7b734912a..6039568cab3a 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -40,9 +40,6 @@ <!-- Whether or not we show the number in the bar. --> <bool name="config_statusBarShowNumber">false</bool> - <!-- If the lock screen should be dismissed after biometric auth. --> - <bool name="config_faceAuthDismissesKeyguard">false</bool> - <!-- Vibrator pattern for camera gesture launch. --> <integer-array translatable="false" name="config_cameraLaunchGestureVibePattern"> <item>0</item> diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java index 21b3a0082319..bd2b19c0ddfe 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java @@ -64,6 +64,14 @@ public abstract class TaskStackChangeListener { onActivityLaunchOnSecondaryDisplayRerouted(); } + /** + * Called when contents are drawn for the first time on a display which can only contain one + * task. + * + * @param displayId the id of the display on which contents are drawn. + */ + public void onSingleTaskDisplayDrawn(int displayId) { } + public void onTaskProfileLocked(int taskId, int userId) { } public void onTaskCreated(int taskId, ComponentName componentName) { } public void onTaskRemoved(int taskId) { } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java index 06ae399a5e4e..c89f2ab7f172 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java @@ -196,11 +196,18 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override - public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) { + public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) + throws RemoteException { mHandler.obtainMessage(H.ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED, displayId, 0 /* unused */, activityToken).sendToTarget(); } + @Override + public void onSingleTaskDisplayDrawn(int displayId) throws RemoteException { + mHandler.obtainMessage(H.ON_SINGLE_TASK_DISPLAY_DRAWN, displayId, + 0 /* unused */).sendToTarget(); + } + private final class H extends Handler { private static final int ON_TASK_STACK_CHANGED = 1; private static final int ON_TASK_SNAPSHOT_CHANGED = 2; @@ -220,6 +227,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED = 16; private static final int ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED = 17; private static final int ON_BACK_PRESSED_ON_TASK_ROOT = 18; + private static final int ON_SINGLE_TASK_DISPLAY_DRAWN = 19; public H(Looper looper) { @@ -356,6 +364,12 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } + case ON_SINGLE_TASK_DISPLAY_DRAWN: { + for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { + mTaskStackListeners.get(i).onSingleTaskDisplayDrawn(msg.arg1); + } + break; + } } } } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java index 2ff7266baecf..a4b6958498c8 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java @@ -310,7 +310,9 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout @Override public void showMessage(CharSequence message, ColorStateList colorState) { - mSecurityMessageDisplay.setNextMessageColor(colorState); + if (colorState != null) { + mSecurityMessageDisplay.setNextMessageColor(colorState); + } mSecurityMessageDisplay.setMessage(message); } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java index d8086da277f2..362ead362e01 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java @@ -442,7 +442,9 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit @Override public void showMessage(CharSequence message, ColorStateList colorState) { - mSecurityMessageDisplay.setNextMessageColor(colorState); + if (colorState != null) { + mSecurityMessageDisplay.setNextMessageColor(colorState); + } mSecurityMessageDisplay.setMessage(message); } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java index 6cd971d25610..eef61dbb0949 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java @@ -231,8 +231,10 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe } if (action == MotionEvent.ACTION_UP) { if (-getTranslationY() > TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, - MIN_DRAG_SIZE, getResources().getDisplayMetrics())) { + MIN_DRAG_SIZE, getResources().getDisplayMetrics()) + && !mUpdateMonitor.isFaceDetectionRunning()) { mUpdateMonitor.requestFaceAuth(); + showMessage(null, null); } } return true; @@ -267,7 +269,8 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe mSwipeUpToRetry = mUpdateMonitor.isUnlockWithFacePossible(userId) && securityMode != SecurityMode.SimPin && securityMode != SecurityMode.SimPuk - && securityMode != SecurityMode.None; + && securityMode != SecurityMode.None + && securityMode != SecurityMode.Pattern; } public CharSequence getTitle() { diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 6a4dbc8d7228..873874f30875 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -168,6 +168,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { */ private static final int BIOMETRIC_STATE_CANCELLING_RESTARTING = 3; + private static final int BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED = -1; + public static final int BIOMETRIC_HELP_FACE_NOT_RECOGNIZED = -2; + private static final int DEFAULT_CHARGING_VOLTAGE_MICRO_VOLT = 5000000; private static final ComponentName FALLBACK_HOME_COMPONENT = new ComponentName( @@ -570,7 +573,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { cb.onBiometricAuthFailed(BiometricSourceType.FINGERPRINT); } } - handleFingerprintHelp(-1, mContext.getString(R.string.kg_fingerprint_not_recognized)); + handleFingerprintHelp(BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED, + mContext.getString(R.string.kg_fingerprint_not_recognized)); } private void handleFingerprintAcquired(int acquireInfo) { @@ -722,7 +726,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { cb.onBiometricAuthFailed(BiometricSourceType.FACE); } } - handleFaceHelp(-1, mContext.getString(R.string.kg_face_not_recognized)); + handleFaceHelp(BIOMETRIC_HELP_FACE_NOT_RECOGNIZED, + mContext.getString(R.string.kg_face_not_recognized)); } private void handleFaceAcquired(int acquireInfo) { @@ -803,6 +808,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { getCurrentUser()); } + // The face timeout message is not very actionable, let's ask the user to + // manually retry. + if (msgId == FaceManager.FACE_ERROR_TIMEOUT) { + errString = mContext.getString(R.string.keyguard_unlock); + } for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); if (cb != null) { diff --git a/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java b/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java index 61a6952cacac..bd1e64a5f1c6 100644 --- a/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java +++ b/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java @@ -170,9 +170,10 @@ public class BubbleClockController implements ClockPlugin { return; } final int length = colorPalette.length; - final int color = colorPalette[Math.max(0, length - 3)]; - mLockClock.setTextColor(color); - mAnalogClock.setClockColors(color, color); + final int primaryColor = colorPalette[Math.max(0, length - 2)]; + final int secondaryColor = colorPalette[Math.max(0, length - 5)]; + mLockClock.setTextColor(primaryColor); + mAnalogClock.setClockColors(secondaryColor, primaryColor); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java b/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java index f60e95e32600..5c6c39722900 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java @@ -16,6 +16,8 @@ package com.android.systemui.bubbles; +import static android.view.Display.INVALID_DISPLAY; + import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE; import android.content.Context; @@ -129,6 +131,20 @@ class Bubble { mInflated = true; } + /** + * Set visibility of bubble in the expanded state. + * + * @param visibility {@code true} if the expanded bubble should be visible on the screen. + * + * Note that this contents visibility doesn't affect visibility at {@link android.view.View}, + * and setting {@code false} actually means rendering the expanded view in transparent. + */ + void setContentVisibility(boolean visibility) { + if (expandedView != null) { + expandedView.setContentVisibility(visibility); + } + } + void setDismissed() { entry.setBubbleDismissed(true); // TODO: move this somewhere where it can be guaranteed not to run until safe from flicker @@ -168,6 +184,13 @@ class Bubble { } /** + * @return the display id of the virtual display on which bubble contents is drawn. + */ + int getDisplayId() { + return expandedView != null ? expandedView.getVirtualDisplayId() : INVALID_DISPLAY; + } + + /** * Should be invoked whenever a Bubble is accessed (selected while expanded). */ void markAsAccessedAt(long lastAccessedMillis) { diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java index 392183b554a9..a23c99ef01fe 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java @@ -672,17 +672,23 @@ public class BubbleController implements ConfigurationController.ConfigurationLi * status bar, otherwise returns {@link Display#INVALID_DISPLAY}. */ public int getExpandedDisplayId(Context context) { + final Bubble bubble = getExpandedBubble(context); + return bubble != null ? bubble.getDisplayId() : INVALID_DISPLAY; + } + + @Nullable + private Bubble getExpandedBubble(Context context) { if (mStackView == null) { - return INVALID_DISPLAY; + return null; } - boolean defaultDisplay = context.getDisplay() != null + final boolean defaultDisplay = context.getDisplay() != null && context.getDisplay().getDisplayId() == DEFAULT_DISPLAY; - Bubble b = mStackView.getExpandedBubble(); - if (defaultDisplay && b != null && isStackExpanded() + final Bubble expandedBubble = mStackView.getExpandedBubble(); + if (defaultDisplay && expandedBubble != null && isStackExpanded() && !mStatusBarWindowController.getPanelExpanded()) { - return b.expandedView.getVirtualDisplayId(); + return expandedBubble; } - return INVALID_DISPLAY; + return null; } @VisibleForTesting @@ -793,6 +799,14 @@ public class BubbleController implements ConfigurationController.ConfigurationLi mBubbleData.setExpanded(false); } } + + @Override + public void onSingleTaskDisplayDrawn(int displayId) { + final Bubble expandedBubble = getExpandedBubble(mContext); + if (expandedBubble != null && expandedBubble.getDisplayId() == displayId) { + expandedBubble.setContentVisibility(true); + } + } } private static boolean shouldAutoBubbleMessages(Context context) { diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java index cbe6c99bfb0b..09d4b0585541 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java @@ -182,6 +182,8 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList mActivityView = new ActivityView(mContext, null /* attrs */, 0 /* defStyle */, true /* singleTaskInstance */); + + setContentVisibility(false); addView(mActivityView); // Expanded stack layout, top to bottom: @@ -236,6 +238,22 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList } /** + * Set visibility of contents in the expanded state. + * + * @param visibility {@code true} if the contents should be visible on the screen. + * + * Note that this contents visibility doesn't affect visibility at {@link android.view.View}, + * and setting {@code false} actually means rendering the contents in transparent. + */ + void setContentVisibility(boolean visibility) { + final float alpha = visibility ? 1f : 0f; + mPointerView.setAlpha(alpha); + if (mActivityView != null) { + mActivityView.setAlpha(alpha); + } + } + + /** * Called by {@link BubbleStackView} when the insets for the expanded state should be updated. * This should be done post-move and post-animation. */ @@ -307,6 +325,7 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList parent.removeView(mNotifRow); } addView(mNotifRow, 1 /* index */); + mPointerView.setAlpha(1f); } } @@ -333,6 +352,7 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList removeView(mNotifRow); mNotifRow = null; } + setContentVisibility(false); mActivityView.setVisibility(VISIBLE); } else if (DEBUG_ENABLE_AUTO_BUBBLE) { // Hide activity view if we had it previously @@ -428,6 +448,7 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList mActivityView.onLocationChanged(); } else if (mNotifRow != null) { applyRowState(mNotifRow); + mPointerView.setAlpha(1f); } updateHeight(); } diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java index 771df2d86110..f87bcef5fde2 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -745,12 +745,16 @@ public class BubbleStackView extends FrameLayout { } final Bubble previouslySelected = mExpandedBubble; mExpandedBubble = bubbleToSelect; + if (mIsExpanded) { // Make the container of the expanded view transparent before removing the expanded view // from it. Otherwise a punch hole created by {@link android.view.SurfaceView} in the // expanded view becomes visible on the screen. See b/126856255 mExpandedViewContainer.setAlpha(0.0f); mSurfaceSynchronizer.syncSurfaceAndRun(() -> { + if (previouslySelected != null) { + previouslySelected.setContentVisibility(false); + } updateExpandedBubble(); updatePointerPosition(); requestUpdate(); @@ -779,6 +783,14 @@ public class BubbleStackView extends FrameLayout { } if (wasExpanded) { // Collapse the stack + mExpandedViewContainer.setAlpha(0.0f); + // TODO: In order to prevent flicker, code below should be executed after the alpha + // value set on the mExpandedViewContainer is reflected on the screen. However, we + // cannot just postpone the execution like #setSelectedBubble(), since some of member + // variables referred by the code are overridden before the execution. + if (mExpandedBubble != null) { + mExpandedBubble.setContentVisibility(false); + } animateExpansion(false /* expand */); logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__COLLAPSED); } else { @@ -934,14 +946,10 @@ public class BubbleStackView extends FrameLayout { if (shouldExpand) { mExpandedViewContainer.setTranslationX(xStart); mExpandedViewContainer.setTranslationY(yStart); - mExpandedViewContainer.setAlpha(0f); } mExpandedViewXAnim.animateToFinalPosition(shouldExpand ? 0f : xStart); mExpandedViewYAnim.animateToFinalPosition(shouldExpand ? yDest : yStart); - mExpandedViewContainer.animate() - .setDuration(100) - .alpha(shouldExpand ? 1f : 0f); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index fd76a79eab2e..25bde3bbe2fa 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -78,6 +78,7 @@ public class KeyguardIndicationController implements StateListener, private static final int MSG_HIDE_TRANSIENT = 1; private static final int MSG_CLEAR_BIOMETRIC_MSG = 2; + private static final int MSG_SWIPE_UP_TO_UNLOCK = 3; private static final long TRANSIENT_BIOMETRIC_ERROR_TIMEOUT = 1300; private final Context mContext; @@ -318,6 +319,7 @@ public class KeyguardIndicationController implements StateListener, mTransientIndication = transientIndication; mTransientTextColorState = textColorState; mHandler.removeMessages(MSG_HIDE_TRANSIENT); + mHandler.removeMessages(MSG_SWIPE_UP_TO_UNLOCK); if (mDozing && !TextUtils.isEmpty(mTransientIndication)) { // Make sure this doesn't get stuck and burns in. Acquire wakelock until its cleared. mWakeLock.setAcquired(true); @@ -536,10 +538,26 @@ public class KeyguardIndicationController implements StateListener, hideTransientIndication(); } else if (msg.what == MSG_CLEAR_BIOMETRIC_MSG) { mLockIcon.setTransientBiometricsError(false); + } else if (msg.what == MSG_SWIPE_UP_TO_UNLOCK) { + showSwipeUpToUnlock(); } } }; + private void showSwipeUpToUnlock() { + if (mDozing) { + return; + } + + String message = mContext.getString(R.string.keyguard_unlock); + if (mStatusBarKeyguardViewManager.isBouncerShowing()) { + mStatusBarKeyguardViewManager.showBouncerMessage(message, mInitialTextColorState); + } else if (mKeyguardUpdateMonitor.isScreenOn()) { + showTransientIndication(message); + hideTransientIndicationDelayed(BaseKeyguardCallback.HIDE_DELAY_MS); + } + } + public void setDozing(boolean dozing) { if (mDozing == dozing) { return; @@ -620,12 +638,20 @@ public class KeyguardIndicationController implements StateListener, return; } animatePadlockError(); + boolean showSwipeToUnlock = + msgId == KeyguardUpdateMonitor.BIOMETRIC_HELP_FACE_NOT_RECOGNIZED; if (mStatusBarKeyguardViewManager.isBouncerShowing()) { mStatusBarKeyguardViewManager.showBouncerMessage(helpString, mInitialTextColorState); } else if (updateMonitor.isScreenOn()) { showTransientIndication(helpString); - hideTransientIndicationDelayed(TRANSIENT_BIOMETRIC_ERROR_TIMEOUT); + if (!showSwipeToUnlock) { + hideTransientIndicationDelayed(TRANSIENT_BIOMETRIC_ERROR_TIMEOUT); + } + } + if (showSwipeToUnlock) { + mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SWIPE_UP_TO_UNLOCK), + TRANSIENT_BIOMETRIC_ERROR_TIMEOUT); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt index 4b2d13121f6b..aaf48490d7b0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt @@ -25,6 +25,7 @@ import android.renderscript.Allocation import android.renderscript.Element import android.renderscript.RenderScript import android.renderscript.ScriptIntrinsicBlur +import android.util.Log import android.util.MathUtils import com.android.internal.graphics.ColorUtils import com.android.systemui.statusbar.notification.MediaNotificationProcessor @@ -32,6 +33,7 @@ import com.android.systemui.statusbar.notification.MediaNotificationProcessor import javax.inject.Inject import javax.inject.Singleton +private const val TAG = "MediaArtworkProcessor" private const val COLOR_ALPHA = (255 * 0.7f).toInt() private const val BLUR_RADIUS = 25f private const val DOWNSAMPLE = 6 @@ -42,45 +44,54 @@ class MediaArtworkProcessor @Inject constructor() { private val mTmpSize = Point() private var mArtworkCache: Bitmap? = null - fun processArtwork(context: Context, artwork: Bitmap): Bitmap { + fun processArtwork(context: Context, artwork: Bitmap): Bitmap? { if (mArtworkCache != null) { - return mArtworkCache!! + return mArtworkCache } - - context.display.getSize(mTmpSize) val renderScript = RenderScript.create(context) - val rect = Rect(0, 0, artwork.width, artwork.height) - MathUtils.fitRect(rect, Math.max(mTmpSize.x / DOWNSAMPLE, mTmpSize.y / DOWNSAMPLE)) - var inBitmap = Bitmap.createScaledBitmap(artwork, rect.width(), rect.height(), - true /* filter */) - // Render script blurs only support ARGB_8888, we need a conversion if we got a - // different bitmap config. - if (inBitmap.config != Bitmap.Config.ARGB_8888) { - val oldIn = inBitmap - inBitmap = oldIn.copy(Bitmap.Config.ARGB_8888, false /* isMutable */) - oldIn.recycle() - } - val input = Allocation.createFromBitmap(renderScript, inBitmap, - Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_GRAPHICS_TEXTURE) - val outBitmap = Bitmap.createBitmap(inBitmap.width, inBitmap.height, - Bitmap.Config.ARGB_8888) - val output = Allocation.createFromBitmap(renderScript, outBitmap) val blur = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript)) - blur.setRadius(BLUR_RADIUS) - blur.setInput(input) - blur.forEach(output) - output.copyTo(outBitmap) + var input: Allocation? = null + var output: Allocation? = null + var inBitmap: Bitmap? = null + try { + context.display.getSize(mTmpSize) + val rect = Rect(0, 0, artwork.width, artwork.height) + MathUtils.fitRect(rect, Math.max(mTmpSize.x / DOWNSAMPLE, mTmpSize.y / DOWNSAMPLE)) + inBitmap = Bitmap.createScaledBitmap(artwork, rect.width(), rect.height(), + true /* filter */) + // Render script blurs only support ARGB_8888, we need a conversion if we got a + // different bitmap config. + if (inBitmap.config != Bitmap.Config.ARGB_8888) { + val oldIn = inBitmap + inBitmap = oldIn.copy(Bitmap.Config.ARGB_8888, false /* isMutable */) + oldIn.recycle() + } + val outBitmap = Bitmap.createBitmap(inBitmap.width, inBitmap.height, + Bitmap.Config.ARGB_8888) - val swatch = MediaNotificationProcessor.findBackgroundSwatch(artwork) + input = Allocation.createFromBitmap(renderScript, inBitmap, + Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_GRAPHICS_TEXTURE) + output = Allocation.createFromBitmap(renderScript, outBitmap) - input.destroy() - output.destroy() - inBitmap.recycle() - blur.destroy() + blur.setRadius(BLUR_RADIUS) + blur.setInput(input) + blur.forEach(output) + output.copyTo(outBitmap) - val canvas = Canvas(outBitmap) - canvas.drawColor(ColorUtils.setAlphaComponent(swatch.rgb, COLOR_ALPHA)) - return outBitmap + val swatch = MediaNotificationProcessor.findBackgroundSwatch(artwork) + + val canvas = Canvas(outBitmap) + canvas.drawColor(ColorUtils.setAlphaComponent(swatch.rgb, COLOR_ALPHA)) + return outBitmap + } catch (ex: IllegalArgumentException) { + Log.e(TAG, "error while processing artwork", ex) + return null + } finally { + input?.destroy() + output?.destroy() + blur.destroy() + inBitmap?.recycle() + } } fun clearCache() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java index d202190724f5..799876db57df 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java @@ -453,7 +453,7 @@ public class NotificationShelf extends ActivatableNotificationView implements private void updateContinuousClipping(final ExpandableNotificationRow row) { StatusBarIconView icon = row.getEntry().expandedIcon; - boolean needsContinuousClipping = ViewState.isAnimatingY(icon) && !mAmbientState.isDark(); + boolean needsContinuousClipping = ViewState.isAnimatingY(icon) && !mAmbientState.isDozing(); boolean isContinuousClipping = icon.getTag(TAG_CONTINUOUS_CLIPPING) != null; if (needsContinuousClipping && !isContinuousClipping) { final ViewTreeObserver observer = icon.getViewTreeObserver(); @@ -829,7 +829,7 @@ public class NotificationShelf extends ActivatableNotificationView implements private void setOpenedAmount(float openedAmount) { mNoAnimationsInThisFrame = openedAmount == 1.0f && mOpenedAmount == 0.0f; mOpenedAmount = openedAmount; - if (!mAmbientState.isPanelFullWidth() || mAmbientState.isDark()) { + if (!mAmbientState.isPanelFullWidth() || mAmbientState.isDozing()) { // We don't do a transformation at all, lets just assume we are fully opened openedAmount = 1.0f; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt index 7c193b19654b..3613f9f3ea5f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt @@ -22,11 +22,12 @@ import android.util.FloatProperty import com.android.systemui.Interpolators import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.statusbar.AmbientPulseManager -import com.android.systemui.statusbar.SysuiStatusBarStateController +import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout import com.android.systemui.statusbar.notification.stack.StackStateAnimator import com.android.systemui.statusbar.phone.DozeParameters +import com.android.systemui.statusbar.phone.KeyguardBypassController import javax.inject.Inject import javax.inject.Singleton @@ -35,7 +36,8 @@ import javax.inject.Singleton class NotificationWakeUpCoordinator @Inject constructor( private val mContext: Context, private val mAmbientPulseManager: AmbientPulseManager, - private val mStatusBarStateController: StatusBarStateController) + private val mStatusBarStateController: StatusBarStateController, + private val mBypassController: KeyguardBypassController) : AmbientPulseManager.OnAmbientChangedListener, StatusBarStateController.StateListener { private val mNotificationVisibility @@ -137,22 +139,47 @@ class NotificationWakeUpCoordinator @Inject constructor( } override fun onDozeAmountChanged(linear: Float, eased: Float) { + if (updateDozeAmountIfBypass()) { + return + } if (linear != 1.0f && linear != 0.0f && (mLinearDozeAmount == 0.0f || mLinearDozeAmount == 1.0f)) { // Let's notify the scroller that an animation started notifyAnimationStart(mLinearDozeAmount == 1.0f) } + setDozeAmount(linear, eased) + } + + fun setDozeAmount(linear: Float, eased: Float) { + val changed = linear != mLinearDozeAmount mLinearDozeAmount = linear mDozeAmount = eased mStackScroller.setDozeAmount(mDozeAmount) updateDarkAmount() - if (linear == 0.0f) { + if (changed && linear == 0.0f) { setNotificationsVisible(visible = false, animate = false, increaseSpeed = false); setNotificationsVisibleForExpansion(visible = false, animate = false, increaseSpeed = false) } } + override fun onStateChanged(newState: Int) { + updateDozeAmountIfBypass(); + } + + private fun updateDozeAmountIfBypass(): Boolean { + if (mBypassController.bypassEnabled) { + var amount = 1.0f; + if (mStatusBarStateController.state == StatusBarState.SHADE + || mStatusBarStateController.state == StatusBarState.SHADE_LOCKED) { + amount = 0.0f; + } + setDozeAmount(amount, amount) + return true + } + return false + } + private fun startVisibilityAnimation(increaseSpeed: Boolean) { if (mNotificationVisibleAmount == 0f || mNotificationVisibleAmount == 1f) { mVisibilityInterpolator = if (mNotificationsVisible) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java index 78dc9a0a731c..d9162c0d6071 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java @@ -52,7 +52,7 @@ public class AmbientState { private float mOverScrollTopAmount; private float mOverScrollBottomAmount; private int mSpeedBumpIndex = -1; - private boolean mDark; + private boolean mDozing; private boolean mHideSensitive; private AmbientPulseManager mAmbientPulseManager = Dependency.get(AmbientPulseManager.class); private float mStackTranslation; @@ -181,8 +181,8 @@ public class AmbientState { } /** In dark mode, we draw as little as possible, assuming a black background */ - public void setDark(boolean dark) { - mDark = dark; + public void setDozing(boolean dozing) { + mDozing = dozing; } /** Dark ratio of the status bar **/ @@ -217,8 +217,8 @@ public class AmbientState { return mDimmed && !(isPulseExpanding() && mDozeAmount == 1.0f); } - public boolean isDark() { - return mDark; + public boolean isDozing() { + return mDozing; } public boolean isHideSensitive() { @@ -461,7 +461,7 @@ public class AmbientState { * @return whether a row is dozing and not pulsing right now */ public boolean isDozingAndNotPulsing(ExpandableNotificationRow row) { - return isDark() && !isPulsing(row.getEntry()); + return isDozing() && !isPulsing(row.getEntry()); } public void setExpandAnimationTopChange(int expandAnimationTopChange) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java index a517e760c8b4..8c9c4bbd0f68 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java @@ -770,7 +770,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd if (mShouldDrawNotificationBackground && (mSections[0].getCurrentBounds().top < mSections[NUM_SECTIONS - 1].getCurrentBounds().bottom - || mAmbientState.isDark())) { + || mAmbientState.isDozing())) { drawBackground(canvas); } else if (mInHeadsUpPinnedMode || mHeadsUpAnimatingAway) { drawHeadsUpBackground(canvas); @@ -804,7 +804,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd canvas.drawLine(0, y, getWidth(), y, mDebugPaint); } canvas.drawText(Integer.toString(getMaxNegativeScrollAmount()), getWidth() - 100, - getIntrinsicPadding() + 30, mDebugPaint); + getTopPadding() + 30, mDebugPaint); canvas.drawText(Integer.toString(getMaxPositiveScrollAmount()), getWidth() - 100, getHeight() - 30, mDebugPaint); } @@ -842,7 +842,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd break; } } - if (!mAmbientState.isDark() || anySectionHasVisibleChild) { + if (!mAmbientState.isDozing() || anySectionHasVisibleChild) { drawBackgroundRects(canvas, left, right, top, backgroundTopAnimationOffset); } @@ -1438,7 +1438,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd int notGoneChildCount = getNotGoneChildCount(); if (mEmptyShadeView.getVisibility() == GONE && notGoneChildCount != 0) { if (isHeadsUpTransition() - || (mHeadsUpManager.hasPinnedHeadsUp() && !mAmbientState.isDark())) { + || (mHeadsUpManager.hasPinnedHeadsUp() && !mAmbientState.isDozing())) { appearPosition = getTopHeadsUpPinnedHeight(); } else { appearPosition = 0; @@ -2403,7 +2403,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd } mIntrinsicContentHeight = height; - mContentHeight = height + mTopPadding + mBottomMargin; + // The topPadding can be bigger than the regular padding when qs is expanded, in that + // state the maxPanelHeight and the contentHeight should be bigger + mContentHeight = height + Math.max(mIntrinsicPadding, mTopPadding) + mBottomMargin; updateScrollability(); clampScrollPosition(); mAmbientState.setLayoutMaxHeight(mContentHeight); @@ -2783,12 +2785,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd * * @param qsHeight the top padding imposed by the quick settings panel * @param animate whether to animate the change - * @param ignoreIntrinsicPadding if true, {@link #getIntrinsicPadding()} is ignored and - * {@code qsHeight} is the final top padding */ @ShadeViewRefactor(RefactorComponent.COORDINATOR) - public void updateTopPadding(float qsHeight, boolean animate, - boolean ignoreIntrinsicPadding) { + public void updateTopPadding(float qsHeight, boolean animate) { int topPadding = (int) qsHeight; int minStackHeight = getLayoutMinHeight(); if (topPadding + minStackHeight > getHeight()) { @@ -2796,8 +2795,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd } else { mTopPaddingOverflow = 0; } - setTopPadding(ignoreIntrinsicPadding ? topPadding : clampPadding(topPadding), - animate); + setTopPadding(topPadding, animate); setExpandedHeight(mExpandedHeight); } @@ -3532,7 +3530,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd private void generateTopPaddingEvent() { if (mTopPaddingNeedsAnimation) { AnimationEvent event; - if (mAmbientState.isDark()) { + if (mAmbientState.isDozing()) { event = new AnimationEvent(null /* view */, AnimationEvent.ANIMATION_TYPE_TOP_PADDING_CHANGED, KeyguardSliceView.DEFAULT_ANIM_DURATION); @@ -4712,21 +4710,19 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd } /** - * See {@link AmbientState#setDark}. + * See {@link AmbientState#setDozing}. */ @ShadeViewRefactor(RefactorComponent.SHADE_VIEW) - public void setDark(boolean dark, boolean animate, @Nullable PointF touchWakeUpScreenLocation) { - if (mAmbientState.isDark() == dark) { + public void setDozing(boolean dozing, boolean animate, + @Nullable PointF touchWakeUpScreenLocation) { + if (mAmbientState.isDozing() == dozing) { return; } - mAmbientState.setDark(dark); + mAmbientState.setDozing(dozing); if (animate && mAnimationsEnabled) { mDarkNeedsAnimation = true; mDarkAnimationOriginIndex = findDarkAnimationOriginIndex(touchWakeUpScreenLocation); mNeedsAnimation = true; - } else { - setDarkAmount(dark ? 1f : 0f); - updateBackground(); } requestChildrenUpdate(); updateWillNotDraw(); @@ -6349,7 +6345,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd (int) (dragLengthY / mDisplayMetrics.density), 0 /* velocityDp - N/A */); - if (!mAmbientState.isDark() || startingChild != null) { + if (!mAmbientState.isDozing() || startingChild != null) { // We have notifications, go to locked shade. mShadeController.goToLockedShade(startingChild); if (startingChild instanceof ExpandableNotificationRow) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java index 60061c6a9ad2..2980ee4ac45e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java @@ -255,7 +255,7 @@ public class StackScrollAlgorithm { state.paddingMap.clear(); int notGoneIndex = 0; ExpandableView lastView = null; - int firstHiddenIndex = ambientState.isDark() + int firstHiddenIndex = ambientState.isDozing() ? (ambientState.hasPulsingNotifications() ? 1 : 0) : childCount; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java index 4d4818d51414..d67795210f0c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java @@ -23,7 +23,6 @@ import android.os.Handler; import android.os.PowerManager; import android.os.SystemClock; import android.os.Trace; -import android.provider.Settings; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; @@ -34,12 +33,10 @@ import com.android.keyguard.KeyguardConstants; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.systemui.Dependency; -import com.android.systemui.R; import com.android.systemui.keyguard.KeyguardViewMediator; import com.android.systemui.keyguard.ScreenLifecycle; import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.statusbar.NotificationMediaManager; -import com.android.systemui.tuner.TunerService; import java.io.PrintWriter; @@ -102,20 +99,10 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { */ private static final float BIOMETRIC_COLLAPSE_SPEEDUP_FACTOR = 1.1f; - /** - * If face unlock dismisses the lock screen or keeps user on keyguard by default on this device. - */ - private final boolean mFaceDismissesKeyguardByDefault; - - /** - * If face unlock dismisses the lock screen or keeps user on keyguard for the current user. - */ - @VisibleForTesting - protected boolean mFaceDismissesKeyguard; - private final NotificationMediaManager mMediaManager; private final PowerManager mPowerManager; private final Handler mHandler; + private final KeyguardBypassController mKeyguardBypassController; private PowerManager.WakeLock mWakeLock; private final KeyguardUpdateMonitor mUpdateMonitor; private final UnlockMethodCache mUnlockMethodCache; @@ -133,16 +120,6 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { private boolean mPendingShowBouncer; private boolean mHasScreenTurnedOnSinceAuthenticating; - private final TunerService.Tunable mFaceDismissedKeyguardTunable = new TunerService.Tunable() { - @Override - public void onTuningChanged(String key, String newValue) { - int defaultValue = mFaceDismissesKeyguardByDefault ? 1 : 0; - mFaceDismissesKeyguard = Settings.Secure.getIntForUser(mContext.getContentResolver(), - Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, - defaultValue, KeyguardUpdateMonitor.getCurrentUser()) != 0; - } - }; - private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); public BiometricUnlockController(Context context, @@ -152,12 +129,12 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { StatusBar statusBar, UnlockMethodCache unlockMethodCache, Handler handler, KeyguardUpdateMonitor keyguardUpdateMonitor, - TunerService tunerService) { + KeyguardBypassController keyguardBypassController) { this(context, dozeScrimController, keyguardViewMediator, scrimController, statusBar, - unlockMethodCache, handler, keyguardUpdateMonitor, tunerService, + unlockMethodCache, handler, keyguardUpdateMonitor, context.getResources() .getInteger(com.android.internal.R.integer.config_wakeUpDelayDoze), - context.getResources().getBoolean(R.bool.config_faceAuthDismissesKeyguard)); + keyguardBypassController); } @VisibleForTesting @@ -168,9 +145,8 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { StatusBar statusBar, UnlockMethodCache unlockMethodCache, Handler handler, KeyguardUpdateMonitor keyguardUpdateMonitor, - TunerService tunerService, int wakeUpDelay, - boolean faceDismissesKeyguard) { + KeyguardBypassController keyguardBypassController) { mContext = context; mPowerManager = context.getSystemService(PowerManager.class); mUpdateMonitor = keyguardUpdateMonitor; @@ -186,9 +162,7 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { mUnlockMethodCache = unlockMethodCache; mHandler = handler; mWakeUpDelay = wakeUpDelay; - mFaceDismissesKeyguardByDefault = faceDismissesKeyguard; - tunerService.addTunable(mFaceDismissedKeyguardTunable, - Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD); + mKeyguardBypassController = keyguardBypassController; } public void setStatusBarKeyguardViewManager( @@ -296,7 +270,7 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { Trace.endSection(); }; - if (!delayWakeUp) { + if (!delayWakeUp && mMode != MODE_NONE) { wakeUp.run(); } switch (mMode) { @@ -392,7 +366,7 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback { boolean unlockingAllowed = mUpdateMonitor.isUnlockingWithBiometricAllowed(); boolean deviceDreaming = mUpdateMonitor.isDreaming(); boolean faceStayingOnKeyguard = biometricSourceType == BiometricSourceType.FACE - && !mFaceDismissesKeyguard; + && !mKeyguardBypassController.getBypassEnabled(); if (!mUpdateMonitor.isDeviceInteractive()) { if (!mStatusBarKeyguardViewManager.isShowing()) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt new file mode 100644 index 000000000000..5abf39e781f3 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar.phone + +import android.content.Context +import android.hardware.face.FaceManager +import android.provider.Settings +import com.android.internal.annotations.VisibleForTesting +import com.android.keyguard.KeyguardUpdateMonitor +import com.android.systemui.tuner.TunerService + +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class KeyguardBypassController { + + @Inject + constructor(context: Context, + tunerService: TunerService) { + val faceManager = context.getSystemService(FaceManager::class.java) + if (faceManager?.isHardwareDetected != true) { + return + } + + val dismissByDefault = if (context.resources.getBoolean( + com.android.internal.R.bool.config_faceAuthDismissesKeyguard)) 1 else 0 + tunerService.addTunable( + object : TunerService.Tunable { + override fun onTuningChanged(key: String?, newValue: String?) { + bypassEnabled = Settings.Secure.getIntForUser( + context.contentResolver, + Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, + dismissByDefault, + KeyguardUpdateMonitor.getCurrentUser()) != 0 + } + }, Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD) + } + + @VisibleForTesting + constructor(bypassEnabled: Boolean) { + this.bypassEnabled = bypassEnabled; + } + + /** + * If face unlock dismisses the lock screen or keeps user on keyguard for the current user. + */ + var bypassEnabled: Boolean = false + private set +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java index bc2d00f53186..579d1abe7650 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java @@ -112,6 +112,12 @@ public class KeyguardClockPositionAlgorithm { private float mEmptyDragAmount; /** + * If true the clock should always be positioned like it's dark. Used in the bypass, where + * notifications don't expand on the lock screen and should be kept stable + */ + private boolean mPositionLikeDark; + + /** * Refreshes the dimension values. */ public void loadDimens(Resources res) { @@ -132,7 +138,8 @@ public class KeyguardClockPositionAlgorithm { public void setup(int minTopMargin, int maxShadeBottom, int notificationStackHeight, float panelExpansion, int parentHeight, int keyguardStatusHeight, int clockPreferredY, - boolean hasCustomClock, boolean hasVisibleNotifs, float dark, float emptyDragAmount) { + boolean hasCustomClock, boolean hasVisibleNotifs, float dark, float emptyDragAmount, + boolean positionLikeDark) { mMinTopMargin = minTopMargin + mContainerTopPadding; mMaxShadeBottom = maxShadeBottom; mNotificationStackHeight = notificationStackHeight; @@ -144,13 +151,15 @@ public class KeyguardClockPositionAlgorithm { mHasVisibleNotifs = hasVisibleNotifs; mDarkAmount = dark; mEmptyDragAmount = emptyDragAmount; + mPositionLikeDark = positionLikeDark; } public void run(Result result) { - final int y = getClockY(); + final int y = getClockY(mPanelExpansion); result.clockY = y; result.clockAlpha = getClockAlpha(y); result.stackScrollerPadding = y + mKeyguardStatusHeight; + result.stackScrollerPaddingExpanded = getClockY(1.0f) + mKeyguardStatusHeight; result.clockX = (int) interpolate(0, burnInPreventionOffsetX(), mDarkAmount); } @@ -195,7 +204,7 @@ public class KeyguardClockPositionAlgorithm { return (int) y; } - private int getClockY() { + private int getClockY(float panelExpansion) { // Dark: Align the bottom edge of the clock at about half of the screen: float clockYDark = (mHasCustomClock ? getPreferredClockY() : getMaxClockY()) + burnInPreventionOffsetY(); @@ -205,11 +214,12 @@ public class KeyguardClockPositionAlgorithm { float clockYBouncer = -mKeyguardStatusHeight; // Move clock up while collapsing the shade - float shadeExpansion = Interpolators.FAST_OUT_LINEAR_IN.getInterpolation(mPanelExpansion); + float shadeExpansion = Interpolators.FAST_OUT_LINEAR_IN.getInterpolation(panelExpansion); float clockY = MathUtils.lerp(clockYBouncer, clockYRegular, shadeExpansion); clockYDark = MathUtils.lerp(clockYBouncer, clockYDark, shadeExpansion); - return (int) (MathUtils.lerp(clockY, clockYDark, mDarkAmount) + mEmptyDragAmount); + float darkAmount = mPositionLikeDark ? 1.0f : mDarkAmount; + return (int) (MathUtils.lerp(clockY, clockYDark, darkAmount) + mEmptyDragAmount); } /** @@ -257,5 +267,10 @@ public class KeyguardClockPositionAlgorithm { * The top padding of the stack scroller, in pixels. */ public int stackScrollerPadding; + + /** + * The top padding of the stack scroller, in pixels when fully expanded. + */ + public int stackScrollerPaddingExpanded; } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java index 61a394092761..c7f778d37914 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java @@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone; import static com.android.systemui.Dependency.MAIN_HANDLER_NAME; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; +import android.annotation.IntDef; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.Configuration; @@ -30,6 +31,8 @@ import android.graphics.drawable.Drawable; import android.hardware.biometrics.BiometricSourceType; import android.os.Handler; import android.os.Trace; +import android.provider.Settings; +import android.text.TextUtils; import android.util.AttributeSet; import android.view.ViewGroup; import android.view.accessibility.AccessibilityNodeInfo; @@ -50,6 +53,9 @@ import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.UserInfoController.OnUserInfoChangedListener; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + import javax.inject.Inject; import javax.inject.Named; @@ -247,11 +253,11 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange mIsFaceUnlockState = state == STATE_SCANNING_FACE; if (state != mLastState || mLastDozing != mDozing || mLastPulsing != mPulsing || mLastScreenOn != mScreenOn || mLastBouncerVisible != mBouncerVisible || force) { - int iconAnimRes = getAnimationResForTransition(mLastState, state, mLastPulsing, - mPulsing, mLastDozing, mDozing, mBouncerVisible); - boolean isAnim = iconAnimRes != -1; + @LockAnimIndex final int lockAnimIndex = getAnimationIndexForTransition(mLastState, + state, mLastPulsing, mPulsing, mLastDozing, mDozing, mBouncerVisible); + boolean isAnim = lockAnimIndex != -1; - int iconRes = isAnim ? iconAnimRes : getIconForState(state); + int iconRes = isAnim ? getThemedAnimationResId(lockAnimIndex) : getIconForState(state); if (iconRes != mIconRes) { mIconRes = iconRes; @@ -272,7 +278,7 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange @Override public void onAnimationEnd(Drawable drawable) { if (getDrawable() == animation && state == getState() - && doesAnimationLoop(iconAnimRes)) { + && doesAnimationLoop(lockAnimIndex)) { animation.start(); } else { Trace.endAsyncSection("LockIcon#Animation", state); @@ -360,11 +366,11 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange return iconRes; } - private boolean doesAnimationLoop(int resourceId) { - return resourceId == com.android.internal.R.anim.lock_scanning; + private boolean doesAnimationLoop(@LockAnimIndex int lockAnimIndex) { + return lockAnimIndex == SCANNING; } - private int getAnimationResForTransition(int oldState, int newState, + private int getAnimationIndexForTransition(int oldState, int newState, boolean wasPulsing, boolean pulsing, boolean wasDozing, boolean dozing, boolean bouncerVisible) { @@ -380,19 +386,68 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange boolean turningOn = wasDozing && !dozing && !mWasPulsingOnThisFrame; if (isError) { - return com.android.internal.R.anim.lock_to_error; + return ERROR; } else if (justUnlocked) { - return com.android.internal.R.anim.lock_unlock; + return UNLOCK; } else if (justLocked) { - return com.android.internal.R.anim.lock_lock; + return LOCK; } else if (newState == STATE_SCANNING_FACE && bouncerVisible) { - return com.android.internal.R.anim.lock_scanning; + return SCANNING; } else if ((nowPulsing || turningOn) && newState != STATE_LOCK_OPEN) { - return com.android.internal.R.anim.lock_in; + return LOCK_IN; } return -1; } + @Retention(RetentionPolicy.SOURCE) + @IntDef({ERROR, UNLOCK, LOCK, SCANNING, LOCK_IN}) + @interface LockAnimIndex {} + private static final int ERROR = 0, UNLOCK = 1, LOCK = 2, SCANNING = 3, LOCK_IN = 4; + private static final int[][] LOCK_ANIM_RES_IDS = new int[][] { + { + R.anim.lock_to_error, + R.anim.lock_unlock, + R.anim.lock_lock, + R.anim.lock_scanning, + R.anim.lock_in, + }, + { + R.anim.lock_to_error_circular, + R.anim.lock_unlock_circular, + R.anim.lock_lock_circular, + R.anim.lock_scanning_circular, + R.anim.lock_in_circular, + }, + { + R.anim.lock_to_error_filled, + R.anim.lock_unlock_filled, + R.anim.lock_lock_filled, + R.anim.lock_scanning_filled, + R.anim.lock_in_filled, + }, + { + R.anim.lock_to_error_rounded, + R.anim.lock_unlock_rounded, + R.anim.lock_lock_rounded, + R.anim.lock_scanning_rounded, + R.anim.lock_in_rounded, + }, + }; + + private int getThemedAnimationResId(@LockAnimIndex int lockAnimIndex) { + final String setting = TextUtils.emptyIfNull( + Settings.Secure.getString(getContext().getContentResolver(), + Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES)); + if (setting.contains("com.android.theme.icon_pack.circular.android")) { + return LOCK_ANIM_RES_IDS[1][lockAnimIndex]; + } else if (setting.contains("com.android.theme.icon_pack.filled.android")) { + return LOCK_ANIM_RES_IDS[2][lockAnimIndex]; + } else if (setting.contains("com.android.theme.icon_pack.rounded.android")) { + return LOCK_ANIM_RES_IDS[3][lockAnimIndex]; + } + return LOCK_ANIM_RES_IDS[0][lockAnimIndex]; + } + private int getState() { KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext); if (mTransientBiometricsError) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 92aa884b14d2..b3cbf083e4a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -152,6 +152,7 @@ public class NotificationPanelView extends PanelView implements private final AccessibilityManager mAccessibilityManager; private final NotificationWakeUpCoordinator mWakeUpCoordinator; private final PulseExpansionHandler mPulseExpansionHandler; + private final KeyguardBypassController mKeyguardBypassController; @VisibleForTesting protected KeyguardAffordanceHelper mAffordanceHelper; @@ -350,7 +351,8 @@ public class NotificationPanelView extends PanelView implements InjectionInflationController injectionInflationController, NotificationWakeUpCoordinator coordinator, PulseExpansionHandler pulseExpansionHandler, - DynamicPrivacyController dynamicPrivacyController) { + DynamicPrivacyController dynamicPrivacyController, + KeyguardBypassController bypassController) { super(context, attrs); setWillNotDraw(!DEBUG); mInjectionInflationController = injectionInflationController; @@ -365,6 +367,7 @@ public class NotificationPanelView extends PanelView implements mDisplayId = context.getDisplayId(); mPulseExpansionHandler = pulseExpansionHandler; mThemeResId = context.getThemeResId(); + mKeyguardBypassController = bypassController; dynamicPrivacyController.addListener(this); } @@ -676,14 +679,15 @@ public class NotificationPanelView extends PanelView implements hasCustomClock(), mNotificationStackScroller.getVisibleNotificationCount() != 0, mInterpolatedDarkAmount, - mEmptyDragAmount); + mEmptyDragAmount, + mKeyguardBypassController.getBypassEnabled()); mClockPositionAlgorithm.run(mClockPositionResult); PropertyAnimator.setProperty(mKeyguardStatusView, AnimatableProperty.X, mClockPositionResult.clockX, CLOCK_ANIMATION_PROPERTIES, animateClock); PropertyAnimator.setProperty(mKeyguardStatusView, AnimatableProperty.Y, mClockPositionResult.clockY, CLOCK_ANIMATION_PROPERTIES, animateClock); updateClock(); - stackScrollerPadding = mClockPositionResult.stackScrollerPadding; + stackScrollerPadding = mClockPositionResult.stackScrollerPaddingExpanded; } mNotificationStackScroller.setIntrinsicPadding(stackScrollerPadding); mNotificationStackScroller.setAntiBurnInOffsetX(mClockPositionResult.clockX); @@ -1616,7 +1620,7 @@ public class NotificationPanelView extends PanelView implements } else if (mKeyguardShowing) { // We can only do the smoother transition on Keyguard when we also are not collapsing // from a scrolled quick settings. - return MathUtils.lerp((float) mNotificationStackScroller.getIntrinsicPadding(), + return MathUtils.lerp((float) mClockPositionResult.stackScrollerPadding, (float) (mQsMaxExpansionHeight + mQsNotificationTopPadding), getQsExpansionFraction()); } else { @@ -1625,9 +1629,7 @@ public class NotificationPanelView extends PanelView implements } protected void requestScrollerTopPaddingUpdate(boolean animate) { - mNotificationStackScroller.updateTopPadding(calculateQsTopPadding(), - animate, mKeyguardShowing - && (mQsExpandImmediate || mIsExpanding && mQsExpandedWhenExpandingStarted)); + mNotificationStackScroller.updateTopPadding(calculateQsTopPadding(), animate); } private void trackMovement(MotionEvent event) { @@ -2886,7 +2888,7 @@ public class NotificationPanelView extends PanelView implements public void setDozing(boolean dozing, boolean animate, PointF wakeUpTouchLocation) { if (dozing == mDozing) return; mDozing = dozing; - mNotificationStackScroller.setDark(mDozing, animate, wakeUpTouchLocation); + mNotificationStackScroller.setDozing(mDozing, animate, wakeUpTouchLocation); mKeyguardBottomArea.setDozing(mDozing, animate); if (mBarState == StatusBarState.KEYGUARD @@ -2894,8 +2896,8 @@ public class NotificationPanelView extends PanelView implements updateDozingVisibilities(animate); } - final float darkAmount = dozing ? 1 : 0; - mStatusBarStateController.setDozeAmount(darkAmount, animate); + final float dozeAmount = dozing ? 1 : 0; + mStatusBarStateController.setDozeAmount(dozeAmount, animate); } @Override @@ -3103,6 +3105,11 @@ public class NotificationPanelView extends PanelView implements @Override public void onDynamicPrivacyChanged() { + // Do not request animation when pulsing or waking up, otherwise the clock wiill be out + // of sync with the notification panel. + if (mLinearDarkAmount != 0) { + return; + } mAnimateNextPositionUpdate = true; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 1da819f1a764..5fca4f8478cb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -386,6 +386,8 @@ public class StatusBar extends SystemUI implements DemoMode, PulseExpansionHandler mPulseExpansionHandler; @Inject NotificationWakeUpCoordinator mWakeUpCoordinator; + @Inject + KeyguardBypassController mKeyguardBypassController; // expanded notifications protected NotificationPanelView mNotificationPanel; // the sliding/resizing panel within the notification window @@ -1229,7 +1231,7 @@ public class StatusBar extends SystemUI implements DemoMode, mBiometricUnlockController = new BiometricUnlockController(mContext, mDozeScrimController, keyguardViewMediator, mScrimController, this, UnlockMethodCache.getInstance(mContext), - new Handler(), mKeyguardUpdateMonitor, Dependency.get(TunerService.class)); + new Handler(), mKeyguardUpdateMonitor, mKeyguardBypassController); mStatusBarKeyguardViewManager = keyguardViewMediator.registerStatusBar(this, getBouncerContainer(), mNotificationPanel, mBiometricUnlockController, mStatusBarWindow.findViewById(R.id.lock_icon_container)); @@ -3890,6 +3892,8 @@ public class StatusBar extends SystemUI implements DemoMode, private boolean mAnimateWakeup; private boolean mAnimateScreenOff; private boolean mIgnoreTouchWhilePulsing; + private boolean mWakeLockScreenPerformsAuth = SystemProperties.getBoolean( + "persist.sysui.wake_performs_auth", false); @Override public String toString() { @@ -3945,7 +3949,9 @@ public class StatusBar extends SystemUI implements DemoMode, mStatusBarWindow.suppressWakeUpGesture(true); } - boolean passiveAuthInterrupt = reason == DozeLog.PULSE_REASON_NOTIFICATION; + boolean passiveAuthInterrupt = reason == DozeLog.PULSE_REASON_NOTIFICATION || ( + reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN + && mWakeLockScreenPerformsAuth); // Set the state to pulsing, so ScrimController will know what to do once we ask it to // execute the transition. The pulse callback will then be invoked when the scrims // are black, indicating that StatusBar is ready to present the rest of the UI. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java index 8286d26e9999..2558d77bbb48 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java @@ -22,6 +22,7 @@ import android.telephony.SubscriptionInfo; import android.util.ArraySet; import android.util.Log; +import com.android.settingslib.graph.SignalDrawable; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.statusbar.policy.NetworkController; @@ -186,8 +187,8 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba // Visibility of the data type indicator changed boolean typeChanged = statusType != state.typeId && (statusType == 0 || state.typeId == 0); - - state.visible = statusIcon.visible && !mBlockMobile; + state.visible = statusIcon.visible && !mBlockMobile + && !isInEmptyStateOnSingleSimDevice(subId, statusIcon.icon); state.strengthId = statusIcon.icon; state.typeId = statusType; state.contentDescription = statusIcon.contentDescription; @@ -209,6 +210,12 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba } } + private boolean isInEmptyStateOnSingleSimDevice(int subId, int icon) { + return mMobileStates.size() == 1 + && mMobileStates.get(0).subId == subId + && SignalDrawable.isEmptyState(icon); + } + private MobileIconState getState(int subId) { for (MobileIconState state : mMobileStates) { if (state.subId == subId) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java index e949ade28b59..3d25749265f1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java @@ -26,7 +26,6 @@ import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnComputeInternalInsetsListener; import com.android.systemui.Dependency; -import com.android.systemui.assist.AssistManager; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; @@ -38,7 +37,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController.Configurati public final class StatusBarTouchableRegionManager implements OnComputeInternalInsetsListener, ConfigurationListener { - private final AssistManager mAssistManager = Dependency.get(AssistManager.class); private final BubbleController mBubbleController = Dependency.get(BubbleController.class); private final Context mContext; private final HeadsUpManagerPhone mHeadsUpManager; @@ -48,6 +46,7 @@ public final class StatusBarTouchableRegionManager implements private int mStatusBarHeight; private final View mStatusBarWindowView; private boolean mForceCollapsedUntilLayout = false; + private final StatusBarWindowController mStatusBarWindowController; public StatusBarTouchableRegionManager(@NonNull Context context, HeadsUpManagerPhone headsUpManager, @@ -57,12 +56,17 @@ public final class StatusBarTouchableRegionManager implements mHeadsUpManager = headsUpManager; mStatusBar = statusBar; mStatusBarWindowView = statusBarWindowView; + mStatusBarWindowController = Dependency.get(StatusBarWindowController.class); initResources(); mBubbleController.setBubbleStateChangeListener((hasBubbles) -> { updateTouchableRegion(); }); + + mStatusBarWindowController.setForcePluginOpenListener((forceOpen) -> { + updateTouchableRegion(); + }); Dependency.get(ConfigurationController.class).addCallback(this); } @@ -77,7 +81,8 @@ public final class StatusBarTouchableRegionManager implements mHeadsUpManager.hasPinnedHeadsUp() || mHeadsUpManager.isHeadsUpGoingAway() || mBubbleController.hasBubbles() || mForceCollapsedUntilLayout - || hasCutoutInset; + || hasCutoutInset + || mStatusBarWindowController.getForcePluginOpen(); if (shouldObserve == mShouldAdjustInsets) { return; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java index 631920c16a2c..f08db1b5c76c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java @@ -80,6 +80,7 @@ public class StatusBarWindowController implements Callback, Dumpable, Configurat private float mScreenBrightnessDoze; private final State mCurrentState = new State(); private OtherwisedCollapsedListener mListener; + private ForcePluginOpenListener mForcePluginOpenListener; private final SysuiColorExtractor mColorExtractor = Dependency.get(SysuiColorExtractor.class); @@ -477,6 +478,16 @@ public class StatusBarWindowController implements Callback, Dumpable, Configurat public void setForcePluginOpen(boolean forcePluginOpen) { mCurrentState.forcePluginOpen = forcePluginOpen; apply(mCurrentState); + if (mForcePluginOpenListener != null) { + mForcePluginOpenListener.onChange(forcePluginOpen); + } + } + + /** + * The forcePluginOpen state for the status bar. + */ + public boolean getForcePluginOpen() { + return mCurrentState.forcePluginOpen; } public void setNotTouchable(boolean notTouchable) { @@ -525,6 +536,10 @@ public class StatusBarWindowController implements Callback, Dumpable, Configurat mListener = listener; } + public void setForcePluginOpenListener(ForcePluginOpenListener listener) { + mForcePluginOpenListener = listener; + } + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("StatusBarWindowController state:"); pw.println(mCurrentState); @@ -637,4 +652,14 @@ public class StatusBarWindowController implements Callback, Dumpable, Configurat public interface OtherwisedCollapsedListener { void setWouldOtherwiseCollapse(boolean otherwiseCollapse); } + + /** + * Listener to indicate forcePluginOpen has changed + */ + public interface ForcePluginOpenListener { + /** + * Called when mState.forcePluginOpen is changed + */ + void onChange(boolean forceOpen); + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/MediaArtworkProcessorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/MediaArtworkProcessorTest.kt new file mode 100644 index 000000000000..72e6df27a254 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/MediaArtworkProcessorTest.kt @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar + +import com.google.common.truth.Truth.assertThat + +import android.graphics.Bitmap +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Point +import android.testing.AndroidTestingRunner +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import org.junit.After +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +private const val WIDTH = 200 +private const val HEIGHT = 200 + +@RunWith(AndroidTestingRunner::class) +@SmallTest +class MediaArtworkProcessorTest : SysuiTestCase() { + + private var screenWidth = 0 + private var screenHeight = 0 + + private lateinit var processor: MediaArtworkProcessor + + @Before + fun setUp() { + processor = MediaArtworkProcessor() + + val point = Point() + context.display.getSize(point) + screenWidth = point.x + screenHeight = point.y + } + + @After + fun tearDown() { + processor.clearCache() + } + + @Test + fun testProcessArtwork() { + // GIVEN some "artwork", which is just a solid blue image + val artwork = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888) + Canvas(artwork).drawColor(Color.BLUE) + // WHEN the background is created from the artwork + val background = processor.processArtwork(context, artwork)!! + // THEN the background has the size of the screen that has been downsamples + assertThat(background.height).isLessThan(screenHeight) + assertThat(background.width).isLessThan(screenWidth) + assertThat(background.config).isEqualTo(Bitmap.Config.ARGB_8888) + } + + @Test + fun testCache() { + // GIVEN a solid blue image + val artwork = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888) + Canvas(artwork).drawColor(Color.BLUE) + // WHEN the background is processed twice + val background1 = processor.processArtwork(context, artwork)!! + val background2 = processor.processArtwork(context, artwork)!! + // THEN the two bitmaps are the same + // Note: This is currently broken and trying to use caching causes issues + assertThat(background1).isNotSameAs(background2) + } + + @Test + fun testConfig() { + // GIVEN some which is not ARGB_8888 + val artwork = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ALPHA_8) + Canvas(artwork).drawColor(Color.BLUE) + // WHEN the background is created from the artwork + val background = processor.processArtwork(context, artwork)!! + // THEN the background has Config ARGB_8888 + assertThat(background.config).isEqualTo(Bitmap.Config.ARGB_8888) + } + + @Test + fun testRecycledArtwork() { + // GIVEN some "artwork", which is just a solid blue image + val artwork = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888) + Canvas(artwork).drawColor(Color.BLUE) + // AND the artwork is recycled + artwork.recycle() + // WHEN the background is created from the artwork + val background = processor.processArtwork(context, artwork) + // THEN the processed bitmap is null + assertThat(background).isNull() + } +}
\ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java index 56265d08c131..662edd2d58cd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java @@ -194,9 +194,9 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { public void testAntiBurnInOffset() { final int burnInOffset = 30; mStackScroller.setAntiBurnInOffsetX(burnInOffset); - mStackScroller.setDark(false /* dark */, false /* animated */, null /* touch */); + mStackScroller.setDarkAmount(0.0f, 0.0f); Assert.assertEquals(0 /* expected */, mStackScroller.getTranslationX(), 0.01 /* delta */); - mStackScroller.setDark(true /* dark */, false /* animated */, null /* touch */); + mStackScroller.setDarkAmount(1.0f, 1.0f); Assert.assertEquals(burnInOffset /* expected */, mStackScroller.getTranslationX(), 0.01 /* delta */); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java index d2d294bf8d37..fdc2cd3483ca 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java @@ -71,8 +71,6 @@ public class BiometricsUnlockControllerTest extends SysuiTestCase { @Mock private UnlockMethodCache mUnlockMethodCache; @Mock - private TunerService mTunerService; - @Mock private Handler mHandler; private BiometricUnlockController mBiometricUnlockController; @@ -192,9 +190,8 @@ public class BiometricsUnlockControllerTest extends SysuiTestCase { TestableBiometricUnlockController(boolean faceDismissesKeyguard) { super(mContext, mDozeScrimController, mKeyguardViewMediator, mScrimController, mStatusBar, mUnlockMethodCache, - mHandler, mUpdateMonitor, mTunerService, 0 /* wakeUpDelay */, - faceDismissesKeyguard); - mFaceDismissesKeyguard = faceDismissesKeyguard; + mHandler, mUpdateMonitor, 0 /* wakeUpDelay */, + new KeyguardBypassController(faceDismissesKeyguard)); } } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithmTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithmTest.java index f8394f01a081..66c61ce9b7e8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithmTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithmTest.java @@ -383,7 +383,7 @@ public class KeyguardClockPositionAlgorithmTest extends SysuiTestCase { private void positionClock() { mClockPositionAlgorithm.setup(EMPTY_MARGIN, SCREEN_HEIGHT, mNotificationStackHeight, mPanelExpansion, SCREEN_HEIGHT, mKeyguardStatusHeight, mPreferredClockY, - mHasCustomClock, mHasVisibleNotifs, mDark, ZERO_DRAG); + mHasCustomClock, mHasVisibleNotifs, mDark, ZERO_DRAG, false /* positionLikeDark */); mClockPositionAlgorithm.run(mClockPosition); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java index 1b7ca952dbfe..e0e4a25a9f90 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java @@ -49,6 +49,7 @@ import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ZenModeController; +import com.android.systemui.tuner.TunerService; import com.android.systemui.util.InjectionInflationController; import org.junit.Before; @@ -111,12 +112,16 @@ public class NotificationPanelViewTest extends SysuiTestCase { mDependency.injectMockDependency(NotificationLockscreenUserManager.class); mDependency.injectMockDependency(ConfigurationController.class); mDependency.injectMockDependency(ZenModeController.class); + KeyguardBypassController bypassController = new KeyguardBypassController(mContext, + mock(TunerService.class)); NotificationWakeUpCoordinator coordinator = new NotificationWakeUpCoordinator(mContext, new AmbientPulseManager(mContext), - new StatusBarStateControllerImpl()); + new StatusBarStateControllerImpl(), + bypassController); PulseExpansionHandler expansionHandler = new PulseExpansionHandler(mContext, coordinator); - mNotificationPanelView = new TestableNotificationPanelView(coordinator, expansionHandler); + mNotificationPanelView = new TestableNotificationPanelView(coordinator, expansionHandler, + bypassController); mNotificationPanelView.setHeadsUpManager(mHeadsUpManager); mNotificationPanelView.setBar(mPanelBar); @@ -128,7 +133,7 @@ public class NotificationPanelViewTest extends SysuiTestCase { public void testSetDozing_notifiesNsslAndStateController() { mNotificationPanelView.setDozing(true /* dozing */, true /* animate */, null /* touch */); InOrder inOrder = inOrder(mNotificationStackScrollLayout, mStatusBarStateController); - inOrder.verify(mNotificationStackScrollLayout).setDark(eq(true), eq(true), eq(null)); + inOrder.verify(mNotificationStackScrollLayout).setDozing(eq(true), eq(true), eq(null)); inOrder.verify(mStatusBarStateController).setDozeAmount(eq(1f), eq(true)); } @@ -178,11 +183,13 @@ public class NotificationPanelViewTest extends SysuiTestCase { private class TestableNotificationPanelView extends NotificationPanelView { TestableNotificationPanelView(NotificationWakeUpCoordinator coordinator, - PulseExpansionHandler expansionHandler) { + PulseExpansionHandler expansionHandler, + KeyguardBypassController bypassController) { super(NotificationPanelViewTest.this.mContext, null, new InjectionInflationController( SystemUIFactory.getInstance().getRootComponent()), - coordinator, expansionHandler, mock(DynamicPrivacyController.class)); + coordinator, expansionHandler, mock(DynamicPrivacyController.class), + bypassController); mNotificationStackScroller = mNotificationStackScrollLayout; mKeyguardStatusView = NotificationPanelViewTest.this.mKeyguardStatusView; mKeyguardStatusBar = NotificationPanelViewTest.this.mKeyguardStatusBar; diff --git a/packages/VpnDialogs/res/values-bn/strings.xml b/packages/VpnDialogs/res/values-bn/strings.xml index 5e11fd9934b6..2defd8184c5e 100644 --- a/packages/VpnDialogs/res/values-bn/strings.xml +++ b/packages/VpnDialogs/res/values-bn/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">"সংযোগের অনুরোধ"</string> - <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> এমন একটি VPN সংযোগ সেট-আপ করতে চাচ্ছে যেটি দিয়ে এটি নেটওয়ার্ক ট্রাফিক নিরীক্ষণ করতে পারবে। আপনি যদি উৎসটিকে বিশ্বাস করেন, তাহলেই কেবল এতে সম্মতি দিন। VPN সক্রিয় থাকলে আপনার স্ক্রীনের উপরে <br /> <br /> <img src=vpn_icon /> দেখা যাবে।"</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> এমন একটি VPN সংযোগ সেট আপ করতে চাচ্ছে যেটি দিয়ে এটি নেটওয়ার্ক ট্রাফিক নিরীক্ষণ করতে পারবে। আপনি যদি উৎসটিকে বিশ্বাস করেন, তাহলেই কেবল এতে সম্মতি দিন। VPN সক্রিয় থাকলে আপনার স্ক্রীনের উপরে <br /> <br /> <img src=vpn_icon /> দেখা যাবে।"</string> <string name="legacy_title" msgid="192936250066580964">"VPN সংযুক্ত হয়েছে"</string> <string name="session" msgid="6470628549473641030">"অধিবেশন:"</string> <string name="duration" msgid="3584782459928719435">"সময়কাল:"</string> diff --git a/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values-km/strings.xml b/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values-km/strings.xml index 287817f9a8fa..fb0d88efb0ac 100644 --- a/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values-km/strings.xml +++ b/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values-km/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="display_cutout_emulation_overlay" msgid="1677693377327336341">"ក្បាលឆកនៅជ្រុង"</string> + <string name="display_cutout_emulation_overlay" msgid="1677693377327336341">"សក់សេះនៅជ្រុង"</string> </resources> diff --git a/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values-km/strings.xml b/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values-km/strings.xml index 312817f29cae..15535946f05b 100644 --- a/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values-km/strings.xml +++ b/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values-km/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="display_cutout_emulation_overlay" msgid="5323179900047630217">"ក្បាលឆកភ្លោះ"</string> + <string name="display_cutout_emulation_overlay" msgid="5323179900047630217">"សក់សេះភ្លោះ"</string> </resources> diff --git a/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values-km/strings.xml b/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values-km/strings.xml index 1fe37a7e179c..97e867f3f8f9 100644 --- a/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values-km/strings.xml +++ b/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values-km/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="display_cutout_emulation_overlay" msgid="3947428012427075896">"ក្បាលឆកតូច"</string> + <string name="display_cutout_emulation_overlay" msgid="3947428012427075896">"សក់សេះតូច"</string> </resources> diff --git a/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values-km/strings.xml b/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values-km/strings.xml index 38fc08c78af1..5a01a6206111 100644 --- a/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values-km/strings.xml +++ b/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values-km/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="display_cutout_emulation_overlay" msgid="6424539415439220018">"ក្បាលឆកវែង"</string> + <string name="display_cutout_emulation_overlay" msgid="6424539415439220018">"សក់សេះវែង"</string> </resources> diff --git a/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values-km/strings.xml b/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values-km/strings.xml index 3a720fd53d13..7325a731fe88 100644 --- a/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values-km/strings.xml +++ b/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values-km/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="display_cutout_emulation_overlay" msgid="4043478945358357737">"ក្បាលឆកធំ"</string> + <string name="display_cutout_emulation_overlay" msgid="4043478945358357737">"សក់សេះធំ"</string> </resources> diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_battery_80_24dp.xml index 22e183c694d5..4d8dbdba9207 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_battery_80_24dp.xml @@ -21,5 +21,5 @@ android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M10,2v2H8.33C7.6,4,7,4.6,7,5.33v15.33C7,21.4,7.6,22,8.33,22h7.33C16.4,22,17,21.4,17,20.67V5.33C17,4.6,16.4,4,15.67,4 H14V2H10z M15,13c0,0.55-0.45,1-1,1h-1v1c0,0.55-0.45,1-1,1s-1-0.45-1-1v-1h-1c-0.55,0-1-0.45-1-1s0.45-1,1-1h1v-1 c0-0.55,0.45-1,1-1s1,0.45,1,1v1h1C14.55,12,15,12.45,15,13z" /> + android:pathData="M18,19V7c0-1.66-1.34-3-3-3h-1c0-0.55-0.45-1-1-1h-2c-0.55,0-1,0.45-1,1H9C7.34,4,6,5.34,6,7v12c0,1.66,1.34,3,3,3h6 C16.66,22,18,20.66,18,19z M9,5.5h6c0.83,0,1.5,0.67,1.5,1.5v1h-9V7C7.5,6.17,8.17,5.5,9,5.5z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_bt_misc_hid.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_bt_misc_hid.xml index e182886d4252..5096f2f0f2e9 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_bt_misc_hid.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_bt_misc_hid.xml @@ -20,7 +20,6 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path android:pathData="M0,0h24v24H0V0z" /> <path android:fillColor="@android:color/white" android:pathData="M9,16.5V20c0,1.1,0.9,2,2,2h2c1.1,0,2-0.9,2-2v-3.5l-3-3L9,16.5z M13.5,20c0,0.28-0.22,0.5-0.5,0.5h-2 c-0.28,0-0.5-0.22-0.5-0.5v-2.88l1.5-1.5l1.5,1.5V20z M15,7.5V4c0-1.1-0.9-2-2-2h-2C9.9,2,9,2.9,9,4v3.5l3,3L15,7.5z M10.5,4 c0-0.28,0.22-0.5,0.5-0.5h2c0.28,0,0.5,0.22,0.5,0.5v2.88L12,8.38l-1.5-1.5V4z M7.5,9H4c-1.1,0-2,0.9-2,2v2c0,1.1,0.9,2,2,2h3.5 l3-3L7.5,9z M6.88,13.5H4c-0.28,0-0.5-0.22-0.5-0.5v-2c0-0.28,0.22-0.5,0.5-0.5h2.88l1.5,1.5L6.88,13.5z M20,9h-3.5l-3,3l3,3H20 c1.1,0,2-0.9,2-2v-2C22,9.9,21.1,9,20,9z M20.5,13c0,0.28-0.22,0.5-0.5,0.5h-2.88l-1.5-1.5l1.5-1.5H20c0.28,0,0.5,0.22,0.5,0.5V13z" /> diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_file_copy.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_file_copy.xml index dc6ab95e23b1..b8e9845d5039 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_file_copy.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_file_copy.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="#FF737373" + android:tint="@*android:color/material_grey_600" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock.xml index 1e3400b40e79..5a67f95788ee 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock.xml @@ -16,7 +16,6 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" - android:tint="?android:attr/textColor" android:viewportHeight="24" android:viewportWidth="24" android:width="32dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock_open.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock_open.xml index f4606a2a9d3e..21abd6e2d3ba 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock_open.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lock_open.xml @@ -16,7 +16,6 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" - android:tint="?android:attr/textColor" android:viewportHeight="24" android:viewportWidth="24" android:width="32dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lockscreen_ime.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lockscreen_ime.xml index 4344e32a75aa..455bdd50ceba 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lockscreen_ime.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_lockscreen_ime.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_mode_edit.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_mode_edit.xml index f0d782e03d11..aca3d52c1a24 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_mode_edit.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_mode_edit.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_delete_accent.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_notifications_alerted.xml index b4d88271284c..86863b3b6c98 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_delete_accent.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_notifications_alerted.xml @@ -16,17 +16,19 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="?android:attr/colorAccent" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M9,20h6c1.66,0,3-1.34,3-3V6h0.5c0.41,0,0.75-0.34,0.75-0.75S18.91,4.5,18.5,4.5H18h-3l-1-1h-4l-1,1H6H5.5 c-0.41,0-0.75,0.34-0.75,0.75S5.09,6,5.5,6H6v11C6,18.66,7.34,20,9,20z M16.5,6v11c0,0.83-0.67,1.5-1.5,1.5H9 c-0.83,0-1.5-0.67-1.5-1.5V6H16.5z" /> + android:pathData="M5.85,3.01C3.72,4.82,2.5,7.46,2.5,10.25C2.5,10.66,2.84,11,3.25,11S4,10.66,4,10.25c0-2.35,1.03-4.57,2.82-6.1 C7.14,3.88,7.17,3.41,6.91,3.1C6.64,2.78,6.17,2.74,5.85,3.01z" /> <path android:fillColor="@android:color/white" - android:pathData="M13.97,16c0.41,0,0.75-0.34,0.75-0.75v-6.5c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v6.5 C13.22,15.66,13.55,16,13.97,16z" /> + android:pathData="M21.5,10.25c0-2.79-1.22-5.43-3.35-7.24c-0.32-0.27-0.79-0.23-1.06,0.08c-0.27,0.32-0.23,0.79,0.08,1.06 C18.97,5.68,20,7.9,20,10.25c0,0.41,0.34,0.75,0.75,0.75S21.5,10.66,21.5,10.25z" /> <path android:fillColor="@android:color/white" - android:pathData="M10,16c0.41,0,0.75-0.34,0.75-0.75v-6.5C10.75,8.34,10.41,8,10,8S9.25,8.34,9.25,8.75v6.5C9.25,15.66,9.59,16,10,16z" /> + android:pathData="M12,2.5c-0.83,0-1.5,0.67-1.5,1.5v0.7C7.91,5.36,6,7.71,6,10.5V15c0,0.55-0.45,1-1,1s-1,0.45-1,1v2h16v-2 c0-0.55-0.45-1-1-1s-1-0.45-1-1v-4.5c0-2.79-1.91-5.14-4.5-5.8V4C13.5,3.17,12.83,2.5,12,2.5z M16.5,10.5V15 c0,1.21,0.86,2.22,2,2.45v0.05h-13v-0.05c1.14-0.23,2-1.24,2-2.45v-4.5C7.5,8.02,9.52,6,12,6S16.5,8.02,16.5,10.5z" /> + <path + android:fillColor="@android:color/white" + android:pathData="M14,20h-4c0,1.1,0.9,2,2,2S14,21.1,14,20z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_phone.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_phone.xml index 28733c1890cb..85c184b9f9a8 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_phone.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_phone.xml @@ -15,7 +15,9 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_battery_saver.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_battery_saver.xml index a558337902c4..73310b03f625 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_battery_saver.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_battery_saver.xml @@ -15,7 +15,9 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_bluetooth.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_bluetooth.xml index 452a032c49e9..19731249bfc7 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_bluetooth.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_qs_bluetooth.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_0_4_bar.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_0_4_bar.xml index e09aeb7f1d2f..d9dfa54697e4 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_0_4_bar.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_0_4_bar.xml @@ -19,28 +19,32 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M20,22H18.5V4.75A0.76 0.76 ,0,0,1,19.25,4h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M15.33,22h-1.5V9.75A0.76 0.76 ,0,0,1,14.58,9h0a0.75 0.75 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M10.67,22H9.17V14.75A0.75 0.75 ,0,0,1,9.92,14h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M6,22H4.5V19.75A0.76 0.76 ,0,0,1,5.25,19h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> + <group + android:translateX="4.000000" + android:translateY="3.000000" > + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M16,18 L14.5,18 L14.5,0.75 C14.5053858,0.338037936 14.8380379,0.00538581231 15.25,0 L15.25,0 C15.6619621,0.00538581231 15.9946142,0.338037936 16,0.75 L16,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M11.33,18 L9.83,18 L9.83,5.75 C9.83538581,5.33803794 10.1680379,5.00538581 10.58,5 L10.58,5 C10.9942136,5 11.33,5.33578644 11.33,5.75 L11.33,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M6.67,18 L5.17,18 L5.17,10.75 C5.17,10.3357864 5.50578644,10 5.92,10 L5.92,10 C6.33196206,10.0053858 6.66461419,10.3380379 6.67,10.75 L6.67,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M2,18 L0.5,18 L0.5,15.75 C0.505385812,15.3380379 0.838037936,15.0053858 1.25,15 L1.25,15 C1.66196206,15.0053858 1.99461419,15.3380379 2,15.75 L2,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_1_4_bar.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_1_4_bar.xml index 26e96ab4c5c8..70f91afab7d5 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_1_4_bar.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_1_4_bar.xml @@ -19,25 +19,30 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M20,22H18.5V4.75A0.76 0.76 ,0,0,1,19.25,4h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M15.33,22h-1.5V9.75A0.76 0.76 ,0,0,1,14.58,9h0a0.75 0.75 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M10.67,22H9.17V14.75A0.75 0.75 ,0,0,1,9.92,14h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,22H4.5V19.75A0.76 0.76 ,0,0,1,5.25,19h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> + <group + android:translateX="4.000000" + android:translateY="3.000000" > + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M16,18 L14.5,18 L14.5,0.75 C14.5053858,0.338037936 14.8380379,0.00538581231 15.25,0 L15.25,0 C15.6619621,0.00538581231 15.9946142,0.338037936 16,0.75 L16,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M11.33,18 L9.83,18 L9.83,5.75 C9.83538581,5.33803794 10.1680379,5.00538581 10.58,5 L10.58,5 C10.9942136,5 11.33,5.33578644 11.33,5.75 L11.33,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M6.67,18 L5.17,18 L5.17,10.75 C5.17,10.3357864 5.50578644,10 5.92,10 L5.92,10 C6.33196206,10.0053858 6.66461419,10.3380379 6.67,10.75 L6.67,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M2,18 L0.5,18 L0.5,15.75 C0.505385812,15.3380379 0.838037936,15.0053858 1.25,15 L1.25,15 C1.66196206,15.0053858 1.99461419,15.3380379 2,15.75 L2,18 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_2_4_bar.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_2_4_bar.xml index 53be899d5a8d..f014eea9354f 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_2_4_bar.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_2_4_bar.xml @@ -19,22 +19,28 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M20,22H18.5V4.75A0.76 0.76 ,0,0,1,19.25,4h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M15.33,22h-1.5V9.75A0.76 0.76 ,0,0,1,14.58,9h0a0.75 0.75 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillColor="@android:color/white" - android:pathData="M10.67,22H9.17V14.75A0.75 0.75 ,0,0,1,9.92,14h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,22H4.5V19.75A0.76 0.76 ,0,0,1,5.25,19h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> + <group + android:translateX="4.000000" + android:translateY="3.000000" > + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M16,18 L14.5,18 L14.5,0.75 C14.5053858,0.338037936 14.8380379,0.00538581231 15.25,0 L15.25,0 C15.6619621,0.00538581231 15.9946142,0.338037936 16,0.75 L16,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M11.33,18 L9.83,18 L9.83,5.75 C9.83538581,5.33803794 10.1680379,5.00538581 10.58,5 L10.58,5 C10.9942136,5 11.33,5.33578644 11.33,5.75 L11.33,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M6.67,18 L5.17,18 L5.17,10.75 C5.17,10.3357864 5.50578644,10 5.92,10 L5.92,10 C6.33196206,10.0053858 6.66461419,10.3380379 6.67,10.75 L6.67,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M2,18 L0.5,18 L0.5,15.75 C0.505385812,15.3380379 0.838037936,15.0053858 1.25,15 L1.25,15 C1.66196206,15.0053858 1.99461419,15.3380379 2,15.75 L2,18 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_3_4_bar.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_3_4_bar.xml index 9139bb449509..9b83fab35144 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_3_4_bar.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_3_4_bar.xml @@ -19,19 +19,26 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillAlpha="0.3" - android:fillColor="@android:color/white" - android:pathData="M20,22H18.5V4.75A0.76 0.76 ,0,0,1,19.25,4h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" - android:strokeAlpha="0.3" - android:strokeWidth="1" /> - <path - android:fillColor="@android:color/white" - android:pathData="M15.33,22h-1.5V9.75A0.76 0.76 ,0,0,1,14.58,9h0a0.75 0.75 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M10.67,22H9.17V14.75A0.75 0.75 ,0,0,1,9.92,14h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,22H4.5V19.75A0.76 0.76 ,0,0,1,5.25,19h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> + <group + android:translateX="4.000000" + android:translateY="3.000000" > + <path + android:fillAlpha="0.3" + android:fillColor="@android:color/white" + android:pathData="M16,18 L14.5,18 L14.5,0.75 C14.5053858,0.338037936 14.8380379,0.00538581231 15.25,0 L15.25,0 C15.6619621,0.00538581231 15.9946142,0.338037936 16,0.75 L16,18 Z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M11.33,18 L9.83,18 L9.83,5.75 C9.83538581,5.33803794 10.1680379,5.00538581 10.58,5 L10.58,5 C10.9942136,5 11.33,5.33578644 11.33,5.75 L11.33,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M6.67,18 L5.17,18 L5.17,10.75 C5.17,10.3357864 5.50578644,10 5.92,10 L5.92,10 C6.33196206,10.0053858 6.66461419,10.3380379 6.67,10.75 L6.67,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M2,18 L0.5,18 L0.5,15.75 C0.505385812,15.3380379 0.838037936,15.0053858 1.25,15 L1.25,15 C1.66196206,15.0053858 1.99461419,15.3380379 2,15.75 L2,18 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_4_4_bar.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_4_4_bar.xml index 2c8d70123f60..6f7f48d1ea96 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_4_4_bar.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/ic_signal_cellular_4_4_bar.xml @@ -19,16 +19,24 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M20,22H18.5V4.75A0.76 0.76 ,0,0,1,19.25,4h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M15.33,22h-1.5V9.75A0.76 0.76 ,0,0,1,14.58,9h0a0.75 0.75 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M10.67,22H9.17V14.75A0.75 0.75 ,0,0,1,9.92,14h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,22H4.5V19.75A0.76 0.76 ,0,0,1,5.25,19h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> + <group + android:translateX="4.000000" + android:translateY="3.000000" > + <path + android:fillColor="@android:color/white" + android:pathData="M16,18 L14.5,18 L14.5,0.75 C14.5053858,0.338037936 14.8380379,0.00538581231 15.25,0 L15.25,0 C15.6619621,0.00538581231 15.9946142,0.338037936 16,0.75 L16,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M11.33,18 L9.83,18 L9.83,5.75 C9.83538581,5.33803794 10.1680379,5.00538581 10.58,5 L10.58,5 C10.9942136,5 11.33,5.33578644 11.33,5.75 L11.33,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M6.67,18 L5.17,18 L5.17,10.75 C5.17,10.3357864 5.50578644,10 5.92,10 L5.92,10 C6.33196206,10.0053858 6.66461419,10.3380379 6.67,10.75 L6.67,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M2,18 L0.5,18 L0.5,15.75 C0.505385812,15.3380379 0.838037936,15.0053858 1.25,15 L1.25,15 C1.66196206,15.0053858 1.99461419,15.3380379 2,15.75 L2,18 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_activity_recognition.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_activity_recognition.xml index 5ad146eb21ac..cbd60d880fb2 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_activity_recognition.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_activity_recognition.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_calendar.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_calendar.xml index 781c0f8e8ea5..397050fd88f4 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_calendar.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_calendar.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_call_log.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_call_log.xml index 126b70cff251..b56eec39334c 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_call_log.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_call_log.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_camera.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_camera.xml index 70d4fcc945df..c8cb2e2cfc1f 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_camera.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_camera.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_contacts.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_contacts.xml index 6da4b269d312..6124df86e931 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_contacts.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_contacts.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_location.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_location.xml index d443a7484e5a..77ff42ad3e25 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_location.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_location.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_microphone.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_microphone.xml index cdac2d8cadaa..06aa0cd3f238 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_microphone.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_microphone.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_phone_calls.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_phone_calls.xml index 991f320add6c..3aea5f44902b 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_phone_calls.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_phone_calls.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sensors.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sensors.xml index e4dee2adc467..4d70fc90850e 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sensors.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sensors.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sms.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sms.xml index d15cfa3b1e3a..30ed8c92a198 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sms.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_sms.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_storage.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_storage.xml index 29d26736135b..52cd4c1c7153 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_storage.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_storage.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_visual.xml b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_visual.xml index 519136a28725..1c461791c868 100644 --- a/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_visual.xml +++ b/packages/overlays/IconPackCircularAndroidOverlay/res/drawable/perm_group_visual.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml index 4c9b5d7b1c48..f1f0f507d4b9 100644 --- a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml +++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/textColorPrimary" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_arrow_back.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_arrow_back.xml index 920ecb5deb70..a9e1ffe6d69e 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_arrow_back.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_arrow_back.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml deleted file mode 100644 index 01d87ce25a2f..000000000000 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2019 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. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" - android:tint="?android:attr/colorAccent" - android:viewportHeight="24" - android:viewportWidth="24" - android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M9.75,13.75h1.5v1.5c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-1.5h1.5c0.41,0,0.75-0.34,0.75-0.75 s-0.34-0.75-0.75-0.75h-1.5v-1.5c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v1.5h-1.5C9.34,12.25,9,12.59,9,13 S9.34,13.75,9.75,13.75z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,19c0,1.66,1.34,3,3,3h6c1.66,0,3-1.34,3-3V7c0-1.66-1.34-3-3-3h-1c0-0.55-0.45-1-1-1h-2c-0.55,0-1,0.45-1,1H9 C7.34,4,6,5.34,6,7V19z M7.5,7c0-0.83,0.67-1.5,1.5-1.5h6c0.83,0,1.5,0.67,1.5,1.5v12c0,0.83-0.67,1.5-1.5,1.5H9 c-0.83,0-1.5-0.67-1.5-1.5V7z" /> -</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml deleted file mode 100644 index a558337902c4..000000000000 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2019 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. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" - android:viewportHeight="24" - android:viewportWidth="24" - android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M9.75,13.75h1.5v1.5c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-1.5h1.5c0.41,0,0.75-0.34,0.75-0.75 s-0.34-0.75-0.75-0.75h-1.5v-1.5c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v1.5h-1.5C9.34,12.25,9,12.59,9,13 S9.34,13.75,9.75,13.75z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,19c0,1.66,1.34,3,3,3h6c1.66,0,3-1.34,3-3V7c0-1.66-1.34-3-3-3h-1c0-0.55-0.45-1-1-1h-2c-0.55,0-1,0.45-1,1H9 C7.34,4,6,5.34,6,7V19z M7.5,7c0-0.83,0.67-1.5,1.5-1.5h6c0.83,0,1.5,0.67,1.5,1.5v12c0,0.83-0.67,1.5-1.5,1.5H9 c-0.83,0-1.5-0.67-1.5-1.5V7z" /> -</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_cellular_off.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_cellular_off.xml index 57fcebc91d2e..6df47564407e 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_cellular_off.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_cellular_off.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorAccent" android:viewportHeight="24" diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml index 9569e68be613..82df1de6211c 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml index 9dea4ca2ea28..b8e9845d5039 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="#757575" + android:tint="@*android:color/material_grey_600" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_data_saver.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_data_saver.xml index 77c0a158ebdd..ba3c5808d26c 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_data_saver.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_data_saver.xml @@ -15,18 +15,19 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M12,7a0.76 0.76 ,0,0,0-0.75 0.75 v3.5H7.75a0.75 0.75 ,0,0,0,0,1.5h3.5v3.5a0.75 0.75 ,0,0,0,1.5,0v-3.5h3.5a0.75 0.75 ,0,0,0,0-1.5h-3.5V7.75A0.76 0.76 ,0,0,0,12,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M3.36,7A10,10,0,0,0,20.27,17.64L18.1,16.39A7.5,7.5,0,1,1,11.25,4.56V2.05A10,10,0,0,0,3.36,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M21,16.35a10,10,0,0,0-8.27-14.3V4.56a7.48,7.48,0,0,1,6.1,10.54Z" /> + <group + android:translateX="2.000000" + android:translateY="2.000000" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M17.5000671,10 C17.5000671,6.198 14.6680671,3.064 11.0000671,2.574 L11.0000671,0.05 C16.0500671,0.55 20.0000671,4.82 20.0000671,10 C20.0000671,11.45 19.6800671,12.83 19.1200671,14.07 L16.9560671,12.796 C17.3040671,11.932 17.5000671,10.989 17.5000671,10 Z M10.0000671,17.5 C12.3900671,17.5 14.5140671,16.378 15.8870671,14.637 C16.6270671,15.073 18.0500671,15.91 18.0500671,15.91 C15.9790671,18.732 12.4710671,20.427 8.60106711,19.906 C4.22106711,19.316 0.68406711,15.774 0.0940671101,11.394 C-0.68693289,5.591 3.49306711,0.594 9.00006711,0.05 L9.00006711,2.574 C5.33206711,3.064 2.50006711,6.198 2.50006711,10 C2.50006711,14.142 5.85806711,17.5 10.0000671,17.5 Z M6,10 C6.00538581,9.58803794 6.33803794,9.25538581 6.75,9.25 L9.25,9.25 L9.25,6.75 C9.25,6.33578644 9.58578644,6 10,6 C10.4142136,6 10.75,6.33578644 10.75,6.75 L10.75,9.25 L13.25,9.25 C13.6642136,9.25 14,9.58578644 14,10 C14,10.4142136 13.6642136,10.75 13.25,10.75 L10.75,10.75 L10.75,13.25 C10.75,13.6642136 10.4142136,14 10,14 C9.58578644,14 9.25,13.6642136 9.25,13.25 L9.25,10.75 L6.75,10.75 C6.33803794,10.7446142 6.00538581,10.4119621 6,10 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_devices_other.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_devices_other.xml index 17a191e2ad07..14898c465a31 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_devices_other.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_devices_other.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_eject_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_eject_24dp.xml index 1c1fa4b7a5ee..abbab51e90e1 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_eject_24dp.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_eject_24dp.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_find_in_page_24px.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_find_in_page_24px.xml new file mode 100644 index 000000000000..fd1a00dc738b --- /dev/null +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_find_in_page_24px.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <group + android:translateX="4.000100" + android:translateY="2.000100" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M7.9999,15.2499 C6.2079,15.2499 4.7499,13.7919 4.7499,11.9999 C4.7499,10.2079 6.2079,8.7499 7.9999,8.7499 C9.7919,8.7499 11.2499,10.2079 11.2499,11.9999 C11.2499,13.7919 9.7919,15.2499 7.9999,15.2499 L7.9999,15.2499 Z M1.4999,17.7779 L1.4999,2.2219 C1.4999,1.8239 1.8529,1.4999 2.2859,1.4999 L9.6769,1.4999 L14.4999,6.1889 L14.4999,17.5799 L11.8269,14.7879 C12.3999,14.0029 12.7499,13.0439 12.7499,11.9999 C12.7499,9.3809 10.6189,7.2499 7.9999,7.2499 C5.3809,7.2499 3.2499,9.3809 3.2499,11.9999 C3.2499,14.6189 5.3809,16.7499 7.9999,16.7499 C9.0329,16.7499 9.9829,16.4089 10.7649,15.8469 L13.3039,18.4999 L2.2859,18.4999 C1.8529,18.4999 1.4999,18.1759 1.4999,17.7779 L1.4999,17.7779 Z M10.2859,-0.0001 L2.2859,-0.0001 C1.0229,-0.0001 -0.0001,0.9949 -0.0001,2.2219 L-0.0001,17.7779 C-0.0001,19.0049 1.0229,19.9999 2.2859,19.9999 L13.7139,19.9999 C14.9769,19.9999 15.9999,19.0049 15.9999,17.7779 L15.9999,5.5559 L10.2859,-0.0001 Z" + android:strokeWidth="1" /> + </group> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_help_actionbar.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_help_actionbar.xml index 8b388f2d8761..b980a2cce710 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_help_actionbar.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_help_actionbar.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_network_cell.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_network_cell.xml index b6fa9fcf8294..1d72e5fa284f 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_network_cell.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_network_cell.xml @@ -15,21 +15,30 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M20,22H18.5V4.75A0.76 0.76 ,0,0,1,19.25,4h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M15.33,22h-1.5V9.75A0.76 0.76 ,0,0,1,14.58,9h0a0.75 0.75 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M10.67,22H9.17V14.75A0.75 0.75 ,0,0,1,9.92,14h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M6,22H4.5V19.75A0.76 0.76 ,0,0,1,5.25,19h0a0.76 0.76 ,0,0,1,0.75 0.75 Z" /> + <group + android:translateX="4.000000" + android:translateY="3.000000" > + <path + android:fillColor="@android:color/white" + android:pathData="M16,18 L14.5,18 L14.5,0.75 C14.5053858,0.338037936 14.8380379,0.00538581231 15.25,0 L15.25,0 C15.6619621,0.00538581231 15.9946142,0.338037936 16,0.75 L16,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M11.33,18 L9.83,18 L9.83,5.75 C9.83538581,5.33803794 10.1680379,5.00538581 10.58,5 L10.58,5 C10.9942136,5 11.33,5.33578644 11.33,5.75 L11.33,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M6.67,18 L5.17,18 L5.17,10.75 C5.17,10.3357864 5.50578644,10 5.92,10 L5.92,10 C6.33196206,10.0053858 6.66461419,10.3380379 6.67,10.75 L6.67,18 Z" + android:strokeWidth="1" /> + <path + android:fillColor="@android:color/white" + android:pathData="M2,18 L0.5,18 L0.5,15.75 C0.505385812,15.3380379 0.838037936,15.0053858 1.25,15 L1.25,15 C1.66196206,15.0053858 1.99461419,15.3380379 2,15.75 L2,18 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml index 2dc6545c0fe3..2a21776232b4 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_data_usage.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_data_usage.xml index e48cc146a515..855e4bb2a39d 100644 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_data_usage.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_data_usage.xml @@ -22,8 +22,7 @@ android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M12,19.52a7.5,7.5,0,0,1-0.77-15V2.06A10,10,0,1,0,22,12.77h-2.5A7.52,7.52,0,0,1,12,19.52Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M19.48,11.27H22a10,10,0,0,0-9.23-9.22v2.5A7.51,7.51,0,0,1,19.48,11.27Z" /> + android:fillType="evenOdd" + android:pathData="M19.5000671,12 C19.5000671,8.198 16.6680671,5.064 13.0000671,4.574 L13.0000671,2.05 C18.0500671,2.55 22.0000671,6.82 22.0000671,12 C22.0000671,13.45 21.6800671,14.83 21.1200671,16.07 L18.9560671,14.796 C19.3040671,13.932 19.5000671,12.989 19.5000671,12 Z M12.0000671,19.5 C14.3900671,19.5 16.5140671,18.378 17.8870671,16.637 C18.6270671,17.073 20.0500671,17.91 20.0500671,17.91 C17.9790671,20.732 14.4710671,22.427 10.6010671,21.906 C6.22106711,21.316 2.68406711,17.774 2.09406711,13.394 C1.31306711,7.591 5.49306711,2.594 11.0000671,2.05 L11.0000671,4.574 C7.33206711,5.064 4.50006711,8.198 4.50006711,12 C4.50006711,16.142 7.85806711,19.5 12.0000671,19.5 Z" + android:strokeWidth="1" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_language.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_language.xml new file mode 100644 index 000000000000..2c83c3481ba4 --- /dev/null +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_language.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <path + android:fillColor="@android:color/white" + android:pathData="M12,2C6.48,2,2,6.48,2,12c0,5.15,3.89,9.38,8.89,9.93c0.01,0.01,0.01,0.01,0.01,0.02l0.02-0.02C11.28,21.98,11.64,22,12,22 s0.72-0.02,1.08-0.06l0.02,0.02c0.01-0.01,0.01-0.01,0.01-0.02c5-0.55,8.89-4.79,8.89-9.93C22,6.48,17.52,2,12,2z M19.35,7.75 h-3.39c-0.39-1.35-0.97-2.67-1.73-3.94C16.41,4.4,18.24,5.84,19.35,7.75z M20.5,12c0,0.96-0.17,1.89-0.47,2.75h-3.69 c0.33-1.82,0.32-3.67-0.02-5.5h3.71C20.33,10.11,20.5,11.04,20.5,12z M12,20.5c-0.1,0-0.2-0.01-0.3-0.02 c-0.96-1.36-1.68-2.78-2.14-4.23h4.89c-0.47,1.45-1.18,2.87-2.14,4.23C12.2,20.49,12.1,20.5,12,20.5z M9.16,14.75 c-0.37-1.82-0.36-3.67,0.02-5.5h5.64c0.38,1.83,0.39,3.68,0.02,5.5H9.16z M3.5,12c0-0.96,0.17-1.89,0.47-2.75h3.71 c-0.34,1.83-0.35,3.68-0.02,5.5H3.97C3.67,13.89,3.5,12.96,3.5,12z M12,3.5c0.09,0,0.17,0.01,0.26,0.01 c0.96,1.37,1.68,2.79,2.16,4.24H9.58c0.48-1.45,1.2-2.87,2.16-4.24C11.83,3.51,11.91,3.5,12,3.5z M9.77,3.81 C9.01,5.08,8.43,6.4,8.04,7.75H4.65C5.76,5.84,7.59,4.4,9.77,3.81z M4.65,16.25h3.36c0.38,1.34,0.95,2.66,1.71,3.93 C7.56,19.58,5.75,18.15,4.65,16.25z M14.28,20.18c0.75-1.27,1.32-2.59,1.71-3.93h3.36C18.25,18.15,16.44,19.58,14.28,20.18z" /> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_multiuser.xml index db4d302eb240..d6d655871b74 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_battery_status_bad_24dp.xml +++ b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_multiuser.xml @@ -16,13 +16,14 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M9.74,13.75h1.5v1.5c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-1.5h1.5c0.41,0,0.75-0.34,0.75-0.75 s-0.34-0.75-0.75-0.75h-1.5v-1.5c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v1.5h-1.5c-0.41,0-0.75,0.34-0.75,0.75 S9.33,13.75,9.74,13.75z" /> + android:pathData="M8,8c0,2.21,1.79,4,4,4s4-1.79,4-4c0-2.21-1.79-4-4-4S8,5.79,8,8z M12,5.5c1.38,0,2.5,1.12,2.5,2.5 c0,1.38-1.12,2.5-2.5,2.5S9.5,9.38,9.5,8C9.5,6.62,10.62,5.5,12,5.5z" /> <path android:fillColor="@android:color/white" - android:pathData="M17,4h-3V3.49c0-0.55-0.45-1-1-1h-2c-0.55,0-1,0.45-1,1V4H7C6.45,4,6,4.45,6,5v16c0,0.55,0.45,1,1,1h10c0.55,0,1-0.45,1-1 V5C18,4.45,17.55,4,17,4z M16.5,20.5h-9v-15h9V20.5z" /> + android:pathData="M20,20c0-3.99-4-6-8-6s-8,2.01-8,6H20z M12,15.5c2.57,0,5.3,0.95,6.2,3H5.8C6.7,16.45,9.43,15.5,12,15.5z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_wireless_white.xml b/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_wireless_white.xml deleted file mode 100644 index fde996584f57..000000000000 --- a/packages/overlays/IconPackCircularSettingsOverlay/res/drawable/ic_settings_wireless_white.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2019 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. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" - android:viewportHeight="24" - android:viewportWidth="24" - android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M 12 17 C 12.8284271247 17 13.5 17.6715728753 13.5 18.5 C 13.5 19.3284271247 12.8284271247 20 12 20 C 11.1715728753 20 10.5 19.3284271247 10.5 18.5 C 10.5 17.6715728753 11.1715728753 17 12 17 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M19.42,11.84c-0.19,0-0.38-0.07-0.53-0.22C17.05,9.77,14.6,8.75,12,8.75s-5.05,1.02-6.89,2.86 c-0.29,0.29-0.77,0.29-1.06,0c-0.29-0.29-0.29-0.77,0-1.06C6.17,8.43,9,7.25,12,7.25s5.83,1.17,7.95,3.3 c0.29,0.29,0.29,0.77,0,1.06C19.8,11.76,19.61,11.84,19.42,11.84z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M22.61,8.65c-0.19,0-0.38-0.07-0.53-0.22C19.38,5.74,15.81,4.25,12,4.25S4.62,5.74,1.92,8.43c-0.29,0.29-0.77,0.29-1.06,0 s-0.29-0.77,0-1.06C3.84,4.39,7.79,2.75,12,2.75s8.16,1.64,11.14,4.61c0.29,0.29,0.29,0.77,0,1.06 C22.99,8.57,22.8,8.65,22.61,8.65z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M16.25,15c-0.19,0-0.38-0.07-0.53-0.22c-1-0.99-2.32-1.53-3.73-1.53s-2.73,0.54-3.73,1.53c-0.29,0.29-0.77,0.29-1.06-0.01 s-0.29-0.77,0.01-1.06c1.28-1.27,2.98-1.96,4.78-1.96s3.5,0.7,4.78,1.96c0.29,0.29,0.3,0.77,0.01,1.06 C16.64,14.93,16.45,15,16.25,15z" /> -</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_arrow_back.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_arrow_back.xml index 920ecb5deb70..a9e1ffe6d69e 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_arrow_back.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_arrow_back.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_brightness_thumb.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_brightness_thumb.xml index dbd9b8e6d494..fae73a4c0e09 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_brightness_thumb.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_brightness_thumb.xml @@ -20,7 +20,7 @@ android:viewportWidth="24" android:width="24dp" > <path - android:fillColor="?android:attr/colorPrimary" + android:fillColor="?android:attr/colorBackgroundFloating" android:pathData="M18.94,9.75L18.5,9.31V8.69V6c0-0.28-0.22-0.5-0.5-0.5h-2.69h-0.62l-0.44-0.44l-1.9-1.9 C12.23,3.04,12.08,3.02,12,3.02c-0.08,0-0.23,0.02-0.35,0.15l-1.9,1.9L9.31,5.5H8.69H6C5.72,5.5,5.5,5.72,5.5,6v2.69v0.62 L5.06,9.75l-1.9,1.9C3.04,11.77,3.02,11.92,3.02,12s0.02,0.23,0.15,0.35l1.9,1.9l0.44,0.44v0.62V18c0,0.28,0.22,0.5,0.5,0.5h2.69 h0.62l0.44,0.44l1.9,1.9c0.13,0.13,0.28,0.15,0.35,0.15c0.08,0,0.23-0.02,0.35-0.15l1.9-1.9l0.44-0.44h0.62H18 c0.28,0,0.5-0.22,0.5-0.5v-2.69v-0.62l0.44-0.44l1.9-1.9c0.13-0.13,0.15-0.28,0.15-0.35s-0.02-0.23-0.15-0.35L18.94,9.75z M12,17 c-2.76,0-5-2.24-5-5s2.24-5,5-5s5,2.24,5,5S14.76,17,12,17z" /> <path android:fillColor="?android:attr/colorControlActivated" diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_camera.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_camera.xml index c4728eb3f389..77197a58a04a 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_camera.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_camera.xml @@ -15,10 +15,10 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" + android:height="17dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="24dp" > + android:width="17dp" > <path android:fillColor="@android:color/white" android:pathData="M22,8c0-1.66-1.34-3-3-3h-2l-2-2H9L7,5H5C3.34,5,2,6.34,2,8v13h20V8z M20.5,19.5h-17V8c0-0.83,0.67-1.5,1.5-1.5h14 c0.83,0,1.5,0.67,1.5,1.5V19.5z" /> diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver.xml index 938d2412bef8..cdc3bfbd3d5f 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver.xml @@ -15,17 +15,17 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="18dp " + android:height="18dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="18dp " > - <path - android:fillColor="@android:color/white" - android:pathData="M12,7a0.76 0.76 ,0,0,0-0.75 0.75 v3.5H7.75a0.75 0.75 ,0,0,0,0,1.5h3.5v3.5a0.75 0.75 ,0,0,0,1.5,0v-3.5h3.5a0.75 0.75 ,0,0,0,0-1.5h-3.5V7.75A0.76 0.76 ,0,0,0,12,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M3.36,7A10,10,0,0,0,20.27,17.64L18.1,16.39A7.5,7.5,0,1,1,11.25,4.56V2.05A10,10,0,0,0,3.36,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M21,16.35a10,10,0,0,0-8.27-14.3V4.56a7.48,7.48,0,0,1,6.1,10.54Z" /> + android:width="18dp" > + <group + android:translateX="2.000000" + android:translateY="2.000000" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M17.5000671,10 C17.5000671,6.198 14.6680671,3.064 11.0000671,2.574 L11.0000671,0.05 C16.0500671,0.55 20.0000671,4.82 20.0000671,10 C20.0000671,11.45 19.6800671,12.83 19.1200671,14.07 L16.9560671,12.796 C17.3040671,11.932 17.5000671,10.989 17.5000671,10 Z M10.0000671,17.5 C12.3900671,17.5 14.5140671,16.378 15.8870671,14.637 C16.6270671,15.073 18.0500671,15.91 18.0500671,15.91 C15.9790671,18.732 12.4710671,20.427 8.60106711,19.906 C4.22106711,19.316 0.68406711,15.774 0.0940671101,11.394 C-0.68693289,5.591 3.49306711,0.594 9.00006711,0.05 L9.00006711,2.574 C5.33206711,3.064 2.50006711,6.198 2.50006711,10 C2.50006711,14.142 5.85806711,17.5 10.0000671,17.5 Z M6,10 C6.00538581,9.58803794 6.33803794,9.25538581 6.75,9.25 L9.25,9.25 L9.25,6.75 C9.25,6.33578644 9.58578644,6 10,6 C10.4142136,6 10.75,6.33578644 10.75,6.75 L10.75,9.25 L13.25,9.25 C13.6642136,9.25 14,9.58578644 14,10 C14,10.4142136 13.6642136,10.75 13.25,10.75 L10.75,10.75 L10.75,13.25 C10.75,13.6642136 10.4142136,14 10,14 C9.58578644,14 9.25,13.6642136 9.25,13.25 L9.25,10.75 L6.75,10.75 C6.33803794,10.7446142 6.00538581,10.4119621 6,10 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver_off.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver_off.xml index 3d620a18bb1a..7dab949f9da5 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver_off.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_data_saver_off.xml @@ -21,8 +21,7 @@ android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M3.36,7A10,10,0,0,0,20.27,17.64L18.1,16.39A7.5,7.5,0,1,1,11.25,4.56V2.05A10,10,0,0,0,3.36,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M21,16.35a10,10,0,0,0-8.27-14.3V4.56a7.48,7.48,0,0,1,6.1,10.54Z" /> + android:fillType="evenOdd" + android:pathData="M19.5000671,12 C19.5000671,8.198 16.6680671,5.064 13.0000671,4.574 L13.0000671,2.05 C18.0500671,2.55 22.0000671,6.82 22.0000671,12 C22.0000671,13.45 21.6800671,14.83 21.1200671,16.07 L18.9560671,14.796 C19.3040671,13.932 19.5000671,12.989 19.5000671,12 Z M12.0000671,19.5 C14.3900671,19.5 16.5140671,18.378 17.8870671,16.637 C18.6270671,17.073 20.0500671,17.91 20.0500671,17.91 C17.9790671,20.732 14.4710671,22.427 10.6010671,21.906 C6.22106711,21.316 2.68406711,17.774 2.09406711,13.394 C1.31306711,7.591 5.49306711,2.594 11.0000671,2.05 L11.0000671,4.574 C7.33206711,5.064 4.50006711,8.198 4.50006711,12 C4.50006711,16.142 7.85806711,19.5 12.0000671,19.5 Z" + android:strokeWidth="1" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml index fc38ed431759..c7a0266cbfca 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml index 659b4e164415..9bdc79a23008 100644 --- a/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml +++ b/packages/overlays/IconPackCircularSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_delete_accent.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_battery_80_24dp.xml index e65987e1d5f6..eb8550fb9f44 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_delete_accent.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_battery_80_24dp.xml @@ -16,14 +16,16 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="?android:attr/colorAccent" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > <path + android:fillAlpha="0.3" android:fillColor="@android:color/white" - android:pathData="M18,4h-2.5l-0.71-0.71C14.61,3.11,14.35,3,14.09,3H9.9C9.64,3,9.38,3.11,9.2,3.29L8.49,4h-2.5c-0.55,0-1,0.45-1,1 s0.45,1,1,1h12c0.55,0,1-0.45,1-1C19,4.45,18.55,4,18,4z" /> + android:pathData="M17,5.33C17,4.6,16.4,4,15.67,4H14V2h-4v2H8.33C7.6,4,7,4.6,7,5.33V9h10V5.33z" + android:strokeAlpha="0.3" + android:strokeWidth="1" /> <path android:fillColor="@android:color/white" - android:pathData="M6,19c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V7H6V19z" /> + android:pathData="M7,9v11.67C7,21.4,7.6,22,8.33,22h7.33C16.4,22,17,21.4,17,20.67V9H7z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_bt_misc_hid.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_bt_misc_hid.xml index b86d9ba1849b..6b9735c1acfb 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_bt_misc_hid.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_bt_misc_hid.xml @@ -20,7 +20,6 @@ android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path android:pathData="M0,0h24v24H0V0z" /> <path android:fillColor="@android:color/white" android:pathData="M15,7.09V3c0-0.55-0.45-1-1-1h-4C9.45,2,9,2.45,9,3v4.09c0,0.27,0.11,0.52,0.29,0.71l2,2c0.39,0.39,1.02,0.39,1.41,0l2-2 C14.89,7.61,15,7.35,15,7.09z M7.09,9H3c-0.55,0-1,0.45-1,1v4c0,0.55,0.45,1,1,1h4.09c0.27,0,0.52-0.11,0.71-0.29l2-2 c0.39-0.39,0.39-1.02,0-1.41l-2-2C7.61,9.11,7.35,9,7.09,9z M9,16.91V21c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1v-4.09 c0-0.27-0.11-0.52-0.29-0.71l-2-2c-0.39-0.39-1.02-0.39-1.41,0l-2,2C9.11,16.39,9,16.65,9,16.91z M16.21,9.29l-2,2 c-0.39,0.39-0.39,1.02,0,1.41l2,2c0.19,0.19,0.44,0.29,0.71,0.29H21c0.55,0,1-0.45,1-1v-4c0-0.55-0.45-1-1-1h-4.09 C16.65,9,16.39,9.11,16.21,9.29z" /> diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_file_copy.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_file_copy.xml index 6245147c538b..e479f506bac5 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_file_copy.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_file_copy.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="#FF737373" + android:tint="@*android:color/material_grey_600" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock.xml index 07c81ddf563c..b2fa85f9fd16 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock.xml @@ -16,7 +16,6 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" - android:tint="?android:attr/textColor" android:viewportHeight="24" android:viewportWidth="24" android:width="32dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock_open.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock_open.xml index 698ce668c1e9..13bfbf901adb 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock_open.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lock_open.xml @@ -16,7 +16,6 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" - android:tint="?android:attr/textColor" android:viewportHeight="24" android:viewportWidth="24" android:width="32dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lockscreen_ime.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lockscreen_ime.xml index 4cd05f3374c9..16541e614965 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lockscreen_ime.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_lockscreen_ime.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_mode_edit.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_mode_edit.xml index bf8df45826ec..bb3c043f68f5 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_mode_edit.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_mode_edit.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_wireless_white.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_notifications_alerted.xml index 03e142e2be35..0847a3564998 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_wireless_white.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_notifications_alerted.xml @@ -21,11 +21,14 @@ android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M11.29,19.29c0.39,0.39,1.03,0.4,1.42,0L14,18c0.47-0.47,0.38-1.28-0.22-1.58C13.25,16.15,12.64,16,12,16 c-0.64,0-1.24,0.15-1.77,0.41c-0.59,0.29-0.69,1.11-0.22,1.58L11.29,19.29z" /> + android:pathData="M4.12,9.67C4.42,7.73,5.38,6,6.77,4.73C7.19,4.35,7.2,3.7,6.8,3.3c-0.39-0.39-1-0.39-1.4-0.03 C3.7,4.84,2.52,6.96,2.15,9.34c-0.1,0.61,0.37,1.16,0.99,1.16C3.63,10.5,4.04,10.15,4.12,9.67z" /> <path android:fillColor="@android:color/white" - android:pathData="M17.6,14.39l0.71-0.71c0.42-0.42,0.39-1.12-0.08-1.5C16.52,10.82,14.35,10,12,10c-2.34,0-4.5,0.81-6.21,2.17 c-0.47,0.37-0.51,1.07-0.09,1.49l0.71,0.71c0.35,0.36,0.92,0.39,1.32,0.08C8.91,13.54,10.39,13,12,13c1.61,0,3.1,0.55,4.29,1.47 C16.69,14.78,17.25,14.75,17.6,14.39z" /> + android:pathData="M18.6,3.28c-0.4-0.37-1.02-0.36-1.4,0.02c-0.4,0.4-0.38,1.04,0.03,1.42c1.38,1.27,2.35,3,2.65,4.94 c0.08,0.49,0.5,0.84,0.98,0.84c0.61,0,1.09-0.55,0.99-1.16C21.47,6.96,20.29,4.84,18.6,3.28z" /> <path android:fillColor="@android:color/white" - android:pathData="M21.83,10.16l0.71-0.71c0.42-0.42,0.38-1.09-0.06-1.48C19.68,5.5,16.01,4,12,4C8.01,4,4.36,5.49,1.56,7.94 C1.12,8.33,1.08,9,1.49,9.41l0.71,0.71c0.37,0.37,0.96,0.4,1.35,0.06C5.81,8.2,8.77,7,12,7c3.25,0,6.22,1.22,8.49,3.22 C20.88,10.56,21.47,10.53,21.83,10.16z" /> + android:pathData="M12,22c1.1,0,2-0.9,2-2h-4C10,21.1,10.9,22,12,22z" /> + <path + android:fillColor="@android:color/white" + android:pathData="M18,16v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-0.83-0.67-1.5-1.5-1.5S10.5,3.17,10.5,4v0.68C7.63,5.36,6,7.92,6,11v5 l-2.15,2.15c-0.19,0.2-0.19,0.51,0.01,0.71C3.95,18.95,4.07,19,4.2,19h15.6c0.45,0,0.67-0.54,0.35-0.85L18,16z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_phone.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_phone.xml index de348159cc6c..adf521c853ae 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_phone.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_phone.xml @@ -15,7 +15,9 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_battery_saver.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_battery_saver.xml index 22e183c694d5..4f7d96381e6e 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_battery_saver.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_battery_saver.xml @@ -15,7 +15,9 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_bluetooth.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_bluetooth.xml index 09643e606350..58800c8d29be 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_bluetooth.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/ic_qs_bluetooth.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_activity_recognition.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_activity_recognition.xml index e1849bbee061..67d28c60b7a0 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_activity_recognition.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_activity_recognition.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_calendar.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_calendar.xml index 16359b04178d..0144ba2fbf36 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_calendar.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_calendar.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_call_log.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_call_log.xml index 8d70f484e731..590ced09e4af 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_call_log.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_call_log.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_camera.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_camera.xml index 03075a688846..b063e2bb6985 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_camera.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_camera.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_contacts.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_contacts.xml index 50cd6331e42a..54cfeec0355e 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_contacts.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_contacts.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_location.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_location.xml index ebd9e61d8efe..3815921846b7 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_location.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_location.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_microphone.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_microphone.xml index 39acc9ca82a1..e6493bc95ff2 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_microphone.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_microphone.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_phone_calls.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_phone_calls.xml index 2b6e32a59cab..ae84541e0801 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_phone_calls.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_phone_calls.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sensors.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sensors.xml index 2128e79b350a..88f0c541caf5 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sensors.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sensors.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sms.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sms.xml index eef9e62f15b0..7a320e0c81e2 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sms.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_sms.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_storage.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_storage.xml index 3a863a342354..0ad7e6d3484b 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_storage.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_storage.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_visual.xml b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_visual.xml index 57c7ae9f6efa..d5bdb872825e 100644 --- a/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_visual.xml +++ b/packages/overlays/IconPackFilledAndroidOverlay/res/drawable/perm_group_visual.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml index 30e866095675..b3625ac9cf15 100644 --- a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml +++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/textColorPrimary" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_arrow_back.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_arrow_back.xml index b4f2a9de63a6..deb77c820ecb 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_arrow_back.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_arrow_back.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_cellular_off.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_cellular_off.xml index 32ce0f5ea249..466ae50cb46a 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_cellular_off.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_cellular_off.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorAccent" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml index e1a8b1feb22b..b5b514a57e9d 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml index be607a3c4d33..e479f506bac5 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="#757575" + android:tint="@*android:color/material_grey_600" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_data_saver.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_data_saver.xml index 2718efadfe59..5c85eb36b41c 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_data_saver.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_data_saver.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_devices_other.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_devices_other.xml index 21368fe5782b..a451ef831e78 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_devices_other.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_devices_other.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_eject_24dp.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_eject_24dp.xml index 5a9511a5cfbe..7af92461d3f9 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_eject_24dp.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_eject_24dp.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_find_in_page_24px.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_find_in_page_24px.xml new file mode 100644 index 000000000000..dd35dae227b0 --- /dev/null +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_find_in_page_24px.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <path android:pathData="M0 0h24v24H0z" /> + <path + android:fillColor="@android:color/white" + android:pathData="M20 19.59V8l-6-6H6c-1.1 0-1.99 0.9 -1.99 2L4 20c0 1.1 0.89 2 1.99 2H18c0.45 0 0.85-0.15 1.19-0.4l-4.43-4.43c-0.8 0.52 -1.74 0.83 -2.76 0.83 -2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-0.31 1.96-0.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z" /> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_help_actionbar.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_help_actionbar.xml index ed6d553f5f37..4d6d9dd0a9e5 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_help_actionbar.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_help_actionbar.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_network_cell.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_network_cell.xml index 2e9433b08220..d62758e51976 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_network_cell.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_network_cell.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml index 9944bb5b4f69..c6cd0159854e 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_language.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_language.xml new file mode 100644 index 000000000000..e23b9b6ebf58 --- /dev/null +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_language.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <path + android:fillColor="@android:color/white" + android:pathData="M11.99,2C6.47,2,2,6.48,2,12c0,5.52,4.47,10,9.99,10C17.52,22,22,17.52,22,12C22,6.48,17.52,2,11.99,2z M18.92,8h-2.95 c-0.31-1.24-0.78-2.43-1.38-3.56C16.41,5.07,17.95,6.33,18.92,8z M12,4.04c0.83,1.2,1.48,2.53,1.91,3.96h-3.82 C10.52,6.57,11.17,5.24,12,4.04z M4.26,14C4.1,13.36,4,12.69,4,12s0.1-1.36,0.26-2h3.38c-0.08,0.66-0.14,1.32-0.14,2 s0.06,1.34,0.14,2H4.26z M5.08,16h2.95c0.32,1.25,0.78,2.45,1.38,3.56C7.58,18.94,6.05,17.67,5.08,16z M8.03,8H5.08 c0.97-1.67,2.5-2.94,4.33-3.56C8.81,5.57,8.34,6.76,8.03,8z M12,19.96c-0.83-1.2-1.48-2.53-1.91-3.96h3.82 C13.48,17.43,12.83,18.76,12,19.96z M14.34,14H9.66c-0.09-0.66-0.16-1.32-0.16-2s0.07-1.35,0.16-2h4.68c0.09,0.65,0.16,1.32,0.16,2 S14.43,13.34,14.34,14z M14.59,19.56c0.6-1.11,1.06-2.31,1.38-3.56h2.95C17.95,17.67,16.41,18.93,14.59,19.56z M16.36,14 c0.08-0.66,0.14-1.32,0.14-2s-0.06-1.34-0.14-2h3.38C19.9,10.64,20,11.31,20,12s-0.1,1.36-0.26,2H16.36z" /> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_multiuser.xml b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_multiuser.xml new file mode 100644 index 000000000000..accc694238d9 --- /dev/null +++ b/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_settings_multiuser.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <path + android:fillColor="@android:color/white" + android:pathData="M 12 4 C 14.2091389993 4 16 5.79086100068 16 8 C 16 10.2091389993 14.2091389993 12 12 12 C 9.79086100068 12 8 10.2091389993 8 8 C 8 5.79086100068 9.79086100068 4 12 4 Z" /> + <path + android:fillColor="@android:color/white" + android:pathData="M12,13.5c-2.67,0-8,1.34-8,4v2C4,19.77,4.22,20,4.5,20h15c0.27,0,0.5-0.23,0.5-0.5v-2C20,14.84,14.67,13.5,12,13.5z" /> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_arrow_back.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_arrow_back.xml index b4f2a9de63a6..deb77c820ecb 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_arrow_back.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_arrow_back.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_brightness_thumb.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_brightness_thumb.xml index e82e9a3ee185..1b881eac9fc2 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_brightness_thumb.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_brightness_thumb.xml @@ -23,6 +23,6 @@ android:fillColor="?android:attr/colorControlActivated" android:pathData="M4,15.3V19c0,0.55,0.45,1,1,1h3.69l2.6,2.6c0.39,0.39,1.02,0.39,1.41,0l2.6-2.6H19c0.55,0,1-0.45,1-1v-3.69l2.6-2.6 c0.39-0.39,0.39-1.02,0-1.41L20,8.69V5c0-0.55-0.45-1-1-1h-3.69l-2.6-2.6c-0.39-0.39-1.02-0.39-1.41,0L8.69,4H5C4.45,4,4,4.45,4,5 v3.69l-2.6,2.6c-0.39,0.39-0.39,1.02,0,1.41L4,15.3z M12,7c2.76,0,5,2.24,5,5s-2.24,5-5,5s-5-2.24-5-5S9.24,7,12,7z" /> <path - android:fillColor="?android:attr/colorPrimary" + android:fillColor="?android:attr/colorBackgroundFloating" android:pathData="M 12 7 C 14.7614237492 7 17 9.23857625085 17 12 C 17 14.7614237492 14.7614237492 17 12 17 C 9.23857625085 17 7 14.7614237492 7 12 C 7 9.23857625085 9.23857625085 7 12 7 Z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_camera.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_camera.xml index ae3e7e2d60c6..fac551cf4a63 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_camera.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_camera.xml @@ -15,10 +15,10 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" + android:height="17dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="24dp" > + android:width="17dp" > <path android:fillColor="@android:color/white" android:pathData="M 12 8.8 C 13.7673111995 8.8 15.2 10.2326888005 15.2 12 C 15.2 13.7673111995 13.7673111995 15.2 12 15.2 C 10.2326888005 15.2 8.8 13.7673111995 8.8 12 C 8.8 10.2326888005 10.2326888005 8.8 12 8.8 Z" /> diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_cast_connected.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_cast_connected.xml index f5056f2a1f12..bbe2cff62720 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_cast_connected.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_cast_connected.xml @@ -15,10 +15,10 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="17dp" + android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="17dp" > + android:width="24dp" > <path android:fillColor="@android:color/white" android:pathData="M2.07,10.05C1.5,10,1.02,10.45,1,11.03c-0.01,0.52,0.34,0.96,0.85,1.01c4.26,0.43,7.68,3.82,8.1,8.08 C10,20.62,10.43,21,10.94,21c0.59,0,1.06-0.51,1-1.1C11.42,14.69,7.28,10.56,2.07,10.05z" /> diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_data_saver.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_data_saver.xml index 3d4cf5e88f07..28b8ba1bccfc 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_data_saver.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_data_saver.xml @@ -15,10 +15,10 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="18dp " + android:height="18dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="18dp " > + android:width="18dp" > <path android:fillColor="@android:color/white" android:pathData="M11,11H9c-0.55,0-1,0.45-1,1s0.45,1,1,1h2v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2h2c0.55,0,1-0.45,1-1s-0.45-1-1-1h-2V9 c0-0.55-0.45-1-1-1s-1,0.45-1,1V11z" /> diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml index f661673e1fea..59a18bad6c66 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml index 8640a7950672..e498f803f687 100644 --- a/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml +++ b/packages/overlays/IconPackFilledSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_battery_80_24dp.xml index 4ddeae66401c..c19ca31d41b2 100644 --- a/packages/overlays/IconPackFilledSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_battery_80_24dp.xml @@ -16,11 +16,10 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="?android:attr/colorAccent" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M10,2v2H8.33C7.6,4,7,4.6,7,5.33v15.33C7,21.4,7.6,22,8.33,22h7.33C16.4,22,17,21.4,17,20.67V5.33C17,4.6,16.4,4,15.67,4 H14V2H10z M15,13c0,0.55-0.45,1-1,1h-1v1c0,0.55-0.45,1-1,1s-1-0.45-1-1v-1h-1c-0.55,0-1-0.45-1-1s0.45-1,1-1h1v-1 c0-0.55,0.45-1,1-1s1,0.45,1,1v1h1C14.55,12,15,12.45,15,13z" /> + android:pathData="M13,2.49h-2c-0.55,0-1,0.45-1,1V4H7C6.45,4,6,4.45,6,5v16c0,0.55,0.45,1,1,1h10c0.55,0,1-0.45,1-1V5c0-0.55-0.45-1-1-1h-3 V3.49C14,2.94,13.55,2.49,13,2.49z M16.5,9.01h-9V5.5h9V9.01z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_file_copy.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_file_copy.xml index 97945f00395e..1feaab1663c1 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_file_copy.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_file_copy.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="#FF737373" + android:tint="@*android:color/material_grey_600" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock.xml index ac8e4781b904..d0b85e70920d 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock.xml @@ -16,7 +16,6 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" - android:tint="?android:attr/textColor" android:viewportHeight="24" android:viewportWidth="24" android:width="32dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock_open.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock_open.xml index 345d6b181b92..6f19afe7c484 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock_open.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lock_open.xml @@ -16,7 +16,6 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" - android:tint="?android:attr/textColor" android:viewportHeight="24" android:viewportWidth="24" android:width="32dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lockscreen_ime.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lockscreen_ime.xml index 16f0868987fb..fae8445a0a42 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lockscreen_ime.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_lockscreen_ime.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_mode_edit.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_mode_edit.xml index 5db3b12ac1dd..c44a8d6fb9c5 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_mode_edit.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_mode_edit.xml @@ -16,10 +16,17 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M20.08,5.08l-1.17-1.17c-0.39-0.39-0.9-0.58-1.41-0.58c-0.51,0-1.02,0.2-1.41,0.59L3.29,16.71C3.11,16.89,3,17.15,3,17.41 l0,2.59c0,0.55,0.45,1,1,1c0,0,0,0,0,0L6.59,21c0.26,0,0.52-0.11,0.71-0.29l10.68-10.68l0,0l1.06-1.06l0,0l1.05-1.06 C20.87,7.13,20.87,5.86,20.08,5.08z M6.38,19.5l-1.88,0l0-1.88L15.03,7.09l1.88,1.88L6.38,19.5z M19.02,6.85l-1.06,1.06l-1.88-1.88 l1.05-1.05c0.13-0.13,0.28-0.15,0.35-0.15c0.08,0,0.23,0.02,0.35,0.15l1.17,1.17c0.13,0.13,0.15,0.28,0.15,0.35 C19.17,6.57,19.15,6.72,19.02,6.85z" /> + <group + android:translateX="3.000000" + android:translateY="3.000000" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M14.971,4.992 L13.092,3.115 L14.499,1.707 L16.38,3.583 L14.971,4.992 Z M3.38,16.588 L1.501,16.592 L1.502,14.708 L12.031,4.176 L13.91,6.054 L3.38,16.588 Z M17.794,2.874 L15.205,0.292 C15.01,0.097 14.755,0 14.499,0 C14.243,0 13.987,0.098 13.792,0.293 L0.295,13.794 C0.108,13.981 0.002,14.236 0.002,14.5 L-1.42108547e-14,17.594 C-1.42108547e-14,17.87 0.224,18.094 0.5,18.094 L0.501,18.094 L3.589,18.088 C3.854,18.087 4.107,17.982 4.294,17.795 L17.795,4.289 C18.185,3.898 18.185,3.264 17.794,2.874 L17.794,2.874 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_delete_accent.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_notifications_alerted.xml index d30eb7c0f098..752dab5082a4 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_delete_accent.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_notifications_alerted.xml @@ -16,17 +16,19 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="?android:attr/colorAccent" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M20,4h-1h-4c0-0.55-0.45-1-1-1h-4C9.45,3,9,3.45,9,4H5H4C3.59,4,3.25,4.34,3.25,4.75S3.59,5.5,4,5.5h1V18 c0,1.66,1.34,3,3,3h8c1.66,0,3-1.34,3-3V5.5h1c0.41,0,0.75-0.34,0.75-0.75S20.41,4,20,4z M17.5,18c0,0.83-0.67,1.5-1.5,1.5H8 c-0.83,0-1.5-0.67-1.5-1.5V5.5h11V18z" /> + android:pathData="M14,20h-4c0,1.1,0.9,2,2,2S14,21.1,14,20z" /> <path android:fillColor="@android:color/white" - android:pathData="M14.25,8c-0.41,0-0.75,0.34-0.75,0.75v7.5c0,0.41,0.34,0.75,0.75,0.75S15,16.66,15,16.25v-7.5C15,8.34,14.66,8,14.25,8z" /> + android:pathData="M12,2.5c-0.69,0-1.25,0.56-1.25,1.25v0.77C8.04,5.11,6,7.51,6,10.4V17H4.75C4.34,17,4,17.34,4,17.75s0.34,0.75,0.75,0.75 h14.5c0.41,0,0.75-0.34,0.75-0.75S19.66,17,19.25,17H18v-6.6c0-2.88-2.04-5.29-4.75-5.87V3.75C13.25,3.06,12.69,2.5,12,2.5z M16.5,10.4V17h-9v-6.6c0-2.48,2.02-4.5,4.5-4.5S16.5,7.91,16.5,10.4z" /> <path android:fillColor="@android:color/white" - android:pathData="M9.75,8C9.34,8,9,8.34,9,8.75v7.5C9,16.66,9.34,17,9.75,17s0.75-0.34,0.75-0.75v-7.5C10.5,8.34,10.16,8,9.75,8z" /> + android:pathData="M5.85,3.01C3.72,4.82,2.5,7.46,2.5,10.25C2.5,10.66,2.84,11,3.25,11S4,10.66,4,10.25c0-2.35,1.03-4.57,2.82-6.1 C7.14,3.88,7.17,3.41,6.91,3.1C6.64,2.78,6.17,2.74,5.85,3.01z" /> + <path + android:fillColor="@android:color/white" + android:pathData="M18.15,3.01c-0.32-0.27-0.79-0.23-1.06,0.08c-0.27,0.32-0.23,0.79,0.08,1.06C18.97,5.68,20,7.9,20,10.25 c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75C21.5,7.46,20.28,4.82,18.15,3.01z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_phone.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_phone.xml index 21153928240f..c6e8f57f5ec1 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_phone.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_phone.xml @@ -15,7 +15,9 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_battery_saver.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_battery_saver.xml index db4d302eb240..ca37d581332b 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_battery_saver.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_battery_saver.xml @@ -15,7 +15,9 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_bluetooth.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_bluetooth.xml index 3d270b3fce42..5e1a5f20c6d6 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_bluetooth.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/ic_qs_bluetooth.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_activity_recognition.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_activity_recognition.xml index b470603cddd0..669704775311 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_activity_recognition.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_activity_recognition.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_calendar.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_calendar.xml index e9dddd071481..4e61af0dbf34 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_calendar.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_calendar.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_call_log.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_call_log.xml index 2d6a6b916789..8d3c43c3d216 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_call_log.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_call_log.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_camera.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_camera.xml index e3498c380d11..7d42ff758b8c 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_camera.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_camera.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_contacts.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_contacts.xml index 987ed184a826..5d68581757ba 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_contacts.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_contacts.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_location.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_location.xml index 2da48d857617..5dce9cb985b3 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_location.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_location.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_microphone.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_microphone.xml index ddf14df872f2..b45e8322628d 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_microphone.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_microphone.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_phone_calls.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_phone_calls.xml index 516ee36d7f48..fe45a97a3287 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_phone_calls.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_phone_calls.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sensors.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sensors.xml index 65a193d98b32..c84cb0e99bde 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sensors.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sensors.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sms.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sms.xml index b5509d12a059..96b70f7fbfbd 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sms.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_sms.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_storage.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_storage.xml index 9b17e55f0be1..9240bb48b35e 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_storage.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_storage.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_visual.xml b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_visual.xml index 350bb4b80c85..2cd1bc0f17b0 100644 --- a/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_visual.xml +++ b/packages/overlays/IconPackRoundedAndroidOverlay/res/drawable/perm_group_visual.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="@android:color/black" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml index 86cb525e203a..70621ae19749 100644 --- a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml +++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/textColorPrimary" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_arrow_back.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_arrow_back.xml index 03f06e997e26..34f79b4478c9 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_arrow_back.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_arrow_back.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_cellular_off.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_cellular_off.xml index 710387ca88d5..34d40ec813e4 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_cellular_off.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_cellular_off.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorAccent" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml index 7df03ad48705..1e86983cd551 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_chevron_right_24dp.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml index b3f642191ca3..1feaab1663c1 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_content_copy_grey600_24dp.xml @@ -16,7 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="#757575" + android:tint="@*android:color/material_grey_600" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_data_saver.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_data_saver.xml index 9acb62da7d43..ba3c5808d26c 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_data_saver.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_data_saver.xml @@ -15,18 +15,19 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M3.36,7A10,10,0,0,0,20.27,17.64L18.1,16.39A7.5,7.5,0,1,1,11.25,4.56V2.05A10,10,0,0,0,3.36,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M21,16.35a10,10,0,0,0-8.27-14.3V4.56a7.48,7.48,0,0,1,6.1,10.54Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M8,12a0.76 0.76 ,0,0,0,0.75 0.75 h2.5v2.5a0.75 0.75 ,0,0,0,1.5,0v-2.5h2.5a0.75 0.75 ,0,0,0,0-1.5h-2.5V8.75a0.75 0.75 ,0,0,0-1.5,0v2.5H8.75A0.76 0.76 ,0,0,0,8,12Z" /> + <group + android:translateX="2.000000" + android:translateY="2.000000" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M17.5000671,10 C17.5000671,6.198 14.6680671,3.064 11.0000671,2.574 L11.0000671,0.05 C16.0500671,0.55 20.0000671,4.82 20.0000671,10 C20.0000671,11.45 19.6800671,12.83 19.1200671,14.07 L16.9560671,12.796 C17.3040671,11.932 17.5000671,10.989 17.5000671,10 Z M10.0000671,17.5 C12.3900671,17.5 14.5140671,16.378 15.8870671,14.637 C16.6270671,15.073 18.0500671,15.91 18.0500671,15.91 C15.9790671,18.732 12.4710671,20.427 8.60106711,19.906 C4.22106711,19.316 0.68406711,15.774 0.0940671101,11.394 C-0.68693289,5.591 3.49306711,0.594 9.00006711,0.05 L9.00006711,2.574 C5.33206711,3.064 2.50006711,6.198 2.50006711,10 C2.50006711,14.142 5.85806711,17.5 10.0000671,17.5 Z M6,10 C6.00538581,9.58803794 6.33803794,9.25538581 6.75,9.25 L9.25,9.25 L9.25,6.75 C9.25,6.33578644 9.58578644,6 10,6 C10.4142136,6 10.75,6.33578644 10.75,6.75 L10.75,9.25 L13.25,9.25 C13.6642136,9.25 14,9.58578644 14,10 C14,10.4142136 13.6642136,10.75 13.25,10.75 L10.75,10.75 L10.75,13.25 C10.75,13.6642136 10.4142136,14 10,14 C9.58578644,14 9.25,13.6642136 9.25,13.25 L9.25,10.75 L6.75,10.75 C6.33803794,10.7446142 6.00538581,10.4119621 6,10 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_devices_other.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_devices_other.xml index 9283216b1a2f..463525d4bf26 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_devices_other.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_devices_other.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_eject_24dp.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_eject_24dp.xml index 4e37a8866dfb..0d4bd9bc48d0 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_eject_24dp.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_eject_24dp.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_find_in_page_24px.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_find_in_page_24px.xml new file mode 100644 index 000000000000..a54c0f080b5e --- /dev/null +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_find_in_page_24px.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <group + android:translateX="4.000000" + android:translateY="2.000000" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M8,15.25 C6.208,15.25 4.75,13.792 4.75,12 C4.75,10.208 6.208,8.75 8,8.75 C9.792,8.75 11.25,10.208 11.25,12 C11.25,13.792 9.792,15.25 8,15.25 L8,15.25 Z M1.5,18 L1.5,2 C1.5,1.725 1.725,1.5 2,1.5 L9.379,1.5 L14.5,6.621 L14.5,17.439 L11.837,14.776 C12.405,13.993 12.75,13.039 12.75,12 C12.75,9.381 10.619,7.25 8,7.25 C5.381,7.25 3.25,9.381 3.25,12 C3.25,14.619 5.381,16.75 8,16.75 C9.039,16.75 9.993,16.405 10.776,15.837 L13.439,18.5 L2,18.5 C1.725,18.5 1.5,18.275 1.5,18 L1.5,18 Z M10,0 L2,0 C0.896,0 0,0.896 0,2 L0,18 C0,19.104 0.896,20 2,20 L14,20 C15.104,20 16,19.104 16,18 L16,6 L10,0 Z" + android:strokeWidth="1" /> + </group> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_help_actionbar.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_help_actionbar.xml index e0a6f9553b15..c7d672efa574 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_help_actionbar.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_help_actionbar.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_network_cell.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_network_cell.xml index 10e0f2fd1fca..fbe5ef03ad80 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_network_cell.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_network_cell.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml index 81f18fb4b383..56a67c912176 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_notifications_off_24dp.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_data_usage.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_data_usage.xml index b9c131b80ab6..855e4bb2a39d 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_data_usage.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_data_usage.xml @@ -22,8 +22,7 @@ android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M12,20c-4.4,0-8-3.6-8-8c0-4.2,3.2-7.6,7.2-8V2C5.7,2.4,1.6,7.3,2,12.8c0.4,5.5,5.3,9.6,10.8,9.2c4.9-0.4,8.8-4.3,9.2-9.2 h-2C19.6,16.8,16.2,20,12,20z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M20,11.2h2c-0.4-4.9-4.3-8.9-9.2-9.2v2C16.6,4.4,19.6,7.4,20,11.2z" /> + android:fillType="evenOdd" + android:pathData="M19.5000671,12 C19.5000671,8.198 16.6680671,5.064 13.0000671,4.574 L13.0000671,2.05 C18.0500671,2.55 22.0000671,6.82 22.0000671,12 C22.0000671,13.45 21.6800671,14.83 21.1200671,16.07 L18.9560671,14.796 C19.3040671,13.932 19.5000671,12.989 19.5000671,12 Z M12.0000671,19.5 C14.3900671,19.5 16.5140671,18.378 17.8870671,16.637 C18.6270671,17.073 20.0500671,17.91 20.0500671,17.91 C17.9790671,20.732 14.4710671,22.427 10.6010671,21.906 C6.22106711,21.316 2.68406711,17.774 2.09406711,13.394 C1.31306711,7.591 5.49306711,2.594 11.0000671,2.05 L11.0000671,4.574 C7.33206711,5.064 4.50006711,8.198 4.50006711,12 C4.50006711,16.142 7.85806711,19.5 12.0000671,19.5 Z" + android:strokeWidth="1" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_language.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_language.xml new file mode 100644 index 000000000000..730942bda59c --- /dev/null +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_language.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2019 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. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?android:attr/colorControlNormal" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="24dp" > + <path + android:fillColor="@android:color/white" + android:pathData="M12,22c5.52,0,10-4.48,10-10c0-5.52-4.48-10-10-10C6.48,2,2,6.48,2,12C2,17.52,6.48,22,12,22z M4.5,16h3.14 c0.4,1.41,1.01,2.8,1.84,4.12C7.34,19.45,5.55,17.95,4.5,16z M3.5,12c0-0.87,0.13-1.71,0.38-2.5H7.3c-0.29,1.66-0.3,3.34-0.01,5 H3.88C3.63,13.71,3.5,12.87,3.5,12z M20.5,12c0,0.87-0.13,1.71-0.38,2.5h-3.42c0.29-1.66,0.28-3.34-0.01-5h3.43 C20.37,10.29,20.5,11.13,20.5,12z M15.2,14.5H8.8c-0.33-1.66-0.32-3.34,0.01-5h6.39C15.53,11.16,15.53,12.84,15.2,14.5z M11.55,20.48c-1.08-1.43-1.86-2.94-2.36-4.48h5.62c-0.5,1.54-1.28,3.05-2.36,4.48c-0.15,0.01-0.3,0.02-0.45,0.02 S11.7,20.49,11.55,20.48z M14.51,20.12c0.83-1.32,1.44-2.71,1.84-4.12h3.14C18.45,17.95,16.66,19.45,14.51,20.12z M19.5,8h-3.15 c-0.4-1.41-1.01-2.79-1.84-4.12C16.66,4.54,18.45,6.04,19.5,8z M12.45,3.52C13.52,4.96,14.3,6.46,14.8,8H9.2 c0.5-1.54,1.28-3.04,2.35-4.48C11.7,3.51,11.85,3.5,12,3.5S12.3,3.51,12.45,3.52z M9.49,3.88C8.67,5.21,8.06,6.59,7.65,8H4.5 C5.55,6.04,7.34,4.54,9.49,3.88z" /> +</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_multiuser.xml index 9b39a9406dc8..83d9d2a9311e 100644 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_battery_saver_accent_24dp.xml +++ b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_multiuser.xml @@ -16,14 +16,14 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" - android:tint="?android:attr/colorAccent" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M9.74,13.75h1.5v1.5c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-1.5h1.5c0.41,0,0.75-0.34,0.75-0.75 s-0.34-0.75-0.75-0.75h-1.5v-1.5c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v1.5h-1.5c-0.41,0-0.75,0.34-0.75,0.75 S9.33,13.75,9.74,13.75z" /> + android:pathData="M4,19c0,0.55,0.45,1,1,1h14c0.55,0,1-0.45,1-1v-3c0-1.66-1.34-3-3-3H7c-1.66,0-3,1.34-3,3V19z M5.5,16 c0-0.83,0.67-1.5,1.5-1.5h10c0.83,0,1.5,0.67,1.5,1.5v2.5h-13V16z" /> <path android:fillColor="@android:color/white" - android:pathData="M17,4h-3V3.49c0-0.55-0.45-1-1-1h-2c-0.55,0-1,0.45-1,1V4H7C6.45,4,6,4.45,6,5v16c0,0.55,0.45,1,1,1h10c0.55,0,1-0.45,1-1 V5C18,4.45,17.55,4,17,4z M16.5,20.5h-9v-15h9V20.5z" /> + android:pathData="M8,8c0,2.21,1.79,4,4,4s4-1.79,4-4c0-2.21-1.79-4-4-4S8,5.79,8,8z M12,5.5c1.38,0,2.5,1.12,2.5,2.5 c0,1.38-1.12,2.5-2.5,2.5S9.5,9.38,9.5,8C9.5,6.62,10.62,5.5,12,5.5z" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_wireless_white.xml b/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_wireless_white.xml deleted file mode 100644 index 0a1c3055870d..000000000000 --- a/packages/overlays/IconPackRoundedSettingsOverlay/res/drawable/ic_settings_wireless_white.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2019 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. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" - android:viewportHeight="24" - android:viewportWidth="24" - android:width="24dp" > - <path - android:fillColor="@android:color/white" - android:pathData="M12,2.75C7.95,2.69,4.05,4.3,1.22,7.2C0.96,7.5,0.97,7.95,1.24,8.23C1.53,8.53,2,8.54,2.3,8.25c2.55-2.61,6.05-4.06,9.7-4 c3.65-0.06,7.17,1.4,9.72,4.02c0.28,0.27,0.73,0.28,1.03,0.01c0.31-0.28,0.33-0.75,0.05-1.06C19.96,4.32,16.06,2.69,12,2.75z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M15.78,14.82c0.05,0.06,0.1,0.11,0.17,0.15c0.34,0.23,0.81,0.14,1.04-0.21s0.14-0.81-0.21-1.04 c-2.64-2.64-6.91-2.64-9.55,0c-0.27,0.29-0.27,0.73,0,1.02c0.28,0.3,0.76,0.32,1.06,0.04h0.03c0,0,0,0,0.01-0.01 c2.05-2.05,5.37-2.04,7.42,0.01C15.75,14.8,15.76,14.81,15.78,14.82z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M 12 17 C 12.8284271247 17 13.5 17.6715728753 13.5 18.5 C 13.5 19.3284271247 12.8284271247 20 12 20 C 11.1715728753 20 10.5 19.3284271247 10.5 18.5 C 10.5 17.6715728753 11.1715728753 17 12 17 Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M20.03,11.79c0.3-0.29,0.3-0.77,0.01-1.06h-0.01c-2.12-2.18-5.01-3.44-8.04-3.5c-3.04,0.06-5.93,1.32-8.05,3.5 c-0.29,0.3-0.28,0.77,0.01,1.06c0.3,0.29,0.77,0.28,1.06-0.01c1.85-1.88,4.36-2.96,7-3c2.62,0.05,5.11,1.13,6.95,3 C19.25,12.07,19.73,12.08,20.03,11.79z" /> -</vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_arrow_back.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_arrow_back.xml index 03f06e997e26..34f79b4478c9 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_arrow_back.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_arrow_back.xml @@ -15,6 +15,7 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true" android:height="24dp" android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_brightness_thumb.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_brightness_thumb.xml index 697d1c29eac7..62fcd4c3a33a 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_brightness_thumb.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_brightness_thumb.xml @@ -20,7 +20,7 @@ android:viewportWidth="24" android:width="24dp" > <path - android:fillColor="?android:attr/colorPrimary" + android:fillColor="?android:attr/colorBackgroundFloating" android:pathData="M 12 0 L 12 0 Q 24 0 24 12 L 24 12 Q 24 24 12 24 L 12 24 Q 0 24 0 12 L 0 12 Q 0 0 12 0 Z" /> <path android:fillColor="?android:attr/colorControlActivated" diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_camera.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_camera.xml index 294e181faef8..142e078bdfd9 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_camera.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_camera.xml @@ -15,10 +15,10 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="24dp" + android:height="17dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="24dp" > + android:width="17dp" > <path android:fillColor="@android:color/white" android:pathData="M22,7c0-1.1-0.9-2-2-2h-3l-1.41-1.41C15.21,3.21,14.7,3,14.17,3H9.83C9.3,3,8.79,3.21,8.41,3.59L7,5H4C2.9,5,2,5.9,2,7v12 c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7z M20.5,19c0,0.28-0.22,0.5-0.5,0.5H4c-0.28,0-0.5-0.22-0.5-0.5V7c0-0.28,0.22-0.5,0.5-0.5 h3.62l1.85-1.85C9.57,4.55,9.69,4.5,9.83,4.5h4.34c0.13,0,0.26,0.05,0.35,0.15l1.85,1.85H20c0.28,0,0.5,0.22,0.5,0.5V19z" /> diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_cast_connected.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_cast_connected.xml index 14d88e76bb91..f2821668c870 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_cast_connected.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_cast_connected.xml @@ -15,10 +15,10 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="17dp" + android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="17dp" > + android:width="24dp" > <path android:fillColor="@android:color/white" android:pathData="M20.5,4h-17C3.49,4,3.48,4,3.47,4C2.64,4.02,1.98,4.7,2,5.53v3.18c0,0.41,0.34,0.75,0.75,0.75S3.5,9.12,3.5,8.71 c0-1.96,0-3.21,0-3.21l17,0.03V18.5h-7.35c-0.41,0-0.75,0.34-0.75,0.75S12.74,20,13.15,20h7.35c0.01,0,0.02,0,0.03,0 c0.83-0.02,1.49-0.7,1.47-1.53V5.53c0-0.01,0-0.02,0-0.03C22,4.67,21.33,4,20.5,4z" /> diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver.xml index ee11b84b28ba..cdc3bfbd3d5f 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver.xml @@ -15,17 +15,17 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:height="18dp " + android:height="18dp" android:viewportHeight="24" android:viewportWidth="24" - android:width="18dp " > - <path - android:fillColor="@android:color/white" - android:pathData="M3.36,7A10,10,0,0,0,20.27,17.64L18.1,16.39A7.5,7.5,0,1,1,11.25,4.56V2.05A10,10,0,0,0,3.36,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M21,16.35a10,10,0,0,0-8.27-14.3V4.56a7.48,7.48,0,0,1,6.1,10.54Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M8,12a0.76 0.76 ,0,0,0,0.75 0.75 h2.5v2.5a0.75 0.75 ,0,0,0,1.5,0v-2.5h2.5a0.75 0.75 ,0,0,0,0-1.5h-2.5V8.75a0.75 0.75 ,0,0,0-1.5,0v2.5H8.75A0.76 0.76 ,0,0,0,8,12Z" /> + android:width="18dp" > + <group + android:translateX="2.000000" + android:translateY="2.000000" > + <path + android:fillColor="@android:color/white" + android:fillType="evenOdd" + android:pathData="M17.5000671,10 C17.5000671,6.198 14.6680671,3.064 11.0000671,2.574 L11.0000671,0.05 C16.0500671,0.55 20.0000671,4.82 20.0000671,10 C20.0000671,11.45 19.6800671,12.83 19.1200671,14.07 L16.9560671,12.796 C17.3040671,11.932 17.5000671,10.989 17.5000671,10 Z M10.0000671,17.5 C12.3900671,17.5 14.5140671,16.378 15.8870671,14.637 C16.6270671,15.073 18.0500671,15.91 18.0500671,15.91 C15.9790671,18.732 12.4710671,20.427 8.60106711,19.906 C4.22106711,19.316 0.68406711,15.774 0.0940671101,11.394 C-0.68693289,5.591 3.49306711,0.594 9.00006711,0.05 L9.00006711,2.574 C5.33206711,3.064 2.50006711,6.198 2.50006711,10 C2.50006711,14.142 5.85806711,17.5 10.0000671,17.5 Z M6,10 C6.00538581,9.58803794 6.33803794,9.25538581 6.75,9.25 L9.25,9.25 L9.25,6.75 C9.25,6.33578644 9.58578644,6 10,6 C10.4142136,6 10.75,6.33578644 10.75,6.75 L10.75,9.25 L13.25,9.25 C13.6642136,9.25 14,9.58578644 14,10 C14,10.4142136 13.6642136,10.75 13.25,10.75 L10.75,10.75 L10.75,13.25 C10.75,13.6642136 10.4142136,14 10,14 C9.58578644,14 9.25,13.6642136 9.25,13.25 L9.25,10.75 L6.75,10.75 C6.33803794,10.7446142 6.00538581,10.4119621 6,10 Z" + android:strokeWidth="1" /> + </group> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver_off.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver_off.xml index 3d620a18bb1a..7dab949f9da5 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver_off.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_data_saver_off.xml @@ -21,8 +21,7 @@ android:width="24dp" > <path android:fillColor="@android:color/white" - android:pathData="M3.36,7A10,10,0,0,0,20.27,17.64L18.1,16.39A7.5,7.5,0,1,1,11.25,4.56V2.05A10,10,0,0,0,3.36,7Z" /> - <path - android:fillColor="@android:color/white" - android:pathData="M21,16.35a10,10,0,0,0-8.27-14.3V4.56a7.48,7.48,0,0,1,6.1,10.54Z" /> + android:fillType="evenOdd" + android:pathData="M19.5000671,12 C19.5000671,8.198 16.6680671,5.064 13.0000671,4.574 L13.0000671,2.05 C18.0500671,2.55 22.0000671,6.82 22.0000671,12 C22.0000671,13.45 21.6800671,14.83 21.1200671,16.07 L18.9560671,14.796 C19.3040671,13.932 19.5000671,12.989 19.5000671,12 Z M12.0000671,19.5 C14.3900671,19.5 16.5140671,18.378 17.8870671,16.637 C18.6270671,17.073 20.0500671,17.91 20.0500671,17.91 C17.9790671,20.732 14.4710671,22.427 10.6010671,21.906 C6.22106711,21.316 2.68406711,17.774 2.09406711,13.394 C1.31306711,7.591 5.49306711,2.594 11.0000671,2.05 L11.0000671,4.574 C7.33206711,5.064 4.50006711,8.198 4.50006711,12 C4.50006711,16.142 7.85806711,19.5 12.0000671,19.5 Z" + android:strokeWidth="1" /> </vector>
\ No newline at end of file diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml index f2284bc37287..85c2bcdbdce0 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_qs_bluetooth_connecting.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml index 15201e924933..3a26cbaf7238 100644 --- a/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml +++ b/packages/overlays/IconPackRoundedSystemUIOverlay/res/drawable/ic_volume_alarm_mute.xml @@ -16,6 +16,7 @@ --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" + android:tint="?android:attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" > diff --git a/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java b/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java index b12129835ca1..d7f86cd65ae9 100644 --- a/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java +++ b/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java @@ -161,7 +161,15 @@ public class StatusBarShellCommand extends ShellCommand { case "statusbar-expansion": info.setStatusBarExpansionDisabled(true); break; - + case "system-icons": + info.setSystemIconsDisabled(true); + break; + case "clock": + info.setClockDisabled(true); + break; + case "notification-icons": + info.setNotificationIconsDisabled(true); + break; default: break; } @@ -221,6 +229,9 @@ public class StatusBarShellCommand extends ShellCommand { pw.println(" recents - disable recents/overview"); pw.println(" notification-peek - disable notification peeking"); pw.println(" statusbar-expansion - disable status bar expansion"); + pw.println(" system-icons - disable system icons appearing in status bar"); + pw.println(" clock - disable clock appearing in status bar"); + pw.println(" notification-icons - disable notification icons from status bar"); pw.println(""); } diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index b6a5be807fb6..4cfc1d1df2ae 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -1065,8 +1065,6 @@ final class AccessibilityController { private final long mRecurringAccessibilityEventsIntervalMillis; - private int mTempLayer = 0; - public WindowsForAccessibilityObserver(WindowManagerService windowManagerService, WindowsForAccessibilityCallback callback) { mContext = windowManagerService.mContext; @@ -1091,7 +1089,7 @@ final class AccessibilityController { } /** - * Check if windows have changed, and send them to the accessibilty subsystem if they have. + * Check if windows have changed, and send them to the accessibility subsystem if they have. * * @param forceSend Send the windows the accessibility even if they haven't changed. */ @@ -1108,8 +1106,7 @@ final class AccessibilityController { // the window manager is still looking for where to put it. // We will do the work when we get a focus change callback. // TODO(b/112273690): Support multiple displays - // TODO(b/129098348): Support embedded displays - if (mService.getDefaultDisplayContentLocked().mCurrentFocus == null) { + if (!isCurrentFocusWindowOnDefaultDisplay()) { return; } @@ -1395,21 +1392,35 @@ final class AccessibilityController { } private void populateVisibleWindowsOnScreenLocked(SparseArray<WindowState> outWindows) { + final List<WindowState> tempWindowStatesList = new ArrayList<>(); final DisplayContent dc = mService.getDefaultDisplayContentLocked(); - mTempLayer = 0; dc.forAllWindows((w) -> { if (w.isVisibleLw()) { - outWindows.put(mTempLayer++, w); + tempWindowStatesList.add(w); } }, false /* traverseTopToBottom */); + // Insert the re-parented windows in another display on top of their parents in + // default display. mService.mRoot.forAllWindows(w -> { - final WindowState win = findRootDisplayParentWindow(w); - if (win != null && win.getDisplayContent().isDefaultDisplay && w.isVisibleLw()) { - // TODO(b/129098348): insert windows on child displays into outWindows based on - // root-display-parent window. - outWindows.put(mTempLayer++, w); + final WindowState parentWindow = findRootDisplayParentWindow(w); + if (parentWindow == null) { + return; } - }, false /* traverseTopToBottom */); + + // TODO: Use Region instead to get rid of this complicated logic. + // Check the tap exclude region of the parent window. If the tap exclude region + // is empty, it means there is another can-receive-pointer-event view on top of + // the region. Hence, we don't count the window as visible. + if (w.isVisibleLw() && parentWindow.getDisplayContent().isDefaultDisplay + && parentWindow.hasTapExcludeRegion() + && tempWindowStatesList.contains(parentWindow)) { + tempWindowStatesList.add( + tempWindowStatesList.lastIndexOf(parentWindow) + 1, w); + } + }, true /* traverseTopToBottom */); + for (int i = 0; i < tempWindowStatesList.size(); i++) { + outWindows.put(i, tempWindowStatesList.get(i)); + } } private WindowState findRootDisplayParentWindow(WindowState win) { @@ -1425,6 +1436,23 @@ final class AccessibilityController { return displayParentWindow; } + private boolean isCurrentFocusWindowOnDefaultDisplay() { + final WindowState focusedWindow = + mService.mRoot.getTopFocusedDisplayContent().mCurrentFocus; + if (focusedWindow == null) { + return false; + } + + final WindowState rootDisplayParentWindow = findRootDisplayParentWindow(focusedWindow); + if (!focusedWindow.isDefaultDisplay() + && (rootDisplayParentWindow == null + || !rootDisplayParentWindow.isDefaultDisplay())) { + return false; + } + + return true; + } + private class MyHandler extends Handler { public static final int MESSAGE_COMPUTE_CHANGED_WINDOWS = 1; diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java index 3d59e66d13ef..b3b6efed1a37 100644 --- a/services/core/java/com/android/server/wm/ActivityStack.java +++ b/services/core/java/com/android/server/wm/ActivityStack.java @@ -40,6 +40,7 @@ import static android.view.WindowManager.TRANSIT_ACTIVITY_CLOSE; import static android.view.WindowManager.TRANSIT_ACTIVITY_OPEN; import static android.view.WindowManager.TRANSIT_CRASHING_ACTIVITY_CLOSE; import static android.view.WindowManager.TRANSIT_NONE; +import static android.view.WindowManager.TRANSIT_SHOW_SINGLE_TASK_DISPLAY; import static android.view.WindowManager.TRANSIT_TASK_CLOSE; import static android.view.WindowManager.TRANSIT_TASK_OPEN; import static android.view.WindowManager.TRANSIT_TASK_OPEN_BEHIND; @@ -3194,6 +3195,8 @@ class ActivityStack extends ConfigurationContainer { if (newTask) { if (r.mLaunchTaskBehind) { transit = TRANSIT_TASK_OPEN_BEHIND; + } else if (getDisplay().isSingleTaskInstance()) { + transit = TRANSIT_SHOW_SINGLE_TASK_DISPLAY; } else { // If a new task is being launched, then mark the existing top activity as // supporting picture-in-picture while pausing only if the starting activity diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java index ed56501f4351..dbc530d38684 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java @@ -34,7 +34,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.os.SystemClock; import android.service.voice.IVoiceInteractionSession; -import android.util.Pair; import android.util.SparseIntArray; import android.util.proto.ProtoOutputStream; @@ -189,6 +188,13 @@ public abstract class ActivityTaskManagerInternal { public abstract void notifyDockedStackMinimizedChanged(boolean minimized); /** + * Notify listeners that contents are drawn for the first time on a single task display. + * + * @param displayId An ID of the display on which contents are drawn. + */ + public abstract void notifySingleTaskDisplayDrawn(int displayId); + + /** * Start activity {@code intents} as if {@code packageName} on user {@code userId} did it. * * - DO NOT call it with the calling UID cleared. diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index 765c9d0a5864..2e5b9fd55fc0 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -6097,7 +6097,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } @Override - public void notifyAppTransitionStarting(SparseIntArray reasons, long timestamp) { + public void notifyAppTransitionStarting(SparseIntArray reasons, + long timestamp) { synchronized (mGlobalLock) { mStackSupervisor.getActivityMetricsLogger().notifyTransitionStarting( reasons, timestamp); @@ -6105,6 +6106,11 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } @Override + public void notifySingleTaskDisplayDrawn(int displayId) { + mTaskChangeNotificationController.notifySingleTaskDisplayDrawn(displayId); + } + + @Override public void notifyAppTransitionFinished() { synchronized (mGlobalLock) { mStackSupervisor.notifyAppTransitionDone(); diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java index ddd5c0aa7dc0..19ccc62527e9 100644 --- a/services/core/java/com/android/server/wm/AppTransition.java +++ b/services/core/java/com/android/server/wm/AppTransition.java @@ -29,6 +29,7 @@ import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPE import static android.view.WindowManager.TRANSIT_KEYGUARD_OCCLUDE; import static android.view.WindowManager.TRANSIT_KEYGUARD_UNOCCLUDE; import static android.view.WindowManager.TRANSIT_NONE; +import static android.view.WindowManager.TRANSIT_SHOW_SINGLE_TASK_DISPLAY; import static android.view.WindowManager.TRANSIT_TASK_CHANGE_WINDOWING_MODE; import static android.view.WindowManager.TRANSIT_TASK_CLOSE; import static android.view.WindowManager.TRANSIT_TASK_IN_PLACE; @@ -2052,6 +2053,9 @@ public class AppTransition implements Dump { case TRANSIT_CRASHING_ACTIVITY_CLOSE: { return "TRANSIT_CRASHING_ACTIVITY_CLOSE"; } + case TRANSIT_SHOW_SINGLE_TASK_DISPLAY: { + return "TRANSIT_SHOW_SINGLE_TASK_DISPLAY"; + } default: { return "<UNKNOWN: " + transition + ">"; } diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java index d4c4e6a93fa6..6c5ef5259285 100644 --- a/services/core/java/com/android/server/wm/AppTransitionController.java +++ b/services/core/java/com/android/server/wm/AppTransitionController.java @@ -28,6 +28,7 @@ import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_W import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY; import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER; import static android.view.WindowManager.TRANSIT_NONE; +import static android.view.WindowManager.TRANSIT_SHOW_SINGLE_TASK_DISPLAY; import static android.view.WindowManager.TRANSIT_TASK_CLOSE; import static android.view.WindowManager.TRANSIT_TASK_IN_PLACE; import static android.view.WindowManager.TRANSIT_TASK_OPEN; @@ -211,6 +212,12 @@ public class AppTransitionController { mService.mAtmInternal.notifyAppTransitionStarting(mTempTransitionReasons.clone(), SystemClock.uptimeMillis()); + if (transit == TRANSIT_SHOW_SINGLE_TASK_DISPLAY) { + mService.mAnimator.addAfterPrepareSurfacesRunnable(() -> { + mService.mAtmInternal.notifySingleTaskDisplayDrawn(mDisplayContent.getDisplayId()); + }); + } + Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); mDisplayContent.pendingLayoutChanges |= diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index c3a769b63e5a..a91fd25e5582 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -2541,6 +2541,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo void removeImmediately() { mRemovingDisplay = true; try { + if (mParentWindow != null) { + mParentWindow.removeEmbeddedDisplayContent(this); + } // Clear all transitions & screen frozen states when removing display. mOpeningApps.clear(); mClosingApps.clear(); @@ -5028,6 +5031,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo */ void reparentDisplayContent(WindowState win, SurfaceControl sc) { mParentWindow = win; + mParentWindow.addEmbeddedDisplayContent(this); mParentSurfaceControl = sc; if (mPortalWindowHandle == null) { mPortalWindowHandle = createPortalWindowHandle(sc.toString()); @@ -5058,12 +5062,12 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo throw new IllegalArgumentException( "The given window is not the parent window of this display."); } - if (mLocationInParentWindow.x != x || mLocationInParentWindow.y != y) { - mLocationInParentWindow.x = x; - mLocationInParentWindow.y = y; + if (!mLocationInParentWindow.equals(x, y)) { + mLocationInParentWindow.set(x, y); if (mWmService.mAccessibilityController != null) { mWmService.mAccessibilityController.onSomeWindowResizedOrMovedLocked(); } + notifyLocationInParentDisplayChanged(); } } @@ -5071,6 +5075,30 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo return mLocationInParentWindow; } + Point getLocationInParentDisplay() { + final Point location = new Point(); + if (mParentWindow != null) { + // LocationInParentWindow indicates the offset to (0,0) of window, but what we need is + // the offset to (0,0) of display. + DisplayContent dc = this; + do { + final WindowState displayParent = dc.getParentWindow(); + location.x += displayParent.getFrameLw().left + + (dc.getLocationInParentWindow().x * displayParent.mGlobalScale + 0.5f); + location.y += displayParent.getFrameLw().top + + (dc.getLocationInParentWindow().y * displayParent.mGlobalScale + 0.5f); + dc = displayParent.getDisplayContent(); + } while (dc != null && dc.getParentWindow() != null); + } + return location; + } + + void notifyLocationInParentDisplayChanged() { + forAllWindows(w -> { + w.updateLocationInParentDisplayIfNeeded(); + }, false /* traverseTopToBottom */); + } + @VisibleForTesting SurfaceControl getWindowingLayer() { return mWindowingLayer; diff --git a/services/core/java/com/android/server/wm/RootActivityContainer.java b/services/core/java/com/android/server/wm/RootActivityContainer.java index 3ec461d065ff..d58c61368f9a 100644 --- a/services/core/java/com/android/server/wm/RootActivityContainer.java +++ b/services/core/java/com/android/server/wm/RootActivityContainer.java @@ -35,6 +35,7 @@ import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TASK; import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.INVALID_DISPLAY; +import static android.view.WindowManager.TRANSIT_SHOW_SINGLE_TASK_DISPLAY; import static com.android.server.am.ActivityStackSupervisorProto.CONFIGURATION_CONTAINER; import static com.android.server.am.ActivityStackSupervisorProto.DISPLAYS; @@ -1217,6 +1218,15 @@ class RootActivityContainer extends ConfigurationContainer if (displayShouldSleep) { stack.goToSleepIfPossible(false /* shuttingDown */); } else { + // When the display which can only contain one task turns on, start a special + // transition. {@link AppTransitionController#handleAppTransitionReady} later + // picks up the transition, and schedules + // {@link ITaskStackListener#onSingleTaskDisplayDrawn} callback which is + // triggered after contents are drawn on the display. + if (display.isSingleTaskInstance()) { + display.mDisplayContent.prepareAppTransition( + TRANSIT_SHOW_SINGLE_TASK_DISPLAY, false); + } stack.awakeFromSleepingLocked(); if (stack.isFocusedStackOnDisplay() && !mStackSupervisor.getKeyguardController() diff --git a/services/core/java/com/android/server/wm/TapExcludeRegionHolder.java b/services/core/java/com/android/server/wm/TapExcludeRegionHolder.java index 22f529b28b8e..8f72cdad8dce 100644 --- a/services/core/java/com/android/server/wm/TapExcludeRegionHolder.java +++ b/services/core/java/com/android/server/wm/TapExcludeRegionHolder.java @@ -52,4 +52,11 @@ class TapExcludeRegionHolder { region.op(r, Region.Op.UNION); } } + + /** + * Return true if tap exclude region is empty. + */ + boolean isEmpty() { + return mTapExcludeRegions.size() == 0; + } } diff --git a/services/core/java/com/android/server/wm/TaskChangeNotificationController.java b/services/core/java/com/android/server/wm/TaskChangeNotificationController.java index 66200e39938b..27175c706812 100644 --- a/services/core/java/com/android/server/wm/TaskChangeNotificationController.java +++ b/services/core/java/com/android/server/wm/TaskChangeNotificationController.java @@ -54,6 +54,7 @@ class TaskChangeNotificationController { private static final int NOTIFY_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED_MSG = 19; private static final int NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG = 20; private static final int NOTIFY_BACK_PRESSED_ON_TASK_ROOT = 21; + private static final int NOTIFY_SINGLE_TASK_DISPLAY_DRAWN = 22; // Delay in notifying task stack change listeners (in millis) private static final int NOTIFY_TASK_STACK_CHANGE_LISTENERS_DELAY = 100; @@ -154,6 +155,10 @@ class TaskChangeNotificationController { l.onSizeCompatModeActivityChanged(m.arg1, (IBinder) m.obj); }; + private final TaskStackConsumer mNotifySingleTaskDisplayDrawn = (l, m) -> { + l.onSingleTaskDisplayDrawn(m.arg1); + }; + @FunctionalInterface public interface TaskStackConsumer { void accept(ITaskStackListener t, Message m) throws RemoteException; @@ -233,6 +238,9 @@ class TaskChangeNotificationController { case NOTIFY_BACK_PRESSED_ON_TASK_ROOT: forAllRemoteListeners(mNotifyBackPressedOnTaskRoot, msg); break; + case NOTIFY_SINGLE_TASK_DISPLAY_DRAWN: + forAllRemoteListeners(mNotifySingleTaskDisplayDrawn, msg); + break; } } } @@ -477,4 +485,14 @@ class TaskChangeNotificationController { forAllLocalListeners(mNotifyBackPressedOnTaskRoot, msg); msg.sendToTarget(); } + + /** + * Notify listeners that contents are drawn for the first time on a single task display. + */ + void notifySingleTaskDisplayDrawn(int displayId) { + final Message msg = mHandler.obtainMessage(NOTIFY_SINGLE_TASK_DISPLAY_DRAWN, + displayId, 0 /* unused */); + forAllLocalListeners(mNotifySingleTaskDisplayDrawn, msg); + msg.sendToTarget(); + } } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index d39ee4068285..0a2fc9b366a3 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -4543,8 +4543,11 @@ public class WindowManagerService extends IWindowManager.Stub AccessibilityController accessibilityController = null; synchronized (mGlobalLock) { - // TODO(multidisplay): Accessibility supported only of default desiplay. - if (mAccessibilityController != null && displayContent.isDefaultDisplay) { + // TODO(multidisplay): Accessibility supported only of default display and + // embedded displays. + if (mAccessibilityController != null + && (displayContent.isDefaultDisplay + || displayContent.getParentWindow() != null)) { accessibilityController = mAccessibilityController; } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 5ef184adc52f..89fd33bba261 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -167,6 +167,7 @@ import android.os.UserHandle; import android.os.WorkSource; import android.provider.Settings; import android.text.TextUtils; +import android.util.ArraySet; import android.util.DisplayMetrics; import android.util.MergedConfiguration; import android.util.Slog; @@ -316,6 +317,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP int mLayoutSeq = -1; + /** @see #addEmbeddedDisplayContent(DisplayContent dc) */ + private final ArraySet<DisplayContent> mEmbeddedDisplayContents = new ArraySet<>(); + /** * Used to store last reported to client configuration and check if we have newer available. * We'll send configuration to client only if it is different from the last applied one and @@ -536,6 +540,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP private final Point mTmpPoint = new Point(); /** + * If a window is on a display which has been re-parented to a view in another window, + * use this offset to indicate the correct location. + */ + private final Point mLastReportedDisplayOffset = new Point(); + + /** * Whether the window was resized by us while it was gone for layout. */ boolean mResizedWhileGone = false; @@ -1777,11 +1787,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP startMoveAnimation(left, top); } - //TODO (multidisplay): Accessibility supported only for the default display. - if (mWmService.mAccessibilityController != null - && getDisplayContent().getDisplayId() == DEFAULT_DISPLAY) { + // TODO (multidisplay): Accessibility supported only for the default display and + // embedded displays + if (mWmService.mAccessibilityController != null && (getDisplayId() == DEFAULT_DISPLAY + || getDisplayContent().getParentWindow() != null)) { mWmService.mAccessibilityController.onSomeWindowResizedOrMovedLocked(); } + updateLocationInParentDisplayIfNeeded(); try { mClient.moved(left, top); @@ -3143,11 +3155,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP displayCutout); } - //TODO (multidisplay): Accessibility supported only for the default display. + // TODO (multidisplay): Accessibility supported only for the default display and + // embedded displays if (mWmService.mAccessibilityController != null && (getDisplayId() == DEFAULT_DISPLAY || getDisplayContent().getParentWindow() != null)) { mWmService.mAccessibilityController.onSomeWindowResizedOrMovedLocked(); } + updateLocationInParentDisplayIfNeeded(); mWindowFrames.resetInsetsChanged(); mWinAnimator.mSurfaceResized = false; @@ -3165,6 +3179,36 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } + void updateLocationInParentDisplayIfNeeded() { + final int embeddedDisplayContentsSize = mEmbeddedDisplayContents.size(); + // If there is any embedded display which is re-parented to this window, we need to + // notify all windows in the embedded display about the location change. + if (embeddedDisplayContentsSize != 0) { + for (int i = embeddedDisplayContentsSize - 1; i >= 0; i--) { + final DisplayContent edc = mEmbeddedDisplayContents.valueAt(i); + edc.notifyLocationInParentDisplayChanged(); + } + } + // If this window is in a embedded display which is re-parented to another window, + // we may need to update its correct on-screen location. + final DisplayContent dc = getDisplayContent(); + if (dc.getParentWindow() == null) { + return; + } + + final Point offset = dc.getLocationInParentDisplay(); + if (mLastReportedDisplayOffset.equals(offset)) { + return; + } + + mLastReportedDisplayOffset.set(offset.x, offset.y); + try { + mClient.locationInParentDisplayChanged(mLastReportedDisplayOffset); + } catch (RemoteException e) { + Slog.e(TAG, "Failed to update offset from DisplayContent", e); + } + } + /** * Called when the insets state changed. */ @@ -3584,6 +3628,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } pw.println(prefix + "isOnScreen=" + isOnScreen()); pw.println(prefix + "isVisible=" + isVisible()); + pw.println(prefix + "mEmbeddedDisplayContents=" + mEmbeddedDisplayContents); } @Override @@ -4209,7 +4254,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP return; } - //TODO (multidisplay): Accessibility is supported only for the default display. + // TODO (multidisplay): Accessibility supported only for the default display and + // embedded displays if (mWmService.mAccessibilityController != null && (getDisplayId() == DEFAULT_DISPLAY || getDisplayContent().getParentWindow() != null)) { mWmService.mAccessibilityController.onSomeWindowResizedOrMovedLocked(); @@ -4581,6 +4627,28 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } /** + * Add the DisplayContent of the embedded display which is re-parented to this window to + * the list of embedded displays. + * + * @param dc DisplayContent of the re-parented embedded display. + * @return {@code true} if the giving DisplayContent is added, {@code false} otherwise. + */ + boolean addEmbeddedDisplayContent(DisplayContent dc) { + return mEmbeddedDisplayContents.add(dc); + } + + /** + * Remove the DisplayContent of the embedded display which is re-parented to this window from + * the list of embedded displays. + * + * @param dc DisplayContent of the re-parented embedded display. + * @return {@code true} if the giving DisplayContent is removed, {@code false} otherwise. + */ + boolean removeEmbeddedDisplayContent(DisplayContent dc) { + return mEmbeddedDisplayContents.remove(dc); + } + + /** * Updates the last inset values to the current ones. */ void updateLastInsetValues() { @@ -5002,6 +5070,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP tempRegion.recycle(); } + boolean hasTapExcludeRegion() { + return mTapExcludeRegionHolder != null && !mTapExcludeRegionHolder.isEmpty(); + } + @Override public boolean isInputMethodTarget() { return getDisplayContent().mInputMethodTarget == this; diff --git a/services/tests/wmtests/AndroidManifest.xml b/services/tests/wmtests/AndroidManifest.xml index 5136705ffbc2..4c27a3ce0bf3 100644 --- a/services/tests/wmtests/AndroidManifest.xml +++ b/services/tests/wmtests/AndroidManifest.xml @@ -49,6 +49,9 @@ <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityRequestedOrientationChange" /> <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityTaskChangeCallbacks" /> <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityTaskDescriptionChange" /> + <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityViewTestActivity" /> + <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityInActivityView" + android:resizeableActivity="true" /> <activity android:name="com.android.server.wm.ScreenDecorWindowTests$TestActivity" android:showWhenLocked="true" /> </application> diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java index 62247d889485..19fd93fee5f0 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java @@ -16,6 +16,8 @@ package com.android.server.wm; +import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; + import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation; import static org.junit.Assert.assertEquals; @@ -26,18 +28,22 @@ import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.TaskDescription; import android.app.ActivityTaskManager; +import android.app.ActivityView; import android.app.IActivityManager; import android.app.ITaskStackListener; +import android.app.Instrumentation; import android.app.Instrumentation.ActivityMonitor; import android.app.TaskStackListener; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; +import android.os.Bundle; import android.os.RemoteException; import android.platform.test.annotations.Presubmit; import android.support.test.uiautomator.UiDevice; import android.text.TextUtils; +import android.view.ViewGroup; import androidx.test.filters.FlakyTest; import androidx.test.filters.MediumTest; @@ -231,6 +237,40 @@ public class TaskStackChangedListenerTest { assertTrue(activity.mOnDetachedFromWindowCalled); } + @Test + public void testTaskOnSingleTaskDisplayDrawn() throws Exception { + final Instrumentation instrumentation = getInstrumentation(); + + final CountDownLatch activityViewReadyLatch = new CountDownLatch(1); + final CountDownLatch singleTaskDisplayDrawnLatch = new CountDownLatch(1); + registerTaskStackChangedListener(new TaskStackListener() { + @Override + public void onSingleTaskDisplayDrawn(int displayId) throws RemoteException { + singleTaskDisplayDrawnLatch.countDown(); + } + }); + final ActivityViewTestActivity activity = + (ActivityViewTestActivity) startTestActivity(ActivityViewTestActivity.class); + final ActivityView activityView = activity.getActivityView(); + activityView.setCallback(new ActivityView.StateCallback() { + @Override + public void onActivityViewReady(ActivityView view) { + activityViewReadyLatch.countDown(); + } + + @Override + public void onActivityViewDestroyed(ActivityView view) { + } + }); + waitForCallback(activityViewReadyLatch); + + final Context context = instrumentation.getContext(); + Intent intent = new Intent(context, ActivityInActivityView.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); + activityView.startActivity(intent); + waitForCallback(singleTaskDisplayDrawnLatch); + } + /** * Starts the provided activity and returns the started instance. */ @@ -369,4 +409,29 @@ public class TaskStackChangedListenerTest { mOnDetachedFromWindowCountDownLatch = countDownLatch; } } + + public static class ActivityViewTestActivity extends TestActivity { + private ActivityView mActivityView; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mActivityView = new ActivityView(this, null /* attrs */, 0 /* defStyle */, + true /* singleTaskInstance */); + setContentView(mActivityView); + + ViewGroup.LayoutParams layoutParams = mActivityView.getLayoutParams(); + layoutParams.width = MATCH_PARENT; + layoutParams.height = MATCH_PARENT; + mActivityView.requestLayout(); + } + + ActivityView getActivityView() { + return mActivityView; + } + } + + // Activity that has {@link android.R.attr#resizeableActivity} attribute set to {@code true} + public static class ActivityInActivityView extends TestActivity {} } diff --git a/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java b/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java index 83aa620b9573..a7586810a824 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestIWindow.java @@ -16,6 +16,7 @@ package com.android.server.wm; +import android.graphics.Point; import android.graphics.Rect; import android.os.Bundle; import android.os.ParcelFileDescriptor; @@ -43,6 +44,10 @@ public class TestIWindow extends IWindow.Stub { } @Override + public void locationInParentDisplayChanged(Point offset) throws RemoteException { + } + + @Override public void insetsChanged(InsetsState insetsState) throws RemoteException { } |