Merge "Change Rounded corner overlay to be in Overlay layer" into tm-dev
diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/BroadcastWaiter.java b/apct-tests/perftests/multiuser/src/android/multiuser/BroadcastWaiter.java
new file mode 100644
index 0000000..7ed97fb
--- /dev/null
+++ b/apct-tests/perftests/multiuser/src/android/multiuser/BroadcastWaiter.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.multiuser;
+
+import static java.util.concurrent.TimeUnit.SECONDS;
+
+import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.text.TextUtils;
+import android.util.Log;
+
+import java.io.Closeable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Semaphore;
+
+public class BroadcastWaiter implements Closeable {
+ private final Context mContext;
+ private final String mTag;
+ private final int mTimeoutInSecond;
+ private final Set<String> mActions;
+
+ private final Set<String> mActionReceivedForUser = new HashSet<>();
+ private final List<BroadcastReceiver> mBroadcastReceivers = new ArrayList<>();
+
+ private final Map<String, Semaphore> mSemaphoresMap = new ConcurrentHashMap<>();
+ private Semaphore getSemaphore(final String action, final int userId) {
+ final String key = action + userId;
+ return mSemaphoresMap.computeIfAbsent(key, (String absentKey) -> new Semaphore(0));
+ }
+
+ public BroadcastWaiter(Context context, String tag, int timeoutInSecond, String... actions) {
+ mContext = context;
+ mTag = tag + "_" + BroadcastWaiter.class.getSimpleName();
+ mTimeoutInSecond = timeoutInSecond;
+
+ mActions = new HashSet<>(Arrays.asList(actions));
+ mActions.forEach(this::registerBroadcastReceiver);
+ }
+
+ private void registerBroadcastReceiver(String action) {
+ Log.d(mTag, "#registerBroadcastReceiver for " + action);
+
+ final IntentFilter filter = new IntentFilter(action);
+ if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
+ filter.addDataScheme(ContentResolver.SCHEME_FILE);
+ }
+
+ final BroadcastReceiver receiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (action.equals(intent.getAction())) {
+ final int userId = getSendingUserId();
+ final String data = intent.getDataString();
+ Log.d(mTag, "Received " + action + " for user " + userId
+ + (!TextUtils.isEmpty(data) ? " with " + data : ""));
+ mActionReceivedForUser.add(action + userId);
+ getSemaphore(action, userId).release();
+ }
+ }
+ };
+
+ mContext.registerReceiverForAllUsers(receiver, filter, null, null);
+ mBroadcastReceivers.add(receiver);
+ }
+
+ @Override
+ public void close() {
+ mBroadcastReceivers.forEach(mContext::unregisterReceiver);
+ }
+
+ public boolean hasActionBeenReceivedForUser(String action, int userId) {
+ return mActionReceivedForUser.contains(action + userId);
+ }
+
+ public boolean waitActionForUser(String action, int userId) {
+ Log.d(mTag, "#waitActionForUser(action: " + action + ", userId: " + userId + ")");
+
+ if (!mActions.contains(action)) {
+ Log.d(mTag, "No broadcast receivers registered for " + action);
+ return false;
+ }
+
+ try {
+ if (!getSemaphore(action, userId).tryAcquire(1, mTimeoutInSecond, SECONDS)) {
+ Log.e(mTag, action + " broadcast wasn't received for user " + userId);
+ return false;
+ }
+ } catch (InterruptedException e) {
+ Log.e(mTag, "Interrupted while waiting " + action + " for user " + userId);
+ return false;
+ }
+ return true;
+ }
+
+ public boolean waitActionForUserIfNotReceivedYet(String action, int userId) {
+ return hasActionBeenReceivedForUser(action, userId)
+ || waitActionForUser(action, userId);
+ }
+}
diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
index b6f2152..a44d939 100644
--- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
+++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
@@ -26,7 +26,6 @@
import android.app.UserSwitchObserver;
import android.app.WaitResult;
import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
import android.content.Context;
import android.content.IIntentReceiver;
import android.content.IIntentSender;
@@ -115,6 +114,7 @@
private PackageManager mPm;
private ArrayList<Integer> mUsersToRemove;
private boolean mHasManagedUserFeature;
+ private BroadcastWaiter mBroadcastWaiter;
private final BenchmarkRunner mRunner = new BenchmarkRunner();
@Rule
@@ -129,6 +129,10 @@
mUsersToRemove = new ArrayList<>();
mPm = context.getPackageManager();
mHasManagedUserFeature = mPm.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS);
+ mBroadcastWaiter = new BroadcastWaiter(context, TAG, TIMEOUT_IN_SECOND,
+ Intent.ACTION_USER_STARTED,
+ Intent.ACTION_MEDIA_MOUNTED,
+ Intent.ACTION_USER_UNLOCKED);
removeAnyPreviousTestUsers();
if (mAm.getCurrentUser() != UserHandle.USER_SYSTEM) {
Log.w(TAG, "WARNING: Tests are being run from user " + mAm.getCurrentUser()
@@ -138,6 +142,7 @@
@After
public void tearDown() {
+ mBroadcastWaiter.close();
for (int userId : mUsersToRemove) {
try {
mUm.removeUser(userId);
@@ -168,12 +173,10 @@
Log.i(TAG, "Starting timer");
final int userId = createUserNoFlags();
- final CountDownLatch latch = new CountDownLatch(1);
- registerBroadcastReceiver(Intent.ACTION_USER_STARTED, latch, userId);
// Don't use this.startUserInBackgroundAndWaitForUnlock() since only waiting until
// ACTION_USER_STARTED.
mIam.startUserInBackground(userId);
- waitForLatch("Failed to achieve ACTION_USER_STARTED for user " + userId, latch);
+ waitForBroadcast(Intent.ACTION_USER_STARTED, userId);
mRunner.pauseTiming();
Log.i(TAG, "Stopping timer");
@@ -191,13 +194,11 @@
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createUserNoFlags();
- final CountDownLatch latch = new CountDownLatch(1);
- registerBroadcastReceiver(Intent.ACTION_USER_STARTED, latch, userId);
mRunner.resumeTiming();
Log.i(TAG, "Starting timer");
mIam.startUserInBackground(userId);
- waitForLatch("Failed to achieve ACTION_USER_STARTED for user " + userId, latch);
+ waitForBroadcast(Intent.ACTION_USER_STARTED, userId);
mRunner.pauseTiming();
Log.i(TAG, "Stopping timer");
@@ -255,14 +256,11 @@
mRunner.pauseTiming();
final int startUser = mAm.getCurrentUser();
final int testUser = initializeNewUserAndSwitchBack(/* stopNewUser */ true);
- final CountDownLatch latch = new CountDownLatch(1);
- registerBroadcastReceiver(Intent.ACTION_USER_UNLOCKED, latch, testUser);
mRunner.resumeTiming();
Log.i(TAG, "Starting timer");
mAm.switchUser(testUser);
- waitForLatch("Failed to achieve 2nd ACTION_USER_UNLOCKED for user " + testUser, latch);
-
+ waitForBroadcast(Intent.ACTION_USER_UNLOCKED, testUser);
mRunner.pauseTiming();
Log.i(TAG, "Stopping timer");
@@ -298,13 +296,11 @@
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createUserNoFlags();
- final CountDownLatch latch1 = new CountDownLatch(1);
- final CountDownLatch latch2 = new CountDownLatch(1);
- registerBroadcastReceiver(Intent.ACTION_USER_STARTED, latch1, userId);
- registerMediaBroadcastReceiver(latch2, userId);
mIam.startUserInBackground(userId);
- waitForLatch("Failed to achieve ACTION_USER_STARTED for user " + userId, latch1);
- waitForLatch("Failed to achieve ACTION_MEDIA_MOUNTED for user " + userId, latch2);
+
+ waitForBroadcast(Intent.ACTION_USER_STARTED, userId);
+ waitForBroadcast(Intent.ACTION_MEDIA_MOUNTED, userId);
+
mRunner.resumeTiming();
Log.i(TAG, "Starting timer");
@@ -347,10 +343,9 @@
mRunner.pauseTiming();
final int startUser = mAm.getCurrentUser();
final int userId = createUserWithFlags(UserInfo.FLAG_EPHEMERAL | UserInfo.FLAG_DEMO);
- final CountDownLatch prelatch = new CountDownLatch(1);
- registerMediaBroadcastReceiver(prelatch, userId);
switchUser(userId);
- waitForLatch("Failed to achieve ACTION_MEDIA_MOUNTED for user " + userId, prelatch);
+ waitForBroadcast(Intent.ACTION_MEDIA_MOUNTED, userId);
+
final CountDownLatch latch = new CountDownLatch(1);
InstrumentationRegistry.getContext().registerReceiver(new BroadcastReceiver() {
@Override
@@ -552,10 +547,9 @@
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();
- final CountDownLatch prelatch = new CountDownLatch(1);
- registerMediaBroadcastReceiver(prelatch, userId);
startUserInBackgroundAndWaitForUnlock(userId);
- waitForLatch("Failed to achieve ACTION_MEDIA_MOUNTED for user " + userId, prelatch);
+ waitForBroadcast(Intent.ACTION_MEDIA_MOUNTED, userId);
+
mRunner.resumeTiming();
Log.i(TAG, "Starting timer");
@@ -710,13 +704,9 @@
final int origUser = mAm.getCurrentUser();
// First, create and switch to testUser, waiting for its ACTION_USER_UNLOCKED
final int testUser = createUserNoFlags();
- final CountDownLatch latch1 = new CountDownLatch(1);
- final CountDownLatch latch2 = new CountDownLatch(1);
- registerBroadcastReceiver(Intent.ACTION_USER_UNLOCKED, latch1, testUser);
- registerMediaBroadcastReceiver(latch2, testUser);
mAm.switchUser(testUser);
- waitForLatch("Failed to achieve initial ACTION_USER_UNLOCKED for user " + testUser, latch1);
- waitForLatch("Failed to achieve initial ACTION_MEDIA_MOUNTED for user " + testUser, latch2);
+ waitForBroadcast(Intent.ACTION_USER_UNLOCKED, testUser);
+ waitForBroadcast(Intent.ACTION_MEDIA_MOUNTED, testUser);
// Second, switch back to origUser, waiting merely for switchUser() to finish
switchUser(origUser);
@@ -786,50 +776,6 @@
}, TAG);
}
- private void registerBroadcastReceiver(final String action, final CountDownLatch latch,
- final int userId) {
- InstrumentationRegistry.getContext().registerReceiverAsUser(new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (action.equals(intent.getAction()) && intent.getIntExtra(
- Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL) == userId) {
- latch.countDown();
- }
- }
- }, UserHandle.of(userId), new IntentFilter(action), null, null);
- }
-
- /**
- * Register for a broadcast to indicate that Storage has processed the given user.
- * Without this as part of setup, for tests dealing with already-switched users, Storage may not
- * have finished, making the resulting processing inconsistent.
- *
- * Strictly speaking, the receiver should always be unregistered afterwards, but we don't
- * necessarily bother since receivers from failed tests will be removed on test uninstallation.
- */
- private void registerMediaBroadcastReceiver(final CountDownLatch latch, final int userId) {
- final String action = Intent.ACTION_MEDIA_MOUNTED;
-
- final IntentFilter filter = new IntentFilter();
- filter.addAction(action);
- filter.addDataScheme(ContentResolver.SCHEME_FILE);
-
- final Context context = InstrumentationRegistry.getContext();
- context.registerReceiverAsUser(new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- final String data = intent.getDataString();
- if (action.equals(intent.getAction())) {
- Log.d(TAG, "Received ACTION_MEDIA_MOUNTED with " + data);
- if (data != null && data.contains("/" + userId)) {
- latch.countDown();
- context.unregisterReceiver(this);
- }
- }
- }
- }, UserHandle.of(userId), filter, null, null);
- }
-
private class ProgressWaiter extends IProgressListener.Stub {
private final CountDownLatch mFinishedLatch = new CountDownLatch(1);
@@ -854,6 +800,17 @@
}
}
+ /**
+ * Waits TIMEOUT_IN_SECOND for the broadcast to be received, otherwise declares the given error.
+ * It only works for the broadcasts provided in {@link #mBroadcastWaiter}'s instantiation above.
+ * @param action action of the broadcast, i.e. {@link Intent#ACTION_USER_STARTED}
+ * @param userId sendingUserId of the broadcast. See {@link BroadcastReceiver#getSendingUserId}
+ */
+ private void waitForBroadcast(String action, int userId) {
+ attestTrue("Failed to achieve " + action + " for user " + userId,
+ mBroadcastWaiter.waitActionForUser(action, userId));
+ }
+
/** Waits TIMEOUT_IN_SECOND for the latch to complete, otherwise declares the given error. */
private void waitForLatch(String errMsg, CountDownLatch latch) {
boolean success = false;
@@ -880,6 +837,9 @@
}
private void removeUser(int userId) {
+ if (mBroadcastWaiter.hasActionBeenReceivedForUser(Intent.ACTION_USER_STARTED, userId)) {
+ mBroadcastWaiter.waitActionForUserIfNotReceivedYet(Intent.ACTION_MEDIA_MOUNTED, userId);
+ }
try {
mUm.removeUser(userId);
final long startTime = System.currentTimeMillis();
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index 48277fb..1796c7b 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -96,6 +96,12 @@
package android.animation {
+ public abstract class Animator implements java.lang.Cloneable {
+ method public static long getBackgroundPauseDelay();
+ method public static void setAnimatorPausingEnabled(boolean);
+ method public static void setBackgroundPauseDelay(long);
+ }
+
public class ValueAnimator extends android.animation.Animator {
method @MainThread public static void setDurationScale(@FloatRange(from=0) float);
}
diff --git a/core/java/android/animation/AnimationHandler.java b/core/java/android/animation/AnimationHandler.java
index 260323f..7e814af 100644
--- a/core/java/android/animation/AnimationHandler.java
+++ b/core/java/android/animation/AnimationHandler.java
@@ -17,7 +17,10 @@
package android.animation;
import android.os.SystemClock;
+import android.os.SystemProperties;
import android.util.ArrayMap;
+import android.util.ArraySet;
+import android.util.Log;
import android.view.Choreographer;
import java.util.ArrayList;
@@ -35,10 +38,13 @@
* @hide
*/
public class AnimationHandler {
+
+ private static final String TAG = "AnimationHandler";
+ private static final boolean LOCAL_LOGV = false;
+
/**
* Internal per-thread collections used to avoid set collisions as animations start and end
* while being processed.
- * @hide
*/
private final ArrayMap<AnimationFrameCallback, Long> mDelayedCallbackStartTime =
new ArrayMap<>();
@@ -48,6 +54,32 @@
new ArrayList<>();
private AnimationFrameCallbackProvider mProvider;
+ // Static flag which allows the pausing behavior to be globally disabled/enabled.
+ private static boolean sAnimatorPausingEnabled = isPauseBgAnimationsEnabledInSystemProperties();
+
+ // Static flag which prevents the system property from overriding sAnimatorPausingEnabled field.
+ private static boolean sOverrideAnimatorPausingSystemProperty = false;
+
+ /**
+ * This paused list is used to store animators forcibly paused when the activity
+ * went into the background (to avoid unnecessary background processing work).
+ * These animators should be resume()'d when the activity returns to the foreground.
+ */
+ private final ArrayList<Animator> mPausedAnimators = new ArrayList<>();
+
+ /**
+ * This structure is used to store the currently active objects (ViewRootImpls or
+ * WallpaperService.Engines) in the process. Each of these objects sends a request to
+ * AnimationHandler when it goes into the background (request to pause) or foreground
+ * (request to resume). Because all animators are managed by AnimationHandler on the same
+ * thread, it should only ever pause animators when *all* requestors are in the background.
+ * This list tracks the background/foreground state of all requestors and only ever
+ * pauses animators when all items are in the background (false). To simplify, we only ever
+ * store visible (foreground) requestors; if the set size reaches zero, there are no
+ * objects in the foreground and it is time to pause animators.
+ */
+ private final ArraySet<Object> mAnimatorRequestors = new ArraySet<>();
+
private final Choreographer.FrameCallback mFrameCallback = new Choreographer.FrameCallback() {
@Override
public void doFrame(long frameTimeNanos) {
@@ -69,6 +101,135 @@
}
/**
+ * System property that controls the behavior of pausing infinite animators when an app
+ * is moved to the background.
+ *
+ * @return the value of 'framework.pause_bg_animations.enabled' system property
+ */
+ private static boolean isPauseBgAnimationsEnabledInSystemProperties() {
+ if (sOverrideAnimatorPausingSystemProperty) return sAnimatorPausingEnabled;
+ return SystemProperties
+ .getBoolean("framework.pause_bg_animations.enabled", true);
+ }
+
+ /**
+ * Disable the default behavior of pausing infinite animators when
+ * apps go into the background.
+ *
+ * @param enable Enable (default behavior) or disable background pausing behavior.
+ */
+ public static void setAnimatorPausingEnabled(boolean enable) {
+ sAnimatorPausingEnabled = enable;
+ }
+
+ /**
+ * Prevents the setAnimatorPausingEnabled behavior from being overridden
+ * by the 'framework.pause_bg_animations.enabled' system property value.
+ *
+ * This is for testing purposes only.
+ *
+ * @param enable Enable or disable (default behavior) overriding the system
+ * property.
+ */
+ public static void setOverrideAnimatorPausingSystemProperty(boolean enable) {
+ sOverrideAnimatorPausingSystemProperty = enable;
+ }
+
+ /**
+ * This is called when a window goes away. We should remove
+ * it from the requestors list to ensure that we are counting requests correctly and not
+ * tracking obsolete+enabled requestors.
+ */
+ public static void removeRequestor(Object requestor) {
+ getInstance().removeRequestorImpl(requestor);
+ }
+
+ private void removeRequestorImpl(Object requestor) {
+ // Also request disablement, in case that requestor was the sole object keeping
+ // animators un-paused
+ requestAnimatorsEnabled(false, requestor);
+ mAnimatorRequestors.remove(requestor);
+ if (LOCAL_LOGV) {
+ Log.v(TAG, "removeRequestorImpl for " + requestor);
+ for (int i = 0; i < mAnimatorRequestors.size(); ++i) {
+ Log.v(TAG, "animatorRequesters " + i + " = " + mAnimatorRequestors.valueAt(i));
+ }
+ }
+ }
+
+ /**
+ * This method is called from ViewRootImpl or WallpaperService when either a window is no
+ * longer visible (enable == false) or when a window becomes visible (enable == true).
+ * If animators are not properly disabled when activities are backgrounded, it can lead to
+ * unnecessary processing, particularly for infinite animators, as the system will continue
+ * to pulse timing events even though the results are not visible. As a workaround, we
+ * pause all un-paused infinite animators, and resume them when any window in the process
+ * becomes visible.
+ */
+ public static void requestAnimatorsEnabled(boolean enable, Object requestor) {
+ getInstance().requestAnimatorsEnabledImpl(enable, requestor);
+ }
+
+ private void requestAnimatorsEnabledImpl(boolean enable, Object requestor) {
+ boolean wasEmpty = mAnimatorRequestors.isEmpty();
+ setAnimatorPausingEnabled(isPauseBgAnimationsEnabledInSystemProperties());
+ if (enable) {
+ mAnimatorRequestors.add(requestor);
+ } else {
+ mAnimatorRequestors.remove(requestor);
+ }
+ if (!sAnimatorPausingEnabled) {
+ // Resume any animators that have been paused in the meantime, otherwise noop
+ // Leave logic above so that if pausing gets re-enabled, the state of the requestors
+ // list is valid
+ resumeAnimators();
+ return;
+ }
+ boolean isEmpty = mAnimatorRequestors.isEmpty();
+ if (wasEmpty != isEmpty) {
+ // only paused/resume animators if there was a visibility change
+ if (!isEmpty) {
+ // If any requestors are enabled, resume currently paused animators
+ resumeAnimators();
+ } else {
+ // Wait before pausing to avoid thrashing animator state for temporary backgrounding
+ Choreographer.getInstance().postFrameCallbackDelayed(mPauser,
+ Animator.getBackgroundPauseDelay());
+ }
+ }
+ if (LOCAL_LOGV) {
+ Log.v(TAG, enable ? "enable" : "disable" + " animators for " + requestor);
+ for (int i = 0; i < mAnimatorRequestors.size(); ++i) {
+ Log.v(TAG, "animatorRequesters " + i + " = " + mAnimatorRequestors.valueAt(i));
+ }
+ }
+ }
+
+ private void resumeAnimators() {
+ Choreographer.getInstance().removeFrameCallback(mPauser);
+ for (int i = mPausedAnimators.size() - 1; i >= 0; --i) {
+ mPausedAnimators.get(i).resume();
+ }
+ mPausedAnimators.clear();
+ }
+
+ private Choreographer.FrameCallback mPauser = frameTimeNanos -> {
+ if (mAnimatorRequestors.size() > 0) {
+ // something enabled animators since this callback was scheduled - bail
+ return;
+ }
+ for (int i = 0; i < mAnimationCallbacks.size(); ++i) {
+ Animator animator = ((Animator) mAnimationCallbacks.get(i));
+ if (animator != null
+ && animator.getTotalDuration() == Animator.DURATION_INFINITE
+ && !animator.isPaused()) {
+ mPausedAnimators.add(animator);
+ animator.pause();
+ }
+ }
+ };
+
+ /**
* By default, the Choreographer is used to provide timing for frame callbacks. A custom
* provider can be used here to provide different timing pulse.
*/
diff --git a/core/java/android/animation/Animator.java b/core/java/android/animation/Animator.java
index a8ff36a..a9d14df 100644
--- a/core/java/android/animation/Animator.java
+++ b/core/java/android/animation/Animator.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.pm.ActivityInfo.Config;
import android.content.res.ConstantState;
@@ -64,6 +65,49 @@
private AnimatorConstantState mConstantState;
/**
+ * backing field for backgroundPauseDelay property. This could be simply a hardcoded
+ * value in AnimationHandler, but it is useful to be able to change the value in tests.
+ */
+ private static long sBackgroundPauseDelay = 10000;
+
+ /**
+ * Sets the duration for delaying pausing animators when apps go into the background.
+ * Used by AnimationHandler when requested to pause animators.
+ *
+ * @hide
+ */
+ @TestApi
+ public static void setBackgroundPauseDelay(long value) {
+ sBackgroundPauseDelay = value;
+ }
+
+ /**
+ * Gets the duration for delaying pausing animators when apps go into the background.
+ * Used by AnimationHandler when requested to pause animators.
+ *
+ * @hide
+ */
+ @TestApi
+ public static long getBackgroundPauseDelay() {
+ return sBackgroundPauseDelay;
+ }
+
+ /**
+ * Sets the behavior of animator pausing when apps go into the background.
+ * This is exposed as a test API for verification, but is intended for use by internal/
+ * platform code, potentially for use by a system property that could disable it
+ * system wide.
+ *
+ * @param enable Enable (default behavior) or disable background pausing behavior.
+ * @hide
+ */
+ @TestApi
+ public static void setAnimatorPausingEnabled(boolean enable) {
+ AnimationHandler.setAnimatorPausingEnabled(enable);
+ AnimationHandler.setOverrideAnimatorPausingSystemProperty(!enable);
+ }
+
+ /**
* Starts this animation. If the animation has a nonzero startDelay, the animation will start
* running after that delay elapses. A non-delayed animation will have its initial
* value(s) set immediately, followed by calls to
diff --git a/core/java/android/app/ApplicationExitInfo.java b/core/java/android/app/ApplicationExitInfo.java
index 9bdddd0..a8d8c75 100644
--- a/core/java/android/app/ApplicationExitInfo.java
+++ b/core/java/android/app/ApplicationExitInfo.java
@@ -524,6 +524,13 @@
*/
private boolean mLoggedInStatsd;
+ /**
+ * Whether or not this process hosts one or more foreground services.
+ *
+ * for system internal use only, will not retain across processes.
+ */
+ private boolean mHasForegroundServices;
+
/** @hide */
@IntDef(prefix = { "REASON_" }, value = {
REASON_UNKNOWN,
@@ -996,6 +1003,24 @@
mLoggedInStatsd = loggedInStatsd;
}
+ /**
+ * @see #mHasForegroundServices
+ *
+ * @hide
+ */
+ public boolean hasForegroundServices() {
+ return mHasForegroundServices;
+ }
+
+ /**
+ * @see #mHasForegroundServices
+ *
+ * @hide
+ */
+ public void setHasForegroundServices(boolean hasForegroundServices) {
+ mHasForegroundServices = hasForegroundServices;
+ }
+
@Override
public int describeContents() {
return 0;
@@ -1060,6 +1085,8 @@
mTraceFile = other.mTraceFile;
mAppTraceRetriever = other.mAppTraceRetriever;
mNativeTombstoneRetriever = other.mNativeTombstoneRetriever;
+ mLoggedInStatsd = other.mLoggedInStatsd;
+ mHasForegroundServices = other.mHasForegroundServices;
}
private ApplicationExitInfo(@NonNull Parcel in) {
diff --git a/core/java/android/app/ProcessMemoryState.java b/core/java/android/app/ProcessMemoryState.java
index 24914a6..2c58603 100644
--- a/core/java/android/app/ProcessMemoryState.java
+++ b/core/java/android/app/ProcessMemoryState.java
@@ -28,12 +28,15 @@
public final int pid;
public final String processName;
public final int oomScore;
+ public final boolean hasForegroundServices;
- public ProcessMemoryState(int uid, int pid, String processName, int oomScore) {
+ public ProcessMemoryState(int uid, int pid, String processName, int oomScore,
+ boolean hasForegroundServices) {
this.uid = uid;
this.pid = pid;
this.processName = processName;
this.oomScore = oomScore;
+ this.hasForegroundServices = hasForegroundServices;
}
private ProcessMemoryState(Parcel in) {
@@ -41,6 +44,7 @@
pid = in.readInt();
processName = in.readString();
oomScore = in.readInt();
+ hasForegroundServices = in.readInt() == 1;
}
public static final @android.annotation.NonNull Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() {
@@ -66,5 +70,6 @@
parcel.writeInt(pid);
parcel.writeString(processName);
parcel.writeInt(oomScore);
+ parcel.writeInt(hasForegroundServices ? 1 : 0);
}
}
diff --git a/core/java/android/app/PropertyInvalidatedCache.java b/core/java/android/app/PropertyInvalidatedCache.java
index b49e571..58ddd49 100644
--- a/core/java/android/app/PropertyInvalidatedCache.java
+++ b/core/java/android/app/PropertyInvalidatedCache.java
@@ -33,6 +33,7 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
@@ -1444,7 +1445,6 @@
mCache.size(), mMaxEntries, mHighWaterMark, mMissOverflow));
pw.println(TextUtils.formatSimple(" Enabled: %s", mDisabled ? "false" : "true"));
pw.println("");
- pw.flush();
// No specific cache was requested. This is the default, and no details
// should be dumped.
@@ -1463,7 +1463,6 @@
pw.println(TextUtils.formatSimple(" Key: %s\n Value: %s\n", key, value));
}
- pw.flush();
}
}
@@ -1488,34 +1487,54 @@
* provided ParcelFileDescriptor. Optional switches allow the caller to choose
* specific caches (selection is by cache name or property name); if these switches
* are used then the output includes both cache statistics and cache entries.
+ */
+ private static void dumpCacheInfo(@NonNull PrintWriter pw, @NonNull String[] args) {
+ if (!sEnabled) {
+ pw.println(" Caching is disabled in this process.");
+ return;
+ }
+
+ // See if detailed is requested for any cache. If there is a specific detailed request,
+ // then only that cache is reported.
+ boolean detail = anyDetailed(args);
+
+ ArrayList<PropertyInvalidatedCache> activeCaches;
+ synchronized (sCorkLock) {
+ activeCaches = getActiveCaches();
+ if (!detail) {
+ dumpCorkInfo(pw);
+ }
+ }
+
+ for (int i = 0; i < activeCaches.size(); i++) {
+ PropertyInvalidatedCache currentCache = activeCaches.get(i);
+ currentCache.dumpContents(pw, detail, args);
+ }
+ }
+
+ /**
+ * Without arguments, this dumps statistics from every cache in the process to the
+ * provided ParcelFileDescriptor. Optional switches allow the caller to choose
+ * specific caches (selection is by cache name or property name); if these switches
+ * are used then the output includes both cache statistics and cache entries.
* @hide
*/
public static void dumpCacheInfo(@NonNull ParcelFileDescriptor pfd, @NonNull String[] args) {
- try (
- FileOutputStream fout = new FileOutputStream(pfd.getFileDescriptor());
- PrintWriter pw = new FastPrintWriter(fout);
- ) {
- if (!sEnabled) {
- pw.println(" Caching is disabled in this process.");
- return;
- }
+ // Create a PrintWriter that uses a byte array. The code can safely write to
+ // this array without fear of blocking. The completed byte array will be sent
+ // to the caller after all the data has been collected and all locks have been
+ // released.
+ ByteArrayOutputStream barray = new ByteArrayOutputStream();
+ PrintWriter bout = new PrintWriter(barray);
+ dumpCacheInfo(bout, args);
+ bout.close();
- // See if detailed is requested for any cache. If there is a specific detailed request,
- // then only that cache is reported.
- boolean detail = anyDetailed(args);
-
- ArrayList<PropertyInvalidatedCache> activeCaches;
- synchronized (sCorkLock) {
- activeCaches = getActiveCaches();
- if (!detail) {
- dumpCorkInfo(pw);
- }
- }
-
- for (int i = 0; i < activeCaches.size(); i++) {
- PropertyInvalidatedCache currentCache = activeCaches.get(i);
- currentCache.dumpContents(pw, detail, args);
- }
+ try {
+ // Send the final byte array to the output. This happens outside of all locks.
+ var out = new FileOutputStream(pfd.getFileDescriptor());
+ barray.writeTo(out);
+ out.close();
+ barray.close();
} catch (IOException e) {
Log.e(TAG, "Failed to dump PropertyInvalidatedCache instances");
}
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index d598017..1e22856 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -27,6 +27,7 @@
import static android.view.ViewRootImpl.LOCAL_LAYOUT;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
+import android.animation.AnimationHandler;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
@@ -1516,6 +1517,8 @@
mVisible = visible;
reportVisibility();
if (mReportedVisible) processLocalColors(mPendingXOffset, mPendingXOffsetStep);
+ } else {
+ AnimationHandler.requestAnimatorsEnabled(visible, this);
}
}
@@ -1544,6 +1547,7 @@
if (DEBUG) Log.v(TAG, "Freezing wallpaper after visibility update");
freeze();
}
+ AnimationHandler.requestAnimatorsEnabled(visible, this);
}
}
}
@@ -2072,6 +2076,8 @@
return;
}
+ AnimationHandler.removeRequestor(this);
+
mDestroyed = true;
if (mIWallpaperEngine.mDisplayManager != null) {
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 127c7b7..ad3379f 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -90,6 +90,7 @@
import static android.view.inputmethod.InputMethodEditorTraceProto.InputMethodClientsTraceProto.ClientSideProto.INSETS_CONTROLLER;
import android.Manifest;
+import android.animation.AnimationHandler;
import android.animation.LayoutTransition;
import android.annotation.AnyThread;
import android.annotation.NonNull;
@@ -1363,6 +1364,8 @@
mFirstInputStage = nativePreImeStage;
mFirstPostImeInputStage = earlyPostImeStage;
mPendingInputEventQueueLengthCounterName = "aq:pending:" + counterSuffix;
+
+ AnimationHandler.requestAnimatorsEnabled(mAppVisible, this);
}
}
}
@@ -1708,6 +1711,7 @@
if (!mAppVisible) {
WindowManagerGlobal.trimForeground();
}
+ AnimationHandler.requestAnimatorsEnabled(mAppVisible, this);
}
}
@@ -3496,7 +3500,9 @@
}
mPendingTransitions.clear();
}
- performDraw();
+ if (!performDraw() && mSyncBufferCallback != null) {
+ mSyncBufferCallback.onBufferReady(null);
+ }
}
if (mAttachInfo.mContentCaptureEvents != null) {
@@ -4239,11 +4245,11 @@
});
}
- private void performDraw() {
+ private boolean performDraw() {
if (mAttachInfo.mDisplayState == Display.STATE_OFF && !mReportNextDraw) {
- return;
+ return false;
} else if (mView == null) {
- return;
+ return false;
}
final boolean fullRedrawNeeded = mFullRedrawNeeded || mSyncBufferCallback != null;
@@ -4327,6 +4333,7 @@
if (mPerformContentCapture) {
performContentCaptureInitialReport();
}
+ return true;
}
/**
@@ -8477,6 +8484,7 @@
mInsetsController.onControlsChanged(null);
mAdded = false;
+ AnimationHandler.removeRequestor(this);
}
WindowManagerGlobal.getInstance().doRemoveView(this);
}
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index e745b8c..23393ff 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -4781,12 +4781,19 @@
* TextView is {@link Layout#BREAK_STRATEGY_HIGH_QUALITY}, and the default value for
* EditText is {@link Layout#BREAK_STRATEGY_SIMPLE}, the latter to avoid the
* text "dancing" when being edited.
- * <p/>
+ * <p>
* Enabling hyphenation with either using {@link Layout#HYPHENATION_FREQUENCY_NORMAL} or
* {@link Layout#HYPHENATION_FREQUENCY_FULL} while line breaking is set to one of
* {@link Layout#BREAK_STRATEGY_BALANCED}, {@link Layout#BREAK_STRATEGY_HIGH_QUALITY}
* improves the structure of text layout however has performance impact and requires more time
- * to do the text layout.
+ * to do the text layout.</p>
+ * <p>
+ * Compared with {@link #setLineBreakStyle(int)}, line break style with different strictness is
+ * evaluated in the ICU to identify the potential breakpoints. In
+ * {@link #setBreakStrategy(int)}, line break strategy handles the post processing of ICU's line
+ * break result. It aims to evaluate ICU's breakpoints and break the lines based on the
+ * constraint.
+ * </p>
*
* @attr ref android.R.styleable#TextView_breakStrategy
* @see #getBreakStrategy()
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 4b51f2c..b40c77b 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -1356,8 +1356,8 @@
<string name="usb_power_notification_message" msgid="7284765627437897702">"Povezani uređaj se puni. Dodirnite za još opcija."</string>
<string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"Otkrivena je analogna dodatna oprema za audio sadržaj"</string>
<string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"Priključeni uređaj nije kompatibilan sa ovim telefonom. Dodirnite da biste saznali više."</string>
- <string name="adb_active_notification_title" msgid="408390247354560331">"Otklanjanje grešaka sa USB-a je omogućeno"</string>
- <string name="adb_active_notification_message" msgid="5617264033476778211">"Dodirnite da biste isključili otklanjanje grešaka sa USB-a"</string>
+ <string name="adb_active_notification_title" msgid="408390247354560331">"Povezano je otklanjanje grešaka sa USB-a"</string>
+ <string name="adb_active_notification_message" msgid="5617264033476778211">"Dodirnite da biste ga isključili"</string>
<string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Izaberite da biste onemogućili otklanjanja grešaka sa USB-a."</string>
<string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Bežično otklanjanje grešaka je povezano"</string>
<string name="adbwifi_active_notification_message" msgid="930987922852867972">"Dodirnite da biste isključili bežično otklanjanje grešaka"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index d8aaa51..4e0a695 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -328,7 +328,7 @@
<string name="permgrouplab_notifications" msgid="5472972361980668884">"सूचनाएं"</string>
<string name="permgroupdesc_notifications" msgid="4608679556801506580">"सूचनाएं दिखाएं"</string>
<string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"विंडो का कॉन्टेंट वापस पाएं"</string>
- <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"उस विंडो की सामग्री की जाँच करें, जिसका आप इस्तेमाल कर रहे हैं."</string>
+ <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"विंडो पर नज़र आ रहे कॉन्टेंट की जांच करें."</string>
<string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"छूकर, किसी चीज़ से जुड़ी जानकारी सुनने की सुविधा चालू करें"</string>
<string name="capability_desc_canRequestTouchExploration" msgid="4394677060796752976">"जिन चीज़ों पर आप टैप करेंगे उन्हें ज़ोर से बोला जाएगा और स्क्रीन को जेस्चर के ज़रिए एक्सप्लोर किया जा सकेगा."</string>
<string name="capability_title_canRequestFilterKeyEvents" msgid="2772371671541753254">"अपने लिखे हुए लेख पर गौर करें"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 315aed3..1d8a29e 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1356,10 +1356,10 @@
<string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"アナログのオーディオ アクセサリを検出"</string>
<string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"接続したデバイスはこのスマートフォンと互換性がありません。タップすると、詳細を確認できます。"</string>
<string name="adb_active_notification_title" msgid="408390247354560331">"USB デバッグが接続されました"</string>
- <string name="adb_active_notification_message" msgid="5617264033476778211">"USB デバッグを無効にするにはここをタップしてください"</string>
+ <string name="adb_active_notification_message" msgid="5617264033476778211">"無効にするにはここをタップしてください"</string>
<string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"USB デバッグを無効にする場合に選択します。"</string>
<string name="adbwifi_active_notification_title" msgid="6147343659168302473">"ワイヤレス デバッグが接続されました"</string>
- <string name="adbwifi_active_notification_message" msgid="930987922852867972">"ワイヤレス デバッグをUSB デバッグを無効にするにはここをタップしてください"</string>
+ <string name="adbwifi_active_notification_message" msgid="930987922852867972">"無効にするにはここをタップしてください"</string>
<string name="adbwifi_active_notification_message" product="tv" msgid="8633421848366915478">"ワイヤレス デバッグを無効にするには選択します。"</string>
<string name="test_harness_mode_notification_title" msgid="2282785860014142511">"テストハーネス モード有効"</string>
<string name="test_harness_mode_notification_message" msgid="3039123743127958420">"出荷時設定にリセットしてテストハーネス モードを無効にしてください。"</string>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 519fe82..c818fec 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -636,9 +636,9 @@
<string name="fingerprint_recalibrate_notification_content" msgid="8519935717822194943">"Тейлөө кызматына кайрылыңыз."</string>
<string name="face_acquired_insufficient" msgid="2150805835949162453">"Жүзүңүз жакшы тартылган жок. Кайталап көрүңүз."</string>
<string name="face_acquired_too_bright" msgid="8070756048978079164">"Өтө жарык. Жарыктыкты азайтып көрүңүз."</string>
- <string name="face_acquired_too_dark" msgid="252573548464426546">"Өтө караңгы. Жарыгыраак жерден тартып көрүңүз."</string>
+ <string name="face_acquired_too_dark" msgid="252573548464426546">"Өтө караңгы. Жарыгыраак жерге туруңуз."</string>
<string name="face_acquired_too_close" msgid="1628767882971469833">"Телефонду алысыраак жылдырыңыз."</string>
- <string name="face_acquired_too_far" msgid="5098567726427173896">"Телефонду жакыныраак жылдырыңыз."</string>
+ <string name="face_acquired_too_far" msgid="5098567726427173896">"Телефонду жакындатыңыз."</string>
<string name="face_acquired_too_high" msgid="4868033653626081839">"Телефонду өйдө жылдырыңыз."</string>
<string name="face_acquired_too_low" msgid="1512237819632165945">"Телефонду ылдый жылдырыңыз."</string>
<string name="face_acquired_too_right" msgid="2513391513020932655">"Телефонду солго жылдырыңыз."</string>
diff --git a/core/res/res/values-land/dimens.xml b/core/res/res/values-land/dimens.xml
index ca549ae..f58c4b0 100644
--- a/core/res/res/values-land/dimens.xml
+++ b/core/res/res/values-land/dimens.xml
@@ -74,7 +74,7 @@
<!-- Floating toolbar dimensions -->
<dimen name="floating_toolbar_preferred_width">544dp</dimen>
- <dimen name="chooser_preview_width">480dp</dimen>
+ <dimen name="chooser_preview_width">412dp</dimen>
<dimen name="toast_y_offset">24dp</dimen>
</resources>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index e1670f8..598ec91 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -2132,7 +2132,7 @@
<string name="resolver_personal_tab" msgid="2051260504014442073">"ବ୍ୟକ୍ତିଗତ"</string>
<string name="resolver_work_tab" msgid="2690019516263167035">"ୱାର୍କ"</string>
<string name="resolver_personal_tab_accessibility" msgid="5739524949153091224">"ବ୍ୟକ୍ତିଗତ ଭ୍ୟୁ"</string>
- <string name="resolver_work_tab_accessibility" msgid="4753168230363802734">"କାର୍ଯ୍ୟସ୍ଥଳୀ ସମ୍ବନ୍ଧିତ ଭ୍ୟୁ"</string>
+ <string name="resolver_work_tab_accessibility" msgid="4753168230363802734">"ୱାର୍କ ଭ୍ୟୁ"</string>
<string name="resolver_cross_profile_blocked" msgid="3014597376026044840">"ଆପଣଙ୍କ IT ଆଡମିନଙ୍କ ଦ୍ୱାରା ବ୍ଲକ୍ କରାଯାଇଛି"</string>
<string name="resolver_cant_share_with_work_apps_explanation" msgid="9071442683080586643">"ଏହି ବିଷୟବସ୍ତୁ ୱାର୍କ ଆପଗୁଡ଼ିକରେ ସେୟାର୍ କରାଯାଇପାରିବ ନାହିଁ"</string>
<string name="resolver_cant_access_work_apps_explanation" msgid="1129960195389373279">"ଏହି ବିଷୟବସ୍ତୁ ୱାର୍କ ଆପଗୁଡ଼ିକରେ ଖୋଲାଯାଇପାରିବ ନାହିଁ"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 15d1a67..236f33d 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1356,8 +1356,8 @@
<string name="usb_power_notification_message" msgid="7284765627437897702">"Se încarcă dispozitivul conectat. Atingeți pentru mai multe opțiuni."</string>
<string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"S-a detectat un accesoriu audio analogic"</string>
<string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"Dispozitivul atașat nu este compatibil cu acest telefon. Atingeți pentru a afla mai multe."</string>
- <string name="adb_active_notification_title" msgid="408390247354560331">"Remedierea erorilor prin USB este conectată"</string>
- <string name="adb_active_notification_message" msgid="5617264033476778211">"Atingeți pentru a dezactiva remedierea erorilor prin USB."</string>
+ <string name="adb_active_notification_title" msgid="408390247354560331">"Remedierea erorilor prin USB conectată"</string>
+ <string name="adb_active_notification_message" msgid="5617264033476778211">"Atingeți pentru a dezactiva."</string>
<string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Selectați pentru a dezactiva remedierea erorilor prin USB."</string>
<string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Remedierea erorilor wireless este activă"</string>
<string name="adbwifi_active_notification_message" msgid="930987922852867972">"Atingeți pentru a dezactiva remedierea erorilor wireless"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 845f89d..c213895 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -638,7 +638,7 @@
<string name="fingerprint_recalibrate_notification_content" msgid="8519935717822194943">"Обратитесь в сервисный центр."</string>
<string name="face_acquired_insufficient" msgid="2150805835949162453">"Не удалось собрать данные. Повторите попытку."</string>
<string name="face_acquired_too_bright" msgid="8070756048978079164">"Слишком светло. Сделайте освещение менее ярким."</string>
- <string name="face_acquired_too_dark" msgid="252573548464426546">"Слишком темно. Сделайте освещение ярче."</string>
+ <string name="face_acquired_too_dark" msgid="252573548464426546">"Слишком темно. Сделайте освещение ярче"</string>
<string name="face_acquired_too_close" msgid="1628767882971469833">"Переместите телефон дальше."</string>
<string name="face_acquired_too_far" msgid="5098567726427173896">"Переместите телефон ближе."</string>
<string name="face_acquired_too_high" msgid="4868033653626081839">"Переместите телефон выше."</string>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index 5792e15..acd4b44 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -1302,7 +1302,7 @@
<string-array name="network_switch_type_name">
<item msgid="2255670471736226365">"të dhënat celulare"</item>
<item msgid="5520925862115353992">"Wi-Fi"</item>
- <item msgid="1055487873974272842">"Bluetooth"</item>
+ <item msgid="1055487873974272842">"Bluetooth-i"</item>
<item msgid="1616528372438698248">"Eternet"</item>
<item msgid="9177085807664964627">"VPN"</item>
</string-array>
@@ -1456,7 +1456,7 @@
<string name="ime_action_go" msgid="5536744546326495436">"Shko"</string>
<string name="ime_action_search" msgid="4501435960587287668">"Kërko"</string>
<string name="ime_action_send" msgid="8456843745664334138">"Dërgo"</string>
- <string name="ime_action_next" msgid="4169702997635728543">"Përpara"</string>
+ <string name="ime_action_next" msgid="4169702997635728543">"Para"</string>
<string name="ime_action_done" msgid="6299921014822891569">"U krye"</string>
<string name="ime_action_previous" msgid="6548799326860401611">"I mëparshëm"</string>
<string name="ime_action_default" msgid="8265027027659800121">"Ekzekuto"</string>
@@ -1497,7 +1497,7 @@
<string name="car_mode_disable_notification_title" msgid="8450693275833142896">"Aplikacioni i drejtimit të makinës është në ekzekutim"</string>
<string name="car_mode_disable_notification_message" msgid="8954550232288567515">"Trokit për të dalë nga aplikacioni i drejtimit të makinës."</string>
<string name="back_button_label" msgid="4078224038025043387">"Prapa"</string>
- <string name="next_button_label" msgid="6040209156399907780">"Përpara"</string>
+ <string name="next_button_label" msgid="6040209156399907780">"Para"</string>
<string name="skip_button_label" msgid="3566599811326688389">"Kapërce"</string>
<string name="no_matches" msgid="6472699895759164599">"Asnjë përputhje"</string>
<string name="find_on_page" msgid="5400537367077438198">"Gjej brenda faqes"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 9a8eaa2..5586cfe 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1356,8 +1356,8 @@
<string name="usb_power_notification_message" msgid="7284765627437897702">"Повезани уређај се пуни. Додирните за још опција."</string>
<string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"Откривена је аналогна додатна опрема за аудио садржај"</string>
<string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"Прикључени уређај није компатибилан са овим телефоном. Додирните да бисте сазнали више."</string>
- <string name="adb_active_notification_title" msgid="408390247354560331">"Отклањање грешака са USB-а је омогућено"</string>
- <string name="adb_active_notification_message" msgid="5617264033476778211">"Додирните да бисте искључили отклањање грешака са USB-а"</string>
+ <string name="adb_active_notification_title" msgid="408390247354560331">"Повезано је отклањање грешака са USB-а"</string>
+ <string name="adb_active_notification_message" msgid="5617264033476778211">"Додирните да бисте га искључили"</string>
<string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Изаберите да бисте онемогућили отклањања грешака са USB-а."</string>
<string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Бежично отклањање грешака је повезано"</string>
<string name="adbwifi_active_notification_message" msgid="930987922852867972">"Додирните да бисте искључили бежично отклањање грешака"</string>
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java
index 7760df1..0cb56d7 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java
@@ -210,19 +210,19 @@
@Override
public void setBackToLauncherCallback(IOnBackInvokedCallback callback) {
executeRemoteCallWithTaskPermission(mController, "setBackToLauncherCallback",
- (controller) -> mController.setBackToLauncherCallback(callback));
+ (controller) -> controller.setBackToLauncherCallback(callback));
}
@Override
public void clearBackToLauncherCallback() {
executeRemoteCallWithTaskPermission(mController, "clearBackToLauncherCallback",
- (controller) -> mController.clearBackToLauncherCallback());
+ (controller) -> controller.clearBackToLauncherCallback());
}
@Override
public void onBackToLauncherAnimationFinished() {
executeRemoteCallWithTaskPermission(mController, "onBackToLauncherAnimationFinished",
- (controller) -> mController.onBackToLauncherAnimationFinished());
+ (controller) -> controller.onBackToLauncherAnimationFinished());
}
void invalidate() {
diff --git a/media/TEST_MAPPING b/media/TEST_MAPPING
index 4385a80..4ec4767 100644
--- a/media/TEST_MAPPING
+++ b/media/TEST_MAPPING
@@ -20,7 +20,8 @@
{
"include-filter": "com.google.android.media.gts.WidevineH264PlaybackTests"
}
- ]
+ ],
+ "file_patterns": ["(?i)drm|crypto"]
}
],
"imports": [
diff --git a/packages/PackageInstaller/res/values-hi/strings.xml b/packages/PackageInstaller/res/values-hi/strings.xml
index 64df1bb..614fa90 100644
--- a/packages/PackageInstaller/res/values-hi/strings.xml
+++ b/packages/PackageInstaller/res/values-hi/strings.xml
@@ -83,7 +83,7 @@
<string name="app_name_unknown" msgid="6881210203354323926">"अनजान"</string>
<string name="untrusted_external_source_warning" product="tablet" msgid="7067510047443133095">"आपकी सुरक्षा के लिए, आपके टैबलेट को फ़िलहाल इस स्रोत से अनजान ऐप्लिकेशन इंस्टॉल करने की अनुमति नहीं है. आप \'सेटिंग\' में जाकर इसे बदल सकते हैं."</string>
<string name="untrusted_external_source_warning" product="tv" msgid="7057271609532508035">"आपकी सुरक्षा के लिए, आपके टीवी को फ़िलहाल इस स्रोत से अनजान ऐप्लिकेशन इंस्टॉल करने की अनुमति नहीं है. आप \'सेटिंग\' में जाकर इसे बदल सकते हैं."</string>
- <string name="untrusted_external_source_warning" product="default" msgid="8444191224459138919">"आपकी सुरक्षा के लिए, आपके फ़ोन को फ़िलहाल इस सोर्स से अनजान ऐप्लिकेशन इंस्टॉल करने की अनुमति नहीं है. सेटिंग में जाकर इसे बदला जा सकता है."</string>
+ <string name="untrusted_external_source_warning" product="default" msgid="8444191224459138919">"आपकी सुरक्षा के लिए, आपके फ़ोन को फ़िलहाल इस सोर्स से अनजान ऐप्लिकेशन इंस्टॉल करने की अनुमति नहीं है. \'सेटिंग\' में जाकर इसे बदला जा सकता है."</string>
<string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"आपका फ़ोन और निजी डेटा अनजान ऐप्लिकेशन के हमले को लेकर ज़्यादा संवेदनशील हैं. इस ऐप्लिकेशन को इंस्टॉल करके, आप सहमति देते हैं कि इसके इस्तेमाल के चलते आपके फ़ोन को होने वाले किसी भी नुकसान या डेटा के मिट जाने पर, आप ज़िम्मेदार होंगे."</string>
<string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"आपका टैबलेट और निजी डेटा अनजान ऐप्लिकेशन के हमले को लेकर ज़्यादा संवेदनशील हैं. इस ऐप्लिकेशन को इंस्टॉल करके, आप सहमति देते हैं कि इसके इस्तेमाल के चलते आपके टैबलेट को होने वाले किसी भी नुकसान या डेटा के मिट जाने पर, आप ज़िम्मेदार होंगे."</string>
<string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"आपका टीवी और निजी डेटा अनजान ऐप्लिकेशन के हमले को लेकर ज़्यादा संवेदनशील हैं. इस ऐप्लिकेशन को इंस्टॉल करके, आप सहमति देते हैं कि इसके इस्तेमाल के चलते आपके टीवी को होने वाले किसी भी नुकसान या डेटा के मिट जाने पर, आप ज़िम्मेदार होंगे."</string>
diff --git a/packages/SettingsLib/res/drawable/ic_earbuds_advanced.xml b/packages/SettingsLib/res/drawable/ic_earbuds_advanced.xml
new file mode 100644
index 0000000..b70da34
--- /dev/null
+++ b/packages/SettingsLib/res/drawable/ic_earbuds_advanced.xml
@@ -0,0 +1,27 @@
+<!--
+ Copyright (C) 2020 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="#FF000000"
+ android:pathData="M21,17.17V14.5c0,-2.48 -2.02,-4.5 -4.5,-4.5S12,12.02 12,14.5v4c0,2.48 2.02,4.5 4.5,4.5c0.69,0 1.35,-0.16 1.94,-0.44C18.91,22.84 19.45,23 20,23c1.65,0 3,-1.35 3,-3C23,18.7 22.16,17.58 21,17.17zM16.5,12c1.38,0 2.5,1.12 2.5,2.5S17.88,17 16.5,17S14,15.88 14,14.5S15.12,12 16.5,12zM14,18.5v-0.26c0.72,0.48 1.58,0.76 2.5,0.76s1.78,-0.28 2.5,-0.76v0.26c0,0.04 0,0.08 0,0.11c0,0.01 0,0.02 0,0.03c0,0.03 0,0.07 -0.01,0.1c0,0.01 0,0.03 0,0.04c0,0.02 -0.01,0.05 -0.01,0.07c0,0.02 -0.01,0.05 -0.01,0.07c0,0.01 -0.01,0.03 -0.01,0.04c-0.04,0.19 -0.09,0.37 -0.17,0.55c0,0 0,0 0,0c-0.02,0.04 -0.04,0.08 -0.06,0.12c0,0.01 -0.01,0.02 -0.01,0.02c-0.01,0.02 -0.02,0.04 -0.03,0.06c-0.01,0.02 -0.03,0.05 -0.04,0.07c-0.01,0.01 -0.01,0.02 -0.02,0.03c-0.02,0.03 -0.03,0.05 -0.05,0.08c0,0 0,0 0,0.01c-0.45,0.66 -1.21,1.1 -2.07,1.1C15.12,21 14,19.88 14,18.5z"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M12,5.5C12,3.02 9.98,1 7.5,1S3,3.02 3,5.5v2.67C1.84,8.58 1,9.7 1,11c0,1.65 1.35,3 3,3c0.55,0 1.09,-0.16 1.56,-0.44C6.15,13.84 6.81,14 7.5,14c2.48,0 4.5,-2.02 4.5,-4.5V5.5zM7.5,3C8.88,3 10,4.12 10,5.5S8.88,8 7.5,8S5,6.88 5,5.5S6.12,3 7.5,3zM7.5,12c-0.86,0 -1.62,-0.44 -2.07,-1.1c0,0 0,0 0,-0.01c-0.02,-0.03 -0.03,-0.05 -0.05,-0.08c-0.01,-0.01 -0.01,-0.02 -0.02,-0.03c-0.01,-0.02 -0.03,-0.05 -0.04,-0.07c-0.01,-0.02 -0.02,-0.04 -0.03,-0.06c0,-0.01 -0.01,-0.02 -0.01,-0.02c-0.02,-0.04 -0.04,-0.08 -0.06,-0.12c0,0 0,0 0,0c-0.08,-0.18 -0.14,-0.36 -0.17,-0.55c0,-0.01 -0.01,-0.03 -0.01,-0.04c0,-0.02 -0.01,-0.05 -0.01,-0.07c0,-0.02 -0.01,-0.05 -0.01,-0.07c0,-0.01 0,-0.03 0,-0.04c0,-0.03 -0.01,-0.07 -0.01,-0.1c0,-0.01 0,-0.02 0,-0.03C5,9.58 5,9.54 5,9.5V9.24C5.72,9.72 6.58,10 7.5,10S9.28,9.72 10,9.24V9.5C10,10.88 8.88,12 7.5,12z"/>
+</vector>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 4f142a8..f84dec6 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -184,7 +184,7 @@
<string name="launch_defaults_some" msgid="3631650616557252926">"Unele valori prestabilite sunt configurate"</string>
<string name="launch_defaults_none" msgid="8049374306261262709">"Nu este configurată nicio valoare prestabilită"</string>
<string name="tts_settings" msgid="8130616705989351312">"Setări redare vocală a textului"</string>
- <string name="tts_settings_title" msgid="7602210956640483039">"Transformarea textului în vorbire"</string>
+ <string name="tts_settings_title" msgid="7602210956640483039">"Rezultatul redării vocale a textului"</string>
<string name="tts_default_rate_title" msgid="3964187817364304022">"Ritmul vorbirii"</string>
<string name="tts_default_rate_summary" msgid="3781937042151716987">"Viteza cu care este vorbit textul"</string>
<string name="tts_default_pitch_title" msgid="6988592215554485479">"Înălțime"</string>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index b5dfc5f..57f059a 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -508,7 +508,7 @@
<string name="screen_zoom_summary_custom" msgid="3468154096832912210">"I personalizuar (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string>
<string name="content_description_menu_button" msgid="6254844309171779931">"Menyja"</string>
<string name="retail_demo_reset_message" msgid="5392824901108195463">"Fut fjalëkalimin për të kryer rivendosje në gjendje fabrike në modalitetin e demonstrimit"</string>
- <string name="retail_demo_reset_next" msgid="3688129033843885362">"Përpara"</string>
+ <string name="retail_demo_reset_next" msgid="3688129033843885362">"Para"</string>
<string name="retail_demo_reset_title" msgid="1866911701095959800">"Kërkohet fjalëkalimi"</string>
<string name="active_input_method_subtypes" msgid="4232680535471633046">"Metodat aktive të hyrjeve"</string>
<string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Përdor gjuhët e sistemit"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index 6e2ea78..ea859e49 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -184,7 +184,7 @@
<string name="launch_defaults_some" msgid="3631650616557252926">"Några standardinställningar har angetts"</string>
<string name="launch_defaults_none" msgid="8049374306261262709">"Inga standardinställningar har angetts"</string>
<string name="tts_settings" msgid="8130616705989351312">"Text-till-tal-inställningar"</string>
- <string name="tts_settings_title" msgid="7602210956640483039">"Text-till-tal"</string>
+ <string name="tts_settings_title" msgid="7602210956640483039">"Text till tal"</string>
<string name="tts_default_rate_title" msgid="3964187817364304022">"Talhastighet"</string>
<string name="tts_default_rate_summary" msgid="3781937042151716987">"Talhastighet för texten"</string>
<string name="tts_default_pitch_title" msgid="6988592215554485479">"Ton"</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java
index afafd9f..1be9d76 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java
@@ -59,12 +59,16 @@
@Override
public Drawable getIcon() {
- return BluetoothUtils.getBtClassDrawableWithDescription(mContext, mCachedDevice).first;
+ return BluetoothUtils.isAdvancedDetailsHeader(mCachedDevice.getDevice())
+ ? mContext.getDrawable(R.drawable.ic_earbuds_advanced)
+ : BluetoothUtils.getBtClassDrawableWithDescription(mContext, mCachedDevice).first;
}
@Override
public Drawable getIconWithoutBackground() {
- return BluetoothUtils.getBtClassDrawableWithDescription(mContext, mCachedDevice).first;
+ return BluetoothUtils.isAdvancedDetailsHeader(mCachedDevice.getDevice())
+ ? mContext.getDrawable(R.drawable.ic_earbuds_advanced)
+ : BluetoothUtils.getBtClassDrawableWithDescription(mContext, mCachedDevice).first;
}
@Override
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
index affcf58..1804e86 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
@@ -350,11 +350,6 @@
return 1;
}
- // Both devices have same connection status, compare the range zone
- if (NearbyDevice.compareRangeZones(getRangeZone(), another.getRangeZone()) != 0) {
- return NearbyDevice.compareRangeZones(getRangeZone(), another.getRangeZone());
- }
-
if (mType == another.mType) {
// Check device is muting expected device
if (isMutingExpectedDevice()) {
@@ -377,6 +372,11 @@
return 1;
}
+ // Both devices have same connection status and type, compare the range zone
+ if (NearbyDevice.compareRangeZones(getRangeZone(), another.getRangeZone()) != 0) {
+ return NearbyDevice.compareRangeZones(getRangeZone(), another.getRangeZone());
+ }
+
// Set last used device at the first item
final String lastSelectedDevice = ConnectionRecordManager.getInstance()
.getLastSelectedDevice();
diff --git a/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt b/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt
index beba0ee..8e34c47 100644
--- a/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt
+++ b/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt
@@ -174,7 +174,7 @@
a1 = TonalSpec(HueSource(), ChromaMaxOut()),
a2 = TonalSpec(HueVibrantSecondary(), ChromaConstant(24.0)),
a3 = TonalSpec(HueVibrantTertiary(), ChromaConstant(32.0)),
- n1 = TonalSpec(HueSource(), ChromaConstant(8.0)),
+ n1 = TonalSpec(HueSource(), ChromaConstant(10.0)),
n2 = TonalSpec(HueSource(), ChromaConstant(12.0))
)),
EXPRESSIVE(CoreSpec(
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 481aa8b..e48e4559 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -385,7 +385,7 @@
<string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Hierdie toestel is gekoppel aan die internet deur VPN\'e."</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"Jou werkprogramme is deur <xliff:g id="VPN_APP">%1$s</xliff:g> aan die internet gekoppel"</string>
<string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Jou persoonlike programme is gekoppel aan die internet deur <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
- <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Hierdie toestel is gekoppel aan die internet deur <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
+ <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Toestel is gekoppel aan die internet deur <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"Hierdie toestel word verskaf deur <xliff:g id="ORGANIZATION_NAME">%s</xliff:g>"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Toestelbestuur"</string>
<string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nuwe inligting"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktiewe programme"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Hierdie programme is aktief en werk, selfs wanneer jy hulle nie gebruik nie. Dit verbeter hul funksies, maar beïnvloed dalk ook batterylewe."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Gestop"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Klaar"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 5ef0b43..9bb455e 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -869,8 +869,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"تطبيق غير معروف"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"إيقاف البث"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"الأجهزة المتاحة لإخراج الصوت"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"مستوى الصوت"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"كيفية عمل البث"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"البث"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"يمكن للأشخاص القريبين منك الذين لديهم أجهزة متوافقة تتضمّن بلوتوث الاستماع إلى الوسائط التي تبثها."</string>
@@ -960,8 +959,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"معلومات جديدة"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"التطبيقات النشطة"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"هذه التطبيقات نشطة وقيد التشغيل، حتى في حال عدم استخدامها. يؤدي ذلك إلى تحسين وظائفها، ولكنه قد يؤثّر أيضًا على عمر البطارية."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"إيقاف"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"متوقّف"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"تم"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index 92126b0..8286ee6 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"বাওঁফালে"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"সোঁফালে"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"স্ক্ৰীণৰ মাজত"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"টেব"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"স্পেচ"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"এণ্টাৰ"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"বেকস্পেচ"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"নতুন তথ্য"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"সক্ৰিয় এপ্"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"এই এপ্সমূহ সক্ৰিয় আৰু আনকি আপুনি এইসমূহ ব্যৱহাৰ নকৰাৰ সময়তো চলি থাকে। ই সেইসমূহৰ কাৰ্য্যক্ষমতা উন্নত কৰে, কিন্তু ই বেটাৰীৰ জীৱনকালতো প্ৰভাৱ পেলাব পাৰে।"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"বন্ধ কৰক"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"বন্ধ হ’ল"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"হ’ল"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index 5a419d8..1620056 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Naməlum tətbiq"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Yayımı dayandırın"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Audio çıxış üçün əlçatan cihazlar."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Səs"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Yayım necə işləyir"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Yayım"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Uyğun Bluetooth cihazları olan yaxınlığınızdakı insanlar yayımladığınız medianı dinləyə bilər"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Yeni məlumat"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktiv tətbiqlər"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"İstifadə etmədiyiniz zaman belə bu tətbiqlər aktiv olur və işləyir. Bu, onların funksionallığını yaxşılaşdırır, lakin bu, batareyanın ömrünə də təsir edə bilər."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Dayandırın"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Dayandırılıb"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Oldu"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index 5fb90f7..5ea3a8c 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -857,8 +857,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Невядомая праграма"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Спыніць трансляцыю"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Даступныя прылады для вываду аўдыя."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Гучнасць"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Як адбываецца трансляцыя"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Трансляцыя"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Людзі паблізу, у якіх ёсць прылады з Bluetooth, змогуць праслухваць мультымедыйнае змесціва, якое вы трансліруеце"</string>
@@ -946,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Новая інфармацыя"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Актыўныя праграмы"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Гэтыя праграмы працуюць, нават калі вы іх не выкарыстоўваеце. У выніку павышаецца іх функцыянальнасць, аднак можа знізіцца час працы ад акумулятара."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Спыніць"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Спынена"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Гатова"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 27e703b..add650d 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Неизвестно приложение"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Спиране на предаването"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Налични устройства за аудиоизход."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Сила на звука"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Как работи предаването"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Предаване"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Хората в близост със съвместими устройства с Bluetooth могат да слушат мултимедията, която предавате"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 3e6910f..a9e95f1 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"বাঁ"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"ডান"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"কেন্দ্র"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"ট্যাব"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"স্পেস"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"এন্টার"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"ব্যাকস্পেস"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"নতুন তথ্য"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"অ্যাক্টিভ অ্যাপ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"আপনি এমনকি ব্যবহার না করলেও, এইসব অ্যাপ অ্যাক্টিভ থাকে ও চলে। এগুলির কার্যকারিতা এটি উন্নত করে, তবে ব্যাটারির আয়ুর উপর প্রভাব ফেলতেও পারে।"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"বন্ধ করুন"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"থামানো হয়েছে"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"হয়ে গেছে"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index d8746c5..ba2d8f0 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -385,10 +385,10 @@
<string name="quick_settings_disclosure_named_managed_profile_monitoring" msgid="8321469176706219860">"<xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> može pratiti mrežni saobraćaj na vašem radnom profilu"</string>
<string name="quick_settings_disclosure_managed_profile_network_activity" msgid="2636594621387832827">"Mrežna aktivnost radnog profila je vidljiva vašem IT administratoru"</string>
<string name="quick_settings_disclosure_monitoring" msgid="8548019955631378680">"Mreža može biti nadzirana"</string>
- <string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Ovaj uređaj je povezan na internet putem VPN-ova"</string>
+ <string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Uređaj je povezan s internetom putem VPN-ova"</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"Vaše poslovne aplikacije su povezane s internetom putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
- <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Vaše lične aplikacije su povezane na internet putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
- <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Ovaj uređaj je povezan na internet putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
+ <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Lične aplikacije su povezane s internetom putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
+ <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Uređaj je povezan s internetom putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"Ovaj uređaj pruža <xliff:g id="ORGANIZATION_NAME">%s</xliff:g>"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Upravljanje uređajem"</string>
<string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN mreža"</string>
@@ -404,10 +404,10 @@
<string name="monitoring_description_ca_certificate" msgid="448923057059097497">"CA certifikat je instaliran na ovom uređaju. Vaš saobraćaj preko sigurne mreže može se pratiti."</string>
<string name="monitoring_description_management_network_logging" msgid="216983105036994771">"Vaš administrator je uključio zapisivanje na mreži, čime se prati saobraćaj na vašem uređaju."</string>
<string name="monitoring_description_managed_profile_network_logging" msgid="6932303843097006037">"Administrator je uključio zapisivanje na mreži, čime se nadzire saobraćaj na vašem radnom profilu, ali ne i na ličnom profilu."</string>
- <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Ovaj uređaj je povezan na internet putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>. Vaša mrežna aktivnost, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem IT administratoru."</string>
- <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Ovaj uređaj je povezan na internet putem aplikacija <xliff:g id="VPN_APP_0">%1$s</xliff:g> i <xliff:g id="VPN_APP_1">%2$s</xliff:g>. Vaša mrežna aktivnost, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem IT administratoru."</string>
+ <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Uređaj je povezan s internetom putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>. Vaša mrežna aktivnost, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem IT administratoru."</string>
+ <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Uređaj je povezan s internetom putem aplikacija <xliff:g id="VPN_APP_0">%1$s</xliff:g> i <xliff:g id="VPN_APP_1">%2$s</xliff:g>. Vaša mrežna aktivnost, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem IT administratoru."</string>
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Vaše poslovne aplikacije su povezane na internet putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>. Vaša mrežna aktivnost u poslovnim aplikacijama, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem IT administratoru i pružaocu VPN usluga."</string>
- <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Vaše lične aplikacije su povezane na internet putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>. Vaša mrežna aktivnost, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem pružaocu VPN usluga."</string>
+ <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Lične aplikacije su povezane s internetom putem aplikacije <xliff:g id="VPN_APP">%1$s</xliff:g>. Vaša mrežna aktivnost, uključujući e-poštu i podatke o pregledanju, je vidljiva vašem pružaocu VPN usluga."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Otvorite postavke VPN mreže"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Ovim uređajem upravlja tvoj roditelj. Roditelj može vidjeti i upravljati informacijama kao što su aplikacije koje koristiš, lokacija i vrijeme korištenja uređaja."</string>
@@ -557,7 +557,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Lijevo"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Desno"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Sredina"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulator"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Razmaknica"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Tipka za novi red"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Tipka za brisanje"</string>
@@ -952,14 +952,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Tekst je kopiran"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Slika je kopirana"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Sadržaj je kopiran"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Uređivač međumemorije"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Međumemorija"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Pregled slike"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"uredi"</string>
<string name="add" msgid="81036585205287996">"Dodaj"</string>
<string name="manage_users" msgid="1823875311934643849">"Upravljajte korisnicima"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Ovo obavještenje ne podržava prevlačenje na podijeljeni ekran."</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index f2010c6..e814a5c 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Esquerra"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Dreta"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centre"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulador"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Espai"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Retorn"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Retrocés"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Informació nova"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aplicacions actives"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Aquestes aplicacions estan actives i executant-se, fins i tot quan no les utilitzes. Això en millora la funcionalitat, però també pot afectar la durada de la bateria."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Atura"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Aturada"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Fet"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 84d157b..69de3b5 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -562,7 +562,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Vlevo"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Vpravo"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Střed"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulátor"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"TAB"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Mezerník"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Backspace"</string>
@@ -857,8 +857,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Neznámá aplikace"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zastavit odesílání"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostupná zařízení pro zvukový výstup."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Hlasitost"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Jak vysílání funguje"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Vysílání"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Lidé ve vašem okolí s kompatibilními zařízeními Bluetooth mohou poslouchat média, která vysíláte"</string>
@@ -946,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nové informace"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktivní aplikace"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Tyto aplikace jsou spuštěné a aktivní, i když je nepoužíváte. Zlepšuje to jejich funkčnost, ale může to mít dopad na výdrž baterie."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Konec"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Zastaveno"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Hotovo"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 5a1c736..8b2ef4e 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -384,8 +384,8 @@
<string name="quick_settings_disclosure_monitoring" msgid="8548019955631378680">"Netværket kan være overvåget"</string>
<string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Denne enhed har forbindelse til nettet via VPN-forbindelser"</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"Dine arbejdsapps har forbindelse til nettet via <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
- <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Dine personlige apps har forbindelse til nettet via <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
- <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Denne enhed har forbindelse til nettet via <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
+ <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Dine personlige apps har forbindelse til internettet via <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
+ <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Denne enhed har forbindelse til internettet via <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"Denne enhed er leveret af <xliff:g id="ORGANIZATION_NAME">%s</xliff:g>"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Administration af enheder"</string>
<string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nye oplysninger"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktive apps"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Disse apps er aktive og kører, også når du ikke bruger dem. Det forbedrer deres funktionalitet, men det kan også påvirke batteritiden."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stoppet"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Udfør"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index b4e470f..52b2209 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Neue Informationen"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktive Apps"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Diese Apps sind aktiv und werden auch dann ausgeführt, wenn du sie gerade nicht verwendest. Dies wird für einige ihrer Funktionen benötigt, kann aber auch die Akkulaufzeit beeinträchtigen."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Beenden"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Beendet"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Fertig"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index c9dac10..631aa81 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Νέες πληροφορίες"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Ενεργές εφαρμογές"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Αυτές οι εφαρμογές είναι ενεργές και εκτελούνται, ακόμη και αν δεν τις χρησιμοποιείτε. Αυτό βελτιώνει τη λειτουργικότητά τους, αλλά μπορεί να επηρεάσει τη διάρκεια ζωής της μπαταρίας."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Διακοπή"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Διακόπηκε"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Τέλος"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Το κείμενο αντιγράφηκε"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Η εικόνα αντιγράφηκε"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Το περιεχόμενο αντιγράφηκε"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Πρόγραμμα επεξεργασίας προχείρου"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Πρόχειρο"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Προεπισκόπηση εικόνας"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"επεξεργασία"</string>
<string name="add" msgid="81036585205287996">"Προσθήκη"</string>
<string name="manage_users" msgid="1823875311934643849">"Διαχείριση χρηστών"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Αυτή η ειδοποίηση δεν υποστηρίζει τη μεταφορά με σύρσιμο για χρήση του διαχωρισμού οθόνης."</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index ffa1086..0e2277d 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"New information"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Active apps"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"These apps are active and running, even when you’re not using them. This improves their functionality, but it may also affect battery life."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stopped"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Done"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Text copied"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Image copied"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Content copied"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Clipboard editor"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Clipboard"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Image preview"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"edit"</string>
<string name="add" msgid="81036585205287996">"Add"</string>
<string name="manage_users" msgid="1823875311934643849">"Manage users"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"This notification does not support dragging to Split screen."</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index 066ccb2..721dd7a 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"New information"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Active apps"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"These apps are active and running, even when you’re not using them. This improves their functionality, but it may also affect battery life."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stopped"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Done"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Text copied"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Image copied"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Content copied"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Clipboard editor"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Clipboard"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Image preview"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"edit"</string>
<string name="add" msgid="81036585205287996">"Add"</string>
<string name="manage_users" msgid="1823875311934643849">"Manage users"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"This notification does not support dragging to Split screen."</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index ffa1086..0e2277d 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"New information"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Active apps"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"These apps are active and running, even when you’re not using them. This improves their functionality, but it may also affect battery life."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stopped"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Done"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Text copied"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Image copied"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Content copied"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Clipboard editor"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Clipboard"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Image preview"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"edit"</string>
<string name="add" msgid="81036585205287996">"Add"</string>
<string name="manage_users" msgid="1823875311934643849">"Manage users"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"This notification does not support dragging to Split screen."</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index ffa1086..0e2277d 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"New information"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Active apps"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"These apps are active and running, even when you’re not using them. This improves their functionality, but it may also affect battery life."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stopped"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Done"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Text copied"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Image copied"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Content copied"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Clipboard editor"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Clipboard"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Image preview"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"edit"</string>
<string name="add" msgid="81036585205287996">"Add"</string>
<string name="manage_users" msgid="1823875311934643849">"Manage users"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"This notification does not support dragging to Split screen."</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index 8471bed..f244560 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -945,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Text copied"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Image copied"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Content copied"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Clipboard Editor"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Clipboard"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Image preview"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"edit"</string>
<string name="add" msgid="81036585205287996">"Add"</string>
<string name="manage_users" msgid="1823875311934643849">"Manage users"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"This notification does not support dragging to Splitscreen."</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index ad22747..e3b8581 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Izquierda"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Derecha"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centro"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulación"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Espacio"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Intro"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Retroceso"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nueva información"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Apps activas"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Estas apps están activas y en ejecución, incluso mientras no las usas. Esto mejora su funcionalidad, pero también afecta la duración de batería."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Detener"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Detenida"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Listo"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml b/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml
index 6b572e49..abcec7f 100644
--- a/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml
@@ -33,8 +33,8 @@
<!-- no translation found for tile_states_default:2 (9192445505551219506) -->
<string-array name="tile_states_internet">
<item msgid="5499482407653291407">"No disponible"</item>
- <item msgid="3048856902433862868">"Desactivado"</item>
- <item msgid="6877982264300789870">"Activado"</item>
+ <item msgid="3048856902433862868">"Desactivada"</item>
+ <item msgid="6877982264300789870">"Activada"</item>
</string-array>
<string-array name="tile_states_wifi">
<item msgid="8054147400538405410">"No disponible"</item>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 8e93032..f2f4bbb 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -401,10 +401,10 @@
<string name="monitoring_description_ca_certificate" msgid="448923057059097497">"Se ha instalado una entidad de certificación en este dispositivo. Es posible que se supervise o se modifique tu tráfico de red seguro."</string>
<string name="monitoring_description_management_network_logging" msgid="216983105036994771">"El administrador ha activado el registro de la red para supervisar el tráfico en tu dispositivo."</string>
<string name="monitoring_description_managed_profile_network_logging" msgid="6932303843097006037">"Tu administrador ha activado el registro de la red, por lo que se monitorizará el tráfico de tu perfil de trabajo, aunque no el de tu perfil personal."</string>
- <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Este dispositivo está conectado a Internet a través de <xliff:g id="VPN_APP">%1$s</xliff:g>. Tu actividad de red, incluidos los correos electrónicos y los datos de navegación, es visible para tu administrador de TI."</string>
- <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Este dispositivo está conectado a Internet a través de <xliff:g id="VPN_APP_0">%1$s</xliff:g> y <xliff:g id="VPN_APP_1">%2$s</xliff:g>. Tu actividad de red, incluidos los correos electrónicos y los datos de navegación, es visible para tu administrador de TI."</string>
+ <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Este dispositivo está conectado a Internet a través de <xliff:g id="VPN_APP">%1$s</xliff:g>. Tu actividad de red, como los correos electrónicos y los datos de navegación, es visible para tu administrador de TI."</string>
+ <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Este dispositivo está conectado a Internet a través de <xliff:g id="VPN_APP_0">%1$s</xliff:g> y <xliff:g id="VPN_APP_1">%2$s</xliff:g>. Tu actividad de red, como los correos electrónicos y los datos de navegación, es visible para tu administrador de TI."</string>
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Tus aplicaciones de trabajo están conectadas a Internet a través de <xliff:g id="VPN_APP">%1$s</xliff:g>. Tu actividad de red en estas aplicaciones, incluidos los correos electrónicos y los datos de navegación, es visible para tu administrador de TI y tu proveedor de VPN."</string>
- <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Tus aplicaciones personales están conectadas a Internet a través de <xliff:g id="VPN_APP">%1$s</xliff:g>. Tu actividad de red, incluidos los correos electrónicos y los datos de navegación, es visible para tu proveedor de VPN."</string>
+ <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Tus aplicaciones personales están conectadas a Internet a través de <xliff:g id="VPN_APP">%1$s</xliff:g>. Tu actividad de red, como los correos electrónicos y los datos de navegación, es visible para tu proveedor de VPN."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Abrir ajustes de VPN"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Tu padre o madre gestionan este dispositivo y pueden ver y controlar cierta información, como las aplicaciones que utilizas, tu ubicación y tu tiempo de pantalla."</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index b6812d6..9bd5f0ad 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Vasakule"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Paremale"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Keskele"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulaator"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Tühik"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Sisestusklahv"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Tagasilüke"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Tundmatu rakendus"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Lõpeta ülekanne"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Saadaolevad seadmed heli esitamiseks."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Helitugevus"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kuidas ülekandmine toimib?"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Ülekanne"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Teie läheduses olevad inimesed, kellel on ühilduvad Bluetooth-seadmed, saavad kuulata teie ülekantavat meediat"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 5efa340..896f7a0 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Informazio berria"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktibo dauden aplikazioak"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Aplikazio hauek aktibo daude eta funtzionatzen ari dira, nahiz eta zu haiek erabiltzen ez aritu. Aukera honek haien funtzioa hobetzen du, baina baliteke bateriaren iraupenari ere eragitea."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Gelditu"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Geldituta"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Eginda"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Kopiatu da testua"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Kopiatu da irudia"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Kopiatu da edukia"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Arbelaren editorea"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Arbela"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Irudiaren aurrebista"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"editatzeko"</string>
<string name="add" msgid="81036585205287996">"Gehitu"</string>
<string name="manage_users" msgid="1823875311934643849">"Kudeatu erabiltzaileak"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Jakinarazpen hau ezin da arrastatu pantaila zatitura."</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index be015c0..06a14f2 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"چپ"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"راست"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"مرکز"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"جهش"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"فاصله"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"ورود"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"پسبر"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"برنامه ناشناس"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"توقف ارسال محتوا"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"دستگاههای دردسترس برای خروجی صدا."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"میزان صدا"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"همهفرتستی چطور کار میکند"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"همهفرستی"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"افرادی که در اطرافتان دستگاههای Bluetooth سازگار دارند میتوانند به رسانهای که همهفرستی میکنید گوش کنند"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 6a74ef1..c811d22 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Vasemmalle"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Oikealle"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Keskelle"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Sarkain"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Välilyönti"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Askelpalautin"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Tuntematon sovellus"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Lopeta striimaus"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Käytettävissä olevat audiolaitteet"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Äänenvoimakkuus"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Miten lähetys toimii"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Lähetys"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Lähistöllä olevat ihmiset, joilla on yhteensopiva Bluetooth-laite, voivat kuunnella lähettämääsi mediaa"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Uutta tietoa"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktiiviset sovellukset"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Nämä sovellukset ovat aktiivisia ja ne ovat käynnissä, vaikka et käyttäisi niitä. Näin sovellusten toimivuus paranee, mutta se voi vaikutta akunkestoon."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Pysäytä"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Pysäytetty"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Valmis"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index c8e4b55..1c72886 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Gauche"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Droite"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centrer"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulation"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Espace"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Entrée"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Retour arrière"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 2710b69..d0d781f 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Vers la gauche"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Vers la droite"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centre"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulation"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Espace"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Entrée"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Retour arrière"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Appli inconnue"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Arrêter la diffusion"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Appareils disponibles pour la sortie audio."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volume"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Fonctionnement des annonces"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Annonce"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Les personnes à proximité équipées d\'appareils Bluetooth compatibles peuvent écouter le contenu multimédia que vous diffusez"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 736f4275..1718992 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Esquerda"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Dereita"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centro"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulador"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Espazo"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Intro"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Retroceso"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplicación descoñecida"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Deter emisión"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos dispoñibles para a saída de audio."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volume"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funcionan as difusións?"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Difusión"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As persoas que estean preto de ti e que dispoñan de dispositivos Bluetooth compatibles poden escoitar o contido multimedia que difundas"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index 734dddd..4fc3843 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"નવી માહિતી"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"સક્રિય ઍપ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"જ્યારે તમે આ ઍપનો ઉપયોગ ન કરતા હો, ત્યારે પણ તે સક્રિય અને ચાલતી હોય છે. આનાથી તેની કાર્યક્ષમતામાં સુધારો થાય છે, પરંતુ બૅટરીની આવરદાને અસર પણ થઈ શકે છે."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"રોકો"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"બંધ કરેલી છે"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"થઈ ગયું"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index c6a3392..440b376 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -406,7 +406,7 @@
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"ऑफ़िस के काम से जुड़े ऐप्लिकेशन, <xliff:g id="VPN_APP">%1$s</xliff:g> के ज़रिए इंटरनेट से कनेक्ट किए गए हैं. ऑफ़िस के काम से जुड़े ऐप्लिकेशन में, नेटवर्क पर की गई गतिविधि से जुड़ी जानकारी आपके आईटी एडमिन और वीपीएन सेवा देने वाले को दिखती है. इस जानकारी में, ईमेल और ब्राउज़िंग डेटा शामिल है."</string>
<string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"आपके निजी ऐप्लिकेशन, <xliff:g id="VPN_APP">%1$s</xliff:g> के ज़रिए इंटरनेट से कनेक्ट किए गए हैं. नेटवर्क पर की गई गतिविधि से जुड़ी जानकारी, वीपीएन सेवा देने वाले को दिखती है. इस जानकारी में, ईमेल और ब्राउज़िंग डेटा शामिल है."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
- <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"VPN सेटिंग खोलें"</string>
+ <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"वीपीएन सेटिंग खोलें"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"इस डिवाइस का प्रबंधन आपके अभिभावक करते हैं. अभिभावक आपके डिवाइस से जुड़ी जानकारी देख सकते हैं. साथ ही, इसे प्रबंधित कर सकते हैं. इनमें आपके इस्तेमाल किए गए ऐप्लिकेशन, जगह की जानकारी, और डिवाइस के इस्तेमाल में बिताए गए समय जैसी जानकारी शामिल है."</string>
<string name="legacy_vpn_name" msgid="4174223520162559145">"वीपीएन"</string>
<string name="keyguard_indication_trust_unlocked" msgid="7395154975733744547">"TrustAgent की वजह से अनलॉक रखा गया है"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"नई जानकारी"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"ये ऐप्लिकेशन चालू हैं"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"ये ऐप्लिकेशन चालू हैं और आपके इस्तेमाल न करने पर भी चल रहे हैं. इससे, ये बेहतर तरीके से फ़ंक्शन करते हैं. हालांकि, इससे बैटरी लाइफ़ पर भी असर पड़ सकता है."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"बंद करें"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"बंद है"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"हो गया"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 6ba5dcc8..330363a 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -557,7 +557,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Lijevo"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Desno"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Sredina"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulator"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Razmaknica"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Unos"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Povratna tipka"</string>
@@ -952,14 +952,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Tekst je kopiran"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Slika je kopirana"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Sadržaj je kopiran"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Uređivač međuspremnika"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Međuspremnik"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Pregled slike"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"uredi"</string>
<string name="add" msgid="81036585205287996">"Dodaj"</string>
<string name="manage_users" msgid="1823875311934643849">"Upravljanje korisnicima"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Ova obavijest ne podržava povlačenje na podijeljeni zaslon."</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index beef2f7..c2e2ace 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -401,7 +401,7 @@
<string name="monitoring_description_ca_certificate" msgid="448923057059097497">"Az eszközre tanúsítványkibocsátó van telepítve. Ezáltal figyelhetik és befolyásolhatják az Ön biztonságos hálózati forgalmát."</string>
<string name="monitoring_description_management_network_logging" msgid="216983105036994771">"A rendszergazda bekapcsolta az eszköz forgalmát figyelő hálózati naplózást."</string>
<string name="monitoring_description_managed_profile_network_logging" msgid="6932303843097006037">"A rendszergazda bekapcsolta a hálózati naplózást, amely a munkaprofilban figyeli a forgalmat, a személyes profilban azonban nem."</string>
- <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Ez az eszköz a következőn keresztül csatlakozik az internethez: <xliff:g id="VPN_APP">%1$s</xliff:g>. Hálózati tevékenységei (pl. az e-mailek és a böngészési adatok) láthatók a rendszergazdája és VPN-szolgáltatója számára."</string>
+ <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Ez az eszköz a következőn keresztül csatlakozik az internethez: <xliff:g id="VPN_APP">%1$s</xliff:g>. Hálózati tevékenységei (pl. az e-mailek és a böngészési adatok) láthatók a rendszergazdája számára."</string>
<string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Ez az eszköz a következőkön keresztül csatlakozik az internethez: <xliff:g id="VPN_APP_0">%1$s</xliff:g> és <xliff:g id="VPN_APP_1">%2$s</xliff:g>. Hálózati tevékenységei (pl. az e-mailek és a böngészési adatok) láthatók a rendszergazdája és VPN-szolgáltatója számára."</string>
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Munkahelyi alkalmazásai a következőn keresztül csatlakoznak az internethez: <xliff:g id="VPN_APP">%1$s</xliff:g>. A munkahelyi alkalmazásaiban végzett hálózati tevékenységei (pl. az e-mailek és a böngészési adatok) láthatók a rendszergazdája és VPN-szolgáltatója számára."</string>
<string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Személyes alkalmazásai a következőn keresztül csatlakoznak az internethez: <xliff:g id="VPN_APP">%1$s</xliff:g>. Hálózati tevékenységei (pl. az e-mailek és a böngészési adatok) láthatók a VPN-szolgáltatója számára."</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index 5bc4a7a..6c97321 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -385,7 +385,7 @@
<string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Այս սարքը համացանցին միացած է VPN-ների միջոցով"</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"Ձեր աշխատանքային հավելվածները համացանցին միացած են <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով"</string>
<string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Անձնական հավելվածները համացանցին միացած են <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով"</string>
- <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Այս սարքը համացանցին միացած է <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով"</string>
+ <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Այս սարքը համացանցին միացված է <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"Այս սարքը տրամադրվել է <xliff:g id="ORGANIZATION_NAME">%s</xliff:g> կազմակերպության կողմից"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Սարքերի կառավարում"</string>
<string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN"</string>
@@ -401,10 +401,10 @@
<string name="monitoring_description_ca_certificate" msgid="448923057059097497">"Այս սարքում տեղադրված է վկայագրման կենտրոն։ Ձեր ցանցի ապահով թրաֆիկը կարող է վերահսկվել կամ փոփոխվել։"</string>
<string name="monitoring_description_management_network_logging" msgid="216983105036994771">"Ձեր ադմինիստրատորը միացրել է ցանցային իրադարձությունների գրանցումը, որը վերահսկում է ձեր սարքի թրաֆիկը։"</string>
<string name="monitoring_description_managed_profile_network_logging" msgid="6932303843097006037">"Ձեր ադմինիստրատորը միացրել է ցանցային իրադարձությունների գրանցումը, որը վերահսկում է ձեր աշխատանքային պրոֆիլի թրաֆիկը (այլ ոչ անձնական պրոֆիլը)։"</string>
- <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Այս սարքը միացած է համացանցին <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով։ Ձեր ցանցային գործողությունները աշխատանքային հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր ՏՏ ադմինիստրատորին։"</string>
- <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Այս սարքը համացանցին միացած է <xliff:g id="VPN_APP_0">%1$s</xliff:g>-ի և <xliff:g id="VPN_APP_1">%2$s</xliff:g>-ի միջոցով։ Ձեր ցանցային գործողությունները աշխատանքային հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր ՏՏ ադմինիստրատորին։"</string>
- <string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Աշխատանքային հավելվածները համացանցին միացած են <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով։ Ձեր ցանցային գործողությունները աշխատանքային հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր ՏՏ ադմինիստրատորին և VPN-ի մատակարարին։"</string>
- <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Անձնական հավելվածները համացանցին միացած են <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով։ Ձեր ցանցային գործողությունները անձնական հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր VPN-ի մատակարարին։"</string>
+ <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Այս սարքը միացած է համացանցին <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով։ Ձեր ցանցային ակտիվությունը աշխատանքային հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր ՏՏ ադմինիստրատորին։"</string>
+ <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Այս սարքը համացանցին միացած է <xliff:g id="VPN_APP_0">%1$s</xliff:g>-ի և <xliff:g id="VPN_APP_1">%2$s</xliff:g>-ի միջոցով։ Ձեր ցանցային ակտիվությունը աշխատանքային հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր ՏՏ ադմինիստրատորին։"</string>
+ <string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Աշխատանքային հավելվածները համացանցին միացած են <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով։ Ձեր ցանցային ակտիվությունը աշխատանքային հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր ՏՏ ադմինիստրատորին և VPN-ի մատակարարին։"</string>
+ <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Անձնական հավելվածները համացանցին միացած են <xliff:g id="VPN_APP">%1$s</xliff:g>-ի միջոցով։ Ձեր ցանցային ակտիվությունը անձնական հավելվածներում, ներառյալ էլփոստում և դիտարկիչում արված գործողությունների տվյալները, տեսանելի են ձեր VPN-ի մատակարարին։"</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Բացել VPN-ի կարգավորումները"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Այս սարքը կառավարում է ձեր ծնողը։ Նա կարող է դիտել և փոփոխել որոշակի տեղեկություններ, օրինակ՝ հավելվածները, որոնք դուք օգտագործում եք, ձեր տեղադրությունը և սարքի օգտագործման ժամանակը։"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Նոր տեղեկություն"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Ակտիվ հավելվածներ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Այս հավելվածներն ակտիվ են և աշխատում են, նույնիսկ երբ դուք չեք օգտագործում դրանք։ Դա բարելավում է հավելվածների գործառույթները, սակայն կարող է նաև ազդել մարտկոցի աշխատաժամանակի վրա։"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Կանգնեցնել"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Կանգնեցված է"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Պատրաստ է"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 2fcd734..0eb5ef3 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplikasi tidak dikenal"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Hentikan transmisi"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Perangkat yang tersedia untuk output audio."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volume"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cara kerja siaran"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Siaran"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Orang di dekat Anda dengan perangkat Bluetooth yang kompatibel dapat mendengarkan media yang sedang Anda siarkan"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 83ddd66..372dd1c 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nýjar upplýsingar"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Virk forrit"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Þessi forrit eru virk og í gangi jafnvel þótt þú sért ekki að nota þau. Þetta bætir virkni þeirra en gæti einnig haft áhrif á rafhlöðuendingu."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stöðva"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stöðvað"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Lokið"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 3e7d417..e0af998 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -404,7 +404,7 @@
<string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Questo dispositivo si connette a Internet tramite <xliff:g id="VPN_APP">%1$s</xliff:g>. La tua attività di rete, inclusi email e dati di navigazione, è visibile all\'amministratore IT."</string>
<string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Questo dispositivo si connette a Internet tramite <xliff:g id="VPN_APP_0">%1$s</xliff:g> e <xliff:g id="VPN_APP_1">%2$s</xliff:g>. La tua attività di rete, inclusi email e dati di navigazione, è visibile all\'amministratore IT."</string>
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Le tue app di lavoro si connettono a Internet tramite <xliff:g id="VPN_APP">%1$s</xliff:g>. La tua attività di rete nelle app di lavoro, inclusi email e dati di navigazione, è visibile all\'amministratore IT e al provider VPN."</string>
- <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Le tue app personali si connettono a Internet tramite <xliff:g id="VPN_APP">%1$s</xliff:g>. La tua attività di rete nelle app personali, inclusi email e dati di navigazione, è visibile al provider VPN."</string>
+ <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Le tue app personali si connettono a Internet tramite <xliff:g id="VPN_APP">%1$s</xliff:g>. La tua attività di rete, inclusi email e dati di navigazione, è visibile al provider VPN."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Apri impostazioni VPN"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Questo dispositivo è gestito da uno dei tuoi genitori, il quale può visualizzare e gestire informazioni come le app che usi, la tua posizione e il tuo tempo di utilizzo."</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nuove informazioni"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"App attive"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Queste app sono attive e in esecuzione, anche quando non le utilizzi. Questo migliora la loro funzionalità, ma influisce sulla durata della batteria."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Interrompi"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Interrotta"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Fine"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index cc967d7..8b45531 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -562,7 +562,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"שמאלה"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"ימינה"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"מרכז"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"כרטיסייה"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"רווח"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"BACKSPACE"</string>
@@ -945,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"מידע חדש"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"אפליקציות פעילות"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"האפליקציות האלה פעילות גם כשלא משתמשים בהן. הפעולה של האפליקציות משפרת את הפונקציונליות שלהן, אבל היא עשויה גם להשפיע על חיי הסוללה."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"עצירה"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"הופסקה"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"סיום"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 19c07e5..5324ec50 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"最新情報"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"実行中のアプリ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"ユーザーが使用していない状態でもアクティブで実行中のアプリの一覧です。機能面は向上しますが、バッテリー駆動時間に影響する可能性があります。"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"停止"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"停止中"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"完了"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"テキストをコピーしました"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"画像をコピーしました"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"コンテンツをコピーしました"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"クリップボード エディタ"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"クリップボード"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"画像プレビュー"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"編集"</string>
<string name="add" msgid="81036585205287996">"追加"</string>
<string name="manage_users" msgid="1823875311934643849">"ユーザーの管理"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"この通知は、分割画面へのドラッグがサポートされていません。"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index b68ac7f..b5ec088 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"ახალი ინფორმაცია"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"აქტიური აპები"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"ეს აპები აქტიურია და გაშვებულია, მაშინაც კი, როცა მათ არ იყენებთ. ეს აუმჯობესებს მათ ფუნქციურობას, მაგრამ შეიძლება ბატარეის მუშაობის ხანგრძლივობაზე იმოქმედოს."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"შეწყვეტა"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"შეწყვეტილია"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"მზადაა"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"ტექსტი დაკოპირდა"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"სურათი დაკოპირდა"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"კონტენტი დაკოპირდა"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"გაცვლის ბუფერის რედაქტორი"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"გაცვლის ბუფერი"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"სურათის წინასწარი ხედი"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"რედაქტირება"</string>
<string name="add" msgid="81036585205287996">"დამატება"</string>
<string name="manage_users" msgid="1823875311934643849">"მომხმარებლების მართვა"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"ამ შეტყობინების გადათრევა გაყოფილ ეკრანებს შორის არ არის მხარდაჭერილი."</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index b0d907c..b0171de 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -385,7 +385,7 @@
<string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Бұл құрылғы интернетке VPN желілері арқылы қосылған."</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"Жұмыс қолданбаларыңыз интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> арқылы қосылған."</string>
<string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Жеке қолданбаларыңыз интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> арқылы қосылған."</string>
- <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Бұл желі интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> арқылы қосылған."</string>
+ <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Бұл құрылғы интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> арқылы қосылған."</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"Бұл құрылғыны <xliff:g id="ORGANIZATION_NAME">%s</xliff:g> ұсынады"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Құрылғыны басқару"</string>
<string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN"</string>
@@ -406,7 +406,7 @@
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Жұмыс қолданбаларыңыз интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> арқылы қосылған. Жұмыс қолданбаларында жасаған желідегі әрекетіңіз, соның ішінде электрондық пошталар мен браузерді пайдалану деректеріңіз әкімшіге және VPN провайдеріне көрінеді."</string>
<string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Жеке қолданбаларыңыз интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> арқылы қосылған. Желідегі әрекетіңіз, соның ішінде электрондық пошталар мен браузерді пайдалану деректеріңіз VPN провайдеріне көрінеді."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
- <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"VPN параметрлерін ашу"</string>
+ <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"VPN параметрлерін ашыңыз."</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Бұл құрылғыны ата-анаңыз басқарады. Ата-анаңыз сіз пайдаланатын қолданбалар, геодерегіңіз және пайдалану уақытыңыз сияқты ақпаратты көре және басқара алады."</string>
<string name="legacy_vpn_name" msgid="4174223520162559145">"VPN"</string>
<string name="keyguard_indication_trust_unlocked" msgid="7395154975733744547">"TrustAgent арқылы құлпы ашылды."</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Белгісіз қолданба"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Трансляцияны тоқтату"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Аудио шығыс үшін қолжетімді құрылғылар бар."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Дыбыс деңгейі"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Тарату қалай жүзеге асады"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Тарату"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Үйлесімді Bluetooth құрылғылары бар маңайдағы адамдар сіз таратып жатқан медиамазмұнды тыңдай алады."</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index b61faa0..9aacc3b 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"កម្មវិធីដែលមិនស្គាល់"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"បញ្ឈប់ការភ្ជាប់"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ឧបករណ៍ដែលអាចប្រើបានសម្រាប់ឧបករណ៍បញ្ចេញសំឡេង។"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"កម្រិតសំឡេង"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"របៀបដែលការផ្សាយដំណើរការ"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"ការផ្សាយ"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"មនុស្សនៅជិតអ្នកដែលមានឧបករណ៍ប៊្លូធូសត្រូវគ្នាអាចស្តាប់មេឌៀដែលអ្នកកំពុងផ្សាយបាន"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"ព័ត៌មានថ្មី"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"កម្មវិធីសកម្ម"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"កម្មវិធីទាំងនេះគឺសកម្ម និងកំពុងដំណើរការ ទោះបីជាអ្នកមិនកំពុងប្រើវាក៏ដោយ។ ដំណើរការនេះធ្វើឱ្យមុខងាររបស់កម្មវិធីទាំងនេះប្រសើរឡើង ប៉ុន្តែវាក៏អាចប៉ះពាល់ដល់កម្រិតថាមពលថ្មផងដែរ។"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"ឈប់"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"បានឈប់"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"រួចរាល់"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index 6dbd932a..6aef3bd 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"ಹೊಸ ಮಾಹಿತಿ"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"ಸಕ್ರಿಯ ಆ್ಯಪ್ಗಳು"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"ಈ ಆ್ಯಪ್ಗಳನ್ನು ಬಳಸದಿದ್ದರೂ ಸಹ, ಅವುಗಳು ಸಕ್ರಿಯವಾಗಿರುತ್ತವೆ ಮತ್ತು ಚಾಲನೆಯಲ್ಲಿರುತ್ತವೆ. ಇದು ಅವುಗಳ ಫಂಕ್ಷನಾಲಿಟಿಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"ನಿಲ್ಲಿಸಿ"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"ನಿಲ್ಲಿಸಲಾಗಿದೆ"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"ಮುಗಿದಿದೆ"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 214bfdf..899bca3 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -406,7 +406,7 @@
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"직장 앱은 <xliff:g id="VPN_APP">%1$s</xliff:g> 앱을 통해 인터넷에 연결됩니다. IT 관리자와 VPN 제공업체가 이메일, 인터넷 사용 기록 등 직장 앱에서 이루어진 내 네트워크 활동을 볼 수 있습니다."</string>
<string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"개인 앱은 <xliff:g id="VPN_APP">%1$s</xliff:g> 앱을 통해 인터넷에 연결됩니다. VPN 제공업체가 이메일, 인터넷 사용 기록 등 내 네트워크 활동을 볼 수 있습니다."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
- <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"공개 VPN 설정"</string>
+ <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"VPN 설정 열기"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"부모님이 관리하는 기기입니다. 부모님이 내가 사용하는 앱, 내 위치, 기기 사용 시간과 같은 정보를 보고 관리할 수 있습니다."</string>
<string name="legacy_vpn_name" msgid="4174223520162559145">"VPN"</string>
<string name="keyguard_indication_trust_unlocked" msgid="7395154975733744547">"TrustAgent가 잠금 해제함"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"알 수 없는 앱"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"전송 중지"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"오디오 출력에 사용 가능한 기기입니다."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"볼륨"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"브로드캐스팅 작동 원리"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"브로드캐스트"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"호환되는 블루투스 기기를 가진 근처의 사용자가 내가 브로드캐스트 중인 미디어를 수신 대기할 수 있습니다."</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"새로운 정보"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"활성 상태의 앱"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"사용 중이 아닐 때도 활성화되어 실행되는 앱입니다. 이 경우 앱 기능성이 향상되지만 배터리 수명에 영향을 줄 수도 있습니다."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"중지"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"중지됨"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"완료"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index d626f1f..deaeb43 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -401,10 +401,10 @@
<string name="monitoring_description_ca_certificate" msgid="448923057059097497">"Бул түзмөктө тастыктоочу борбор орнотулган. Коопсуз тармагыңыздын трафиги көзөмөлдөнүп же өзгөртүлүшү мүмкүн."</string>
<string name="monitoring_description_management_network_logging" msgid="216983105036994771">"Администраторуңуз түзмөгүңүздөгү трафикти көзөмөлдөөчү тармактын таржымалын каттоо функциясын иштетти."</string>
<string name="monitoring_description_managed_profile_network_logging" msgid="6932303843097006037">"Администраторуңуз жумуш профилиңиздеги трафикке көз салуу үчүн, тармактын таржымалын иштетип койду (жеке профилиңизден маалымат алынбайт)."</string>
- <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Бул түзмөк Интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> аркылуу туташып турат. Тармакта аткарган аракеттериңиз, анын ичинде электрондук каттарыңыз жана серептөө дайындары IT администраторуна көрүнөт."</string>
- <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Бул түзмөк Интернетке <xliff:g id="VPN_APP_0">%1$s</xliff:g> жана <xliff:g id="VPN_APP_1">%2$s</xliff:g> аркылуу туташып турат. Тармакта аткарган аракеттериңиз, анын ичинде электрондук каттарыңыз жана серептөө дайындары IT администраторуна көрүнөт."</string>
- <string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Жумуш колдонмолоруңуз Интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> аркылуу туташып турушат. Жумуш колдонмолоруңуз аркылуу тармакта аткарган аракеттериңиз, анын ичинде электрондук каттарыңыз жана серептөө дайындары IT администраторуна жана VPN провайдерине көрүнөт."</string>
- <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Жеке колдонмолоруңуз Интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> аркылуу туташып турушат. Тармакта аткарган аракеттериңиз, анын ичинде электрондук каттарыңыз жана серептөө дайындары VPN провайдерине көрүнөт."</string>
+ <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Бул түзмөк Интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> аркылуу туташып турат. Тармактагы аракеттериңиз, ошондой эле электрондук почтадагы жана серепчидеги нерселериңиз IT администраторуңузга көрүнүп турат."</string>
+ <string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Бул түзмөк Интернетке <xliff:g id="VPN_APP_0">%1$s</xliff:g> жана <xliff:g id="VPN_APP_1">%2$s</xliff:g> аркылуу туташып турат. Тармактагы аракеттериңиз, ошондой эле электрондук почтадагы жана серепчидеги нерселериңиз IT администраторуңузга көрүнүп турат."</string>
+ <string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Жумуш колдонмолоруңуз Интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> аркылуу туташып турушат. Жумуш колдонмолору аркылуу тармакта жасаган аракеттериңиз, ошондой эле электрондук почтадагы жана серепчидеги нерселериңиз VPN провайдерине көрүнүп турат."</string>
+ <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Жеке колдонмолоруңуз Интернетке <xliff:g id="VPN_APP">%1$s</xliff:g> аркылуу туташып турушат. Тармактагы аракеттериңиз, ошондой эле электрондук почтадагы жана серепчидеги нерселериңиз VPN провайдерине көрүнүп турат."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"VPN жөндөөлөрүн ачуу"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Бул түзмөктү ата-энең башкарат. Ата-энең сен иштеткен колдонмолорду, кайда жүргөнүңдү жана түзмөктү канча убакыт колдонгонуңду көрүп, башкарып турат."</string>
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Солго"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Оңго"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Ортолотуу"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Өтмөк"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Боштук"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Киргизүү"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Артка өчүрүү"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Белгисиз колдонмо"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Тышкы экранга чыгарууну токтотуу"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Аудио чыгаруу үчүн жеткиликтүү түзмөктөр."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Үндүн катуулугу"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Кабарлоо кантип иштейт"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Кабарлоо"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Шайкеш Bluetooth түзмөктөрү болгон жакын жердеги кишилер кабарлап жаткан медиаңызды уга алышат"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Жаңы маалымат"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Жигердүү колдонмолор"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Бул колдонмолор жабылып турса да, активдүү болуп, иштеп турушат. Алардын функционалдуулугу жакшырат, бирок батареянын кубатынын мөөнөтүнө кедергиси тийиши мүмкүн."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Токтотуу"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Токтотулду"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Бүттү"</string>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 5cfea8f..780e4c7 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"ແອັບທີ່ບໍ່ຮູ້ຈັກ"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ຢຸດການສົ່ງສັນຍານ"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້ສຳລັບເອົ້າພຸດສຽງ."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"ລະດັບສຽງ"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ການອອກອາກາດເຮັດວຽກແນວໃດ"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"ອອກອາກາດ"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ຄົນທີ່ຢູ່ໃກ້ທ່ານທີ່ມີອຸປະກອນ Bluetooth ທີ່ເຂົ້າກັນໄດ້ຈະສາມາດຟັງມີເດຍທີ່ທ່ານກຳລັງອອກອາກາດຢູ່ໄດ້"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 5f8a99e..b4d5bca 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -562,7 +562,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Kairėn"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Dešinėn"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centras"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabuliavimo klavišas"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Tarpas"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Įvesti"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Naikinimo klavišas"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 2259f56..a74447a 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -851,8 +851,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nezināma lietotne"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Apturēt apraidi"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Audio izvadei pieejamās ierīces."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Skaļums"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kā darbojas apraide"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Apraide"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Tuvumā esošās personas ar saderīgām Bluetooth ierīcēm var klausīties jūsu apraidīto multivides saturu."</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index 44e37d4..68afb04 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Нови информации"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Активни апликации"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Овие апликации се активни и работат, дури и кога не ги користите. Ова ја подобрува нивната функционалност, но може да влијае и на траењето на батеријата."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Запри"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Запрено"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Готово"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index 4824705..cfc31de 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"ഇടത്"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"വലത്"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"മധ്യം"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"ടാബ്"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"TAB"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"സ്പെയ്സ്"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"എന്റർ"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"ബാക്ക്സ്പെയ്സ്"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"പുതിയ വിവരങ്ങൾ"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"സജീവമായ ആപ്പുകൾ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"നിങ്ങൾ ഉപയോഗിക്കാത്തപ്പോൾ പോലും ഈ ആപ്പുകൾ സജീവമായിരിക്കും, പ്രവർത്തിച്ചുകൊണ്ടിരിക്കുകയും ചെയ്യും. ഇത് അവയുടെ പ്രവർത്തനക്ഷമത മെച്ചപ്പെടുത്തുന്നു, എന്നാൽ ഇത് ബാറ്ററി ലൈഫിനെ ബാധിച്ചേക്കാനിടയുണ്ട്."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"നിർത്തുക"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"നിർത്തി"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"പൂർത്തിയായി"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"ടെക്സ്റ്റ് പകർത്തി"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"ചിത്രം പകർത്തി"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"ഉള്ളടക്കം പകർത്തി"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"ക്ലിപ്പ്ബോർഡ് എഡിറ്റർ"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"ക്ലിപ്പ്ബോർഡ്"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"ചിത്രത്തിന്റെ പ്രിവ്യൂ"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"എഡിറ്റ് ചെയ്യുക"</string>
<string name="add" msgid="81036585205287996">"ചേർക്കുക"</string>
<string name="manage_users" msgid="1823875311934643849">"ഉപയോക്താക്കളെ മാനേജ് ചെയ്യുക"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"സ്പ്ലിറ്റ് സ്ക്രീനിലേക്ക് വലിച്ചിടുന്നതിനെ ഈ അറിയിപ്പ് പിന്തുണയ്ക്കുന്നില്ല."</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index 8b15ed8..b453c8c 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Зүүн"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Баруун"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Гол хэсэг"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Таб"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Зай"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Оруулах"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Арилгах"</string>
@@ -945,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Текстийг хуулсан"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Зургийг хуулсан"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Контентыг хуулсан"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Түр санах ой засварлагч"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Түр санах ой"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Зураг урьдчилан үзэх"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"засах"</string>
<string name="add" msgid="81036585205287996">"Нэмэх"</string>
<string name="manage_users" msgid="1823875311934643849">"Хэрэглэгчдийг удирдах"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Энэ мэдэгдэл нь Дэлгэцийг хуваах горим руу чирэхийг дэмждэггүй."</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index 70d4f2e..1d303eb 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"डावा"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"उजवा"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"मध्यवर्ती"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"टॅब"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Space"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Backspace"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"नवीन माहिती"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"अॅक्टिव्ह ॲप्स"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"तुम्ही वापरत नसतानाही ही अॅप्स अॅक्टिव्ह असून रन होत आहेत. यामुळे त्यांची कार्यक्षमता सुधारते, पण त्याचा बॅटरी लाइफवरदेखील परिणाम होऊ शकतो."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"थांबवा"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"थांबवले"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"पूर्ण झाले"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index 384c2ee..ed509e2 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"ဘယ်"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"ညာ"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"ဌာန"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"တဘ်"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Space"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter ခလုတ်"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"နောက်ပြန်ဖျက်ပါ"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 5412c49..5f3bc0a 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Ukjent app"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stopp castingen"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Tilgjengelige enheter for lydutgang."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volum"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Slik fungerer kringkasting"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Kringkasting"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Folk i nærheten med kompatible Bluetooth-enheter kan lytte til mediene du kringkaster"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 46fcc3c..c9c5b06 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"नयाँ जानकारी"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"सक्रिय एपहरू"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"यी एपहरू प्रयोग नगरेका बेला पनि सक्रिय र चालु अवस्थामा रहन्छन्। यसले एपहरूलाई अझ राम्ररी काम गर्न सक्ने बनाउँछ। तर यसका कारणले ब्याट्रीको आयु भने घट्न सक्छ।"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"रोक्नुहोस्"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"रोकिएको छ"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"सम्पन्न भयो"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 9c540e0..f532830 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"ବାମ"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"ଡାହାଣ"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"କେନ୍ଦ୍ର"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"ଟ୍ୟାବ୍"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"ସ୍ପେସ୍"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"ଏଣ୍ଟର୍"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"ବ୍ୟାକସ୍ପେସ୍"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"ଅଜଣା ଆପ"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"କାଷ୍ଟ କରିବା ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ଅଡିଓ ଆଉଟପୁଟ ପାଇଁ ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକ।"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"ଭଲ୍ୟୁମ"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ବ୍ରଡକାଷ୍ଟିଂ କିପରି କାମ କରେ"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"ବ୍ରଡକାଷ୍ଟ"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ଆପଣଙ୍କ ଆଖପାଖର କମ୍ପାଟିବଲ ବ୍ଲୁଟୁଥ ଡିଭାଇସ ଥିବା ଲୋକମାନେ ଆପଣ ବ୍ରଡକାଷ୍ଟ କରୁଥିବା ମିଡିଆ ଶୁଣିପାରିବେ"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"ନୂଆ ସୂଚନା"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"ସକ୍ରିୟ ଆପଗୁଡ଼ିକ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"ଆପଣ ଏହି ଆପ୍ସକୁ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ ସେଗୁଡ଼ିକ ସକ୍ରିୟ ରହିଥାଏ ଏବଂ ଚାଲୁଥାଏ। ଏହା ସେଗୁଡ଼ିକର କାର୍ଯ୍ୟକ୍ଷମତାକୁ ଉନ୍ନତ କରେ, କିନ୍ତୁ ଏହା ମଧ୍ୟ ବ୍ୟାଟେରୀ ଲାଇଫକୁ ପ୍ରଭାବିତ କରିପାରେ।"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"ବନ୍ଦ ହୋଇଛି"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"ହୋଇଗଲା"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index e621727..c4c9ba1 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Left"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Right"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Center"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"ਟੈਬ"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Space"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Backspace"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"ਨਵੀਂ ਜਾਣਕਾਰੀ"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"ਕਿਰਿਆਸ਼ੀਲ ਐਪਾਂ"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"ਇਹ ਐਪਾਂ ਕਿਰਿਆਸ਼ੀਲ ਹਨ ਅਤੇ ਚੱਲ ਰਹੀਆਂ ਹਨ, ਭਾਵੇਂ ਤੁਸੀਂ ਇਨ੍ਹਾਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਰਹੇ। ਇਸ ਨਾਲ ਇਨ੍ਹਾਂ ਦੀ ਪ੍ਰਕਾਰਜਾਤਮਕਤਾ ਬਿਹਤਰ ਹੁੰਦੀ ਹੈ ਪਰ ਬੈਟਰੀ ਲਾਈਫ਼ ਵੀ ਪ੍ਰਭਾਵਿਤ ਹੋ ਸਕਦੀ ਹੈ।"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"ਬੰਦ ਕਰੋ"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"ਬੰਦ ਹੈ"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"ਹੋ ਗਿਆ"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"ਲਿਖਤ ਕਾਪੀ ਕੀਤੀ ਗਈ"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"ਚਿੱਤਰ ਕਾਪੀ ਕੀਤਾ ਗਿਆ"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"ਸਮੱਗਰੀ ਕਾਪੀ ਕੀਤੀ ਗਈ"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"ਕਲਿੱਪਬੋਰਡ ਸੰਪਾਦਕ"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"ਕਲਿੱਪਬੋਰਡ"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"ਚਿੱਤਰ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"ਸੰਪਾਦਨ ਕਰੋ"</string>
<string name="add" msgid="81036585205287996">"ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="manage_users" msgid="1823875311934643849">"ਵਰਤੋਂਕਾਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"ਇਹ ਸੂਚਨਾ ਸਪਲਿਟ ਸਕ੍ਰੀਨ \'ਤੇ ਘਸੀਟਣ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ ਹੈ।"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index c03fcd3..60bc19e 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -857,8 +857,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nieznana aplikacja"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zatrzymaj przesyłanie"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostępne urządzenia do odtwarzania dźwięku."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Głośność"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Jak działa transmitowanie"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Transmisja"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Osoby w pobliżu ze zgodnymi urządzeniami Bluetooth mogą słuchać transmitowanych przez Ciebie multimediów"</string>
@@ -946,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nowa informacja"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktywne aplikacje"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Te aplikacje są aktywne i działają, nawet gdy ich nie używasz. Zwiększa to ich funkcjonalność, ale może również pogarszać żywotność baterii."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Zatrzymaj"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Zatrzymano"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Gotowe"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index cfae8af..cd69f86 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App desconhecido"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Parar transmissão"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponíveis para saída de áudio."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volume"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funciona a transmissão"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Transmitir"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As pessoas próximas a você com dispositivos Bluetooth compatíveis podem ouvir a mídia que você está transmitindo"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Imagem copiada"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Conteúdo copiado"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Editor da área de transferência"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Área de transferência"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Visualização da imagem"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"editar"</string>
<string name="add" msgid="81036585205287996">"Adicionar"</string>
<string name="manage_users" msgid="1823875311934643849">"Gerenciar usuários"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificação não tem suporte para ser arrastada para a tela dividida."</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index db20a14..2b22504 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -406,7 +406,7 @@
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"As suas apps de trabalho estão ligadas à Internet através da app <xliff:g id="VPN_APP">%1$s</xliff:g>. A sua atividade de rede em apps de trabalho, incluindo dados de navegação e emails, está visível para o seu administrador de TI e fornecedor de VPN."</string>
<string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"As suas apps pessoais estão ligadas à Internet através da app <xliff:g id="VPN_APP">%1$s</xliff:g>. A sua atividade de rede, incluindo dados de navegação e emails, está visível para o seu fornecedor de VPN."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
- <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Abrir as definições de VPN"</string>
+ <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Abra as definições de VPN"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Este dispositivo é gerido pelos teus pais, que podem ver e gerir informações como as apps que utilizas, a tua localização e o tempo de utilização."</string>
<string name="legacy_vpn_name" msgid="4174223520162559145">"VPN"</string>
<string name="keyguard_indication_trust_unlocked" msgid="7395154975733744547">"Mantido desbloqueado pelo TrustAgent"</string>
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Para a esquerda"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Para a direita"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Ao centro"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulação"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Espaço"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Retrocesso"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Novas informações"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Apps ativas"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Estas apps estão ativas e a funcionar, mesmo quando não as está a usar. Isto melhora a sua funcionalidade, mas também afeta a autonomia da bateria."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Parar"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Parada"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Concluir"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Imagem copiada"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Conteúdo copiado"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Editor da área de transferência"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Área de transferência"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Pré-visualização da imagem"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"editar"</string>
<string name="add" msgid="81036585205287996">"Adicionar"</string>
<string name="manage_users" msgid="1823875311934643849">"Gerir utilizadores"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificação não pode ser arrastada para o ecrã dividido."</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index cfae8af..cd69f86 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App desconhecido"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Parar transmissão"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponíveis para saída de áudio."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volume"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funciona a transmissão"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Transmitir"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As pessoas próximas a você com dispositivos Bluetooth compatíveis podem ouvir a mídia que você está transmitindo"</string>
@@ -946,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Imagem copiada"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Conteúdo copiado"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Editor da área de transferência"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Área de transferência"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Visualização da imagem"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"editar"</string>
<string name="add" msgid="81036585205287996">"Adicionar"</string>
<string name="manage_users" msgid="1823875311934643849">"Gerenciar usuários"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificação não tem suporte para ser arrastada para a tela dividida."</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 746d4ea..d088357 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -945,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Новая информация"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Активные приложения"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Эти приложения работают и остаются активными, даже когда вы их не используете. Это дает дополнительные возможности, но может сократить время работы от батареи."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Остановить"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Остановлено"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Готово"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 0192f2f..5c5f69b 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -562,7 +562,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Doľava"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Doprava"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Do stredu"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulátor"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Medzerník"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Backspace"</string>
@@ -945,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nové informácie"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktívne aplikácie"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Tieto aplikácie sú spustené a aktívne, aj keď ich nepoužívate. Zlepšuje to ich funkčnosť, ale môže to mať vplyv aj na výdrž batérie."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Zastaviť"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Zastavená"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Hotovo"</string>
@@ -960,14 +959,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Text bol skopírovaný"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Obrázok bol skopírovaný"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Obsah bol skopírovaný"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Editor schránky"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Schránka"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Ukážka obrázka"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"upraviť"</string>
<string name="add" msgid="81036585205287996">"Pridať"</string>
<string name="manage_users" msgid="1823875311934643849">"Spravovať používateľov"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Toto upozornenie nepodporuje presun na rozdelenú obrazovku."</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 1dde301..a6868d5 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -562,7 +562,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Levo"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Desno"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Sredina"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Tabulatorka"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Preslednica"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Vnesi"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Premik nazaj"</string>
@@ -945,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Nove informacije"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktivne aplikacije"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Te aplikacije so aktivne in se izvajajo, tudi ko jih ne uporabljate. To sicer izboljša njihovo delovanje, vendar lahko hkrati vpliva na čas delovanja baterije."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Ustavi"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Ustavljeno"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Končano"</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index 4fe7281..2834960 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -212,7 +212,7 @@
<string name="start_dreams" msgid="9131802557946276718">"Mbrojtësi i ekranit"</string>
<string name="ethernet_label" msgid="2203544727007463351">"Eternet"</string>
<string name="quick_settings_dnd_label" msgid="7728690179108024338">"Mos shqetëso"</string>
- <string name="quick_settings_bluetooth_label" msgid="7018763367142041481">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_label" msgid="7018763367142041481">"Bluetooth-i"</string>
<string name="quick_settings_bluetooth_detail_empty_text" msgid="5760239584390514322">"Nuk ofrohet për përdorim asnjë pajisje e çiftuar"</string>
<string name="quick_settings_bluetooth_secondary_label_battery_level" msgid="4182034939479344093">"<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%s</xliff:g> bateri"</string>
<string name="quick_settings_bluetooth_secondary_label_audio" msgid="780333390310051161">"Audio"</string>
@@ -230,7 +230,7 @@
<string name="quick_settings_media_device_label" msgid="8034019242363789941">"Pajisje e jashtme ruajtëse"</string>
<string name="quick_settings_user_title" msgid="8673045967216204537">"Përdoruesi"</string>
<string name="quick_settings_wifi_label" msgid="2879507532983487244">"Wi-Fi"</string>
- <string name="quick_settings_internet_label" msgid="6603068555872455463">"Internet"</string>
+ <string name="quick_settings_internet_label" msgid="6603068555872455463">"Interneti"</string>
<string name="quick_settings_networks_available" msgid="1875138606855420438">"Ofrohen rrjete"</string>
<string name="quick_settings_networks_unavailable" msgid="1167847013337940082">"Rrjetet nuk ofrohen"</string>
<string name="quick_settings_wifi_detail_empty_text" msgid="483130889414601732">"Nuk ka rrjete Wi-Fi të disponueshme"</string>
@@ -438,7 +438,7 @@
<string name="stream_music" msgid="2188224742361847580">"Media"</string>
<string name="stream_alarm" msgid="16058075093011694">"Alarmi"</string>
<string name="stream_notification" msgid="7930294049046243939">"Njoftimi"</string>
- <string name="stream_bluetooth_sco" msgid="6234562365528664331">"Bluetooth"</string>
+ <string name="stream_bluetooth_sco" msgid="6234562365528664331">"Bluetooth-i"</string>
<string name="stream_dtmf" msgid="7322536356554673067">"Frekuenca e dyfishtë me shumë tone"</string>
<string name="stream_accessibility" msgid="3873610336741987152">"Qasshmëria"</string>
<string name="volume_ringer_status_normal" msgid="1339039682222461143">"Bjeri ziles"</string>
@@ -558,7 +558,7 @@
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Kthim prapa"</string>
<string name="keyboard_key_media_play_pause" msgid="8389984232732277478">"Luaj/pauzë"</string>
<string name="keyboard_key_media_stop" msgid="1509943745250377699">"Ndalo"</string>
- <string name="keyboard_key_media_next" msgid="8502476691227914952">"Përpara"</string>
+ <string name="keyboard_key_media_next" msgid="8502476691227914952">"Para"</string>
<string name="keyboard_key_media_previous" msgid="5637875709190955351">"Prapa"</string>
<string name="keyboard_key_media_rewind" msgid="3450387734224327577">"Rikthe me shpejtësi"</string>
<string name="keyboard_key_media_fast_forward" msgid="3572444327046911822">"Përparo me shpejtësi"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplikacion i panjohur"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Ndalo transmetimin"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Pajisjet që ofrohen për daljen e audios."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volumi"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Si funksionon transmetimi"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Transmetimi"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Personat në afërsi me ty me pajisje të përputhshme me Bluetooth mund të dëgjojnë median që ti po transmeton"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index ae51ca2..c45b1e5 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Vänster"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Höger"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Centrera"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Flik"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Blanksteg"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Retur"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Backsteg"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Okänd app"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Sluta casta"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Enheter som är tillgängliga för ljudutdata."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volym"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Så fungerar utsändning"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Utsändning"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Personer i närheten med kompatibla Bluetooth-enheter kan lyssna på medieinnehåll som du sänder ut"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Ny information"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aktiva appar"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Dessa appar är aktiva och körs även när du inte använder dem. Detta hjälper dem att fungera bättre men batteritiden kan påverkas."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stoppa"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Stoppad"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Klar"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index d8826d1..c462c34 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Programu isiyojulikana"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Acha kutuma"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Vifaa vya kutoa sauti vilivyopo"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Sauti"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Jinsi utangazaji unavyofanya kazi"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Tangaza"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Watu walio karibu nawe wenye vifaa oanifu vya Bluetooth wanaweza kusikiliza maudhui unayoyatangaza"</string>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index 3ac8995..4423009 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"புதிய தகவல்கள்"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"செயலிலுள்ள ஆப்ஸ்"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"இந்த ஆப்ஸை நீங்கள் பயன்படுத்தாதபோதும் அவை செயலில் இருப்பதோடு இயங்கிக் கொண்டிருக்கும். இது அவற்றின் செயல்பாட்டை மேம்படுத்தும். ஆனால், அதே சமயம் பேட்டரி ஆயுளைக் குறைக்கக்கூடும்."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"நிறுத்து"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"இயங்கவில்லை"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"முடிந்தது"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index 0b0dc8e..cfdddde 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"కొత్త సమాచారం"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"యాక్టివ్గా ఉన్న యాప్లు"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"మీరు వాటిని ఉపయోగించనప్పటికీ, ఈ యాప్లు యాక్టివ్గా ఉంటాయి, రన్ అవుతాయి. ఇది వారి ఫంక్షనాలిటీని మెరుగుపరుస్తుంది, అయితే ఇది బ్యాటరీ జీవితకాలాన్ని కూడా ప్రభావితం చేయవచ్చు."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"ఆపివేయండి"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"ఆపివేయబడింది"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"పూర్తయింది"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 67f298f..385ee12 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -384,7 +384,7 @@
<string name="quick_settings_disclosure_monitoring" msgid="8548019955631378680">"อาจมีการตรวจสอบเครือข่าย"</string>
<string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"อุปกรณ์นี้เชื่อมต่ออินเทอร์เน็ตผ่าน VPN"</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"แอปงานเชื่อมต่ออินเทอร์เน็ตผ่าน <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
- <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"แอปส่วนตัวเชื่อมต่ออินเทอร์เน็ตผ่าน<xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
+ <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"แอปส่วนตัวเชื่อมต่ออินเทอร์เน็ตผ่าน <xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
<string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"อุปกรณ์นี้เชื่อมต่ออินเทอร์เน็ตผ่าน<xliff:g id="VPN_APP">%1$s</xliff:g>"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"อุปกรณ์นี้ให้บริการโดย <xliff:g id="ORGANIZATION_NAME">%s</xliff:g>"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"การจัดการอุปกรณ์"</string>
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"ซ้าย"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"ขวา"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"กึ่งกลาง"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"แท็บ"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"วรรค"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"ลบถอยหลัง"</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"ข้อมูลใหม่"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"แอปที่ใช้งานอยู่"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"แอปเหล่านี้กำลังทำงานแม้ว่าคุณจะไม่ได้ใช้งานอยู่ก็ตาม วิธีนี้ช่วยให้ฟังก์ชันการทำงานของแอปมีประสิทธิภาพมากขึ้น แต่ก็อาจส่งผลต่ออายุการใช้งานแบตเตอรี่ด้วย"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"หยุด"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"หยุดแล้ว"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"เสร็จ"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 5bcf5f3..6bf3d8f 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Hindi kilalang app"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Ihinto ang pag-cast"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Mga available na device para sa audio output."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Volume"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Paano gumagana ang pag-broadcast"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Broadcast"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Makakapakinig ang mga taong malapit sa iyo na may mga compatible na Bluetooth device sa media na bino-broadcast mo"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Bagong impormasyon"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Mga aktibong app"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Aktibo at tumatakbo ang mga app na ito kahit na hindi mo ginagamit. Pinapahusay nito ang functionality ng mga app, pero posible rin itong makaapekto sa tagal ng baterya."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Ihinto"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Inihinto"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Tapos na"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 7cb9631..9d3c9227 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Sol"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Sağ"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Orta"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Sekme"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Boşluk"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Enter"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Geri tuşu"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Bilinmeyen uygulama"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Yayını durdur"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Ses çıkışı için kullanılabilir cihazlar."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Ses düzeyi"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Yayınlamanın işleyiş şekli"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Anons"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Yakınınızda ve uyumlu Bluetooth cihazları olan kişiler yayınladığınız medya içeriğini dinleyebilir"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Yeni bilgi"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Etkin uygulamalar"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Bu uygulamalar, kullanmadığınız zamanlarda bile etkin ve çalışır durumdadır. Bu durum daha iyi çalışmalarını sağlar ancak pil ömrünü de olumsuz etkileyebilir."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Durdur"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Durduruldu"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Bitti"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 51b4955..6f36589 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -857,8 +857,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Невідомий додаток"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Припинити трансляцію"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Доступні пристрої для відтворення звуку."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Гучність"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Як працює трансляція"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Трансляція"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Люди поблизу, які мають сумісні пристрої з Bluetooth, можуть слухати медіаконтент, який ви транслюєте."</string>
@@ -946,8 +945,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Нова інформація"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Активні додатки"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Навіть якщо ви не використовуєте ці додатки, вони залишаються активними й продовжують працювати. Це покращує їх функціональні можливості, але може впливати на час роботи акумулятора."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Зупинити"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Зупинено"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Готово"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 4421b37..7820313 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -384,8 +384,8 @@
<string name="quick_settings_disclosure_monitoring" msgid="8548019955631378680">"Tarmoq kuzatilishi mumkin"</string>
<string name="quick_settings_disclosure_vpns" msgid="3586175303518266301">"Bu qurilma internetga VPN tarmoqlari orqali ulangan"</string>
<string name="quick_settings_disclosure_managed_profile_named_vpn" msgid="153393105176944100">"Ishga oid ilovalar internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan"</string>
- <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Shaxsiy ilovalaringiz internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan"</string>
- <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Bu qurilma internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan"</string>
+ <string name="quick_settings_disclosure_personal_profile_named_vpn" msgid="451254750289172191">"Shaxsiy ilovalaringiz Internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan"</string>
+ <string name="quick_settings_disclosure_named_vpn" msgid="6191822916936028208">"Bu qurilma Internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"Bu qurilma <xliff:g id="ORGANIZATION_NAME">%s</xliff:g> tomonidan berilgan."</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Qurilmalar boshqaruvi"</string>
<string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN"</string>
@@ -401,10 +401,10 @@
<string name="monitoring_description_ca_certificate" msgid="448923057059097497">"Qurilmada CA sertifikati o‘rnatilgan. U himoyalangan tarmoq trafigini nazorat qilishi va o‘zgartirishi mumkin."</string>
<string name="monitoring_description_management_network_logging" msgid="216983105036994771">"Administrator qurilmangizdagi trafikni nazorat qiluvchi tarmoq jurnalini yuritishni faollashtirgan."</string>
<string name="monitoring_description_managed_profile_network_logging" msgid="6932303843097006037">"Administrator ish profilingizdagi trafikni nazorat qiluvchi tarmoq jurnalini yuritishni faollashtirgan (shaxsiy profildan maʼlumotlar olinmaydi)."</string>
- <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Bu qurilma internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan. Emaillar va brauzer tarixi kabi tarmoq harakatlaringiz AT administratoriga koʻrinadi."</string>
+ <string name="monitoring_description_named_vpn" msgid="7502657784155456414">"Bu qurilma Internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan. Emaillar va brauzer tarixi kabi tarmoqdagi xatti-harakatlaringiz AT administratoriga koʻrinadi."</string>
<string name="monitoring_description_two_named_vpns" msgid="6726394451199620634">"Bu qurilma internet <xliff:g id="VPN_APP_0">%1$s</xliff:g> va <xliff:g id="VPN_APP_1">%2$s</xliff:g> orqali ulangan. Emaillar va brauzer tarixi kabi tarmoq harakatlaringiz AT administratoriga koʻrinadi."</string>
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Ishga oid ilovalar internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan. Ishga oid ilovalarda emaillar va brauzer tarixi kabi tarmoq harakatlaringiz AT administratori va VPN provayderiga koʻrinadi."</string>
- <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Shaxsiy ilovalaringiz internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan. Emaillar va brauzer tarixi kabi tarmoq harakatlaringiz VPN provayderiga koʻrinadi."</string>
+ <string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Shaxsiy ilovalaringiz Internetga <xliff:g id="VPN_APP">%1$s</xliff:g> orqali ulangan. Emaillar va brauzer tarixi kabi tarmoqdagi xatti-harakatlaringiz VPN provayderiga koʻrinadi."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"VPN sozlamalarini ochish"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Bu – ota-onangiz tomonidan boshqariladigan qurilma. Ota-onangiz siz foydalangan ilovalar, joylashuvingiz va qurilmadan foydalanish vaqti kabi axborotlarni koʻrishi va boshqarishi mumkin."</string>
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Yangi axborot"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Faol ilovalar"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Bu ilovalardan foydalanmasangiz ham ular faol va ishlamoqda. Bu ularning ishlashini yaxshilaydi, lekin batareya quvvatiga ham taʼsir qilishi mumkin."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Stop"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Toʻxtatildi"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Tayyor"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 608935a..9f8da90 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -406,7 +406,7 @@
<string name="monitoring_description_managed_profile_named_vpn" msgid="7254359257263069766">"Ứng dụng công việc của bạn được kết nối với Internet thông qua <xliff:g id="VPN_APP">%1$s</xliff:g>. Hoạt động mạng trong các ứng dụng công việc, bao gồm email và dữ liệu duyệt web sẽ được hiển thị cho quản trị viên CNTT và nhà cung cấp VPN."</string>
<string name="monitoring_description_personal_profile_named_vpn" msgid="5083909710727365452">"Ứng dụng cá nhân được kết nối với Internet thông qua <xliff:g id="VPN_APP">%1$s</xliff:g>. Hoạt động mạng của bạn, bao gồm email và dữ liệu duyệt web, được hiển thị cho nhà cung cấp VPN."</string>
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
- <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Mở cài đặt VPN"</string>
+ <string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Mở phần cài đặt VPN"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Thiết bị này do cha mẹ bạn quản lý. Cha mẹ có thể có thể xem và quản lý những thông tin như ứng dụng bạn dùng, vị trí của bạn và thời gian bạn sử dụng thiết bị."</string>
<string name="legacy_vpn_name" msgid="4174223520162559145">"VPN"</string>
<string name="keyguard_indication_trust_unlocked" msgid="7395154975733744547">"Luôn được TrustAgent mở khóa"</string>
@@ -945,14 +945,10 @@
<string name="clipboard_text_copied" msgid="5100836834278976679">"Đã sao chép văn bản"</string>
<string name="clipboard_image_copied" msgid="3793365360174328722">"Đã sao chép hình ảnh"</string>
<string name="clipboard_content_copied" msgid="144452398567828145">"Đã sao chép nội dung"</string>
- <!-- no translation found for clipboard_editor (2971197550401892843) -->
- <skip />
- <!-- no translation found for clipboard_overlay_window_name (6450043652167357664) -->
- <skip />
- <!-- no translation found for clipboard_image_preview (2156475174343538128) -->
- <skip />
- <!-- no translation found for clipboard_edit (4500155216174011640) -->
- <skip />
+ <string name="clipboard_editor" msgid="2971197550401892843">"Trình chỉnh sửa bảng nhớ tạm"</string>
+ <string name="clipboard_overlay_window_name" msgid="6450043652167357664">"Bảng nhớ tạm"</string>
+ <string name="clipboard_image_preview" msgid="2156475174343538128">"Bản xem trước hình ảnh"</string>
+ <string name="clipboard_edit" msgid="4500155216174011640">"sửa"</string>
<string name="add" msgid="81036585205287996">"Thêm"</string>
<string name="manage_users" msgid="1823875311934643849">"Quản lý người dùng"</string>
<string name="drag_split_not_supported" msgid="4326847447699729722">"Thông báo này không hỗ trợ thao tác kéo để Chia đôi màn hình."</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index bcd27e5..26f1ec0 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -931,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"新信息"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"已开启的应用"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"这些应用正在保持活跃运行状态,即使您没有在使用它们。这可以改进它们的功能,但可能会影响到电池续航时间。"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"停止"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"已停止"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"完成"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 610e3b7..e1b3402 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"不明應用程式"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"停止投放"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"可用作音訊輸出的裝置"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"音量"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"廣播運作方式"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"廣播"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"附近有兼容藍牙裝置的人可收聽您正在廣播的媒體內容"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index c1be12bc..996cff4 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"不明的應用程式"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"停止投放"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"可用於輸出音訊的裝置。"</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"音量"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"廣播功能的運作方式"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"廣播"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"如果附近的人有相容的藍牙裝置,就可以聽到你正在廣播的媒體內容"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"新資訊"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"使用中的應用程式"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"即使您並未使用,這些應用程式仍會持續啟用並執行。這可提升其功能,但也可能影響電池續航力。"</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"停止"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"已停止"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"完成"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 5379f0a..74508bf 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -552,7 +552,7 @@
<string name="keyboard_key_dpad_left" msgid="8329738048908755640">"Kwesobunxele"</string>
<string name="keyboard_key_dpad_right" msgid="6282105433822321767">"Kwesokudla"</string>
<string name="keyboard_key_dpad_center" msgid="4079412840715672825">"Maphakathi"</string>
- <string name="keyboard_key_tab" msgid="4592772350906496730">"Ithebhu"</string>
+ <string name="keyboard_key_tab" msgid="4592772350906496730">"Tab"</string>
<string name="keyboard_key_space" msgid="6980847564173394012">"Isikhala"</string>
<string name="keyboard_key_enter" msgid="8633362970109751646">"Faka"</string>
<string name="keyboard_key_backspace" msgid="4095278312039628074">"Isikhala"</string>
@@ -845,8 +845,7 @@
<string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"I-app engaziwa"</string>
<string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Misa ukusakaza"</string>
<string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Amadivayisi atholakalayo okukhipha umsindo."</string>
- <!-- no translation found for media_output_dialog_accessibility_seekbar (5332843993805568978) -->
- <skip />
+ <string name="media_output_dialog_accessibility_seekbar" msgid="5332843993805568978">"Ivolumu"</string>
<string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Indlela ukusakaza okusebenza ngayo"</string>
<string name="media_output_broadcast" msgid="3555580945878071543">"Sakaza"</string>
<string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Abantu abaseduze nawe abanamadivayisi e-Bluetooth ahambisanayo bangalalela imidiya oyisakazayo"</string>
@@ -932,8 +931,7 @@
</plurals>
<string name="fgs_dot_content_description" msgid="2865071539464777240">"Ulwazi olusha"</string>
<string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Ama-app asebenzayo"</string>
- <!-- no translation found for fgs_manager_dialog_message (2670045017200730076) -->
- <skip />
+ <string name="fgs_manager_dialog_message" msgid="2670045017200730076">"Lama-app ayaqhubeka esebenza, ngisho nalapho ungawasebenzisi. Lokhu kuthuthukisa ukusebenza kwawo, kodwa kungase kuthinte impilo yawo yebhethri."</string>
<string name="fgs_manager_app_item_stop_button_label" msgid="7188317969020801156">"Misa"</string>
<string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Imisiwe"</string>
<string name="clipboard_edit_text_done" msgid="4551887727694022409">"Kwenziwe"</string>
diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
index 3c4c1b6..487e1a4 100644
--- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
+++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
@@ -23,7 +23,6 @@
import android.content.res.Resources;
import android.graphics.Color;
import android.icu.text.NumberFormat;
-import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@@ -144,7 +143,6 @@
@Override
protected void onViewAttached() {
- Log.d(TAG, "onViewAttached mView=" + mView);
updateLocale();
mBroadcastDispatcher.registerReceiver(mLocaleBroadcastReceiver,
new IntentFilter(Intent.ACTION_LOCALE_CHANGED));
@@ -162,7 +160,6 @@
@Override
protected void onViewDetached() {
- Log.d(TAG, "onViewDetached mView=" + mView);
mBroadcastDispatcher.unregisterReceiver(mLocaleBroadcastReceiver);
mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateMonitorCallback);
mBatteryController.removeCallback(mBatteryCallback);
diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt b/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt
index 19d39d5..e22386e 100644
--- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt
+++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt
@@ -25,7 +25,6 @@
import android.text.TextUtils
import android.text.format.DateFormat
import android.util.AttributeSet
-import android.util.Log
import android.widget.TextView
import com.android.systemui.R
import com.android.systemui.animation.Interpolators
@@ -133,22 +132,6 @@
// relayout if the text didn't actually change.
if (!TextUtils.equals(text, formattedText)) {
text = formattedText
- Log.d(
- tag, "refreshTime this=$this" +
- " currTimeContextDesc=$contentDescription" +
- " measuredHeight=$measuredHeight" +
- " lastMeasureCall=$lastMeasureCall" +
- " isSingleLineInternal=$isSingleLineInternal"
- )
- } else {
- Log.d(
- tag, "refreshTime (skipped due to unchanged text)" +
- " this=$this" +
- " currTimeContextDesc=$contentDescription" +
- " measuredHeight=$measuredHeight" +
- " lastMeasureCall=$lastMeasureCall" +
- " isSingleLineInternal=$isSingleLineInternal"
- )
}
}
@@ -169,20 +152,10 @@
} else {
animator.updateLayout(layout)
}
- Log.v(tag, "onMeasure this=$this" +
- " currTimeContextDesc=$contentDescription" +
- " heightMeasureSpecMode=${MeasureSpec.getMode(heightMeasureSpec)}" +
- " heightMeasureSpecSize=${MeasureSpec.getSize(heightMeasureSpec)}" +
- " measuredWidth=$measuredWidth" +
- " measuredHeight=$measuredHeight" +
- " isSingleLineInternal=$isSingleLineInternal")
}
override fun onDraw(canvas: Canvas) {
// intentionally doesn't call super.onDraw here or else the text will be rendered twice
- Log.d(tag, "onDraw this=$this" +
- " currTimeContextDesc=$contentDescription" +
- " isSingleLineInternal=$isSingleLineInternal")
textAnimator?.draw(canvas)
}
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
index bd5bceb..40edfe5 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
@@ -304,7 +304,7 @@
super.onLayout(changed, l, t, r, b);
if (mDisplayedClockSize != null && !mChildrenAreLaidOut) {
- updateClockViews(mDisplayedClockSize == LARGE, /* animate */ true);
+ post(() -> updateClockViews(mDisplayedClockSize == LARGE, /* animate */ true));
}
mChildrenAreLaidOut = true;
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
index ea14b64..5c9dd5e 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
@@ -237,23 +237,12 @@
mStatusArea = mView.findViewById(R.id.keyguard_status_area);
if (mSmartspaceController.isEnabled()) {
- mSmartspaceView = mSmartspaceController.buildAndConnectView(mView);
View ksv = mView.findViewById(R.id.keyguard_slice_view);
int ksvIndex = mStatusArea.indexOfChild(ksv);
ksv.setVisibility(View.GONE);
- LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
- MATCH_PARENT, WRAP_CONTENT);
-
- mStatusArea.addView(mSmartspaceView, ksvIndex, lp);
- int startPadding = getContext().getResources()
- .getDimensionPixelSize(R.dimen.below_clock_padding_start);
- int endPadding = getContext().getResources()
- .getDimensionPixelSize(R.dimen.below_clock_padding_end);
- mSmartspaceView.setPaddingRelative(startPadding, 0, endPadding, 0);
-
+ addSmartspaceView(ksvIndex);
updateClockLayout();
- mKeyguardUnlockAnimationController.setLockscreenSmartspace(mSmartspaceView);
}
mSecureSettings.registerContentObserverForUser(
@@ -287,6 +276,30 @@
mKeyguardUnlockAnimationListener);
}
+ void onLocaleListChanged() {
+ if (mSmartspaceController.isEnabled()) {
+ int index = mStatusArea.indexOfChild(mSmartspaceView);
+ if (index >= 0) {
+ mStatusArea.removeView(mSmartspaceView);
+ addSmartspaceView(index);
+ }
+ }
+ }
+
+ private void addSmartspaceView(int index) {
+ mSmartspaceView = mSmartspaceController.buildAndConnectView(mView);
+ LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
+ MATCH_PARENT, WRAP_CONTENT);
+ mStatusArea.addView(mSmartspaceView, index, lp);
+ int startPadding = getContext().getResources().getDimensionPixelSize(
+ R.dimen.below_clock_padding_start);
+ int endPadding = getContext().getResources().getDimensionPixelSize(
+ R.dimen.below_clock_padding_end);
+ mSmartspaceView.setPaddingRelative(startPadding, 0, endPadding, 0);
+
+ mKeyguardUnlockAnimationController.setLockscreenSmartspace(mSmartspaceView);
+ }
+
/**
* Apply dp changes on font/scale change
*/
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
index 083f2fe..8921780 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
@@ -224,6 +224,7 @@
@Override
public void onLocaleListChanged() {
refreshTime();
+ mKeyguardClockSwitchController.onLocaleListChanged();
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.kt
index 2035781..4cd40d2 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.kt
@@ -15,11 +15,9 @@
*/
package com.android.systemui.biometrics
-import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.phone.SystemUIDialogManager
-import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
/**
@@ -30,7 +28,6 @@
statusBarStateController: StatusBarStateController,
panelExpansionStateManager: PanelExpansionStateManager,
systemUIDialogManager: SystemUIDialogManager,
- val broadcastSender: BroadcastSender,
dumpManager: DumpManager
) : UdfpsAnimationViewController<UdfpsBpView>(
view,
@@ -40,29 +37,4 @@
dumpManager
) {
override val tag = "UdfpsBpViewController"
- private val bpPanelExpansionListener = PanelExpansionListener { event ->
- // Notification shade can be expanded but not visible (fraction: 0.0), for example
- // when a heads-up notification (HUN) is showing.
- notificationShadeVisible = event.expanded && event.fraction > 0f
- view.onExpansionChanged(event.fraction)
- cancelAuth()
- }
-
- fun cancelAuth() {
- if (shouldPauseAuth()) {
- broadcastSender.closeSystemDialogs()
- }
- }
-
- override fun onViewAttached() {
- super.onViewAttached()
-
- panelExpansionStateManager.addExpansionListener(bpPanelExpansionListener)
- }
-
- override fun onViewDetached() {
- super.onViewDetached()
-
- panelExpansionStateManager.removeExpansionListener(bpPanelExpansionListener)
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
index 903b3de..6fa7164 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
@@ -24,10 +24,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.content.BroadcastReceiver;
import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
import android.graphics.Point;
import android.hardware.biometrics.BiometricFingerprintConstants;
import android.hardware.display.DisplayManager;
@@ -54,7 +51,6 @@
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.biometrics.dagger.BiometricsBackground;
-import com.android.systemui.broadcast.BroadcastSender;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.doze.DozeReceiver;
@@ -128,7 +124,6 @@
@NonNull private final UnlockedScreenOffAnimationController
mUnlockedScreenOffAnimationController;
@NonNull private final LatencyTracker mLatencyTracker;
- @NonNull private final BroadcastSender mBroadcastSender;
@VisibleForTesting @NonNull final BiometricDisplayListener mOrientationListener;
@NonNull private final ActivityLaunchAnimator mActivityLaunchAnimator;
@@ -209,7 +204,7 @@
mUnlockedScreenOffAnimationController, mHalControlsIllumination,
mHbmProvider, requestId, reason, callback,
(view, event, fromUdfpsView) -> onTouch(requestId, event,
- fromUdfpsView), mActivityLaunchAnimator, mBroadcastSender)));
+ fromUdfpsView), mActivityLaunchAnimator)));
}
@Override
@@ -338,20 +333,6 @@
return velocity > 750f;
}
- private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (mOverlay != null
- && mOverlay.getRequestReason() != REASON_AUTH_KEYGUARD
- && Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) {
- Log.d(TAG, "ACTION_CLOSE_SYSTEM_DIALOGS received, mRequestReason: "
- + mOverlay.getRequestReason());
- mOverlay.cancel();
- hideUdfpsOverlay();
- }
- }
- };
-
/**
* Forwards touches to the udfps controller / view
*/
@@ -606,7 +587,6 @@
@NonNull LatencyTracker latencyTracker,
@NonNull ActivityLaunchAnimator activityLaunchAnimator,
@NonNull Optional<AlternateUdfpsTouchProvider> aternateTouchProvider,
- @NonNull BroadcastSender broadcastSender,
@BiometricsBackground Executor biometricsExecutor) {
mContext = context;
mExecution = execution;
@@ -637,7 +617,6 @@
mLatencyTracker = latencyTracker;
mActivityLaunchAnimator = activityLaunchAnimator;
mAlternateTouchProvider = aternateTouchProvider.orElse(null);
- mBroadcastSender = broadcastSender;
mBiometricExecutor = biometricsExecutor;
mOrientationListener = new BiometricDisplayListener(
@@ -655,11 +634,6 @@
final UdfpsOverlayController mUdfpsOverlayController = new UdfpsOverlayController();
mFingerprintManager.setUdfpsOverlayController(mUdfpsOverlayController);
- final IntentFilter filter = new IntentFilter();
- filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
- context.registerReceiver(mBroadcastReceiver, filter,
- Context.RECEIVER_EXPORTED_UNAUDITED);
-
udfpsHapticsSimulator.setUdfpsController(this);
udfpsShell.setUdfpsOverlayController(mUdfpsOverlayController);
}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
index 37db2bd..ec72057 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
@@ -41,7 +41,6 @@
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.systemui.R
import com.android.systemui.animation.ActivityLaunchAnimator
-import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.LockscreenShadeTransitionController
@@ -84,8 +83,7 @@
@ShowReason val requestReason: Int,
private val controllerCallback: IUdfpsOverlayControllerCallback,
private val onTouch: (View, MotionEvent, Boolean) -> Boolean,
- private val activityLaunchAnimator: ActivityLaunchAnimator,
- private val broadcastSender: BroadcastSender
+ private val activityLaunchAnimator: ActivityLaunchAnimator
) {
/** The view, when [isShowing], or null. */
var overlayView: UdfpsView? = null
@@ -104,8 +102,8 @@
fitInsetsTypes = 0
gravity = android.view.Gravity.TOP or android.view.Gravity.LEFT
layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
- flags = (Utils.FINGERPRINT_OVERLAY_LAYOUT_PARAM_FLAGS
- or WindowManager.LayoutParams.FLAG_SPLIT_TOUCH)
+ flags =
+ (Utils.FINGERPRINT_OVERLAY_LAYOUT_PARAM_FLAGS or WindowManager.LayoutParams.FLAG_SPLIT_TOUCH)
privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY
// Avoid announcing window title.
accessibilityTitle = " "
@@ -227,7 +225,6 @@
statusBarStateController,
panelExpansionStateManager,
dialogManager,
- broadcastSender,
dumpManager
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 62fc960..80ad93f 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -840,8 +840,9 @@
@Override
public void onLaunchAnimationCancelled() {
- Log.d(TAG, "Occlude launch animation cancelled. "
- + "Occluded state is now: " + mOccluded);
+ setOccluded(true /* occluded */, false /* animate */);
+ Log.d(TAG, "Occlude launch animation cancelled. Occluded state is now: "
+ + mOccluded);
}
@NonNull
@@ -904,6 +905,10 @@
if (mUnoccludeAnimator != null) {
mUnoccludeAnimator.cancel();
}
+
+ setOccluded(false /* isOccluded */, false /* animate */);
+ Log.d(TAG, "Unocclude animation cancelled. Occluded state is now: "
+ + mOccluded);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java
index 5430ee6..24dfeaf 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java
@@ -41,8 +41,6 @@
private static final String TAG = "MediaOutputAdapter";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
- private static final float DEVICE_DISCONNECTED_ALPHA = 0.5f;
- private static final float DEVICE_CONNECTED_ALPHA = 1f;
private final MediaOutputDialog mMediaOutputDialog;
private ViewGroup mConnectedItem;
@@ -130,14 +128,6 @@
if (mCurrentActivePosition == position) {
mCurrentActivePosition = -1;
}
- if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
- && !device.isConnected()) {
- mTitleText.setAlpha(DEVICE_DISCONNECTED_ALPHA);
- mTitleIcon.setAlpha(DEVICE_DISCONNECTED_ALPHA);
- } else {
- mTitleText.setAlpha(DEVICE_CONNECTED_ALPHA);
- mTitleIcon.setAlpha(DEVICE_CONNECTED_ALPHA);
- }
if (mController.isTransferring()) {
if (device.getState() == MediaDeviceState.STATE_CONNECTING
@@ -158,8 +148,6 @@
// Set different layout for each device
if (device.getState() == MediaDeviceState.STATE_CONNECTING_FAILED) {
setUpDeviceIcon(device);
- mTitleText.setAlpha(DEVICE_CONNECTED_ALPHA);
- mTitleIcon.setAlpha(DEVICE_CONNECTED_ALPHA);
mStatusIcon.setImageDrawable(
mContext.getDrawable(R.drawable.media_output_status_failed));
mStatusIcon.setColorFilter(mController.getColorItemContent());
@@ -196,10 +184,6 @@
? (buttonView, isChecked) -> onGroupActionTriggered(false, device)
: null);
mCheckBox.setEnabled(isDeviceDeselectable);
- mCheckBox.setAlpha(
- isDeviceDeselectable ? DEVICE_CONNECTED_ALPHA
- : DEVICE_DISCONNECTED_ALPHA
- );
setCheckBoxColor(mCheckBox, mController.getColorItemContent());
initSeekbar(device, isCurrentSeekbarInvisible);
mEndTouchArea.setVisibility(View.VISIBLE);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
index 7cfb157..fb71210 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
@@ -25,6 +25,7 @@
import com.android.internal.util.ContrastColorUtil;
import com.android.systemui.R;
import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.util.Compile;
/**
@@ -89,6 +90,11 @@
}
}
+ /** Get the notification key, reformatted for logging, for the (optional) row */
+ public static String logKey(ExpandableNotificationRow row) {
+ return row == null ? "null" : logKey(row.getEntry());
+ }
+
/** Removes newlines from the notification key to prettify apps that have these in the tag */
public static String logKey(String key) {
if (key == null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt
index 0f4772f..a0c39c6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt
@@ -104,10 +104,14 @@
override fun onReceive(context: Context, intent: Intent?) {
val action = intent?.action
if (ACTION_SET_NOTIF_DEBUG_MODE == action) {
+ // TODO(b/235268992) remove
+ Log.d(TAG, "ACTION_SET_NOTIF_DEBUG_MODE enter")
allowedPackages = intent.extras?.getStringArrayList(EXTRA_ALLOWED_PACKAGES)
?: emptyList()
Log.d(TAG, "Updated allowedPackages: $allowedPackages")
listeners.forEach(Runnable::run)
+ // TODO(b/235268992) remove
+ Log.d(TAG, "ACTION_SET_NOTIF_DEBUG_MODE leave")
} else {
Log.d(TAG, "Malformed intent: $intent")
}
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 9acd60e..ea28452 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
@@ -16,13 +16,17 @@
package com.android.systemui.statusbar.notification.stack;
+import static com.android.systemui.statusbar.notification.NotificationUtils.logKey;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.util.MathUtils;
+import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
+import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -33,13 +37,15 @@
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
+import java.io.PrintWriter;
+
import javax.inject.Inject;
/**
* A global state to track all input states for the algorithm.
*/
@SysUISingleton
-public class AmbientState {
+public class AmbientState implements Dumpable {
private static final float MAX_PULSE_HEIGHT = 100000f;
private static final boolean NOTIFICATIONS_HAVE_SHADOWS = false;
@@ -224,7 +230,8 @@
@Inject
public AmbientState(
- Context context,
+ @NonNull Context context,
+ @NonNull DumpManager dumpManager,
@NonNull SectionProvider sectionProvider,
@NonNull BypassController bypassController,
@Nullable StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
@@ -232,6 +239,7 @@
mBypassController = bypassController;
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
reload(context);
+ dumpManager.registerDumpable(this);
}
/**
@@ -695,4 +703,49 @@
return mStatusBarKeyguardViewManager != null
&& mStatusBarKeyguardViewManager.isBouncerInTransit();
}
+
+ @Override
+ public void dump(PrintWriter pw, String[] args) {
+ pw.println("mTopPadding=" + mTopPadding);
+ pw.println("mStackTopMargin=" + mStackTopMargin);
+ pw.println("mStackTranslation=" + mStackTranslation);
+ pw.println("mLayoutMinHeight=" + mLayoutMinHeight);
+ pw.println("mLayoutMaxHeight=" + mLayoutMaxHeight);
+ pw.println("mLayoutHeight=" + mLayoutHeight);
+ pw.println("mContentHeight=" + mContentHeight);
+ pw.println("mHideSensitive=" + mHideSensitive);
+ pw.println("mShadeExpanded=" + mShadeExpanded);
+ pw.println("mClearAllInProgress=" + mClearAllInProgress);
+ pw.println("mDimmed=" + mDimmed);
+ pw.println("mStatusBarState=" + mStatusBarState);
+ pw.println("mExpansionChanging=" + mExpansionChanging);
+ pw.println("mPanelFullWidth=" + mPanelFullWidth);
+ pw.println("mPulsing=" + mPulsing);
+ pw.println("mPulseHeight=" + mPulseHeight);
+ pw.println("mTrackedHeadsUpRow.key=" + logKey(mTrackedHeadsUpRow));
+ pw.println("mMaxHeadsUpTranslation=" + mMaxHeadsUpTranslation);
+ pw.println("mUnlockHintRunning=" + mUnlockHintRunning);
+ pw.println("mDozeAmount=" + mDozeAmount);
+ pw.println("mDozing=" + mDozing);
+ pw.println("mFractionToShade=" + mFractionToShade);
+ pw.println("mHideAmount=" + mHideAmount);
+ pw.println("mAppearFraction=" + mAppearFraction);
+ pw.println("mAppearing=" + mAppearing);
+ pw.println("mExpansionFraction=" + mExpansionFraction);
+ pw.println("mExpandingVelocity=" + mExpandingVelocity);
+ pw.println("mOverScrollTopAmount=" + mOverScrollTopAmount);
+ pw.println("mOverScrollBottomAmount=" + mOverScrollBottomAmount);
+ pw.println("mOverExpansion=" + mOverExpansion);
+ pw.println("mStackHeight=" + mStackHeight);
+ pw.println("mStackEndHeight=" + mStackEndHeight);
+ pw.println("mStackY=" + mStackY);
+ pw.println("mScrollY=" + mScrollY);
+ pw.println("mCurrentScrollVelocity=" + mCurrentScrollVelocity);
+ pw.println("mIsSwipingUp=" + mIsSwipingUp);
+ pw.println("mPanelTracking=" + mPanelTracking);
+ pw.println("mIsFlinging=" + mIsFlinging);
+ pw.println("mNeedFlingAfterLockscreenSwipeUp=" + mNeedFlingAfterLockscreenSwipeUp);
+ pw.println("mZDistanceBetweenElements=" + mZDistanceBetweenElements);
+ pw.println("mBaseZHeight=" + mBaseZHeight);
+ }
}
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 ed1e78f..c9d70d1 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
@@ -5067,6 +5067,12 @@
.append(" isCurrentUserSetup=").append(mIsCurrentUserSetup)
.append(" hideAmount=").append(mAmbientState.getHideAmount())
.append(" ambientStateSwipingUp=").append(mAmbientState.isSwipingUp())
+ .append(" maxDisplayedNotifications=").append(mMaxDisplayedNotifications)
+ .append(" intrinsicContentHeight=").append(mIntrinsicContentHeight)
+ .append(" contentHeight=").append(mContentHeight)
+ .append(" intrinsicPadding=").append(mIntrinsicPadding)
+ .append(" topPadding=").append(mTopPadding)
+ .append(" bottomPadding=").append(mBottomPadding)
.append("]");
pw.println(sb.toString());
DumpUtilsKt.withIncreasedIndent(pw, () -> {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java
index 779c6b4..def574c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java
@@ -23,12 +23,16 @@
import android.animation.ValueAnimator;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.database.ContentObserver;
import android.hardware.biometrics.BiometricSourceType;
+import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.Settings;
import android.util.MathUtils;
import android.view.View;
import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
import com.android.keyguard.CarrierTextController;
import com.android.keyguard.KeyguardUpdateMonitor;
@@ -36,6 +40,7 @@
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.battery.BatteryMeterViewController;
+import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
@@ -45,6 +50,7 @@
import com.android.systemui.statusbar.notification.PropertyAnimator;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
+import com.android.systemui.statusbar.phone.fragment.StatusBarIconBlocklistKt;
import com.android.systemui.statusbar.phone.fragment.StatusBarSystemEventAnimator;
import com.android.systemui.statusbar.phone.userswitcher.StatusBarUserInfoTracker;
import com.android.systemui.statusbar.phone.userswitcher.StatusBarUserSwitcherController;
@@ -54,10 +60,12 @@
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.util.ViewController;
+import com.android.systemui.util.settings.SecureSettings;
import java.io.PrintWriter;
-import java.util.Arrays;
+import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.Executor;
import javax.inject.Inject;
@@ -98,6 +106,9 @@
private final StatusBarUserSwitcherFeatureController mFeatureController;
private final StatusBarUserSwitcherController mUserSwitcherController;
private final StatusBarUserInfoTracker mStatusBarUserInfoTracker;
+ private final SecureSettings mSecureSettings;
+ private final Executor mMainExecutor;
+ private final Object mLock = new Object();
private final ConfigurationController.ConfigurationListener mConfigurationListener =
new ConfigurationController.ConfigurationListener() {
@@ -206,7 +217,7 @@
}
};
- private final List<String> mBlockedIcons;
+ private final List<String> mBlockedIcons = new ArrayList<>();
private final int mNotificationsHeaderCollideDistance;
private boolean mBatteryListening;
@@ -255,7 +266,9 @@
UserManager userManager,
StatusBarUserSwitcherFeatureController featureController,
StatusBarUserSwitcherController userSwitcherController,
- StatusBarUserInfoTracker statusBarUserInfoTracker
+ StatusBarUserInfoTracker statusBarUserInfoTracker,
+ SecureSettings secureSettings,
+ @Main Executor mainExecutor
) {
super(view);
mCarrierTextController = carrierTextController;
@@ -277,6 +290,8 @@
mFeatureController = featureController;
mUserSwitcherController = userSwitcherController;
mStatusBarUserInfoTracker = statusBarUserInfoTracker;
+ mSecureSettings = secureSettings;
+ mMainExecutor = mainExecutor;
mFirstBypassAttempt = mKeyguardBypassController.getBypassEnabled();
mKeyguardStateController.addCallback(
@@ -292,8 +307,7 @@
);
Resources r = getResources();
- mBlockedIcons = Arrays.asList(r.getStringArray(
- R.array.config_keyguard_statusbar_icon_blocklist));
+ updateBlockedIcons();
mNotificationsHeaderCollideDistance = r.getDimensionPixelSize(
R.dimen.header_notifications_collide_distance);
@@ -321,11 +335,16 @@
if (mTintedIconManager == null) {
mTintedIconManager =
mTintedIconManagerFactory.create(mView.findViewById(R.id.statusIcons));
- mTintedIconManager.setBlockList(mBlockedIcons);
+ mTintedIconManager.setBlockList(getBlockedIcons());
mStatusBarIconController.addIconGroup(mTintedIconManager);
}
mView.setOnApplyWindowInsetsListener(
(view, windowInsets) -> mView.updateWindowInsets(windowInsets, mInsetsProvider));
+ mSecureSettings.registerContentObserverForUser(
+ Settings.Secure.getUriFor(Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON),
+ false,
+ mVolumeSettingObserver,
+ UserHandle.USER_ALL);
updateUserSwitcher();
onThemeChanged();
}
@@ -337,6 +356,7 @@
mUserInfoController.removeCallback(mOnUserInfoChangedListener);
mStatusBarStateController.removeCallback(mStatusBarStateListener);
mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateMonitorCallback);
+ mSecureSettings.unregisterContentObserver(mVolumeSettingObserver);
if (mTintedIconManager != null) {
mStatusBarIconController.removeIconGroup(mTintedIconManager);
}
@@ -486,8 +506,32 @@
R.bool.qs_show_user_switcher_for_single_user)));
}
+ @VisibleForTesting
+ void updateBlockedIcons() {
+ List<String> newBlockList = StatusBarIconBlocklistKt
+ .getStatusBarIconBlocklist(getResources(), mSecureSettings);
+
+ synchronized (mLock) {
+ mBlockedIcons.clear();
+ mBlockedIcons.addAll(newBlockList);
+ }
+
+ mMainExecutor.execute(() -> {
+ if (mTintedIconManager != null) {
+ mTintedIconManager.setBlockList(getBlockedIcons());
+ }
+ });
+ }
+
+ @VisibleForTesting
+ List<String> getBlockedIcons() {
+ synchronized (mLock) {
+ return new ArrayList<>(mBlockedIcons);
+ }
+ }
+
/**
- * Update {@link KeyguardStatusBarView}'s visibility based on whether keyguard is showing and
+ Update {@link KeyguardStatusBarView}'s visibility based on whether keyguard is showing and
* whether heads up is visible.
*/
public void updateForHeadsUp() {
@@ -533,4 +577,11 @@
mExplicitAlpha = alpha;
updateViewState();
}
+
+ private final ContentObserver mVolumeSettingObserver = new ContentObserver(null) {
+ @Override
+ public void onChange(boolean selfChange) {
+ updateBlockedIcons();
+ }
+ };
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/StatusBarIconBlocklist.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/StatusBarIconBlocklist.kt
new file mode 100644
index 0000000..b845bad
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/StatusBarIconBlocklist.kt
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2022 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.fragment
+
+import android.content.res.Resources
+import android.os.UserHandle
+import android.provider.Settings
+import com.android.internal.R
+import com.android.systemui.util.settings.SecureSettings
+
+/**
+ * Centralize the logic for the status bar / keyguard status bar icon blocklist. The default is
+ * loaded from the config, and we currently support a system setting for the vibrate icon. It's
+ * pretty likely that we would end up supporting more user-configurable settings in the future, so
+ * breaking this out into its own file for now.
+ *
+ * Note for the future: it might be reasonable to turn this into its own class that can listen to
+ * the system setting and execute a callback when it changes instead of having multiple content
+ * observers.
+ */
+fun getStatusBarIconBlocklist(
+ res: Resources,
+ settings: SecureSettings
+): List<String> {
+ // Load the default blocklist from res
+ val blocklist = res.getStringArray(
+ com.android.systemui.R.array.config_collapsed_statusbar_icon_blocklist).toList()
+
+ val vibrateIconSlot: String = res.getString(R.string.status_bar_volume)
+ val showVibrateIcon = settings.getIntForUser(
+ Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON,
+ 0,
+ UserHandle.USER_CURRENT) == 0
+
+ // Filter out vibrate icon from the blocklist if the setting is on
+ return blocklist.filter { icon ->
+ !icon.equals(vibrateIconSlot) || showVibrateIcon
+ }
+}
\ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java
index fe9e75c..5db2cf4 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java
@@ -229,13 +229,22 @@
@Test
public void testSmartspaceEnabledRemovesKeyguardStatusArea() {
when(mSmartspaceController.isEnabled()).thenReturn(true);
- when(mSmartspaceController.buildAndConnectView(any())).thenReturn(mFakeSmartspaceView);
mController.init();
assertEquals(View.GONE, mSliceView.getVisibility());
}
@Test
+ public void onLocaleListChangedRebuildsSmartspaceView() {
+ when(mSmartspaceController.isEnabled()).thenReturn(true);
+ mController.init();
+
+ mController.onLocaleListChanged();
+ // Should be called once on initial setup, then once again for locale change
+ verify(mSmartspaceController, times(2)).buildAndConnectView(mView);
+ }
+
+ @Test
public void testSmartspaceDisabledShowsKeyguardStatusArea() {
when(mSmartspaceController.isEnabled()).thenReturn(false);
mController.init();
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java
index 650a5d0..70025230 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java
@@ -25,6 +25,7 @@
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.ScreenOffAnimationController;
import com.android.systemui.statusbar.policy.ConfigurationController;
+import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import org.junit.Before;
@@ -117,4 +118,16 @@
verify(mKeyguardStatusView).setChildrenTranslationYExcludingMediaView(translationY);
}
+
+ @Test
+ public void onLocaleListChangedNotifiesClockSwitchController() {
+ ArgumentCaptor<ConfigurationListener> configurationListenerArgumentCaptor =
+ ArgumentCaptor.forClass(ConfigurationListener.class);
+
+ mController.onViewAttached();
+ verify(mConfigurationController).addCallback(configurationListenerArgumentCaptor.capture());
+
+ configurationListenerArgumentCaptor.getValue().onLocaleListChanged();
+ verify(mKeyguardClockSwitchController).onLocaleListChanged();
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsBpViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsBpViewControllerTest.kt
deleted file mode 100644
index a52c4a3..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsBpViewControllerTest.kt
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2022 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.biometrics
-
-import android.app.Instrumentation
-import android.testing.AndroidTestingRunner
-import android.testing.TestableLooper
-import android.testing.ViewUtils
-import androidx.test.filters.SmallTest
-import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
-import com.android.internal.jank.InteractionJankMonitor
-import com.android.internal.logging.testing.UiEventLoggerFake
-import com.android.systemui.R
-import com.android.systemui.SysuiTestCase
-import com.android.systemui.broadcast.BroadcastSender
-import com.android.systemui.dump.DumpManager
-import com.android.systemui.statusbar.StatusBarStateControllerImpl
-import com.android.systemui.statusbar.phone.SystemUIDialogManager
-import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
-import com.android.systemui.util.mockito.any
-import org.junit.After
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.spy
-import org.mockito.Mockito.times
-import org.mockito.Mockito.verify
-import org.mockito.junit.MockitoJUnit
-
-@SmallTest
-@RunWith(AndroidTestingRunner::class)
-@TestableLooper.RunWithLooper
-class UdfpsBpViewControllerTest : SysuiTestCase() {
-
- @JvmField @Rule var rule = MockitoJUnit.rule()
-
- @Mock lateinit var dumpManager: DumpManager
- @Mock lateinit var systemUIDialogManager: SystemUIDialogManager
- @Mock lateinit var broadcastSender: BroadcastSender
- @Mock lateinit var interactionJankMonitor: InteractionJankMonitor
- @Mock lateinit var panelExpansionStateManager: PanelExpansionStateManager
-
- private lateinit var instrumentation: Instrumentation
- private lateinit var uiEventLogger: UiEventLoggerFake
- private lateinit var udfpsBpView: UdfpsBpView
- private lateinit var statusBarStateController: StatusBarStateControllerImpl
- private lateinit var udfpsBpViewController: UdfpsBpViewController
-
- @Before
- fun setup() {
- instrumentation = getInstrumentation()
- instrumentation.runOnMainSync { createUdfpsView() }
- instrumentation.waitForIdleSync()
-
- uiEventLogger = UiEventLoggerFake()
- statusBarStateController =
- StatusBarStateControllerImpl(uiEventLogger, dumpManager, interactionJankMonitor)
- udfpsBpViewController = UdfpsBpViewController(
- udfpsBpView,
- statusBarStateController,
- panelExpansionStateManager,
- systemUIDialogManager,
- broadcastSender,
- dumpManager)
- udfpsBpViewController.init()
- }
-
- @After
- fun tearDown() {
- if (udfpsBpViewController.isAttachedToWindow) {
- instrumentation.runOnMainSync { ViewUtils.detachView(udfpsBpView) }
- instrumentation.waitForIdleSync()
- }
- }
-
- private fun createUdfpsView() {
- context.setTheme(R.style.Theme_AppCompat)
- context.orCreateTestableResources.addOverride(
- com.android.internal.R.integer.config_udfps_illumination_transition_ms, 0)
- udfpsBpView = UdfpsBpView(context, null)
- }
-
- @Test
- fun addExpansionListener() {
- instrumentation.runOnMainSync { ViewUtils.attachView(udfpsBpView) }
- instrumentation.waitForIdleSync()
-
- // Both UdfpsBpViewController & UdfpsAnimationViewController add listener
- verify(panelExpansionStateManager, times(2)).addExpansionListener(any())
- }
-
- @Test
- fun removeExpansionListener() {
- instrumentation.runOnMainSync { ViewUtils.attachView(udfpsBpView) }
- instrumentation.waitForIdleSync()
- instrumentation.runOnMainSync { ViewUtils.detachView(udfpsBpView) }
- instrumentation.waitForIdleSync()
-
- // Both UdfpsBpViewController & UdfpsAnimationViewController remove listener
- verify(panelExpansionStateManager, times(2)).removeExpansionListener(any())
- }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt
index 431739b..cb8358d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt
@@ -40,7 +40,6 @@
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.animation.ActivityLaunchAnimator
-import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.LockscreenShadeTransitionController
@@ -103,7 +102,6 @@
@Mock private lateinit var udfpsView: UdfpsView
@Mock private lateinit var udfpsEnrollView: UdfpsEnrollView
@Mock private lateinit var activityLaunchAnimator: ActivityLaunchAnimator
- @Mock private lateinit var broadcastSender: BroadcastSender
@Captor private lateinit var layoutParamsCaptor: ArgumentCaptor<WindowManager.LayoutParams>
private val onTouch = { _: View, _: MotionEvent, _: Boolean -> true }
@@ -133,8 +131,7 @@
keyguardUpdateMonitor, dialogManager, dumpManager, transitionController,
configurationController, systemClock, keyguardStateController,
unlockedScreenOffAnimationController, HAL_CONTROLS_ILLUMINATION, hbmProvider,
- REQUEST_ID, reason, controllerCallback, onTouch, activityLaunchAnimator,
- broadcastSender)
+ REQUEST_ID, reason, controllerCallback, onTouch, activityLaunchAnimator)
block()
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java
index e7e8e73..946c52e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java
@@ -66,7 +66,6 @@
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.animation.ActivityLaunchAnimator;
-import com.android.systemui.broadcast.BroadcastSender;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.plugins.FalsingManager;
@@ -188,8 +187,6 @@
private ActivityLaunchAnimator mActivityLaunchAnimator;
@Mock
private AlternateUdfpsTouchProvider mAlternateTouchProvider;
- @Mock
- private BroadcastSender mBroadcastSender;
// Capture listeners so that they can be used to send events
@Captor private ArgumentCaptor<IUdfpsOverlayController> mOverlayCaptor;
@@ -270,7 +267,6 @@
mLatencyTracker,
mActivityLaunchAnimator,
Optional.of(mAlternateTouchProvider),
- mBroadcastSender,
mBiometricsExecutor);
verify(mFingerprintManager).setUdfpsOverlayController(mOverlayCaptor.capture());
mOverlayController = mOverlayCaptor.getValue();
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 9961aae..f5fe6f3 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
@@ -57,6 +57,7 @@
import com.android.systemui.ExpandHelper;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
+import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.EmptyShadeView;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.NotificationShelfController;
@@ -101,6 +102,7 @@
@Mock private SysuiStatusBarStateController mBarState;
@Mock private NotificationGroupManagerLegacy mGroupMembershipManger;
@Mock private NotificationGroupManagerLegacy mGroupExpansionManager;
+ @Mock private DumpManager mDumpManager;
@Mock private ExpandHelper mExpandHelper;
@Mock private EmptyShadeView mEmptyShadeView;
@Mock private NotificationRoundnessManager mNotificationRoundnessManager;
@@ -120,7 +122,11 @@
allowTestableLooperAsMainThread();
// Interact with real instance of AmbientState.
- mAmbientState = new AmbientState(mContext, mNotificationSectionsManager, mBypassController,
+ mAmbientState = new AmbientState(
+ mContext,
+ mDumpManager,
+ mNotificationSectionsManager,
+ mBypassController,
mStatusBarKeyguardViewManager);
// Inject dependencies before initializing the layout
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
index 668f752..275dbfd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
@@ -5,6 +5,7 @@
import androidx.test.filters.SmallTest
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
+import com.android.systemui.dump.DumpManager
import com.android.systemui.statusbar.EmptyShadeView
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView
@@ -26,10 +27,12 @@
private val stackScrollAlgorithm = StackScrollAlgorithm(context, hostView)
private val expandableViewState = ExpandableViewState()
private val notificationRow = mock(ExpandableNotificationRow::class.java)
+ private val dumpManager = mock(DumpManager::class.java)
private val mStatusBarKeyguardViewManager = mock(StatusBarKeyguardViewManager::class.java)
private val ambientState = AmbientState(
context,
+ dumpManager,
SectionProvider { _, _ -> false },
BypassController { false },
mStatusBarKeyguardViewManager
@@ -126,7 +129,7 @@
val expandableViewState = ExpandableViewState()
expandableViewState.yTranslation = viewStart
- stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart);
+ stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart)
assertFalse(expandableViewState.hidden)
}
@@ -142,7 +145,7 @@
val expandableViewState = ExpandableViewState()
expandableViewState.yTranslation = viewStart
- stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart);
+ stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart)
assertTrue(expandableViewState.hidden)
}
@@ -158,7 +161,7 @@
val expandableViewState = ExpandableViewState()
expandableViewState.yTranslation = viewStart
- stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart);
+ stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart)
assertFalse(expandableViewState.hidden)
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java
index 39d5a16..4e1a708 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java
@@ -22,6 +22,8 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.Mockito.clearInvocations;
@@ -29,7 +31,9 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.Settings;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.view.LayoutInflater;
@@ -55,6 +59,9 @@
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserInfoController;
+import com.android.systemui.util.concurrency.FakeExecutor;
+import com.android.systemui.util.settings.SecureSettings;
+import com.android.systemui.util.time.FakeSystemClock;
import org.junit.Before;
import org.junit.Test;
@@ -108,10 +115,12 @@
private StatusBarUserSwitcherController mStatusBarUserSwitcherController;
@Mock
private StatusBarUserInfoTracker mStatusBarUserInfoTracker;
+ @Mock private SecureSettings mSecureSettings;
private TestNotificationPanelViewStateProvider mNotificationPanelViewStateProvider;
private KeyguardStatusBarView mKeyguardStatusBarView;
private KeyguardStatusBarViewController mController;
+ private FakeExecutor mFakeExecutor = new FakeExecutor(new FakeSystemClock());
@Before
public void setup() throws Exception {
@@ -150,7 +159,9 @@
mUserManager,
mStatusBarUserSwitcherFeatureController,
mStatusBarUserSwitcherController,
- mStatusBarUserInfoTracker
+ mStatusBarUserInfoTracker,
+ mSecureSettings,
+ mFakeExecutor
);
}
@@ -420,6 +431,39 @@
assertThat(mKeyguardStatusBarView.isKeyguardUserAvatarEnabled()).isTrue();
}
+ @Test
+ public void testBlockedIcons_obeysSettingForVibrateIcon_settingOff() {
+ String str = mContext.getString(com.android.internal.R.string.status_bar_volume);
+
+ // GIVEN the setting is off
+ when(mSecureSettings.getInt(Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0))
+ .thenReturn(0);
+
+ // WHEN CollapsedStatusBarFragment builds the blocklist
+ mController.updateBlockedIcons();
+
+ // THEN status_bar_volume SHOULD be present in the list
+ boolean contains = mController.getBlockedIcons().contains(str);
+ assertTrue(contains);
+ }
+
+ @Test
+ public void testBlockedIcons_obeysSettingForVibrateIcon_settingOn() {
+ String str = mContext.getString(com.android.internal.R.string.status_bar_volume);
+
+ // GIVEN the setting is ON
+ when(mSecureSettings.getIntForUser(Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0,
+ UserHandle.USER_CURRENT))
+ .thenReturn(1);
+
+ // WHEN CollapsedStatusBarFragment builds the blocklist
+ mController.updateBlockedIcons();
+
+ // THEN status_bar_volume SHOULD NOT be present in the list
+ boolean contains = mController.getBlockedIcons().contains(str);
+ assertFalse(contains);
+ }
+
private void updateStateToNotKeyguard() {
updateStatusBarState(SHADE);
}
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 5026f31..a4eaef9 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -2654,6 +2654,7 @@
}
}
mAm.updateProcessForegroundLocked(psr.mApp, anyForeground, fgServiceTypes, oomAdj);
+ psr.setHasReportedForegroundServices(anyForeground);
}
private void updateAllowlistManagerLocked(ProcessServiceRecord psr) {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 71682f2..71a2848 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -16683,7 +16683,8 @@
for (int i = 0, size = mPidsSelfLocked.size(); i < size; i++) {
final ProcessRecord r = mPidsSelfLocked.valueAt(i);
processMemoryStates.add(new ProcessMemoryState(
- r.uid, r.getPid(), r.processName, r.mState.getCurAdj()));
+ r.uid, r.getPid(), r.processName, r.mState.getCurAdj(),
+ r.mServices.hasForegroundServices()));
}
}
return processMemoryStates;
diff --git a/services/core/java/com/android/server/am/AppExitInfoTracker.java b/services/core/java/com/android/server/am/AppExitInfoTracker.java
index d84c1fc..32d2071 100644
--- a/services/core/java/com/android/server/am/AppExitInfoTracker.java
+++ b/services/core/java/com/android/server/am/AppExitInfoTracker.java
@@ -893,7 +893,8 @@
}
FrameworkStatsLog.write(FrameworkStatsLog.APP_PROCESS_DIED,
info.getPackageUid(), processName, info.getReason(), info.getSubReason(),
- info.getImportance(), (int) info.getPss(), (int) info.getRss());
+ info.getImportance(), (int) info.getPss(), (int) info.getRss(),
+ info.hasForegroundServices());
}
@GuardedBy("mLock")
@@ -1008,6 +1009,7 @@
info.setPss(app.mProfile.getLastPss());
info.setRss(app.mProfile.getLastRss());
info.setTimestamp(timestamp);
+ info.setHasForegroundServices(app.mServices.hasReportedForegroundServices());
}
return info;
diff --git a/services/core/java/com/android/server/am/ProcessServiceRecord.java b/services/core/java/com/android/server/am/ProcessServiceRecord.java
index 486c8ed..9951e98 100644
--- a/services/core/java/com/android/server/am/ProcessServiceRecord.java
+++ b/services/core/java/com/android/server/am/ProcessServiceRecord.java
@@ -46,6 +46,11 @@
private boolean mHasForegroundServices;
/**
+ * Last reported state of whether it's running any services that are foreground.
+ */
+ private boolean mRepHasForegroundServices;
+
+ /**
* Running any services that are almost perceptible (started with
* {@link Context#BIND_ALMOST_PERCEPTIBLE} while the app was on TOP)?
*/
@@ -155,6 +160,14 @@
return mHasForegroundServices;
}
+ void setHasReportedForegroundServices(boolean hasForegroundServices) {
+ mRepHasForegroundServices = hasForegroundServices;
+ }
+
+ boolean hasReportedForegroundServices() {
+ return mRepHasForegroundServices;
+ }
+
int getForegroundServiceTypes() {
return mHasForegroundServices ? mFgServiceTypes : 0;
}
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java
index e62f35d..e90a5db 100644
--- a/services/core/java/com/android/server/pm/InstallPackageHelper.java
+++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java
@@ -2548,28 +2548,31 @@
public void sendPendingBroadcasts() {
String[] packages;
ArrayList<String>[] components;
- int size = 0;
+ int numBroadcasts = 0, numUsers;
int[] uids;
synchronized (mPm.mLock) {
final SparseArray<ArrayMap<String, ArrayList<String>>> userIdToPackagesToComponents =
mPm.mPendingBroadcasts.copiedMap();
- size = userIdToPackagesToComponents.size();
- if (size <= 0) {
+ numUsers = userIdToPackagesToComponents.size();
+ for (int n = 0; n < numUsers; n++) {
+ numBroadcasts += userIdToPackagesToComponents.valueAt(n).size();
+ }
+ if (numBroadcasts == 0) {
// Nothing to be done. Just return
return;
}
- packages = new String[size];
- components = new ArrayList[size];
- uids = new int[size];
+ packages = new String[numBroadcasts];
+ components = new ArrayList[numBroadcasts];
+ uids = new int[numBroadcasts];
int i = 0; // filling out the above arrays
- for (int n = 0; n < size; n++) {
+ for (int n = 0; n < numUsers; n++) {
final int packageUserId = userIdToPackagesToComponents.keyAt(n);
final ArrayMap<String, ArrayList<String>> componentsToBroadcast =
userIdToPackagesToComponents.valueAt(n);
final int numComponents = CollectionUtils.size(componentsToBroadcast);
- for (int index = 0; i < size && index < numComponents; index++) {
+ for (int index = 0; index < numComponents; index++) {
packages[i] = componentsToBroadcast.keyAt(index);
components[i] = componentsToBroadcast.valueAt(index);
final PackageSetting ps = mPm.mSettings.getPackageLPr(packages[i]);
@@ -2579,12 +2582,12 @@
i++;
}
}
- size = i;
+ numBroadcasts = i;
mPm.mPendingBroadcasts.clear();
}
final Computer snapshot = mPm.snapshotComputer();
// Send broadcasts
- for (int i = 0; i < size; i++) {
+ for (int i = 0; i < numBroadcasts; i++) {
mPm.sendPackageChangedBroadcast(snapshot, packages[i], true /* dontKillApp */,
components[i], uids[i], null /* reason */);
}
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 06646d3..b4b8cf9 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -2269,7 +2269,7 @@
managedProcess.processName, managedProcess.pid, managedProcess.oomScore,
snapshot.rssInKilobytes, snapshot.anonRssInKilobytes, snapshot.swapInKilobytes,
snapshot.anonRssInKilobytes + snapshot.swapInKilobytes,
- gpuMemPerPid.get(managedProcess.pid)));
+ gpuMemPerPid.get(managedProcess.pid), managedProcess.hasForegroundServices));
}
// Complement the data with native system processes. Given these measurements can be taken
// in response to LMKs happening, we want to first collect the managed app stats (to
@@ -2288,7 +2288,7 @@
-1001 /*Placeholder for native processes, OOM_SCORE_ADJ_MIN - 1.*/,
snapshot.rssInKilobytes, snapshot.anonRssInKilobytes, snapshot.swapInKilobytes,
snapshot.anonRssInKilobytes + snapshot.swapInKilobytes,
- gpuMemPerPid.get(pid)));
+ gpuMemPerPid.get(pid), false /* has_foreground_services */));
}
return StatsManager.PULL_SUCCESS;
}
diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java
index dd1b50f..ca91a74 100644
--- a/services/core/java/com/android/server/wm/TaskDisplayArea.java
+++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java
@@ -451,6 +451,14 @@
if (!toTop) {
if (t.mTaskId == mLastLeafTaskToFrontId) {
mLastLeafTaskToFrontId = INVALID_TASK_ID;
+
+ // If the previous front-most task is moved to the back, then notify of the new
+ // front-most task.
+ final ActivityRecord topMost = getTopMostActivity();
+ if (topMost != null) {
+ mAtmService.getTaskChangeNotificationController().notifyTaskMovedToFront(
+ topMost.getTask().getTaskInfo());
+ }
}
return;
}
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 1abe24e..3bb40b0 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -2433,14 +2433,6 @@
@Override
void removeImmediately() {
- if (!mRemoved) {
- // Destroy surface before super call. The general pattern is that the children need
- // to be removed before the parent (so that the sync-engine tracking works). Since
- // WindowStateAnimator is a "virtual" child, we have to do it manually here.
- mWinAnimator.destroySurfaceLocked(getSyncTransaction());
- }
- super.removeImmediately();
-
if (mRemoved) {
// Nothing to do.
ProtoLog.v(WM_DEBUG_ADD_REMOVE,
@@ -2449,6 +2441,11 @@
}
mRemoved = true;
+ // Destroy surface before super call. The general pattern is that the children need
+ // to be removed before the parent (so that the sync-engine tracking works). Since
+ // WindowStateAnimator is a "virtual" child, we have to do it manually here.
+ mWinAnimator.destroySurfaceLocked(getSyncTransaction());
+ super.removeImmediately();
mWillReplaceWindow = false;
if (mReplacementWindow != null) {
@@ -5090,7 +5087,11 @@
// Otherwise we add the service to mDestroySurface and allow it to be processed in our next
// transaction.
if (mActivityRecord != null) {
- mActivityRecord.destroySurfaces();
+ if (mAttrs.type == TYPE_BASE_APPLICATION) {
+ mActivityRecord.destroySurfaces();
+ } else {
+ destroySurface(false /* cleanupOnResume */, mActivityRecord.mAppStopped);
+ }
} else {
if (hasSurface) {
mWmService.mDestroySurface.add(this);
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
index 724204f..e8f343e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
@@ -74,6 +74,7 @@
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atMost;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.when;
@@ -472,6 +473,44 @@
}
@Test
+ public void testOnExitAnimationDone() {
+ final WindowState parent = createWindow(null, TYPE_APPLICATION, "parent");
+ final WindowState child = createWindow(parent, TYPE_APPLICATION_PANEL, "child");
+ final SurfaceControl.Transaction t = parent.getPendingTransaction();
+ child.startAnimation(t, mock(AnimationAdapter.class), false /* hidden */,
+ SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION);
+ parent.mAnimatingExit = parent.mRemoveOnExit = parent.mWindowRemovalAllowed = true;
+ child.mAnimatingExit = child.mRemoveOnExit = child.mWindowRemovalAllowed = true;
+ final int[] numRemovals = new int[2];
+ parent.registerWindowContainerListener(new WindowContainerListener() {
+ @Override
+ public void onRemoved() {
+ numRemovals[0]++;
+ }
+ });
+ child.registerWindowContainerListener(new WindowContainerListener() {
+ @Override
+ public void onRemoved() {
+ numRemovals[1]++;
+ }
+ });
+ spyOn(parent);
+ // parent onExitAnimationDone
+ // -> child onExitAnimationDone() -> no-op because isAnimating()
+ // -> parent destroySurface()
+ // -> parent removeImmediately() because mDestroying+mRemoveOnExit
+ // -> child removeImmediately() -> cancelAnimation()
+ // -> child onExitAnimationDone()
+ // -> child destroySurface() because animation is canceled
+ // -> child removeImmediately() -> no-op because mRemoved
+ parent.onExitAnimationDone();
+ // There must be no additional destroySurface() of parent from its child.
+ verify(parent, atMost(1)).destroySurface(anyBoolean(), anyBoolean());
+ assertEquals(1, numRemovals[0]);
+ assertEquals(1, numRemovals[1]);
+ }
+
+ @Test
public void testLayoutSeqResetOnReparent() {
final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
app.mLayoutSeq = 1;
diff --git a/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java b/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java
index 15e5e64..eebcccb 100644
--- a/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java
+++ b/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.content.Context;
+import android.hardware.usb.UsbConfiguration;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbEndpoint;
@@ -188,10 +189,36 @@
// Otherwise, USB devices may not handle this gracefully.
mShouldCallSetInterface = (parser.calculateMidiInterfaceDescriptorsCount() > 1);
+ ArrayList<UsbInterfaceDescriptor> midiInterfaceDescriptors;
if (isUniversalMidiDevice) {
- mUsbInterfaces = parser.findUniversalMidiInterfaceDescriptors();
+ midiInterfaceDescriptors = parser.findUniversalMidiInterfaceDescriptors();
} else {
- mUsbInterfaces = parser.findLegacyMidiInterfaceDescriptors();
+ midiInterfaceDescriptors = parser.findLegacyMidiInterfaceDescriptors();
+ }
+
+ mUsbInterfaces = new ArrayList<UsbInterfaceDescriptor>();
+ if (mUsbDevice.getConfigurationCount() > 0) {
+ // USB devices should default to the first configuration.
+ // The first configuration should support MIDI.
+ // Only one configuration can be used at once.
+ // Thus, use USB interfaces from the first configuration.
+ UsbConfiguration usbConfiguration = mUsbDevice.getConfiguration(0);
+ for (int interfaceIndex = 0; interfaceIndex < usbConfiguration.getInterfaceCount();
+ interfaceIndex++) {
+ UsbInterface usbInterface = usbConfiguration.getInterface(interfaceIndex);
+ for (UsbInterfaceDescriptor midiInterfaceDescriptor : midiInterfaceDescriptors) {
+ UsbInterface midiInterface = midiInterfaceDescriptor.toAndroid(mParser);
+ if (areEquivalent(usbInterface, midiInterface)) {
+ mUsbInterfaces.add(midiInterfaceDescriptor);
+ break;
+ }
+ }
+ }
+
+ if (mUsbDevice.getConfigurationCount() > 1) {
+ Log.w(TAG, "Skipping some USB configurations. Count: "
+ + mUsbDevice.getConfigurationCount());
+ }
}
int numInputs = 0;
@@ -647,6 +674,37 @@
return true;
}
+ private boolean areEquivalent(UsbInterface interface1, UsbInterface interface2) {
+ if ((interface1.getId() != interface2.getId())
+ || (interface1.getAlternateSetting() != interface2.getAlternateSetting())
+ || (interface1.getInterfaceClass() != interface2.getInterfaceClass())
+ || (interface1.getInterfaceSubclass() != interface2.getInterfaceSubclass())
+ || (interface1.getInterfaceProtocol() != interface2.getInterfaceProtocol())
+ || (interface1.getEndpointCount() != interface2.getEndpointCount())) {
+ return false;
+ }
+
+ if (interface1.getName() == null) {
+ if (interface2.getName() != null) {
+ return false;
+ }
+ } else if (!(interface1.getName().equals(interface2.getName()))) {
+ return false;
+ }
+
+ // Consider devices with the same endpoints but in a different order as different endpoints.
+ for (int i = 0; i < interface1.getEndpointCount(); i++) {
+ UsbEndpoint endpoint1 = interface1.getEndpoint(i);
+ UsbEndpoint endpoint2 = interface2.getEndpoint(i);
+ if ((endpoint1.getAddress() != endpoint2.getAddress())
+ || (endpoint1.getAttributes() != endpoint2.getAttributes())
+ || (endpoint1.getMaxPacketSize() != endpoint2.getMaxPacketSize())
+ || (endpoint1.getInterval() != endpoint2.getInterval())) {
+ return false;
+ }
+ }
+ return true;
+ }
/**
* Write a description of the device to a dump stream.
*/