Merge "Rename CarWatchdog AIDL's build rule name to android.automotive.watchdog."
diff --git a/FrameworkPackageStubs/res/values-uz/strings.xml b/FrameworkPackageStubs/res/values-uz/strings.xml
index f42ff10..18496b8 100644
--- a/FrameworkPackageStubs/res/values-uz/strings.xml
+++ b/FrameworkPackageStubs/res/values-uz/strings.xml
@@ -4,5 +4,5 @@
<string name="app_name" msgid="6179574017413146651">"Activity Stub"</string>
<string name="message_not_supported" msgid="133939962837892495">"Bu amalni bajaradigan ilova mavjud emas"</string>
<string name="pip_not_supported" msgid="8681268258599412706">"Tasvir ustida tasvir bu qurilmada ishlamaydi"</string>
- <string name="stub_name" msgid="3987164490218189006">"Yoʻq"</string>
+ <string name="stub_name" msgid="3987164490218189006">"Hech qanday"</string>
</resources>
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
index 4406895..759951d 100644
--- a/car-lib/api/system-current.txt
+++ b/car-lib/api/system-current.txt
@@ -21,6 +21,7 @@
field public static final String CAR_DEVICE_POLICY_SERVICE = "car_device_policy_service";
field public static final String CAR_DRIVING_STATE_SERVICE = "drivingstate";
field public static final String CAR_EXTRA_CLUSTER_ACTIVITY_STATE = "android.car.cluster.ClusterActivityState";
+ field public static final String CAR_INPUT_SERVICE = "android.car.input";
field public static final String CAR_MEDIA_SERVICE = "car_media";
field public static final String CAR_USER_SERVICE = "car_user_service";
field public static final String CAR_WATCHDOG_SERVICE = "car_watchdog";
@@ -38,6 +39,7 @@
field public static final String PERMISSION_CAR_DYNAMICS_STATE = "android.car.permission.CAR_DYNAMICS_STATE";
field public static final String PERMISSION_CAR_ENGINE_DETAILED = "android.car.permission.CAR_ENGINE_DETAILED";
field public static final String PERMISSION_CAR_INSTRUMENT_CLUSTER_CONTROL = "android.car.permission.CAR_INSTRUMENT_CLUSTER_CONTROL";
+ field public static final String PERMISSION_CAR_MONITOR_INPUT = "android.car.permission.CAR_MONITOR_INPUT";
field public static final String PERMISSION_CAR_POWER = "android.car.permission.CAR_POWER";
field public static final String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION";
field public static final String PERMISSION_CAR_PROJECTION_STATUS = "android.car.permission.ACCESS_CAR_PROJECTION_STATUS";
@@ -205,13 +207,27 @@
package android.car.admin {
public final class CarDevicePolicyManager {
+ method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.CreateUserResult createUser(@Nullable String, int);
method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.RemoveUserResult removeUser(@NonNull android.os.UserHandle);
+ field public static final int USER_TYPE_ADMIN = 1; // 0x1
+ field public static final int USER_TYPE_GUEST = 2; // 0x2
+ field public static final int USER_TYPE_REGULAR = 0; // 0x0
+ }
+
+ public final class CreateUserResult {
+ method public int getStatus();
+ method @Nullable public android.os.UserHandle getUserHandle();
+ method public boolean isSuccess();
+ field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
+ field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 2; // 0x2
+ field public static final int STATUS_SUCCESS = 1; // 0x1
}
public final class RemoveUserResult {
method public int getStatus();
method public boolean isSuccess();
field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
+ field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 5; // 0x5
field public static final int STATUS_FAILURE_TARGET_USER_IS_CURRENT_USER = 3; // 0x3
field public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 4; // 0x4
field public static final int STATUS_SUCCESS = 1; // 0x1
@@ -831,6 +847,58 @@
field @Deprecated public final int mTargetDisplay;
}
+ public final class CarInputManager {
+ method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public void injectKeyEvent(@NonNull android.view.KeyEvent, int);
+ method public void releaseInputEventCapture(int);
+ method @RequiresPermission(android.car.Car.PERMISSION_CAR_MONITOR_INPUT) public int requestInputEventCapture(@NonNull android.car.input.CarInputManager.CarInputCaptureCallback, int, @NonNull int[], int);
+ field public static final int CAPTURE_REQ_FLAGS_ALLOW_DELAYED_GRANT = 1; // 0x1
+ field public static final int INPUT_CAPTURE_RESPONSE_DELAYED = 2; // 0x2
+ field public static final int INPUT_CAPTURE_RESPONSE_FAILED = 1; // 0x1
+ field public static final int INPUT_CAPTURE_RESPONSE_SUCCEEDED = 0; // 0x0
+ field public static final int INPUT_TYPE_CUSTOM_INPUT_EVENT = 200; // 0xc8
+ field public static final int INPUT_TYPE_ROTARY_NAVIGATION = 10; // 0xa
+ }
+
+ public static interface CarInputManager.CarInputCaptureCallback {
+ method public default void onCaptureStateChanged(int, @NonNull int[]);
+ method public default void onCustomInputEvents(int, @NonNull java.util.List<android.car.input.CustomInputEvent>);
+ method public default void onKeyEvents(int, @NonNull java.util.List<android.view.KeyEvent>);
+ method public default void onRotaryEvents(int, @NonNull java.util.List<android.car.input.RotaryEvent>);
+ }
+
+ public final class CustomInputEvent implements android.os.Parcelable {
+ ctor public CustomInputEvent(int, int, int);
+ method public int describeContents();
+ method public int getInputCode();
+ method public int getRepeatCounter();
+ method public int getTargetDisplayType();
+ method @NonNull public static String inputCodeToString(int);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.car.input.CustomInputEvent> CREATOR;
+ field public static final int INPUT_CODE_F1 = 1001; // 0x3e9
+ field public static final int INPUT_CODE_F10 = 1010; // 0x3f2
+ field public static final int INPUT_CODE_F2 = 1002; // 0x3ea
+ field public static final int INPUT_CODE_F3 = 1003; // 0x3eb
+ field public static final int INPUT_CODE_F4 = 1004; // 0x3ec
+ field public static final int INPUT_CODE_F5 = 1005; // 0x3ed
+ field public static final int INPUT_CODE_F6 = 1006; // 0x3ee
+ field public static final int INPUT_CODE_F7 = 1007; // 0x3ef
+ field public static final int INPUT_CODE_F8 = 1008; // 0x3f0
+ field public static final int INPUT_CODE_F9 = 1009; // 0x3f1
+ }
+
+ public final class RotaryEvent implements android.os.Parcelable {
+ ctor public RotaryEvent(int, boolean, @NonNull long[]);
+ method public int describeContents();
+ method public int getInputType();
+ method public int getNumberOfClicks();
+ method public long getUptimeMillisForClick(int);
+ method @NonNull public long[] getUptimeMillisForClicks();
+ method public boolean isClockwise();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.car.input.RotaryEvent> CREATOR;
+ }
+
}
package android.car.media {
@@ -1129,6 +1197,7 @@
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserRemovalResult> CREATOR;
field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
+ field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
field public static final int STATUS_SUCCESSFUL = 1; // 0x1
field public static final int STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED = 103; // 0x67
field public static final int STATUS_TARGET_USER_IS_CURRENT_USER = 101; // 0x65
diff --git a/car-lib/api/system-lint-baseline.txt b/car-lib/api/system-lint-baseline.txt
index 0f151f2..b36f2ce 100644
--- a/car-lib/api/system-lint-baseline.txt
+++ b/car-lib/api/system-lint-baseline.txt
@@ -41,6 +41,8 @@
Callbacks must be abstract class instead of interface to enable extension in future API levels: CarCabinEventCallback
CallbackInterface: android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback:
Callbacks must be abstract class instead of interface to enable extension in future API levels: CarHvacEventCallback
+CallbackInterface: android.car.input.CarInputManager.CarInputCaptureCallback:
+ Callbacks must be abstract class instead of interface to enable extension in future API levels: CarInputCaptureCallback
CallbackInterface: android.car.trust.CarTrustAgentEnrollmentManager.CarTrustAgentBleCallback:
Callbacks must be abstract class instead of interface to enable extension in future API levels: CarTrustAgentBleCallback
CallbackInterface: android.car.trust.CarTrustAgentEnrollmentManager.CarTrustAgentEnrollmentCallback:
@@ -77,6 +79,9 @@
Registration methods should have overload that accepts delivery Executor: `registerCallback`
ExecutorRegistration: android.car.hardware.hvac.CarHvacManager#registerCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback):
Registration methods should have overload that accepts delivery Executor: `registerCallback`
+ExecutorRegistration: android.car.input.CarInputManager#requestInputEventCapture(android.car.input.CarInputManager.CarInputCaptureCallback, int, int[], int):
+ Registration methods should have overload that accepts delivery Executor: `requestInputEventCapture`
+
ExecutorRegistration: android.car.storagemonitoring.CarStorageMonitoringManager#registerListener(android.car.storagemonitoring.CarStorageMonitoringManager.IoStatsListener):
Registration methods should have overload that accepts delivery Executor: `registerListener`
ExecutorRegistration: android.car.trust.CarTrustAgentEnrollmentManager#setBleCallback(android.car.trust.CarTrustAgentEnrollmentManager.CarTrustAgentBleCallback):
@@ -144,6 +149,12 @@
InternalField: android.car.input.CarInputHandlingService.InputFilter#mTargetDisplay:
Internal field mTargetDisplay must not be exposed
+ListenerLast: android.car.input.CarInputManager#requestInputEventCapture(android.car.input.CarInputManager.CarInputCaptureCallback, int, int[], int) parameter #1:
+ Listeners should always be at end of argument list (method `requestInputEventCapture`)
+ListenerLast: android.car.input.CarInputManager#requestInputEventCapture(android.car.input.CarInputManager.CarInputCaptureCallback, int, int[], int) parameter #2:
+ Listeners should always be at end of argument list (method `requestInputEventCapture`)
+ListenerLast: android.car.input.CarInputManager#requestInputEventCapture(android.car.input.CarInputManager.CarInputCaptureCallback, int, int[], int) parameter #3:
+ Listeners should always be at end of argument list (method `requestInputEventCapture`)
MinMaxConstant: android.car.diagnostic.IntegerSensorIndex#MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR:
If min/max could change in future, make them dynamic methods: android.car.diagnostic.IntegerSensorIndex#MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR
diff --git a/car-lib/api/test-current.txt b/car-lib/api/test-current.txt
index 001b3a8..0fa0142 100644
--- a/car-lib/api/test-current.txt
+++ b/car-lib/api/test-current.txt
@@ -29,13 +29,27 @@
package android.car.admin {
public final class CarDevicePolicyManager {
+ method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.CreateUserResult createUser(@Nullable String, int);
method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.RemoveUserResult removeUser(@NonNull android.os.UserHandle);
+ field public static final int USER_TYPE_ADMIN = 1; // 0x1
+ field public static final int USER_TYPE_GUEST = 2; // 0x2
+ field public static final int USER_TYPE_REGULAR = 0; // 0x0
+ }
+
+ public final class CreateUserResult {
+ method public int getStatus();
+ method @Nullable public android.os.UserHandle getUserHandle();
+ method public boolean isSuccess();
+ field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
+ field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 2; // 0x2
+ field public static final int STATUS_SUCCESS = 1; // 0x1
}
public final class RemoveUserResult {
method public int getStatus();
method public boolean isSuccess();
field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
+ field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 5; // 0x5
field public static final int STATUS_FAILURE_TARGET_USER_IS_CURRENT_USER = 3; // 0x3
field public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 4; // 0x4
field public static final int STATUS_SUCCESS = 1; // 0x1
@@ -99,6 +113,7 @@
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserRemovalResult> CREATOR;
field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
+ field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
field public static final int STATUS_SUCCESSFUL = 1; // 0x1
field public static final int STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED = 103; // 0x67
field public static final int STATUS_TARGET_USER_IS_CURRENT_USER = 101; // 0x65
diff --git a/car-lib/src/android/car/Car.java b/car-lib/src/android/car/Car.java
index 4468c95..fbf06cf 100644
--- a/car-lib/src/android/car/Car.java
+++ b/car-lib/src/android/car/Car.java
@@ -336,6 +336,8 @@
/**
* @hide
*/
+ @MandatoryFeature
+ @SystemApi
public static final String CAR_INPUT_SERVICE = "android.car.input";
/**
@@ -711,10 +713,18 @@
public static final String PERMISSION_USE_CAR_WATCHDOG =
"android.car.permission.USE_CAR_WATCHDOG";
+ /**
+ * Permission necessary to monitor Car input events.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final String PERMISSION_CAR_MONITOR_INPUT =
+ "android.car.permission.CAR_MONITOR_INPUT";
+
/** Type of car connection: platform runs directly in car. */
public static final int CONNECTION_TYPE_EMBEDDED = 5;
-
/** @hide */
@IntDef({CONNECTION_TYPE_EMBEDDED})
@Retention(RetentionPolicy.SOURCE)
@@ -1592,7 +1602,6 @@
}
}
-
private void finishClient() {
if (mContext == null) {
throw new IllegalStateException("Car service has crashed, null Context");
diff --git a/car-lib/src/android/car/CarManagerBase.java b/car-lib/src/android/car/CarManagerBase.java
index 8d30fdf..aa32878 100644
--- a/car-lib/src/android/car/CarManagerBase.java
+++ b/car-lib/src/android/car/CarManagerBase.java
@@ -16,9 +16,12 @@
package android.car;
+import static android.car.CarLibLog.TAG_CAR;
+
import android.content.Context;
import android.os.Handler;
import android.os.RemoteException;
+import android.util.Log;
/**
* Common base class for Car*Manager
@@ -49,6 +52,25 @@
}
/**
+ * Handles runtime and remote exception from CarService.
+ */
+ protected <T> T handleExceptionFromCarService(Exception e, T returnValue) {
+ if (e instanceof RemoteException) {
+ return handleRemoteExceptionFromCarService((RemoteException) e, returnValue);
+ }
+
+ if (e instanceof RuntimeException) {
+ Log.w(TAG_CAR, "Car service threw Runtime Exception.", e);
+ return returnValue;
+ }
+
+ // exception should be either runtime or remote exception
+ Log.wtf(TAG_CAR, "Car service threw Exception.", e);
+
+ return returnValue;
+ }
+
+ /**
* Handle disconnection of car service (=crash). As car service has crashed already, this call
* should only clean up any listeners / callbacks passed from client. Clearing object passed
* to car service is not necessary as car service has crashed. Note that Car*Manager will not
diff --git a/car-lib/src/android/car/CarOccupantZoneManager.java b/car-lib/src/android/car/CarOccupantZoneManager.java
index 17d5177..dd2743f 100644
--- a/car-lib/src/android/car/CarOccupantZoneManager.java
+++ b/car-lib/src/android/car/CarOccupantZoneManager.java
@@ -341,6 +341,28 @@
}
/**
+ * Returns the display id for the driver.
+ *
+ * <p>This method just returns the display id for the requested type. The returned display id
+ * may correspond to a private display and the client may not have access to it.
+ *
+ * @param displayType the display type
+ * @return the driver's display id or {@link Display#INVALID_DISPLAY} when no such display
+ * exists
+ *
+ * @hide
+ */
+ // TODO(b/159623196): this method will need to be exposed with @SystemApi so it can be used by
+ // OEMs when handling CustomInputEvents.
+ public int getDisplayIdForDriver(@DisplayTypeEnum int displayType) {
+ try {
+ return mService.getDisplayIdForDriver(displayType);
+ } catch (RemoteException e) {
+ return handleRemoteExceptionFromCarService(e, Display.INVALID_DISPLAY);
+ }
+ }
+
+ /**
* Gets the audio zone id for the occupant, or returns
* {@code CarAudioManager.INVALID_AUDIO_ZONE} if no audio zone matches the requirements.
* throws InvalidArgumentException if occupantZone does not exist.
diff --git a/car-lib/src/android/car/ICarOccupantZone.aidl b/car-lib/src/android/car/ICarOccupantZone.aidl
index d11d9fa..db9f497 100644
--- a/car-lib/src/android/car/ICarOccupantZone.aidl
+++ b/car-lib/src/android/car/ICarOccupantZone.aidl
@@ -38,4 +38,5 @@
void registerCallback(in ICarOccupantZoneCallback callback);
void unregisterCallback(in ICarOccupantZoneCallback callback);
boolean assignProfileUserToOccupantZone(in int occupantZoneId, in int userId);
+ int getDisplayIdForDriver(in int displayType);
}
diff --git a/car-lib/src/android/car/admin/CarDevicePolicyManager.java b/car-lib/src/android/car/admin/CarDevicePolicyManager.java
index 5fa7b0d..adee0c9 100644
--- a/car-lib/src/android/car/admin/CarDevicePolicyManager.java
+++ b/car-lib/src/android/car/admin/CarDevicePolicyManager.java
@@ -18,12 +18,15 @@
import static android.os.Process.myUid;
+import android.annotation.IntDef;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.car.Car;
import android.car.CarManagerBase;
+import android.car.user.UserCreationResult;
import android.car.user.UserRemovalResult;
import android.os.IBinder;
import android.os.RemoteException;
@@ -31,8 +34,11 @@
import android.util.EventLog;
import com.android.car.internal.common.EventLogTags;
+import com.android.car.internal.common.UserHelperLite;
import com.android.internal.annotations.VisibleForTesting;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.Objects;
/**
@@ -43,7 +49,7 @@
*
* <ol>
* <li>Its methods take in consideration driver-safety restrictions.
- * <li>Callers doesn't need to be a {@code DPC}, but rather have the TBD Role.
+ * <li>Callers doesn't need to be a {@code DPC}, but rather have the proper permissions.
* </ol>
*
* @hide
@@ -54,6 +60,39 @@
private final ICarDevicePolicyService mService;
+ private static final String PREFIX_USER_TYPE = "USER_TYPE_";
+
+ /**
+ * Type used to indicate the user is a regular user.
+ */
+ public static final int USER_TYPE_REGULAR = 0;
+
+ /**
+ * Type used to indicate the user is an admin user.
+ */
+ public static final int USER_TYPE_ADMIN = 1;
+
+ /**
+ * Type used to indicate the user is a guest user.
+ */
+ public static final int USER_TYPE_GUEST = 2;
+
+ /** @hide - Used on test cases only */
+ public static final int FIRST_USER_TYPE = USER_TYPE_REGULAR;
+ /** @hide - Used on test cases only */
+ public static final int LAST_USER_TYPE = USER_TYPE_GUEST;
+
+
+ /** @hide */
+ @IntDef(prefix = PREFIX_USER_TYPE, value = {
+ USER_TYPE_REGULAR,
+ USER_TYPE_ADMIN,
+ USER_TYPE_GUEST
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface UserType {
+ }
+
/**
* @hide
*/
@@ -73,15 +112,13 @@
/**
* Removes the given user.
*
+ * <p><b>Note: </b>if the caller user is not an admin, it can only remove itself
+ * (otherwise it will fail with {@link RemoveUserResult#STATUS_FAILURE_INVALID_ARGUMENTS}).
+ *
* @param user identification of the user to be removed.
*
* @return whether the user was successfully removed.
*
- * @throws SecurityException if the caller app doesn't have the proper permission (either
- * {@code android.Manifest.permission.MANAGE_USERS} or
- * {@code android.Manifest.permission.CREATE_USERS}) or if the caller user is not an admin and
- * is trying to remove any user other than its own user.
- *
* @hide
*/
@SystemApi
@@ -107,6 +144,41 @@
}
}
+ /**
+ * Creates a user with the given characteristics.
+ *
+ * <p><b>Note: </b>if the caller user is not an admin, it can only create non-admin users
+ * (otherwise it will fail with {@link CreateUserResult#STATUS_FAILURE_INVALID_ARGUMENTS}).
+ *
+ * @param name user name.
+ * @param type either {@link #USER_TYPE_REGULAR}, {@link #USER_TYPE_ADMIN},
+ * or {@link #USER_TYPE_GUEST}.
+ *
+ * @return whether the user was successfully removed.
+ *
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS,
+ android.Manifest.permission.CREATE_USERS})
+ @NonNull
+ public CreateUserResult createUser(@Nullable String name, @UserType int type) {
+ int uid = myUid();
+ EventLog.writeEvent(EventLogTags.CAR_DP_MGR_CREATE_USER_REQ, uid,
+ UserHelperLite.safeName(name), type);
+ int status = CreateUserResult.STATUS_FAILURE_GENERIC;
+ try {
+ UserCreationResult result = mService.createUser(name, type);
+ status = result.getStatus();
+ return new CreateUserResult(result);
+ } catch (RemoteException e) {
+ return handleRemoteExceptionFromCarService(e, new CreateUserResult(null));
+ } finally {
+ EventLog.writeEvent(EventLogTags.CAR_DP_MGR_CREATE_USER_RESP, uid, status);
+ }
+ }
+
/** @hide */
@Override
public void onCarDisconnected() {
diff --git a/car-lib/src/android/car/admin/CreateUserResult.java b/car-lib/src/android/car/admin/CreateUserResult.java
new file mode 100644
index 0000000..3b4a976
--- /dev/null
+++ b/car-lib/src/android/car/admin/CreateUserResult.java
@@ -0,0 +1,156 @@
+/*
+ * 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.
+ */
+
+package android.car.admin;
+
+import android.annotation.IntDef;
+import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
+import android.car.user.UserCreationResult;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Result of a {@link CarDevicePolicyManager#createUser(String, int)} operation.
+ *
+ * @hide
+ */
+@SystemApi
+@TestApi
+public final class CreateUserResult {
+
+ private static final String TAG = CreateUserResult.class.getSimpleName();
+
+ /**
+ * User was created.
+ */
+ public static final int STATUS_SUCCESS = 1;
+
+ /**
+ * User was not created because arguments passed to the method were invalid.
+ */
+ public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 2;
+
+ /**
+ * User was not created for some other reason not described above.
+ */
+ public static final int STATUS_FAILURE_GENERIC = 100;
+
+ /** @hide */
+ @IntDef(prefix = "STATUS_", value = {
+ STATUS_SUCCESS,
+ STATUS_FAILURE_INVALID_ARGUMENTS,
+ STATUS_FAILURE_GENERIC
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface Status {
+ }
+
+ private final @Status int mStatus;
+ private final @Nullable UserHandle mUserHandle;
+
+ /**
+ * Must mark as public even though unit test is on the same package, as actual classes are
+ * provided by different jar files.
+ *
+ * @hide
+ */
+ @VisibleForTesting
+ public CreateUserResult(@Nullable UserCreationResult result) {
+ if (result == null) {
+ mStatus = STATUS_FAILURE_GENERIC;
+ mUserHandle = null;
+ return;
+ }
+ int status = result.getStatus();
+ if (status == UserCreationResult.STATUS_SUCCESSFUL) {
+ UserInfo user = result.getUser();
+ mUserHandle = user == null ? null : user.getUserHandle();
+ if (mUserHandle == null) {
+ Log.w(TAG, "Successful UserCreationResult with no user: " + result);
+ mStatus = STATUS_FAILURE_GENERIC;
+ } else {
+ mStatus = STATUS_SUCCESS;
+ }
+ return;
+ }
+
+ mUserHandle = null;
+ switch (status) {
+ case UserCreationResult.STATUS_INVALID_REQUEST:
+ mStatus = STATUS_FAILURE_INVALID_ARGUMENTS;
+ break;
+ default:
+ mStatus = STATUS_FAILURE_GENERIC;
+ }
+ }
+
+ /**
+ * Gets the specifif result of the operation.
+ *
+ * @return either {@link CreateUserResult#STATUS_SUCCESS} or
+ * {@link CreateUserResult#STATUS_FAILURE_GENERIC}.
+ */
+ public @Status int getStatus() {
+ return mStatus;
+ }
+
+ /**
+ * Gets whether the operation was successful or not.
+ */
+ public boolean isSuccess() {
+ return mStatus == STATUS_SUCCESS;
+ }
+
+ /**
+ * Gets the {@link UserHandle} of the created user (or {@code null} in case of failure).
+ */
+ @Nullable
+ public UserHandle getUserHandle() {
+ return mUserHandle;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder string = new StringBuilder("CreateUserResult[")
+ .append(statusToString(mStatus));
+ if (mUserHandle != null) {
+ string.append(":").append(mUserHandle.getIdentifier());
+ }
+
+ return string.append(']').toString();
+ }
+
+ private static String statusToString(int status) {
+ switch (status) {
+ case STATUS_SUCCESS:
+ return "SUCCESS";
+ case STATUS_FAILURE_INVALID_ARGUMENTS:
+ return "FAILURE_INVALID_ARGUMENTS";
+ case STATUS_FAILURE_GENERIC:
+ return "FAILURE_GENERIC";
+ default:
+ return "UNKNOWN-" + status;
+ }
+ }
+}
diff --git a/car-lib/src/android/car/admin/ICarDevicePolicyService.aidl b/car-lib/src/android/car/admin/ICarDevicePolicyService.aidl
index 2162812..3c367c6 100644
--- a/car-lib/src/android/car/admin/ICarDevicePolicyService.aidl
+++ b/car-lib/src/android/car/admin/ICarDevicePolicyService.aidl
@@ -17,8 +17,10 @@
package android.car.admin;
import android.car.user.UserRemovalResult;
+import android.car.user.UserCreationResult;
/** @hide */
interface ICarDevicePolicyService {
UserRemovalResult removeUser(int userId);
+ UserCreationResult createUser(String name, int flags);
}
diff --git a/car-lib/src/android/car/admin/RemoveUserResult.java b/car-lib/src/android/car/admin/RemoveUserResult.java
index 1d24d43..799f259 100644
--- a/car-lib/src/android/car/admin/RemoveUserResult.java
+++ b/car-lib/src/android/car/admin/RemoveUserResult.java
@@ -58,7 +58,12 @@
public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 4;
/**
- * User was not removed for some other reason not described above
+ * User was not removed because arguments passed to the method were invalid.
+ */
+ public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 5;
+
+ /**
+ * User was not removed for some other reason not described above.
*/
public static final int STATUS_FAILURE_GENERIC = 100;
@@ -68,6 +73,8 @@
STATUS_SUCCESS_LAST_ADMIN_REMOVED,
STATUS_FAILURE_TARGET_USER_IS_CURRENT_USER,
STATUS_FAILURE_USER_DOES_NOT_EXIST,
+ STATUS_FAILURE_INVALID_ARGUMENTS,
+ STATUS_FAILURE_GENERIC
})
@Retention(RetentionPolicy.SOURCE)
public @interface Status {
@@ -87,16 +94,19 @@
switch (status) {
case UserRemovalResult.STATUS_SUCCESSFUL:
- mStatus = RemoveUserResult.STATUS_SUCCESS;
+ mStatus = STATUS_SUCCESS;
break;
case UserRemovalResult.STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED:
- mStatus = RemoveUserResult.STATUS_SUCCESS_LAST_ADMIN_REMOVED;
+ mStatus = STATUS_SUCCESS_LAST_ADMIN_REMOVED;
break;
case UserRemovalResult.STATUS_TARGET_USER_IS_CURRENT_USER:
- mStatus = RemoveUserResult.STATUS_FAILURE_TARGET_USER_IS_CURRENT_USER;
+ mStatus = STATUS_FAILURE_TARGET_USER_IS_CURRENT_USER;
break;
case UserRemovalResult.STATUS_USER_DOES_NOT_EXIST:
- mStatus = RemoveUserResult.STATUS_FAILURE_USER_DOES_NOT_EXIST;
+ mStatus = STATUS_FAILURE_USER_DOES_NOT_EXIST;
+ break;
+ case UserRemovalResult.STATUS_INVALID_REQUEST:
+ mStatus = STATUS_FAILURE_INVALID_ARGUMENTS;
break;
default:
mStatus = STATUS_FAILURE_GENERIC;
@@ -127,7 +137,8 @@
return "RemoveUserResult[" + statusToString(mStatus) + "]";
}
- private String statusToString(int status) {
+ /** @hide */
+ public static String statusToString(@Status int status) {
switch (status) {
case STATUS_SUCCESS:
return "SUCCESS";
@@ -137,6 +148,8 @@
return "FAILURE_TARGET_USER_IS_CURRENT_USER";
case STATUS_FAILURE_USER_DOES_NOT_EXIST:
return "FAILURE_USER_DOES_NOT_EXIST";
+ case STATUS_FAILURE_INVALID_ARGUMENTS:
+ return "FAILURE_INVALID_ARGUMENTS";
case STATUS_FAILURE_GENERIC:
return "FAILURE_GENERIC";
default:
diff --git a/car-lib/src/android/car/input/CarInputManager.java b/car-lib/src/android/car/input/CarInputManager.java
index 84f582f..777d925 100644
--- a/car-lib/src/android/car/input/CarInputManager.java
+++ b/car-lib/src/android/car/input/CarInputManager.java
@@ -21,6 +21,7 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
+import android.annotation.SystemApi;
import android.car.Car;
import android.car.CarManagerBase;
import android.car.CarOccupantZoneManager;
@@ -44,6 +45,7 @@
*
* @hide
*/
+@SystemApi
public final class CarInputManager extends CarManagerBase {
private static final String TAG = CarInputManager.class.getSimpleName();
@@ -55,8 +57,7 @@
* <p>
* Events (key, rotary and custom input events) are associated with display types.
* Display types are defined in {@link android.car.CarOccupantZoneManager}. This manager only
- * accepts the driver display types. Currently it accepts driver's displays only (
- * ({@link CarOccupantZoneManager#DISPLAY_TYPE_MAIN} and
+ * accepts the driver display types ({@link CarOccupantZoneManager#DISPLAY_TYPE_MAIN} and
* {@link CarOccupantZoneManager#DISPLAY_TYPE_INSTRUMENT_CLUSTER}).
*/
public interface CarInputCaptureCallback {
@@ -113,12 +114,12 @@
public static final int CAPTURE_REQ_FLAGS_TAKE_ALL_EVENTS_FOR_DISPLAY = 0x2;
/** @hide */
- @IntDef(flag = true, prefix = { "CAPTURE_REQ_FLAGS_" }, value = {
+ @IntDef(flag = true, prefix = {"CAPTURE_REQ_FLAGS_"}, value = {
CAPTURE_REQ_FLAGS_ALLOW_DELAYED_GRANT,
CAPTURE_REQ_FLAGS_TAKE_ALL_EVENTS_FOR_DISPLAY,
})
@Retention(RetentionPolicy.SOURCE)
- @interface CaptureRequestFlags {}
+ public @interface CaptureRequestFlags {}
/**
* This is special type to cover all INPUT_TYPE_*. This is used for clients using
@@ -148,16 +149,22 @@
* {@link KeyEvent#KEYCODE_DPAD_RIGHT}, {@link KeyEvent#KEYCODE_DPAD_CENTER},
* {@link KeyEvent#KEYCODE_DPAD_DOWN_LEFT}, {@link KeyEvent#KEYCODE_DPAD_DOWN_RIGHT},
* {@link KeyEvent#KEYCODE_DPAD_UP_LEFT}, {@link KeyEvent#KEYCODE_DPAD_UP_RIGHT}
+ *
+ * @hide
*/
public static final int INPUT_TYPE_DPAD_KEYS = 100;
/**
* This is for all {@code KeyEvent#KEYCODE_NAVIGATE_*} keys.
+ *
+ * @hide
*/
public static final int INPUT_TYPE_NAVIGATE_KEYS = 101;
/**
* This is for all {@code KeyEvent#KEYCODE_SYSTEM_NAVIGATE_*} keys.
+ *
+ * @hide
*/
public static final int INPUT_TYPE_SYSTEM_NAVIGATE_KEYS = 102;
@@ -244,11 +251,22 @@
* until the client receives a {@link CarInputCaptureCallback#onCaptureStateChanged(int, int[])}
* call with valid input types.
*
- * <p> The targetDisplayType parameter must represent a driver display type (
- * {@link CarOccupantZoneManager#DISPLAY_TYPE_MAIN} or
+ * <p> The targetDisplayType parameter must only contain driver display types (which are
+ * {@link CarOccupantZoneManager#DISPLAY_TYPE_MAIN} and
* {@link CarOccupantZoneManager#DISPLAY_TYPE_INSTRUMENT_CLUSTER}.
+ *
+ * <p>Callbacks are grouped and stacked per display and input types. Only the most recently
+ * registered callback will receive the incoming events for the associated display and input
+ * types.
+ *
+ * @throws SecurityException is caller doesn't have android.car.permission.CAR_MONITOR_INPUT
+ * permission granted
+ * @throws IllegalArgumentException if targetDisplayType parameter correspond to a non supported
+ * display type
+ * @throws IllegalArgumentException if inputTypes parameter contains invalid or non supported
+ * values
*/
- @RequiresPermission(android.Manifest.permission.MONITOR_INPUT)
+ @RequiresPermission(Car.PERMISSION_CAR_MONITOR_INPUT)
@InputCaptureResponseEnum
public int requestInputEventCapture(@NonNull CarInputCaptureCallback callback,
@DisplayTypeEnum int targetDisplayType,
@@ -289,12 +307,12 @@
* The event parameter display id will be overridden accordingly to the display type also passed
* as parameter.
*
- * @param event the event to inject
- * @param targetDisplayType the display type associated with the event
+ * @param event the key event to inject
+ * @param targetDisplayType the display type associated with the key event
* @throws RemoteException in case of failure when invoking car input service
*/
@RequiresPermission(android.Manifest.permission.INJECT_EVENTS)
- public void injectKeyEvent(KeyEvent event, @DisplayTypeEnum int targetDisplayType) {
+ public void injectKeyEvent(@NonNull KeyEvent event, @DisplayTypeEnum int targetDisplayType) {
try {
mService.injectKeyEvent(event, targetDisplayType);
} catch (RemoteException e) {
@@ -302,6 +320,7 @@
}
}
+ /** @hide */
@Override
protected void onCarDisconnected() {
synchronized (mLock) {
diff --git a/car-lib/src/android/car/input/CustomInputEvent.java b/car-lib/src/android/car/input/CustomInputEvent.java
index 129d8fa..fd5412c 100644
--- a/car-lib/src/android/car/input/CustomInputEvent.java
+++ b/car-lib/src/android/car/input/CustomInputEvent.java
@@ -17,6 +17,7 @@
package android.car.input;
import android.annotation.NonNull;
+import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
@@ -34,6 +35,7 @@
// input.
// TODO(b/12219669): Check with INPUT_CODE_Fn constants should move to
// android/car/Constants/CommonConstants.java. If keeping these constants, than add unit tests.
+@SystemApi
@DataClass(
genEqualsHashCode = true,
genAidl = true)
@@ -72,7 +74,7 @@
// Settings > Editor > Code Style > Formatter Control
//@formatter:off
-
+ /** @hide */
@android.annotation.IntDef(prefix = "INPUT_CODE_", value = {
INPUT_CODE_F1,
INPUT_CODE_F2,
@@ -91,6 +93,7 @@
}
@DataClass.Generated.Member
+ @NonNull
public static String inputCodeToString(@InputCode int value) {
switch (value) {
case INPUT_CODE_F1:
@@ -314,3 +317,4 @@
//@formatter:on
// End of generated code
}
+
diff --git a/car-lib/src/android/car/input/RotaryEvent.java b/car-lib/src/android/car/input/RotaryEvent.java
index a43e1e2..565f039 100644
--- a/car-lib/src/android/car/input/RotaryEvent.java
+++ b/car-lib/src/android/car/input/RotaryEvent.java
@@ -16,6 +16,7 @@
package android.car.input;
import android.annotation.NonNull;
+import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
@@ -31,6 +32,7 @@
*
* @hide
*/
+@SystemApi
@DataClass(
genEqualsHashCode = true,
genAidl = true)
diff --git a/car-lib/src/android/car/user/CarUserManager.java b/car-lib/src/android/car/user/CarUserManager.java
index 57ebe2d..37e580a 100644
--- a/car-lib/src/android/car/user/CarUserManager.java
+++ b/car-lib/src/android/car/user/CarUserManager.java
@@ -23,6 +23,7 @@
import static com.android.internal.util.FunctionalUtils.getLambdaName;
import android.annotation.CallbackExecutor;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -58,6 +59,8 @@
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.Preconditions;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -166,6 +169,139 @@
/** @hide */
public static final String BUNDLE_PARAM_PREVIOUS_USER_ID = "previous_user";
+ /**
+ * {@link UserIdentificationAssociationType} for key fob.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_TYPE_KEY_FOB = 1;
+
+ /**
+ * {@link UserIdentificationAssociationType} for custom type 1.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_1 = 101;
+
+ /**
+ * {@link UserIdentificationAssociationType} for custom type 2.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_2 = 102;
+
+ /**
+ * {@link UserIdentificationAssociationType} for custom type 3.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_3 = 103;
+
+ /**
+ * {@link UserIdentificationAssociationType} for custom type 4.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_4 = 104;
+
+ /**
+ * User HAL's user identification association types
+ *
+ * @hide
+ */
+ @IntDef(prefix = { "USER_IDENTIFICATION_ASSOCIATION_TYPE_" }, value = {
+ USER_IDENTIFICATION_ASSOCIATION_TYPE_KEY_FOB,
+ USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_1,
+ USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_2,
+ USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_3,
+ USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_4,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface UserIdentificationAssociationType{}
+
+ /**
+ * {@link UserIdentificationAssociationSetValue} to associate the identification type with the
+ * current foreground Android user.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_ASSOCIATE_CURRENT_USER = 1;
+
+ /**
+ * {@link UserIdentificationAssociationSetValue} to disassociate the identification type from
+ * the current foreground Android user.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_DISASSOCIATE_CURRENT_USER = 2;
+
+ /**
+ * {@link UserIdentificationAssociationSetValue} to disassociate the identification type from
+ * all Android users.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_DISASSOCIATE_ALL_USERS = 3;
+
+ /**
+ * User HAL's user identification association types
+ *
+ * @hide
+ */
+ @IntDef(prefix = { "USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_" }, value = {
+ USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_ASSOCIATE_CURRENT_USER,
+ USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_DISASSOCIATE_CURRENT_USER,
+ USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_DISASSOCIATE_ALL_USERS,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface UserIdentificationAssociationSetValue{}
+
+ /**
+ * {@link UserIdentificationAssociationValue} when the status of an association could not be
+ * determined.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_VALUE_UNKNOWN = 1;
+
+ /**
+ * {@link UserIdentificationAssociationValue} when the identification type is associated with
+ * the current foreground Android user.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_VALUE_ASSOCIATE_CURRENT_USER = 2;
+
+ /**
+ * {@link UserIdentificationAssociationValue} when the identification type is associated with
+ * another Android user.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_VALUE_ASSOCIATED_ANOTHER_USER = 3;
+
+ /**
+ * {@link UserIdentificationAssociationValue} when the identification type is not associated
+ * with any Android user.
+ *
+ * @hide
+ */
+ public static final int USER_IDENTIFICATION_ASSOCIATION_VALUE_NOT_ASSOCIATED_ANY_USER = 4;
+
+ /**
+ * User HAL's user identification association types
+ *
+ * @hide
+ */
+ @IntDef(prefix = { "USER_IDENTIFICATION_ASSOCIATION_VALUE_" }, value = {
+ USER_IDENTIFICATION_ASSOCIATION_VALUE_UNKNOWN,
+ USER_IDENTIFICATION_ASSOCIATION_VALUE_ASSOCIATE_CURRENT_USER,
+ USER_IDENTIFICATION_ASSOCIATION_VALUE_ASSOCIATED_ANOTHER_USER,
+ USER_IDENTIFICATION_ASSOCIATION_VALUE_NOT_ASSOCIATED_ANY_USER,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface UserIdentificationAssociationValue{}
+
private final Object mLock = new Object();
private final ICarUserService mService;
private final UserManager mUserManager;
@@ -226,10 +362,10 @@
EventLog.writeEvent(EventLogTags.CAR_USER_MGR_SWITCH_USER_REQ, uid, targetUserId);
mService.switchUser(targetUserId, HAL_TIMEOUT_MS, future);
return new AndroidAsyncFuture<>(future);
- } catch (RemoteException e) {
+ } catch (RemoteException | RuntimeException e) {
AsyncFuture<UserSwitchResult> future =
newSwitchResuiltForFailure(UserSwitchResult.STATUS_HAL_INTERNAL_FAILURE);
- return handleRemoteExceptionFromCarService(e, future);
+ return handleExceptionFromCarService(e, future);
}
}
@@ -272,11 +408,10 @@
UserHelperLite.safeName(name), userType, flags);
mService.createUser(name, userType, flags, HAL_TIMEOUT_MS, future);
return new AndroidAsyncFuture<>(future);
- } catch (RemoteException e) {
+ } catch (RemoteException | RuntimeException e) {
AndroidFuture<UserCreationResult> future = new AndroidFuture<>();
- future.complete(new UserCreationResult(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE,
- null, null));
- return handleRemoteExceptionFromCarService(e, new AndroidAsyncFuture<>(future));
+ future.complete(new UserCreationResult(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE));
+ return handleExceptionFromCarService(e, new AndroidAsyncFuture<>(future));
}
}
@@ -329,8 +464,8 @@
UserRemovalResult result = mService.removeUser(userId);
status = result.getStatus();
return result;
- } catch (RemoteException e) {
- return handleRemoteExceptionFromCarService(e,
+ } catch (RemoteException | RuntimeException e) {
+ return handleExceptionFromCarService(e,
new UserRemovalResult(UserRemovalResult.STATUS_ANDROID_FAILURE));
} finally {
EventLog.writeEvent(EventLogTags.CAR_USER_MGR_REMOVE_USER_RESP, uid, status);
@@ -432,8 +567,8 @@
public boolean isUserHalUserAssociationSupported() {
try {
return mService.isUserHalUserAssociationSupported();
- } catch (RemoteException e) {
- return handleRemoteExceptionFromCarService(e, false);
+ } catch (RemoteException | RuntimeException e) {
+ return handleExceptionFromCarService(e, false);
}
}
@@ -446,7 +581,7 @@
@RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS,
android.Manifest.permission.CREATE_USERS})
public UserIdentificationAssociationResponse getUserIdentificationAssociation(
- @NonNull int... types) {
+ @UserIdentificationAssociationType int... types) {
Preconditions.checkArgument(!ArrayUtils.isEmpty(types), "must have at least one type");
EventLog.writeEvent(EventLogTags.CAR_USER_MGR_GET_USER_AUTH_REQ, types.length);
try {
@@ -458,8 +593,9 @@
values != null ? values.length : 0);
}
return response;
- } catch (RemoteException e) {
- return handleRemoteExceptionFromCarService(e, null);
+ } catch (RemoteException | RuntimeException e) {
+ return handleExceptionFromCarService(e,
+ UserIdentificationAssociationResponse.forFailure(e.getMessage()));
}
}
@@ -472,7 +608,8 @@
@RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS,
android.Manifest.permission.CREATE_USERS})
public AsyncFuture<UserIdentificationAssociationResponse> setUserIdentificationAssociation(
- @NonNull int[] types, @NonNull int[] values) {
+ @UserIdentificationAssociationType int[] types,
+ @UserIdentificationAssociationSetValue int[] values) {
Preconditions.checkArgument(!ArrayUtils.isEmpty(types), "must have at least one type");
Preconditions.checkArgument(!ArrayUtils.isEmpty(values), "must have at least one value");
if (types.length != values.length) {
@@ -513,10 +650,10 @@
};
mService.setUserIdentificationAssociation(HAL_TIMEOUT_MS, types, values, future);
return new AndroidAsyncFuture<>(future);
- } catch (RemoteException e) {
+ } catch (RemoteException | RuntimeException e) {
AndroidFuture<UserIdentificationAssociationResponse> future = new AndroidFuture<>();
future.complete(UserIdentificationAssociationResponse.forFailure());
- return handleRemoteExceptionFromCarService(e, new AndroidAsyncFuture<>(future));
+ return handleExceptionFromCarService(e, new AndroidAsyncFuture<>(future));
}
}
diff --git a/car-lib/src/android/car/user/ExperimentalCarUserManager.java b/car-lib/src/android/car/user/ExperimentalCarUserManager.java
index fa7eb72..bd8d038 100644
--- a/car-lib/src/android/car/user/ExperimentalCarUserManager.java
+++ b/car-lib/src/android/car/user/ExperimentalCarUserManager.java
@@ -83,8 +83,7 @@
return mService.createDriver(name, admin);
} catch (RemoteException e) {
AndroidFuture<UserCreationResult> future = new AndroidFuture<>();
- future.complete(new UserCreationResult(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE,
- null, null));
+ future.complete(new UserCreationResult(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE));
handleRemoteExceptionFromCarService(e);
return future;
}
diff --git a/car-lib/src/android/car/user/UserCreationResult.java b/car-lib/src/android/car/user/UserCreationResult.java
index 00d3add..fbbe4b7 100644
--- a/car-lib/src/android/car/user/UserCreationResult.java
+++ b/car-lib/src/android/car/user/UserCreationResult.java
@@ -102,7 +102,10 @@
return mStatus == STATUS_SUCCESSFUL;
}
-
+ /** @hide */
+ public UserCreationResult(@Status int status) {
+ this(status, /* user= */ null, /* errorMessage= */ null);
+ }
// Code below generated by codegen v1.0.18.
//
diff --git a/car-lib/src/android/car/user/UserIdentificationAssociationResponse.java b/car-lib/src/android/car/user/UserIdentificationAssociationResponse.java
index d2cdb44..1656b18 100644
--- a/car-lib/src/android/car/user/UserIdentificationAssociationResponse.java
+++ b/car-lib/src/android/car/user/UserIdentificationAssociationResponse.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.car.user.CarUserManager.UserIdentificationAssociationValue;
import android.os.Parcelable;
import com.android.internal.util.ArrayUtils;
@@ -69,7 +70,7 @@
private UserIdentificationAssociationResponse(
boolean success,
@Nullable String errorMessage,
- @Nullable int[] values) {
+ @UserIdentificationAssociationValue int[] values) {
this.mSuccess = success;
this.mErrorMessage = errorMessage;
this.mValues = values;
@@ -96,7 +97,8 @@
* Factory method for successful UserIdentificationAssociationResponse requests.
*/
@NonNull
- public static UserIdentificationAssociationResponse forSuccess(@NonNull int[] values) {
+ public static UserIdentificationAssociationResponse forSuccess(
+ @UserIdentificationAssociationValue int[] values) {
Preconditions.checkArgument(!ArrayUtils.isEmpty(values), "must have at least one value");
return new UserIdentificationAssociationResponse(/* success= */ true,
/* errorMessage= */ null, Objects.requireNonNull(values));
@@ -106,16 +108,18 @@
* Factory method for successful UserIdentificationAssociationResponse requests.
*/
@NonNull
- public static UserIdentificationAssociationResponse forSuccess(@NonNull int[] values,
- @Nullable String errorMessage) {
+ public static UserIdentificationAssociationResponse forSuccess(
+ @UserIdentificationAssociationValue int[] values, @Nullable String errorMessage) {
Preconditions.checkArgument(!ArrayUtils.isEmpty(values), "must have at least one value");
- return new UserIdentificationAssociationResponse(/* success= */ true,
- errorMessage, Objects.requireNonNull(values));
+ return new UserIdentificationAssociationResponse(/* success= */ true, errorMessage,
+ Objects.requireNonNull(values));
}
- // Code below generated by codegen v1.0.15.
+
+
+ // Code below generated by codegen v1.0.20.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -230,8 +234,8 @@
};
@DataClass.Generated(
- time = 1588982917194L,
- codegenVersion = "1.0.15",
+ time = 1604638584791L,
+ codegenVersion = "1.0.20",
sourceFile = "packages/services/Car/car-lib/src/android/car/user/UserIdentificationAssociationResponse.java",
inputSignatures = "private final boolean mSuccess\nprivate final @android.annotation.Nullable java.lang.String mErrorMessage\nprivate final @android.annotation.Nullable int[] mValues\npublic static @android.annotation.NonNull android.car.user.UserIdentificationAssociationResponse forFailure()\npublic static @android.annotation.NonNull android.car.user.UserIdentificationAssociationResponse forFailure(java.lang.String)\npublic static @android.annotation.NonNull android.car.user.UserIdentificationAssociationResponse forSuccess(int[])\npublic static @android.annotation.NonNull android.car.user.UserIdentificationAssociationResponse forSuccess(int[],java.lang.String)\nclass UserIdentificationAssociationResponse extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstructor=false, genHiddenConstDefs=true)")
@Deprecated
diff --git a/car-lib/src/android/car/user/UserRemovalResult.java b/car-lib/src/android/car/user/UserRemovalResult.java
index c259665..20cbd77 100644
--- a/car-lib/src/android/car/user/UserRemovalResult.java
+++ b/car-lib/src/android/car/user/UserRemovalResult.java
@@ -45,10 +45,15 @@
public static final int STATUS_SUCCESSFUL = CommonResults.STATUS_SUCCESSFUL;
/**
- * When user remove fails for android. Hal user is not removed.
+ * When user remove fails for Android. Hal user is not removed.
*/
public static final int STATUS_ANDROID_FAILURE = CommonResults.STATUS_ANDROID_FAILURE;
+ /**
+ * When user remove fails due to invalid arguments passed to method. Hal user is not removed.
+ */
+ public static final int STATUS_INVALID_REQUEST = CommonResults.STATUS_INVALID_REQUEST;
+
/**
* When user to remove is same as current user.
*/
@@ -74,6 +79,7 @@
* {@link UserRemovalResult#STATUS_ANDROID_FAILURE},
* {@link UserRemovalResult#STATUS_HAL_INTERNAL_FAILURE},
* {@link UserRemovalResult#STATUS_TARGET_USER_IS_CURRENT_USER},
+ * {@link UserRemovalResult#STATUS_INVALID_REQUEST},
* {@link UserRemovalResult#STATUS_USER_DOES_NOT_EXIST}, or
* {@link UserRemovalResult#STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED}.
*/
@@ -103,6 +109,7 @@
@IntDef(prefix = "STATUS_", value = {
STATUS_SUCCESSFUL,
STATUS_ANDROID_FAILURE,
+ STATUS_INVALID_REQUEST,
STATUS_TARGET_USER_IS_CURRENT_USER,
STATUS_USER_DOES_NOT_EXIST,
STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED
@@ -119,6 +126,8 @@
return "STATUS_SUCCESSFUL";
case STATUS_ANDROID_FAILURE:
return "STATUS_ANDROID_FAILURE";
+ case STATUS_INVALID_REQUEST:
+ return "STATUS_INVALID_REQUEST";
case STATUS_TARGET_USER_IS_CURRENT_USER:
return "STATUS_TARGET_USER_IS_CURRENT_USER";
case STATUS_USER_DOES_NOT_EXIST:
@@ -139,6 +148,7 @@
* {@link UserRemovalResult#STATUS_ANDROID_FAILURE},
* {@link UserRemovalResult#STATUS_HAL_INTERNAL_FAILURE},
* {@link UserRemovalResult#STATUS_TARGET_USER_IS_CURRENT_USER},
+ * {@link UserRemovalResult#STATUS_INVALID_REQUEST},
* {@link UserRemovalResult#STATUS_USER_DOES_NOT_EXIST}, or
* {@link UserRemovalResult#STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED}.
* @hide
@@ -150,6 +160,7 @@
if (!(mStatus == STATUS_SUCCESSFUL)
&& !(mStatus == STATUS_ANDROID_FAILURE)
+ && !(mStatus == STATUS_INVALID_REQUEST)
&& !(mStatus == STATUS_TARGET_USER_IS_CURRENT_USER)
&& !(mStatus == STATUS_USER_DOES_NOT_EXIST)
&& !(mStatus == STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED)) {
@@ -157,6 +168,7 @@
"status was " + mStatus + " but must be one of: "
+ "STATUS_SUCCESSFUL(" + STATUS_SUCCESSFUL + "), "
+ "STATUS_ANDROID_FAILURE(" + STATUS_ANDROID_FAILURE + "), "
+ + "STATUS_INVALID_REQUEST(" + STATUS_INVALID_REQUEST + "), "
+ "STATUS_TARGET_USER_IS_CURRENT_USER(" + STATUS_TARGET_USER_IS_CURRENT_USER + "), "
+ "STATUS_USER_DOES_NOT_EXIST(" + STATUS_USER_DOES_NOT_EXIST + "), "
+ "STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED(" + STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED + ")");
@@ -173,6 +185,7 @@
* {@link UserRemovalResult#STATUS_ANDROID_FAILURE},
* {@link UserRemovalResult#STATUS_HAL_INTERNAL_FAILURE},
* {@link UserRemovalResult#STATUS_TARGET_USER_IS_CURRENT_USER},
+ * {@link UserRemovalResult#STATUS_INVALID_REQUEST},
* {@link UserRemovalResult#STATUS_USER_DOES_NOT_EXIST}, or
* {@link UserRemovalResult#STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED}.
*/
@@ -218,6 +231,7 @@
if (!(mStatus == STATUS_SUCCESSFUL)
&& !(mStatus == STATUS_ANDROID_FAILURE)
+ && !(mStatus == STATUS_INVALID_REQUEST)
&& !(mStatus == STATUS_TARGET_USER_IS_CURRENT_USER)
&& !(mStatus == STATUS_USER_DOES_NOT_EXIST)
&& !(mStatus == STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED)) {
@@ -225,6 +239,7 @@
"status was " + mStatus + " but must be one of: "
+ "STATUS_SUCCESSFUL(" + STATUS_SUCCESSFUL + "), "
+ "STATUS_ANDROID_FAILURE(" + STATUS_ANDROID_FAILURE + "), "
+ + "STATUS_INVALID_REQUEST(" + STATUS_INVALID_REQUEST + "), "
+ "STATUS_TARGET_USER_IS_CURRENT_USER(" + STATUS_TARGET_USER_IS_CURRENT_USER + "), "
+ "STATUS_USER_DOES_NOT_EXIST(" + STATUS_USER_DOES_NOT_EXIST + "), "
+ "STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED(" + STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED + ")");
@@ -249,10 +264,10 @@
};
@DataClass.Generated(
- time = 1603921355849L,
+ time = 1604368616862L,
codegenVersion = "1.0.18",
sourceFile = "packages/services/Car/car-lib/src/android/car/user/UserRemovalResult.java",
- inputSignatures = "public static final int STATUS_SUCCESSFUL\npublic static final int STATUS_ANDROID_FAILURE\npublic static final int STATUS_TARGET_USER_IS_CURRENT_USER\npublic static final int STATUS_USER_DOES_NOT_EXIST\npublic static final int STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED\nprivate final @android.car.user.UserRemovalResult.Status int mStatus\npublic @java.lang.Override boolean isSuccess()\nclass UserRemovalResult extends java.lang.Object implements [android.os.Parcelable, android.car.user.OperationResult]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstructor=true, genHiddenConstDefs=true)")
+ inputSignatures = "public static final int STATUS_SUCCESSFUL\npublic static final int STATUS_ANDROID_FAILURE\npublic static final int STATUS_INVALID_REQUEST\npublic static final int STATUS_TARGET_USER_IS_CURRENT_USER\npublic static final int STATUS_USER_DOES_NOT_EXIST\npublic static final int STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED\nprivate final @android.car.user.UserRemovalResult.Status int mStatus\npublic @java.lang.Override boolean isSuccess()\nclass UserRemovalResult extends java.lang.Object implements [android.os.Parcelable, android.car.user.OperationResult]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstructor=true, genHiddenConstDefs=true)")
@Deprecated
private void __metadata() {}
diff --git a/car-lib/src/com/android/car/internal/common/EventLogTags.logtags b/car-lib/src/com/android/car/internal/common/EventLogTags.logtags
index 364ea52..41412c6 100644
--- a/car-lib/src/com/android/car/internal/common/EventLogTags.logtags
+++ b/car-lib/src/com/android/car/internal/common/EventLogTags.logtags
@@ -122,3 +122,5 @@
#### Device policy related tags (range 150200 - 150299)
150200 car_dp_mgr_remove_user_req (uid|1),(user_id|1)
150201 car_dp_mgr_remove_user_resp (uid|1),(status|1)
+150202 car_dp_mgr_create_user_req (uid|1),(safe_name|3),(flags|1)
+150203 car_dp_mgr_create_user_resp (uid|1),(status|1)
diff --git a/car-usb-handler/res/values-kn/strings.xml b/car-usb-handler/res/values-kn/strings.xml
index 4203cbf..de05cc2 100644
--- a/car-usb-handler/res/values-kn/strings.xml
+++ b/car-usb-handler/res/values-kn/strings.xml
@@ -18,8 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="6963366455471441257">"ಯುಎಸ್ಬಿ ಹಾಂಡ್ಲರ್"</string>
<string name="usb_saved_devices" msgid="2829442070749964872">"ಉಳಿಸಲಾದ ಸಾಧನಗಳು"</string>
- <string name="usb_pref_delete_title" msgid="3885061814853467483">"ಯುಎಸ್ಬಿ ಡ್ರೈವ್ ಅನ್ನು ನಿರ್ವಹಿಸುವ ಆಪ್ ಅನ್ನು ತೆಗೆ"</string>
- <string name="usb_pref_delete_message" msgid="5849493572520646218">"ನೀವು ಖಂಡಿತವಾಗಿಯೂ %1$s ಕ್ಕೆ ಪೂರ್ವನಿಯೋಜಿತ ಆಪ್ ಅನ್ನು ಅಳಿಸಲು ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
+ <string name="usb_pref_delete_title" msgid="3885061814853467483">"ಯುಎಸ್ಬಿ ಡ್ರೈವ್ ಅನ್ನು ನಿರ್ವಹಿಸುವ ಆ್ಯಪ್ ಅನ್ನು ತೆಗೆಯಿರಿ"</string>
+ <string name="usb_pref_delete_message" msgid="5849493572520646218">"ನೀವು ಖಂಡಿತವಾಗಿಯೂ %1$s ಕ್ಕೆ ಪೂರ್ವನಿಯೋಜಿತ ಆ್ಯಪ್ ಅನ್ನು ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
<string name="usb_pref_delete_yes" msgid="7803356145103146036">"ಹೌದು"</string>
<string name="usb_pref_delete_cancel" msgid="5999791462730255929">"ರದ್ದುಗೊಳಿಸಿ"</string>
<string name="usb_resolving_handlers" msgid="1943100136172948686">"ಬೆಂಬಲಿತ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಪಡೆಯುತ್ತಿದ್ದೇವೆ"</string>
diff --git a/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java b/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java
index 9f2cd2a..828610f 100644
--- a/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java
+++ b/car-usb-handler/src/android/car/usb/handler/BootUsbScanner.java
@@ -20,7 +20,7 @@
// as a "real" user. This ensures the service is started only once and is started even on a
// foreground user switch.
if (context.getUserId() == UserHandle.USER_SYSTEM
- && !UserManager.isHeadlessSystemUserMode()) {
+ && UserManager.isHeadlessSystemUserMode()) {
return;
}
// we defer this processing to BootUsbService so that we are very quick to process
diff --git a/cpp/surround_view/service-impl/ConfigReader.cpp b/cpp/surround_view/service-impl/ConfigReader.cpp
index cc97d4e..7189a80 100644
--- a/cpp/surround_view/service-impl/ConfigReader.cpp
+++ b/cpp/surround_view/service-impl/ConfigReader.cpp
@@ -73,6 +73,9 @@
return true;
}
+ RETURN_IF_FALSE(ReadValue(parent, "Sv2dGpuAccelerationEnabled",
+ &sv2dConfig->sv2dGpuAccelerationEnabled));
+
SurroundView2dParams* sv2dParams = &sv2dConfig->sv2dParams;
const XMLElement* param2dElem = nullptr;
RETURN_IF_FALSE(GetElement(parent, "Sv2dParams", ¶m2dElem));
diff --git a/cpp/surround_view/service-impl/ConfigReaderTests.cpp b/cpp/surround_view/service-impl/ConfigReaderTests.cpp
index ce4a699..44bfa43 100644
--- a/cpp/surround_view/service-impl/ConfigReaderTests.cpp
+++ b/cpp/surround_view/service-impl/ConfigReaderTests.cpp
@@ -59,6 +59,7 @@
// Surround view 2D
EXPECT_EQ(svConfig.sv2dConfig.sv2dEnabled, true);
+ EXPECT_EQ(svConfig.sv2dConfig.sv2dGpuAccelerationEnabled, false);
EXPECT_EQ(svConfig.sv2dConfig.sv2dParams.resolution.width, 768);
EXPECT_EQ(svConfig.sv2dConfig.sv2dParams.resolution.height, 1024);
EXPECT_EQ(svConfig.sv2dConfig.sv2dParams.physical_size.width, 9.0);
diff --git a/cpp/surround_view/service-impl/IOModuleCommon.h b/cpp/surround_view/service-impl/IOModuleCommon.h
index 5550fd5..e65e234 100644
--- a/cpp/surround_view/service-impl/IOModuleCommon.h
+++ b/cpp/surround_view/service-impl/IOModuleCommon.h
@@ -45,6 +45,9 @@
// Bool flag for surround view 2d.
bool sv2dEnabled;
+ // Bool flag for enabling/disabling GPU acceleration.
+ bool sv2dGpuAccelerationEnabled;
+
// Surround view 2d params.
android_auto::surround_view::SurroundView2dParams sv2dParams;
diff --git a/cpp/surround_view/service-impl/test_data/sv_sample_config.xml b/cpp/surround_view/service-impl/test_data/sv_sample_config.xml
index a170c03..1312af3 100644
--- a/cpp/surround_view/service-impl/test_data/sv_sample_config.xml
+++ b/cpp/surround_view/service-impl/test_data/sv_sample_config.xml
@@ -19,6 +19,7 @@
</CameraConfig>
<Sv2dEnabled>true</Sv2dEnabled>
+ <Sv2dGpuAccelerationEnabled>false</Sv2dGpuAccelerationEnabled>
<Sv2dParams>
<OutputResolution>
<Width>768</Width>
diff --git a/service/Android.bp b/service/Android.bp
index a1a8a8f..dc10ea4 100644
--- a/service/Android.bp
+++ b/service/Android.bp
@@ -26,6 +26,7 @@
car_service_sources = [
"src/**/*.java",
+ ":audio_policy_configuration_V7_0",
":statslog-Car-java-gen",
]
@@ -36,6 +37,7 @@
"android.hidl.base-V1.0-java",
"android.hardware.automotive.audiocontrol-V1.0-java",
"android.hardware.automotive.audiocontrol-V2.0-java",
+ "android.hardware.automotive.audiocontrol-java",
"android.hardware.automotive.vehicle-V2.0-java",
"android.hardware.health-V1.0-java",
"android.hardware.health-V2.0-java",
diff --git a/service/AndroidManifest.xml b/service/AndroidManifest.xml
index 1fe8c0c..e9755a5 100644
--- a/service/AndroidManifest.xml
+++ b/service/AndroidManifest.xml
@@ -780,6 +780,13 @@
android:label="@string/car_permission_label_set_car_vendor_category_10"
android:description="@string/car_permission_desc_set_car_vendor_category_10"/>
+ <!-- Allows an application to receive Car input events.
+ <p>Protection level: signature
+ -->
+ <permission android:name="android.car.permission.CAR_MONITOR_INPUT"
+ android:protectionLevel="signature"
+ android:label="@string/car_permission_label_monitor_input"
+ android:description="@string/car_permission_desc_monitor_input"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.DEVICE_POWER"/>
diff --git a/service/res/values-kn/strings.xml b/service/res/values-kn/strings.xml
index 1ee0f44..cf339f9 100644
--- a/service/res/values-kn/strings.xml
+++ b/service/res/values-kn/strings.xml
@@ -57,7 +57,7 @@
<string name="car_permission_car_display_in_cluster" msgid="4005987646292458684">"ಸಲಕರಣೆ ಸಂಚಯಕ್ಕೆ ನೇರ ವರ್ಗಾವಣೆ"</string>
<string name="car_permission_desc_car_display_in_cluster" msgid="2668300546822672927">"ಸಲಕರಣೆ ಸಂಚಯದಲ್ಲಿ ಚಟುವಟಿಕೆಗಳ ಘೋಷಣೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುವು ಮಾಡಿ"</string>
<string name="car_permission_car_cluster_control" msgid="1382247204230165674">"ಸಲಕರಣೆ ಸಂಚಯ ನಿಯಂತ್ರಣ"</string>
- <string name="car_permission_desc_car_cluster_control" msgid="9222776665281176031">"ಸಲಕರಣೆ ಸಂಚಯದಲ್ಲಿ ಆಪ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿ"</string>
+ <string name="car_permission_desc_car_cluster_control" msgid="9222776665281176031">"ಸಲಕರಣೆ ಸಂಚಯದಲ್ಲಿ ಆ್ಯಪ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿ"</string>
<string name="car_permission_label_bind_instrument_cluster_rendering" msgid="8627480897198377418">"ಸಲಕರಣೆ ಸಂಚಯ ತೋರಿಸು"</string>
<string name="car_permission_desc_bind_instrument_cluster_rendering" msgid="5073596870485006783">"ಸಲಕರಣೆ ಸಂಚಯ ಮಾಹಿತಿಯನ್ನು ಸ್ವೀಕರಿಸು"</string>
<string name="car_permission_label_car_ux_restrictions_configuration" msgid="6801393970411049725">"UX ನಿರ್ಬಂಧಗಳ ಸಂರಚನೆ"</string>
diff --git a/service/res/values/strings.xml b/service/res/values/strings.xml
index 0b1c265..1d92934 100644
--- a/service/res/values/strings.xml
+++ b/service/res/values/strings.xml
@@ -465,6 +465,11 @@
<!-- Permission text: apps control vendor properties in category 10 [CHAR LIMIT=NONE] -->
<string name="car_permission_desc_set_car_vendor_category_10" translatable="false">Control vendor specific properties in category 10.</string>
+ <!-- Permission text: apps can receive car input events [CHAR LIMIT=NONE] -->
+ <string name="car_permission_label_monitor_input" translatable="false">receive car input events</string>
+ <!-- Permission text: apps can receive car input events [CHAR LIMIT=NONE] -->
+ <string name="car_permission_desc_monitor_input" translatable="false">Receive car input events</string>
+
<!-- Permission text: enable or disable car's features [CHAR LIMIT=NONE] -->
<string name="car_permission_label_control_car_features">Enable or disable car\u2019s features</string>
<!-- Permission text: enable or disable car's features [CHAR LIMIT=NONE] -->
diff --git a/service/src/com/android/car/CarOccupantZoneService.java b/service/src/com/android/car/CarOccupantZoneService.java
index a980770..1b27de5 100644
--- a/service/src/com/android/car/CarOccupantZoneService.java
+++ b/service/src/com/android/car/CarOccupantZoneService.java
@@ -23,6 +23,7 @@
import android.car.Car;
import android.car.CarInfoManager;
import android.car.CarOccupantZoneManager;
+import android.car.CarOccupantZoneManager.DisplayTypeEnum;
import android.car.CarOccupantZoneManager.OccupantTypeEnum;
import android.car.CarOccupantZoneManager.OccupantZoneInfo;
import android.car.ICarOccupantZone;
@@ -471,6 +472,41 @@
}
@Override
+ public int getDisplayIdForDriver(@DisplayTypeEnum int displayType) {
+ synchronized (mLock) {
+ int driverUserId = getDriverUserId();
+ DisplayInfo displayInfo = findDisplayForDriverLocked(driverUserId, displayType);
+ if (displayInfo == null) {
+ return Display.INVALID_DISPLAY;
+ }
+ return displayInfo.display.getDisplayId();
+ }
+ }
+
+ @Nullable
+ private DisplayInfo findDisplayForDriverLocked(int driverUserId,
+ @DisplayTypeEnum int displayType) {
+ for (OccupantZoneInfo zoneInfo : getAllOccupantZones()) {
+ if (zoneInfo.occupantType == CarOccupantZoneManager.OCCUPANT_TYPE_DRIVER) {
+ OccupantConfig config = mActiveOccupantConfigs.get(zoneInfo.zoneId);
+ if (config == null) {
+ //No active display for zone, just continue...
+ continue;
+ }
+
+ if (config.userId == driverUserId) {
+ for (DisplayInfo displayInfo : config.displayInfos) {
+ if (displayInfo.displayType == displayType) {
+ return displayInfo;
+ }
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
public int getAudioZoneIdForOccupant(int occupantZoneId) {
enforcePermission(Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS);
synchronized (mLock) {
diff --git a/service/src/com/android/car/CarShellCommand.java b/service/src/com/android/car/CarShellCommand.java
index d933543..3b7fb0b 100644
--- a/service/src/com/android/car/CarShellCommand.java
+++ b/service/src/com/android/car/CarShellCommand.java
@@ -32,6 +32,7 @@
import android.app.UiModeManager;
import android.car.Car;
import android.car.CarOccupantZoneManager;
+import android.car.VehiclePropertyIds;
import android.car.input.CarInputManager;
import android.car.input.CustomInputEvent;
import android.car.input.RotaryEvent;
@@ -67,6 +68,7 @@
import android.hardware.automotive.vehicle.V2_0.UsersInfo;
import android.hardware.automotive.vehicle.V2_0.VehicleArea;
import android.hardware.automotive.vehicle.V2_0.VehicleDisplay;
+import android.hardware.automotive.vehicle.V2_0.VehicleGear;
import android.os.Binder;
import android.os.Build;
import android.os.Process;
@@ -145,6 +147,10 @@
private static final String COMMAND_SET_USER_AUTH_ASSOCIATION =
"set-user-auth-association";
+ private static final String COMMAND_EMULATE_DRIVING_STATE = "emulate-driving-state";
+ private static final String DRIVING_STATE_DRIVE = "drive";
+ private static final String DRIVING_STATE_PARK = "park";
+
private static final String[] CREATE_OR_MANAGE_USERS_PERMISSIONS = new String[] {
android.Manifest.permission.CREATE_USERS,
android.Manifest.permission.MANAGE_USERS
@@ -455,6 +461,10 @@
pw.println("\t Forces silent mode silent or non-silent. With query (or no command) "
+ "displays the silent state");
pw.println("\t and shows how many listeners are monitoring the state.");
+
+ pw.printf("\t%s [%s|%s]\n", COMMAND_EMULATE_DRIVING_STATE, DRIVING_STATE_DRIVE,
+ DRIVING_STATE_PARK);
+ pw.println("\t Emulates the giving driving state");
}
private static int showInvalidArguments(PrintWriter pw) {
@@ -700,6 +710,10 @@
case COMMAND_SET_USER_AUTH_ASSOCIATION:
setUserAuthAssociation(args, writer);
break;
+ case COMMAND_EMULATE_DRIVING_STATE:
+ emulateDrivingState(args, writer);
+ break;
+
default:
writer.println("Unknown command: \"" + cmd + "\"");
showHelp(writer);
@@ -1627,6 +1641,43 @@
}
}
+ private void emulateDrivingState(String[] args, PrintWriter writer) {
+ if (args.length != 2) {
+ writer.println("invalid usage, must pass driving state");
+ return;
+ }
+ String mode = args[1];
+ switch (mode) {
+ case DRIVING_STATE_DRIVE:
+ emulateDrive();
+ break;
+ case DRIVING_STATE_PARK:
+ emulatePark();
+ break;
+ default:
+ writer.printf("invalid driving mode %s; must be %s or %s\n", mode,
+ DRIVING_STATE_DRIVE, DRIVING_STATE_PARK);
+ }
+ }
+
+ private void emulateDrive() {
+ Log.i(TAG, "Emulating driving mode");
+ mHal.injectVhalEvent(Integer.toString(VehiclePropertyIds.PERF_VEHICLE_SPEED),
+ /* zone= */ "0", /* value= */ "80", /* delayTime= */ "2000");
+ mHal.injectVhalEvent(Integer.toString(VehiclePropertyIds.GEAR_SELECTION),
+ /* zone= */ "0", Integer.toString(VehicleGear.GEAR_8), /* delayTime= */ "0");
+ mHal.injectVhalEvent(Integer.toString(VehiclePropertyIds.PARKING_BRAKE_ON),
+ /* zone= */ "0", /* value= */ "false", /* delayTime= */ "0");
+ }
+
+ private void emulatePark() {
+ Log.i(TAG, "Emulating parking mode");
+ mHal.injectVhalEvent(Integer.toString(VehiclePropertyIds.PERF_VEHICLE_SPEED),
+ /* zone= */ "0", /* value= */ "0", /* delayTime= */ "0");
+ mHal.injectVhalEvent(Integer.toString(VehiclePropertyIds.GEAR_SELECTION),
+ /* zone= */ "0", Integer.toString(VehicleGear.GEAR_PARK), /* delayTime= */ "0");
+ }
+
/**
* Inject a fake VHAL event
*
@@ -1639,6 +1690,9 @@
*/
private void injectVhalEvent(String property, String zone, String value,
boolean isErrorEvent, String delayTime, PrintWriter writer) {
+ Log.i(TAG, "Injecting VHAL event: prop=" + property + ", zone=" + zone + ", value=" + value
+ + ", isError=" + isErrorEvent
+ + (TextUtils.isEmpty(delayTime) ? "" : ", delayTime=" + delayTime));
if (zone != null && (zone.equalsIgnoreCase(PARAM_VEHICLE_PROPERTY_AREA_GLOBAL))) {
if (!isPropertyAreaTypeGlobal(property)) {
writer.println("Property area type inconsistent with given zone");
diff --git a/service/src/com/android/car/InputCaptureClientController.java b/service/src/com/android/car/InputCaptureClientController.java
index e33b0a5..ed55b24 100644
--- a/service/src/com/android/car/InputCaptureClientController.java
+++ b/service/src/com/android/car/InputCaptureClientController.java
@@ -21,6 +21,7 @@
import static java.util.Map.entry;
import android.annotation.NonNull;
+import android.car.Car;
import android.car.CarOccupantZoneManager;
import android.car.input.CarInputManager;
import android.car.input.CustomInputEvent;
@@ -239,7 +240,7 @@
public int requestInputEventCapture(ICarInputCallback callback,
@DisplayTypeEnum int targetDisplayType,
int[] inputTypes, int requestFlags) {
- ICarImpl.assertPermission(mContext, android.Manifest.permission.MONITOR_INPUT);
+ ICarImpl.assertPermission(mContext, Car.PERMISSION_CAR_MONITOR_INPUT);
Preconditions.checkArgument(SUPPORTED_DISPLAY_TYPES.contains(targetDisplayType),
"Display not supported yet:" + targetDisplayType);
diff --git a/service/src/com/android/car/admin/CarDevicePolicyService.java b/service/src/com/android/car/admin/CarDevicePolicyService.java
index 20a7de0..bbfb733 100644
--- a/service/src/com/android/car/admin/CarDevicePolicyService.java
+++ b/service/src/com/android/car/admin/CarDevicePolicyService.java
@@ -19,15 +19,27 @@
import static com.android.car.PermissionHelper.checkHasDumpPermissionGranted;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.UserIdInt;
+import android.car.admin.CarDevicePolicyManager;
import android.car.admin.ICarDevicePolicyService;
+import android.car.user.UserCreationResult;
import android.car.user.UserRemovalResult;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.sysprop.CarProperties;
import android.util.Log;
import com.android.car.CarServiceBase;
+import com.android.car.internal.common.UserHelperLite;
import com.android.car.user.CarUserService;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.infra.AndroidFuture;
import java.io.PrintWriter;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
/**
* Service for device policy related features.
@@ -38,10 +50,19 @@
private static final String TAG = CarDevicePolicyService.class.getSimpleName();
private static final boolean DEBUG = false;
+ private static final int HAL_TIMEOUT_MS = CarProperties.user_hal_timeout().orElse(5_000);
+
private final CarUserService mCarUserService;
+ private final int mFutureTimeoutMs;
public CarDevicePolicyService(@NonNull CarUserService carUserService) {
+ this(carUserService, HAL_TIMEOUT_MS + 100);
+ }
+
+ @VisibleForTesting
+ CarDevicePolicyService(@NonNull CarUserService carUserService, int futureTimeoutMs) {
mCarUserService = carUserService;
+ mFutureTimeoutMs = futureTimeoutMs;
}
@Override
@@ -60,9 +81,55 @@
}
@Override
+ public UserCreationResult createUser(@Nullable String name,
+ @CarDevicePolicyManager.UserType int type) {
+ int userInfoFlags = 0;
+ String userType = UserManager.USER_TYPE_FULL_SECONDARY;
+ switch(type) {
+ case CarDevicePolicyManager.USER_TYPE_REGULAR:
+ break;
+ case CarDevicePolicyManager.USER_TYPE_ADMIN:
+ userInfoFlags = UserInfo.FLAG_ADMIN;
+ break;
+ case CarDevicePolicyManager.USER_TYPE_GUEST:
+ userType = UserManager.USER_TYPE_FULL_GUEST;
+ break;
+ default:
+ if (DEBUG) {
+ Log.d(TAG, "createUser(): invalid userType (" + userType + ") / flags ("
+ + userInfoFlags + ") combination");
+ }
+ return new UserCreationResult(UserCreationResult.STATUS_INVALID_REQUEST);
+ }
+
+ AndroidFuture<UserCreationResult> receiver = new AndroidFuture<>();
+
+ if (DEBUG) {
+ Log.d(TAG, "calling createUser(" + UserHelperLite.safeName(name) + "," + userType + ", "
+ + userInfoFlags + ", " + HAL_TIMEOUT_MS + ")");
+ }
+
+ mCarUserService.createUser(name, userType, userInfoFlags, HAL_TIMEOUT_MS, receiver);
+
+ try {
+ return receiver.get(mFutureTimeoutMs, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException | ExecutionException | TimeoutException e) {
+ if (e instanceof InterruptedException) {
+ Thread.currentThread().interrupt();
+ }
+ Log.w(TAG, "Timeout waiting " + mFutureTimeoutMs + "ms for UserCreationResult's future",
+ e);
+ return new UserCreationResult(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE);
+ }
+ }
+
+ @Override
public void dump(@NonNull PrintWriter writer) {
checkHasDumpPermissionGranted("dump()");
writer.println("*CarDevicePolicyService*");
+
+ writer.printf("HAL_TIMEOUT_MS: %d\n", HAL_TIMEOUT_MS);
+ writer.printf("mFutureTimeoutMs: %d\n", mFutureTimeoutMs);
}
}
diff --git a/service/src/com/android/car/audio/hal/AudioControlFactory.java b/service/src/com/android/car/audio/hal/AudioControlFactory.java
index bd599cf..21adf54 100644
--- a/service/src/com/android/car/audio/hal/AudioControlFactory.java
+++ b/service/src/com/android/car/audio/hal/AudioControlFactory.java
@@ -16,6 +16,7 @@
package com.android.car.audio.hal;
+import android.os.IBinder;
import android.util.Log;
/**
@@ -25,23 +26,31 @@
private static final String TAG = AudioControlWrapper.class.getSimpleName();
/**
- * Generates {@link AudioControlWrapper} for interacting with IAudioControl HAL service. Checks
- * for V2.0 first, and then falls back to V1.0 if that is not available. Will throw if none is
- * registered on the manifest.
+ * Generates {@link AudioControlWrapper} for interacting with IAudioControl HAL service. The HAL
+ * version priority is: Current AIDL, HIDL V2, HIDL V1. The wrapper will try to fetch the
+ * highest priority service, and then fall back to older versions if it's not available. The
+ * wrapper will throw if none is registered on the manifest.
+ *
* @return {@link AudioControlWrapper} for registered IAudioControl service.
*/
public static AudioControlWrapper newAudioControl() {
+ IBinder binder = AudioControlWrapperAidl.getService();
+ if (binder != null) {
+ return new AudioControlWrapperAidl(binder);
+ }
+ Log.i(TAG, "AIDL AudioControl HAL not in the manifest");
+
android.hardware.automotive.audiocontrol.V2_0.IAudioControl audioControlV2 =
AudioControlWrapperV2.getService();
if (audioControlV2 != null) {
return new AudioControlWrapperV2(audioControlV2);
}
- Log.i(TAG, "IAudioControl@V2.0 not in the manifest");
+ Log.i(TAG, "HIDL AudioControl@V2.0 not in the manifest");
android.hardware.automotive.audiocontrol.V1_0.IAudioControl audioControlV1 =
AudioControlWrapperV1.getService();
if (audioControlV1 != null) {
- Log.w(TAG, "IAudioControl V1.0 is deprecated. Consider upgrading to V2.0");
+ Log.w(TAG, "HIDL AudioControl V1.0 is deprecated. Consider upgrading to AIDL");
return new AudioControlWrapperV1(audioControlV1);
}
diff --git a/service/src/com/android/car/audio/hal/AudioControlWrapper.java b/service/src/com/android/car/audio/hal/AudioControlWrapper.java
index f612a1a..df6b5ce 100644
--- a/service/src/com/android/car/audio/hal/AudioControlWrapper.java
+++ b/service/src/com/android/car/audio/hal/AudioControlWrapper.java
@@ -17,7 +17,6 @@
package com.android.car.audio.hal;
import android.annotation.Nullable;
-import android.hardware.automotive.audiocontrol.V2_0.IFocusListener;
import android.media.AudioAttributes.AttributeUsage;
import java.io.PrintWriter;
@@ -44,7 +43,7 @@
*
* @param focusListener the listener to register on the IAudioControl HAL.
*/
- void registerFocusListener(IFocusListener focusListener);
+ void registerFocusListener(HalFocusListener focusListener);
/**
* Notifies HAL of change in audio focus for a request it has made.
diff --git a/service/src/com/android/car/audio/hal/AudioControlWrapperAidl.java b/service/src/com/android/car/audio/hal/AudioControlWrapperAidl.java
new file mode 100644
index 0000000..d06ae8e
--- /dev/null
+++ b/service/src/com/android/car/audio/hal/AudioControlWrapperAidl.java
@@ -0,0 +1,270 @@
+/*
+ * 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.
+ */
+
+package com.android.car.audio.hal;
+
+import android.annotation.Nullable;
+import android.hardware.automotive.audiocontrol.IAudioControl;
+import android.hardware.automotive.audiocontrol.IFocusListener;
+import android.media.AudioAttributes;
+import android.media.AudioAttributes.AttributeUsage;
+import android.os.Binder;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+
+import java.io.PrintWriter;
+import java.util.Objects;
+
+import audio.policy.configuration.V7_0.AudioUsage;
+
+/**
+ * Wrapper for AIDL interface for AudioControl HAL
+ */
+public final class AudioControlWrapperAidl implements AudioControlWrapper {
+ private static final String TAG = AudioControlWrapperAidl.class.getSimpleName();
+ private static final String AUDIO_CONTROL_SERVICE =
+ "android.hardware.automotive.audiocontrol.IAudioControl/default";
+ private IBinder mBinder;
+ private IAudioControl mAudioControl;
+ private boolean mListenerRegistered = false;
+
+ private AudioControlDeathRecipient mDeathRecipient;
+
+ static @Nullable IBinder getService() {
+ IBinder binder = Binder.allowBlocking(ServiceManager.waitForDeclaredService(
+ AUDIO_CONTROL_SERVICE));
+ if (binder != null) {
+ return binder;
+ }
+ return null;
+ }
+
+ AudioControlWrapperAidl(IBinder binder) {
+ mBinder = Objects.requireNonNull(binder);
+ mAudioControl = IAudioControl.Stub.asInterface(binder);
+ }
+
+ @Override
+ public void unregisterFocusListener() {
+ // Focus listener will be unregistered by HAL automatically
+ }
+
+ @Override
+ public boolean supportsHalAudioFocus() {
+ return true;
+ }
+
+ @Override
+ public void registerFocusListener(HalFocusListener focusListener) {
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ Log.d(TAG, "Registering focus listener on AudioControl HAL");
+ }
+ IFocusListener listenerWrapper = new FocusListenerWrapper(focusListener);
+ try {
+ mAudioControl.registerFocusListener(listenerWrapper);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to register focus listener");
+ throw new IllegalStateException("IAudioControl#registerFocusListener failed", e);
+ }
+ mListenerRegistered = true;
+ }
+
+ @Override
+ public void onAudioFocusChange(@AttributeUsage int usage, int zoneId, int focusChange) {
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ Log.d(TAG, "onAudioFocusChange: usage " + AudioAttributes.usageToString(usage)
+ + ", zoneId " + zoneId + ", focusChange " + focusChange);
+ }
+ try {
+ String usageName = usageToString(usage);
+ mAudioControl.onAudioFocusChange(usageName, zoneId, focusChange);
+ } catch (RemoteException e) {
+ throw new IllegalStateException("Failed to query IAudioControl#onAudioFocusChange", e);
+ }
+ }
+
+ @Override
+ public void dump(String indent, PrintWriter writer) {
+ writer.printf("%s*AudioControlWrapperAidl*\n", indent);
+ writer.printf("%s\tFocus listener registered on HAL? %b", indent, mListenerRegistered);
+ }
+
+ @Override
+ public void setFadeTowardFront(float value) {
+ try {
+ mAudioControl.setFadeTowardFront(value);
+ } catch (RemoteException e) {
+ Log.e(TAG, "setFadeTowardFront with " + value + " failed", e);
+ }
+ }
+
+ @Override
+ public void setBalanceTowardRight(float value) {
+ try {
+ mAudioControl.setBalanceTowardRight(value);
+ } catch (RemoteException e) {
+ Log.e(TAG, "setBalanceTowardRight with " + value + " failed", e);
+ }
+ }
+
+ @Override
+ public void linkToDeath(@Nullable AudioControlDeathRecipient deathRecipient) {
+ try {
+ mBinder.linkToDeath(this::binderDied, 0);
+ mDeathRecipient = deathRecipient;
+ } catch (RemoteException e) {
+ throw new IllegalStateException("Call to IAudioControl#linkToDeath failed", e);
+ }
+ }
+
+ @Override
+ public void unlinkToDeath() {
+ mBinder.unlinkToDeath(this::binderDied, 0);
+ mDeathRecipient = null;
+ }
+
+ private void binderDied() {
+ Log.w(TAG, "AudioControl HAL died. Fetching new handle");
+ mListenerRegistered = false;
+ mBinder = AudioControlWrapperAidl.getService();
+ mAudioControl = IAudioControl.Stub.asInterface(mBinder);
+ linkToDeath(mDeathRecipient);
+ if (mDeathRecipient != null) {
+ mDeathRecipient.serviceDied();
+ }
+ }
+
+ private final class FocusListenerWrapper extends IFocusListener.Stub {
+ private final HalFocusListener mListener;
+
+ FocusListenerWrapper(HalFocusListener halFocusListener) {
+ mListener = halFocusListener;
+ }
+
+ @Override
+ public void requestAudioFocus(String usage, int zoneId, int focusGain)
+ throws RemoteException {
+ @AttributeUsage int usageValue = stringToUsage(usage);
+ mListener.requestAudioFocus(usageValue, zoneId, focusGain);
+ }
+
+ @Override
+ public void abandonAudioFocus(String usage, int zoneId) throws RemoteException {
+ @AttributeUsage int usageValue = stringToUsage(usage);
+ mListener.abandonAudioFocus(usageValue, zoneId);
+ }
+ }
+
+ // TODO(b/171572311): Move usageToString and stringToUsage to AudioAttributes
+ private static String usageToString(@AttributeUsage int usage) {
+ switch (usage) {
+ case AudioAttributes.USAGE_UNKNOWN:
+ return AudioUsage.AUDIO_USAGE_UNKNOWN.toString();
+ case AudioAttributes.USAGE_MEDIA:
+ return AudioUsage.AUDIO_USAGE_MEDIA.toString();
+ case AudioAttributes.USAGE_VOICE_COMMUNICATION:
+ return AudioUsage.AUDIO_USAGE_VOICE_COMMUNICATION.toString();
+ case AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING:
+ return AudioUsage.AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING.toString();
+ case AudioAttributes.USAGE_ALARM:
+ return AudioUsage.AUDIO_USAGE_ALARM.toString();
+ case AudioAttributes.USAGE_NOTIFICATION:
+ return AudioUsage.AUDIO_USAGE_NOTIFICATION.toString();
+ case AudioAttributes.USAGE_NOTIFICATION_RINGTONE:
+ return AudioUsage.AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE.toString();
+ case AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY:
+ return AudioUsage.AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY.toString();
+ case AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE:
+ return AudioUsage.AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE.toString();
+ case AudioAttributes.USAGE_ASSISTANCE_SONIFICATION:
+ return AudioUsage.AUDIO_USAGE_ASSISTANCE_SONIFICATION.toString();
+ case AudioAttributes.USAGE_GAME:
+ return AudioUsage.AUDIO_USAGE_GAME.toString();
+ case AudioAttributes.USAGE_VIRTUAL_SOURCE:
+ return AudioUsage.AUDIO_USAGE_VIRTUAL_SOURCE.toString();
+ case AudioAttributes.USAGE_ASSISTANT:
+ return AudioUsage.AUDIO_USAGE_ASSISTANT.toString();
+ case AudioAttributes.USAGE_CALL_ASSISTANT:
+ return AudioUsage.AUDIO_USAGE_CALL_ASSISTANT.toString();
+ case AudioAttributes.USAGE_EMERGENCY:
+ return AudioUsage.AUDIO_USAGE_EMERGENCY.toString();
+ case AudioAttributes.USAGE_SAFETY:
+ return AudioUsage.AUDIO_USAGE_SAFETY.toString();
+ case AudioAttributes.USAGE_VEHICLE_STATUS:
+ return AudioUsage.AUDIO_USAGE_VEHICLE_STATUS.toString();
+ case AudioAttributes.USAGE_ANNOUNCEMENT:
+ return AudioUsage.AUDIO_USAGE_ANNOUNCEMENT.toString();
+ default:
+ Log.w(TAG, "Unknown usage value " + usage);
+ return AudioUsage.AUDIO_USAGE_UNKNOWN.toString();
+ }
+ }
+
+ private static @AttributeUsage int stringToUsage(String usageName) {
+ AudioUsage usage;
+ try {
+ usage = AudioUsage.valueOf(usageName);
+ } catch (IllegalArgumentException e) {
+ Log.e(TAG, "Usage name not found in AudioUsage enum: " + usageName, e);
+ return AudioAttributes.USAGE_UNKNOWN;
+ }
+
+ switch (usage) {
+ case AUDIO_USAGE_UNKNOWN:
+ return AudioAttributes.USAGE_UNKNOWN;
+ case AUDIO_USAGE_MEDIA:
+ return AudioAttributes.USAGE_MEDIA;
+ case AUDIO_USAGE_VOICE_COMMUNICATION:
+ return AudioAttributes.USAGE_VOICE_COMMUNICATION;
+ case AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING:
+ return AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING;
+ case AUDIO_USAGE_ALARM:
+ return AudioAttributes.USAGE_ALARM;
+ case AUDIO_USAGE_NOTIFICATION:
+ return AudioAttributes.USAGE_NOTIFICATION;
+ case AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE:
+ return AudioAttributes.USAGE_NOTIFICATION_RINGTONE;
+ case AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY:
+ return AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY;
+ case AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE:
+ return AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE;
+ case AUDIO_USAGE_ASSISTANCE_SONIFICATION:
+ return AudioAttributes.USAGE_ASSISTANCE_SONIFICATION;
+ case AUDIO_USAGE_GAME:
+ return AudioAttributes.USAGE_GAME;
+ case AUDIO_USAGE_VIRTUAL_SOURCE:
+ return AudioAttributes.USAGE_VIRTUAL_SOURCE;
+ case AUDIO_USAGE_ASSISTANT:
+ return AudioAttributes.USAGE_ASSISTANT;
+ case AUDIO_USAGE_CALL_ASSISTANT:
+ return AudioAttributes.USAGE_CALL_ASSISTANT;
+ case AUDIO_USAGE_EMERGENCY:
+ return AudioAttributes.USAGE_EMERGENCY;
+ case AUDIO_USAGE_SAFETY:
+ return AudioAttributes.USAGE_SAFETY;
+ case AUDIO_USAGE_VEHICLE_STATUS:
+ return AudioAttributes.USAGE_VEHICLE_STATUS;
+ case AUDIO_USAGE_ANNOUNCEMENT:
+ return AudioAttributes.USAGE_ANNOUNCEMENT;
+ default:
+ Log.w(TAG, "Mapping missing for usage " + usageName);
+ return AudioAttributes.USAGE_UNKNOWN;
+ }
+
+ }
+}
diff --git a/service/src/com/android/car/audio/hal/AudioControlWrapperV1.java b/service/src/com/android/car/audio/hal/AudioControlWrapperV1.java
index 42b4b3b..24d8f2e 100644
--- a/service/src/com/android/car/audio/hal/AudioControlWrapperV1.java
+++ b/service/src/com/android/car/audio/hal/AudioControlWrapperV1.java
@@ -18,7 +18,6 @@
import android.annotation.Nullable;
import android.hardware.automotive.audiocontrol.V1_0.IAudioControl;
-import android.hardware.automotive.audiocontrol.V2_0.IFocusListener;
import android.os.RemoteException;
import android.util.Log;
@@ -41,7 +40,7 @@
/**
* Gets IAudioControl@1.0 service if registered.
*/
- public static @Nullable IAudioControl getService() {
+ static @Nullable IAudioControl getService() {
try {
return IAudioControl.getService(true);
} catch (RemoteException e) {
@@ -62,7 +61,7 @@
}
@Override
- public void registerFocusListener(IFocusListener focusListener) {
+ public void registerFocusListener(HalFocusListener focusListener) {
throw new UnsupportedOperationException(
"Focus listener is unsupported for IAudioControl@1.0");
}
diff --git a/service/src/com/android/car/audio/hal/AudioControlWrapperV2.java b/service/src/com/android/car/audio/hal/AudioControlWrapperV2.java
index a531a5a..da19d81 100644
--- a/service/src/com/android/car/audio/hal/AudioControlWrapperV2.java
+++ b/service/src/com/android/car/audio/hal/AudioControlWrapperV2.java
@@ -40,7 +40,7 @@
private AudioControlDeathRecipient mDeathRecipient;
private ICloseHandle mCloseHandle;
- public static @Nullable IAudioControl getService() {
+ static @Nullable IAudioControl getService() {
try {
return IAudioControl.getService(true);
} catch (RemoteException e) {
@@ -73,10 +73,11 @@
}
@Override
- public void registerFocusListener(IFocusListener focusListener) {
+ public void registerFocusListener(HalFocusListener focusListener) {
Log.d(TAG, "Registering focus listener on AudioControl HAL");
+ IFocusListener listenerWrapper = new FocusListenerWrapper(focusListener);
try {
- mCloseHandle = mAudioControlV2.registerFocusListener(focusListener);
+ mCloseHandle = mAudioControlV2.registerFocusListener(listenerWrapper);
} catch (RemoteException e) {
Log.e(TAG, "Failed to register focus listener");
throw new IllegalStateException("IAudioControl#registerFocusListener failed", e);
@@ -154,4 +155,22 @@
mDeathRecipient.serviceDied();
}
}
+
+ private final class FocusListenerWrapper extends IFocusListener.Stub {
+ private final HalFocusListener mListener;
+
+ FocusListenerWrapper(HalFocusListener halFocusListener) {
+ mListener = halFocusListener;
+ }
+
+ @Override
+ public void requestAudioFocus(int usage, int zoneId, int focusGain) throws RemoteException {
+ mListener.requestAudioFocus(usage, zoneId, focusGain);
+ }
+
+ @Override
+ public void abandonAudioFocus(int usage, int zoneId) throws RemoteException {
+ mListener.abandonAudioFocus(usage, zoneId);
+ }
+ }
}
diff --git a/service/src/com/android/car/audio/hal/HalAudioFocus.java b/service/src/com/android/car/audio/hal/HalAudioFocus.java
index b60bec8..118a4c4 100644
--- a/service/src/com/android/car/audio/hal/HalAudioFocus.java
+++ b/service/src/com/android/car/audio/hal/HalAudioFocus.java
@@ -23,13 +23,11 @@
import android.annotation.NonNull;
import android.car.media.CarAudioManager;
-import android.hardware.automotive.audiocontrol.V2_0.IFocusListener;
import android.media.AudioAttributes;
import android.media.AudioAttributes.AttributeUsage;
import android.media.AudioFocusRequest;
import android.media.AudioManager;
import android.os.Bundle;
-import android.os.RemoteException;
import android.util.Log;
import android.util.SparseArray;
@@ -42,7 +40,7 @@
/**
* Manages focus requests from the HAL on a per-zone per-usage basis
*/
-public final class HalAudioFocus extends IFocusListener.Stub {
+public final class HalAudioFocus implements HalFocusListener {
private static final String TAG = HalAudioFocus.class.getSimpleName();
private final AudioManager mAudioManager;
@@ -83,7 +81,9 @@
mAudioControlWrapper.unregisterFocusListener();
}
- @Override
+ /**
+ * See {@link HalFocusListener#requestAudioFocus(int, int, int)}
+ */
public void requestAudioFocus(@AttributeUsage int usage, int zoneId, int focusGain) {
Preconditions.checkArgument(mHalFocusRequestsByZoneAndUsage.contains(zoneId),
"Invalid zoneId %d provided in requestAudioFocus", zoneId);
@@ -106,8 +106,10 @@
}
}
- @Override
- public void abandonAudioFocus(int usage, int zoneId) throws RemoteException {
+ /**
+ * See {@link HalFocusListener#abandonAudioFocus(int, int)}
+ */
+ public void abandonAudioFocus(@AttributeUsage int usage, int zoneId) {
Preconditions.checkArgument(mHalFocusRequestsByZoneAndUsage.contains(zoneId),
"Invalid zoneId %d provided in abandonAudioFocus", zoneId);
if (Log.isLoggable(TAG, Log.DEBUG)) {
diff --git a/service/src/com/android/car/audio/hal/HalFocusListener.java b/service/src/com/android/car/audio/hal/HalFocusListener.java
new file mode 100644
index 0000000..11ed3b6
--- /dev/null
+++ b/service/src/com/android/car/audio/hal/HalFocusListener.java
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+package com.android.car.audio.hal;
+
+import android.media.AudioAttributes.AttributeUsage;
+
+/**
+ * Framework focus listener interface to abstract away the specific HAL version
+ */
+public interface HalFocusListener {
+ /**
+ * Requests audio focus for the specified {@code usage}, {@code zoneId}, and {@code focusGain}.
+ * <p>The result will be communicated separately through
+ * {@link AudioControlWrapper#onAudioFocusChange}.
+ */
+ void requestAudioFocus(@AttributeUsage int usage, int zoneId, int focusGain);
+
+ /**
+ * Abandons audio focus for the specified {@code usage} and {@code zoneId}.
+ * <p>The result will be communicated separately through
+ * {@link AudioControlWrapper#onAudioFocusChange}.
+ */
+ void abandonAudioFocus(@AttributeUsage int usage, int zoneId);
+}
diff --git a/service/src/com/android/car/user/CarUserService.java b/service/src/com/android/car/user/CarUserService.java
index 9f44edb..f56d7e6 100644
--- a/service/src/com/android/car/user/CarUserService.java
+++ b/service/src/com/android/car/user/CarUserService.java
@@ -37,6 +37,8 @@
import android.car.drivingstate.CarUxRestrictions;
import android.car.settings.CarSettings;
import android.car.user.CarUserManager;
+import android.car.user.CarUserManager.UserIdentificationAssociationSetValue;
+import android.car.user.CarUserManager.UserIdentificationAssociationType;
import android.car.user.CarUserManager.UserLifecycleEvent;
import android.car.user.CarUserManager.UserLifecycleListener;
import android.car.user.UserCreationResult;
@@ -1167,12 +1169,67 @@
@Override
public void createUser(@Nullable String name, @NonNull String userType, @UserInfoFlag int flags,
int timeoutMs, @NonNull AndroidFuture<UserCreationResult> receiver) {
+ createUser(name, userType, flags, timeoutMs, receiver, /* hasCallerRestrictions= */ false);
+ }
+
+ /**
+ * Internal implementation of {@code createUser()}, which is used by both
+ * {@code ICarUserService} and {@code ICarDevicePolicyService}.
+ *
+ * @param hasCallerRestrictions when {@code true}, if the caller user is not an admin, it can
+ * only create admin users
+ */
+ public void createUser(@Nullable String name, @NonNull String userType, @UserInfoFlag int flags,
+ int timeoutMs, @NonNull AndroidFuture<UserCreationResult> receiver,
+ boolean hasCallerRestrictions) {
Objects.requireNonNull(userType, "user type cannot be null");
Objects.requireNonNull(receiver, "receiver cannot be null");
checkManageOrCreateUsersPermission(flags);
EventLog.writeEvent(EventLogTags.CAR_USER_SVC_CREATE_USER_REQ,
- UserHelperLite.safeName(name), userType, flags, timeoutMs);
+ UserHelperLite.safeName(name), userType, flags, timeoutMs,
+ hasCallerRestrictions ? 1 : 0);
+
+ if (hasCallerRestrictions) {
+ // Restrictions:
+ // - type/flag can only be normal user, admin, or guest
+ // - non-admin user can only create non-admin users
+
+ boolean validCombination;
+ switch (userType) {
+ case UserManager.USER_TYPE_FULL_SECONDARY:
+ validCombination = flags == 0
+ || (flags & UserInfo.FLAG_ADMIN) == UserInfo.FLAG_ADMIN;
+ break;
+ case UserManager.USER_TYPE_FULL_GUEST:
+ validCombination = flags == 0;
+ break;
+ default:
+ validCombination = false;
+ }
+ if (!validCombination) {
+ if (Log.isLoggable(TAG_USER, Log.DEBUG)) {
+ Log.d(TAG, "Invalid combination of user type(" + userType
+ + ") and flags (" + UserInfo.flagsToString(flags)
+ + ") for caller with restrictions");
+ }
+ sendUserCreationResultFailure(receiver, UserCreationResult.STATUS_INVALID_REQUEST);
+ return;
+
+ }
+
+ int callingUserId = Binder.getCallingUserHandle().getIdentifier();
+ UserInfo callingUser = mUserManager.getUserInfo(callingUserId);
+ if (!callingUser.isAdmin() && (flags & UserInfo.FLAG_ADMIN) == UserInfo.FLAG_ADMIN) {
+ if (Log.isLoggable(TAG_USER, Log.DEBUG)) {
+ Log.d(TAG, "Non-admin user " + callingUserId
+ + " can only create non-admin users");
+ }
+ sendUserCreationResultFailure(receiver, UserCreationResult.STATUS_INVALID_REQUEST);
+ return;
+ }
+
+ }
UserInfo newUser;
try {
@@ -1277,7 +1334,8 @@
}
@Override
- public UserIdentificationAssociationResponse getUserIdentificationAssociation(int[] types) {
+ public UserIdentificationAssociationResponse getUserIdentificationAssociation(
+ @UserIdentificationAssociationType int[] types) {
if (!isUserHalUserAssociationSupported()) {
return UserIdentificationAssociationResponse.forFailure(VEHICLE_HAL_NOT_SUPPORTED);
}
@@ -1315,7 +1373,9 @@
}
@Override
- public void setUserIdentificationAssociation(int timeoutMs, int[] types, int[] values,
+ public void setUserIdentificationAssociation(int timeoutMs,
+ @UserIdentificationAssociationType int[] types,
+ @UserIdentificationAssociationSetValue int[] values,
AndroidFuture<UserIdentificationAssociationResponse> result) {
if (!isUserHalUserAssociationSupported()) {
result.complete(
diff --git a/tests/BugReportApp/res/values-ky/strings.xml b/tests/BugReportApp/res/values-ky/strings.xml
index 4d06e55..de9b68e 100644
--- a/tests/BugReportApp/res/values-ky/strings.xml
+++ b/tests/BugReportApp/res/values-ky/strings.xml
@@ -23,7 +23,7 @@
<string name="bugreport_info_status" msgid="7211044508792815451">"Абалы:"</string>
<string name="bugreport_info_expires_soon_notice" msgid="927139313070992675">"Мүчүлүштүктөр жөнүндө кабардын мөөнөтү жакында бүтөт"</string>
<string name="bugreport_dialog_submit" msgid="2789636252713280633">"Тапшыруу"</string>
- <string name="bugreport_dialog_cancel" msgid="4741928791364757040">"Жокко чыгаруу"</string>
+ <string name="bugreport_dialog_cancel" msgid="4741928791364757040">"Жок"</string>
<string name="bugreport_dialog_upload" msgid="2517386929450370781">"Жүктөп берүү"</string>
<string name="bugreport_dialog_save" msgid="3291363266190644226">"Сактоо"</string>
<string name="bugreport_dialog_show_bugreports" msgid="6964385141627170297">"Мүчүлүштүк тууралуу кабарларды көрсөтүү"</string>
diff --git a/tests/BugReportApp/tests/Android.bp b/tests/BugReportApp/tests/Android.bp
index ba325b8..7bd1e59 100644
--- a/tests/BugReportApp/tests/Android.bp
+++ b/tests/BugReportApp/tests/Android.bp
@@ -32,7 +32,7 @@
],
static_libs: [
- "android-support-test",
+ "androidx.test.rules",
"mockito-target",
"truth-prebuilt",
],
diff --git a/tests/BugReportApp/tests/AndroidManifest.xml b/tests/BugReportApp/tests/AndroidManifest.xml
index 26736c6..415093c 100644
--- a/tests/BugReportApp/tests/AndroidManifest.xml
+++ b/tests/BugReportApp/tests/AndroidManifest.xml
@@ -23,7 +23,7 @@
</application>
<instrumentation
- android:name="android.support.test.runner.AndroidJUnitRunner"
+ android:name="androidx.test.runner.AndroidJUnitRunner"
android:label="BugReportAppTest"
android:targetPackage="com.android.car.bugreport" />
</manifest>
diff --git a/tests/BugReportApp/tests/src/com/android/car/bugreport/BugStorageUtilsTest.java b/tests/BugReportApp/tests/src/com/android/car/bugreport/BugStorageUtilsTest.java
index d210e61..76a0270 100644
--- a/tests/BugReportApp/tests/src/com/android/car/bugreport/BugStorageUtilsTest.java
+++ b/tests/BugReportApp/tests/src/com/android/car/bugreport/BugStorageUtilsTest.java
@@ -33,11 +33,12 @@
import android.content.ContentValues;
import android.content.Context;
import android.net.Uri;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.MediumTest;
-import android.support.test.runner.AndroidJUnit4;
import android.util.Log;
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.MediumTest;
+import androidx.test.runner.AndroidJUnit4;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/tests/BugReportApp/tests/src/com/android/car/bugreport/TtlPointsDecrementalTest.java b/tests/BugReportApp/tests/src/com/android/car/bugreport/TtlPointsDecrementalTest.java
index e196914..6a35509 100644
--- a/tests/BugReportApp/tests/src/com/android/car/bugreport/TtlPointsDecrementalTest.java
+++ b/tests/BugReportApp/tests/src/com/android/car/bugreport/TtlPointsDecrementalTest.java
@@ -28,9 +28,10 @@
import android.content.ContentValues;
import android.content.Context;
import android.net.Uri;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.MediumTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.MediumTest;
+import androidx.test.runner.AndroidJUnit4;
import org.junit.Before;
import org.junit.Test;
diff --git a/tests/CarDeveloperOptions/res/values-ar/strings.xml b/tests/CarDeveloperOptions/res/values-ar/strings.xml
index a424f22..604f6c4 100644
--- a/tests/CarDeveloperOptions/res/values-ar/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ar/strings.xml
@@ -182,7 +182,7 @@
<string name="connected_device_available_call_title" msgid="6774859446815858428">"أجهزة الاتصال المتاحة"</string>
<string name="connected_device_connected_title" msgid="6255107326608785482">"الأجهزة المتصلة حاليًا"</string>
<string name="connected_device_saved_title" msgid="8270136893488475163">"الأجهزة المحفوظة"</string>
- <string name="connected_device_add_device_summary" msgid="7960491471270158891">"سيتم تفعيل بلوتوث للإقران"</string>
+ <string name="connected_device_add_device_summary" msgid="7960491471270158891">"سيتم تفعيل البلوتوث للإقران."</string>
<string name="connected_device_connections_title" msgid="9205000271382018428">"إعدادات الاتصال المفضّلة"</string>
<string name="connected_device_previously_connected_title" msgid="225918223397410428">"الأجهزة المتصلة سابقًا"</string>
<string name="connected_device_previously_connected_screen_title" msgid="2018789662358162716">"الأجهزة المتصلة سابقًا"</string>
@@ -1402,8 +1402,8 @@
<string name="device_status_summary" product="tablet" msgid="8975790197766171710">"حالة البطارية والشبكة ومعلومات أخرى"</string>
<string name="device_status_summary" product="default" msgid="8282235230720651642">"رقم الهاتف أو الإشارة أو غير ذلك."</string>
<string name="storage_settings" msgid="7009733301485139652">"التخزين"</string>
- <string name="storage_settings_for_app" msgid="3028887232073069965">"التخزين وذاكرة التخزين المؤقت"</string>
- <string name="storage_usb_settings" msgid="4470138799276333403">"التخزين"</string>
+ <string name="storage_settings_for_app" msgid="3028887232073069965">"سعة التخزين وذاكرة التخزين المؤقت"</string>
+ <string name="storage_usb_settings" msgid="4470138799276333403">"سعة التخزين"</string>
<string name="storage_settings_title" msgid="7348362600789024415">"إعدادات وحدة التخزين"</string>
<string name="storage_settings_summary" product="nosdcard" msgid="600267641559698394">"إلغاء تثبيت وحدة تخزين USB، وعرض مساحة التخزين المتاحة"</string>
<string name="storage_settings_summary" product="default" msgid="6233147555590816245">"إلغاء تثبيت بطاقة SD، عرض مساحة التخزين المتاحة"</string>
@@ -2508,7 +2508,7 @@
<string name="power_flashlight" msgid="6939780588882301575">"الفلاش"</string>
<string name="power_camera" msgid="8670998854830327437">"الكاميرا"</string>
<string name="power_wifi" msgid="5017436332655362332">"Wi‑Fi"</string>
- <string name="power_bluetooth" msgid="7097844828420335867">"بلوتوث"</string>
+ <string name="power_bluetooth" msgid="7097844828420335867">"البلوتوث"</string>
<string name="power_cell" msgid="8493476823107385547">"وضع الاستعداد لشبكة الجوّال"</string>
<string name="power_phone" msgid="4644276202135343197">"المكالمات الصوتية"</string>
<string name="power_idle" product="tablet" msgid="5220710816048070792">"الجهاز اللوحي خامل"</string>
@@ -3203,7 +3203,7 @@
<string name="connected_devices_dashboard_summary" msgid="1072664369515033179">"بلوتوث، وضع القيادة، NFC"</string>
<string name="connected_devices_dashboard_no_nfc_summary" msgid="2610085597733526722">"بلوتوث، وضع القيادة"</string>
<string name="connected_devices_dashboard_no_driving_mode_summary" msgid="3524409078596318803">"بلوتوث وNFC"</string>
- <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="7881286613528299400">"بلوتوث"</string>
+ <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="7881286613528299400">"البلوتوث"</string>
<string name="app_and_notification_dashboard_title" msgid="8448096608058843730">"التطبيقات والإشعارات"</string>
<string name="app_and_notification_dashboard_summary" msgid="4165181440955038145">"المساعد، التطبيقات المستخدمة مؤخرًا، التطبيقات التلقائية"</string>
<string name="notification_settings_work_profile" msgid="7190550347842400029">"لا تتوفر إمكانية الدخول إلى الإشعارات للتطبيقات في الملف الشخصي للعمل."</string>
diff --git a/tests/CarDeveloperOptions/res/values-as/strings.xml b/tests/CarDeveloperOptions/res/values-as/strings.xml
index 1ef3a1f..cdb4bb7 100644
--- a/tests/CarDeveloperOptions/res/values-as/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-as/strings.xml
@@ -3792,7 +3792,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g>ৰ অসুবিধা নিদিবলৈ থকা প্ৰৱেশৰ অনুমতি প্ৰত্যাহাৰ কৰিবনে?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"এই এপে সৃষ্টি কৰা সকলো অসুবিধা নিদিব নিয়ম আঁতৰোৱা হ\'ব।"</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"অপ্টিমাইজ নকৰিব"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"অপ্টিমাইজ"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"Optimize"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"আপোনাৰ বেটাৰি খৰকৈ শেষ কৰিব পাৰে। এপটোক নেপথ্যত বেটাৰি ব্যৱহাৰ কৰাত আৰু বাধা দিয়া নহ’ব।"</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"বেটাৰিৰ অৱস্থা উন্নত কৰাৰ বাবে পৰামৰ্শ দিয়া হৈছে"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"<xliff:g id="APP">%s</xliff:g>-ক বেটাৰি অপ্টিমাইজেশ্বন অবজ্ঞা কৰিবলৈ অনুমতি দিবনে?"</string>
diff --git a/tests/CarDeveloperOptions/res/values-b+sr+Latn/strings.xml b/tests/CarDeveloperOptions/res/values-b+sr+Latn/strings.xml
index ce0cf96..f8fc10c 100644
--- a/tests/CarDeveloperOptions/res/values-b+sr+Latn/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-b+sr+Latn/strings.xml
@@ -2665,9 +2665,9 @@
<string name="remove_account_label" msgid="5885425720323823387">"Ukloni nalog"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Dodajte nalog"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Želite li da uklonite nalog?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Uklanjanjem ovog naloga izbrisaćete sve poruke, kontakte i druge podatke sa tableta!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Uklanjanjem ovog naloga izbrisaćete sve poruke, kontakte i druge podatke sa telefona!"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Ako uklonite ovaj nalog, izbrisaćete sve poruke, kontakte i druge podatke sa uređaja!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Ako uklonite ovaj nalog, izbrisaćete sve poruke, kontakte i druge podatke sa tableta."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Ako uklonite ovaj nalog, izbrisaćete sve poruke, kontakte i druge podatke sa telefona."</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Ako uklonite ovaj nalog, izbrisaćete sve poruke, kontakte i druge podatke sa uređaja."</string>
<string name="remove_account_failed" msgid="491458185327106966">"Administrator ne dozvoljava ovu promenu"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Ručno sinhronizovanje nije moguće"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Sinhronizacija za ovu stavku je trenutno onemogućena. Da biste promenili ovo podešavanje, privremeno uključite pozadinske podatke i automatsku sinhronizaciju."</string>
diff --git a/tests/CarDeveloperOptions/res/values-be/strings.xml b/tests/CarDeveloperOptions/res/values-be/strings.xml
index 8edf7d5..a68f6a2 100644
--- a/tests/CarDeveloperOptions/res/values-be/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-be/strings.xml
@@ -935,7 +935,7 @@
<string name="wifi_show_advanced" msgid="8199779277168030597">"Дадатковыя параметры"</string>
<string name="wifi_advanced_toggle_description_expanded" msgid="1506697245302596510">"Выпадальны спіс \"Дадатковыя параметры\". Двойчы дакраніцеся, каб згарнуць."</string>
<string name="wifi_advanced_toggle_description_collapsed" msgid="3014965593695454879">"Выпадальны спіс \"Дадатковыя параметры\". Двойчы дакраніцеся, каб разгарнуць."</string>
- <string name="wifi_ssid" msgid="6746270925975522641">"Імя сеткі"</string>
+ <string name="wifi_ssid" msgid="6746270925975522641">"Назва сеткі"</string>
<string name="wifi_ssid_hint" msgid="5010024648106585165">"Увядзіце SSID"</string>
<string name="wifi_security" msgid="9136702039496152831">"Бяспека"</string>
<string name="wifi_hidden_network" msgid="6647772204699776833">"Схаваная сетка"</string>
@@ -1105,7 +1105,7 @@
<string name="wifi_hotspot_ap_band_title" msgid="3485744480410441949">"Дыяпазон частот Wi-Fi"</string>
<string name="wifi_hotspot_footer_info_regular" msgid="3876006922622827363">"Выкарыстоўвайце хот-спот для стварэння сеткі Wi‑Fi для іншых прылад. Хот-спот дае доступ да інтэрнэту праз падключэнне да мабільнай перадачы даных. Мабільны аператар можа спаганяць дадатковую плату."</string>
<string name="wifi_hotspot_footer_info_local_only" msgid="3339582350894639261">"Праграмы могуць ствараць хот-спот для абагульвання змесціва з прыладамі паблізу."</string>
- <string name="wifi_hotspot_auto_off_title" msgid="7416022590415189590">"Аўтаматычна выключыць хот-спот"</string>
+ <string name="wifi_hotspot_auto_off_title" msgid="7416022590415189590">"Аўтаматычна выключаць хот-спот"</string>
<string name="wifi_hotspot_auto_off_summary" msgid="3866769400624802105">"Хот-спот Wi‑Fi выключыцца, калі прылады непадключаныя"</string>
<string name="wifi_tether_starting" msgid="7676952148471297900">"Уключэнне хот-спота..."</string>
<string name="wifi_tether_stopping" msgid="7478561853791953349">"Выключэнне хот-спота..."</string>
@@ -4416,7 +4416,7 @@
<string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"Аўтазапаўненне параметраў распрацоўшчыка было скінута"</string>
<string name="device_theme" msgid="8992291311481135893">"Тэма прылады"</string>
<string name="default_theme" msgid="5986996377385956138">"Стандартная"</string>
- <string name="show_operator_name_title" msgid="5056163028128447308">"Імя сеткі"</string>
+ <string name="show_operator_name_title" msgid="5056163028128447308">"Назва сеткі"</string>
<string name="show_operator_name_summary" msgid="6352180285743777497">"Паказваць імя сеткі на панэлі стану"</string>
<string name="storage_manager_indicator" msgid="4255140732848476875">"Менеджар сховішча: <xliff:g id="STATUS">^1</xliff:g>"</string>
<string name="storage_manager_indicator_off" msgid="6404056007102580777">"Выключаны"</string>
diff --git a/tests/CarDeveloperOptions/res/values-bg/strings.xml b/tests/CarDeveloperOptions/res/values-bg/strings.xml
index b5620d5..cae8cab 100644
--- a/tests/CarDeveloperOptions/res/values-bg/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-bg/strings.xml
@@ -1887,7 +1887,7 @@
<string name="force_stop_dlg_text" msgid="7435245769456493398">"Ако принудително спрете приложение, то може да не функционира правилно."</string>
<string name="app_install_location_title" msgid="5121617802063021720">"Предпочитано място за инсталиране"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Промяна на предпочитаното място за инсталиране на нови приложения"</string>
- <string name="app_disable_dlg_positive" msgid="5508828271100168073">"Деактивиране на приложението"</string>
+ <string name="app_disable_dlg_positive" msgid="5508828271100168073">"Деактивиране"</string>
<string name="app_disable_dlg_text" msgid="9221864774943530281">"Ако деактивирате това приложение, Android и други приложения може да спрат да работят както трябва. Имайте предвид, че не можете да изтриете това приложение, тъй като е предварително инсталирано на устройството ви. Като деактивирате приложението, го изключвате и скривате на устройството си."</string>
<string name="app_disable_notifications_dlg_title" msgid="699530661413553928">"Да се изключат ли известията?"</string>
<string name="app_install_details_group_title" msgid="2909597319422976921">"App Store"</string>
diff --git a/tests/CarDeveloperOptions/res/values-bn/strings.xml b/tests/CarDeveloperOptions/res/values-bn/strings.xml
index 922094d..fc3ff0e 100644
--- a/tests/CarDeveloperOptions/res/values-bn/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-bn/strings.xml
@@ -719,7 +719,7 @@
</plurals>
<string name="manage_trust_agents" msgid="8129970926213142261">"বিশ্বস্ত এজেন্ট"</string>
<string name="disabled_because_no_backup_security" msgid="8127039979909203528">"ব্যবহার করার জন্য প্রথমে একটি স্ক্রিন লক সেট করুন"</string>
- <string name="manage_trust_agents_summary" msgid="2023116850759962248">"কোনো কিছুই নয়"</string>
+ <string name="manage_trust_agents_summary" msgid="2023116850759962248">"কোনও কিছুই নয়"</string>
<plurals name="manage_trust_agents_summary_on" formatted="false" msgid="5550538038916606097">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টি সক্রিয় বিশ্বস্ত এজেন্ট</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g>টি সক্রিয় বিশ্বস্ত এজেন্ট</item>
diff --git a/tests/CarDeveloperOptions/res/values-bs/strings.xml b/tests/CarDeveloperOptions/res/values-bs/strings.xml
index c8883da..8fde741 100644
--- a/tests/CarDeveloperOptions/res/values-bs/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-bs/strings.xml
@@ -826,7 +826,7 @@
<string name="wifi_display_options_title" msgid="4587264519668872213">"Opcije Bežičnog prikaza"</string>
<string name="wifi_display_options_forget" msgid="7882982544626742073">"Zaboraviti"</string>
<string name="wifi_display_options_done" msgid="5922060890309265817">"Gotovo"</string>
- <string name="wifi_display_options_name" msgid="8477627781133827607">"Ime"</string>
+ <string name="wifi_display_options_name" msgid="8477627781133827607">"Naziv"</string>
<string name="wifi_band_24ghz" msgid="2973143764653628618">"2,4 GHz"</string>
<string name="wifi_band_5ghz" msgid="6469832209748522207">"5 GHz"</string>
<string name="wifi_sign_in_button_text" msgid="7573695522292386360">"Prijava"</string>
@@ -1602,8 +1602,8 @@
<string name="reset_network_complete_toast" msgid="128225929536005495">"Postavke mreže vraćene su na zadano"</string>
<string name="reset_esim_error_title" msgid="4728931209471875632">"Nije moguće izbrisati SIM-ove"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"Preuzete SIM-ove nije moguće izbrisati zbog greške.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
- <string name="master_clear_title" msgid="1560712943955904673">"Izbriši sve podatke (vraćanje na fabričke postavke)"</string>
- <string name="master_clear_short_title" msgid="919098101581335101">"Potpuno izbriši sve podatke"</string>
+ <string name="master_clear_title" msgid="1560712943955904673">"Izbriši sve podatke (vrati na fabričke postavke)"</string>
+ <string name="master_clear_short_title" msgid="919098101581335101">"Izbriši sve podatke"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"Na ovaj način će se izbrisati svi podaci "<b>"interne memorije"</b>" tableta, uključujući:\n\n"<li>"Google račun"</li>\n<li>"sistemske i aplikacijske podatke i postavke"</li>\n<li>"preuzete aplikacije"</li></string>
<string name="master_clear_desc" product="default" msgid="8765543541962866697">"Na ovaj način će se izbrisati svi podaci "<b>"interne memorije"</b>" telefona, uključujući:\n\n"<li>"vaš Google račun"</li>\n<li>"podatke i postavke sistema i aplikacija"</li>\n<li>"preuzete aplikacije"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"Trenutno ste prijavljeni u sljedeće račune:\n"</string>
@@ -3040,7 +3040,7 @@
<string name="sim_select_card" msgid="5558215843972182767">"Odaberite SIM karticu"</string>
<string name="sim_card_number_title" msgid="8808663374497085634">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
<string name="sim_slot_empty" msgid="2710430326225678239">"SIM kartica je prazna"</string>
- <string name="sim_editor_name" msgid="3367549287943555967">"Ime SIM-a"</string>
+ <string name="sim_editor_name" msgid="3367549287943555967">"Naziv SIM-a"</string>
<string name="sim_name_hint" msgid="4462143545744872744">"Unesite ime SIM-a"</string>
<string name="sim_editor_title" msgid="2303147682835318920">"SIM slot %1$d"</string>
<string name="sim_editor_carrier" msgid="8860370077829961512">"Operater"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ca/strings.xml b/tests/CarDeveloperOptions/res/values-ca/strings.xml
index d18927f..cce1a0e 100644
--- a/tests/CarDeveloperOptions/res/values-ca/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ca/strings.xml
@@ -1584,7 +1584,7 @@
<string name="reset_esim_error_title" msgid="4728931209471875632">"No es poden esborrar les targetes SIM"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"No s\'han pogut esborrar les targetes SIM que has baixat a causa d\'un error.\n\nReinicia el dispositiu i torna-ho a provar."</string>
<string name="master_clear_title" msgid="1560712943955904673">"Esborra totes les dades (restabliment de les dades de fàbrica)"</string>
- <string name="master_clear_short_title" msgid="919098101581335101">"Esborra totes les dades"</string>
+ <string name="master_clear_short_title" msgid="919098101581335101">"Esborra totes les dades (restabliment dades fàbrica)"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"Aquesta acció esborrarà totes les dades de l\'"<b>"emmagatzematge intern"</b>" de la tauleta, com ara:\n\n"<li>"el teu Compte de Google"</li>\n<li>"les dades i la configuració del sistema i de les aplicacions"</li>\n<li>"les aplicacions baixades"</li></string>
<string name="master_clear_desc" product="default" msgid="8765543541962866697">"S\'esborraran totes les dades de l\'"<b>"emmagatzematge intern"</b>" del telèfon, inclosos:\n\n"<li>"El teu Compte de Google"</li>\n<li>"Les dades i la configuració del sistema i de les aplicacions"</li>\n<li>"Les aplicacions baixades"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"Tens la sessió iniciada als comptes següents:\n"</string>
@@ -2277,7 +2277,7 @@
<string name="battery_tip_smart_battery_title" product="tablet" msgid="203494973250969040">"Millora la durada de la bateria de la tauleta"</string>
<string name="battery_tip_smart_battery_title" product="device" msgid="7419448992583346364">"Millora la durada de la bateria del dispositiu"</string>
<string name="battery_tip_smart_battery_summary" msgid="5344821856478265778">"Activa el gestor de bateria"</string>
- <string name="battery_tip_early_heads_up_title" msgid="707163785378746813">"Activa l\'estalvi de bateria"</string>
+ <string name="battery_tip_early_heads_up_title" msgid="707163785378746813">"Activa la funció Estalvi de bateria"</string>
<string name="battery_tip_early_heads_up_summary" msgid="4231489566422395156">"Pot ser que la bateria s\'esgoti massa ràpid"</string>
<string name="battery_tip_early_heads_up_done_title" msgid="112550885882648429">"S\'ha activat l\'estalvi de bateria"</string>
<string name="battery_tip_early_heads_up_done_summary" msgid="8692257022962771181">"És possible que algunes funcions estiguin limitades"</string>
@@ -2871,7 +2871,7 @@
<string name="user_add_profile_item_title" msgid="4932743891449790664">"Perfil restringit"</string>
<string name="user_add_user_title" msgid="2320897397066676472">"Vols afegir un usuari nou?"</string>
<string name="user_add_user_message_long" msgid="686637203224195465">"Pots compartir aquest dispositiu amb altres persones creant usuaris addicionals. Cada usuari té el seu propi espai, que pot personalitzar amb aplicacions i fons de pantalla, entre d\'altres. Els usuaris també poden ajustar opcions de configuració del dispositiu, com ara la Wi-Fi, que afecten els altres usuaris.\n\nQuan afegeixis un usuari nou, haurà de configurar el seu espai.\n\nTots els usuaris poden actualitzar les aplicacions de la resta. És possible que la configuració i els serveis d\'accessibilitat no es transfereixin a l\'usuari nou."</string>
- <string name="user_add_user_message_short" msgid="1802594476285458254">"Quan s\'afegeix un usuari nou, aquest usuari ha de configurar el seu espai.\n\nQualsevol usuari pot actualitzar les aplicacions dels altres usuaris."</string>
+ <string name="user_add_user_message_short" msgid="1802594476285458254">"Quan s\'afegeix un usuari nou, aquesta persona ha de configurar el seu espai.\n\nQualsevol usuari pot actualitzar les aplicacions dels altres usuaris."</string>
<string name="user_setup_dialog_title" msgid="6748950002206392396">"Vols configurar l\'usuari ara?"</string>
<string name="user_setup_dialog_message" msgid="2988559933258353919">"Assegura\'t que la persona estigui disponible per accedir al dispositiu i configurar el seu espai."</string>
<string name="user_setup_profile_dialog_message" msgid="7611900802824048526">"Vols configurar el perfil ara?"</string>
@@ -2902,12 +2902,12 @@
<string name="user_exit_guest_confirm_title" msgid="4767911571671099844">"Vols suprimir el convidat?"</string>
<string name="user_exit_guest_confirm_message" msgid="6955182181145748919">"Totes les aplicacions i les dades d\'aquesta sessió se suprimiran."</string>
<string name="user_exit_guest_dialog_remove" msgid="1878866060881115716">"Suprimeix"</string>
- <string name="user_enable_calling" msgid="864760054792249503">"Activa les trucades"</string>
- <string name="user_enable_calling_sms" msgid="3450252891736718793">"Activa les trucades i els SMS"</string>
+ <string name="user_enable_calling" msgid="864760054792249503">"Activa les trucades telefòniques"</string>
+ <string name="user_enable_calling_sms" msgid="3450252891736718793">"Activa les trucades telefòniques i els SMS"</string>
<string name="user_remove_user" msgid="3687544420125911166">"Suprimeix l\'usuari"</string>
- <string name="user_enable_calling_confirm_title" msgid="1141612415529158542">"Vols activar les trucades?"</string>
+ <string name="user_enable_calling_confirm_title" msgid="1141612415529158542">"Vols activar les trucades telefòniques?"</string>
<string name="user_enable_calling_confirm_message" msgid="2490126715153125970">"L\'historial de trucades es compartirà amb aquest usuari."</string>
- <string name="user_enable_calling_and_sms_confirm_title" msgid="4153856398523366976">"Vols activar les trucades i els SMS?"</string>
+ <string name="user_enable_calling_and_sms_confirm_title" msgid="4153856398523366976">"Vols activar les trucades telefòniques i els SMS?"</string>
<string name="user_enable_calling_and_sms_confirm_message" msgid="3278802798876095734">"L\'historial de trucades i d\'SMS es compartirà amb aquest usuari."</string>
<string name="emergency_info_title" msgid="1522609271881425375">"Informació d\'emergència"</string>
<string name="emergency_info_summary" msgid="7280464759837387342">"Informació i contactes de: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
diff --git a/tests/CarDeveloperOptions/res/values-en-rAU/strings.xml b/tests/CarDeveloperOptions/res/values-en-rAU/strings.xml
index 09cc8f9..6d9a812 100644
--- a/tests/CarDeveloperOptions/res/values-en-rAU/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-en-rAU/strings.xml
@@ -1313,7 +1313,7 @@
<string name="security_patch" msgid="483709031051932208">"Android security patch level"</string>
<string name="model_info" msgid="1729765474260797594">"Model"</string>
<string name="model_summary" msgid="8781425868254352168">"Model: %1$s"</string>
- <string name="hardware_info" msgid="174270144950621815">"Model & hardware"</string>
+ <string name="hardware_info" msgid="174270144950621815">"Model and hardware"</string>
<string name="hardware_revision" msgid="3315744162524354246">"Hardware version"</string>
<string name="fcc_equipment_id" msgid="8681995718533066093">"Equipment ID"</string>
<string name="baseband_version" msgid="9115560821840757786">"Baseband version"</string>
@@ -1326,7 +1326,7 @@
<string name="device_status_summary" product="tablet" msgid="8975790197766171710">"Status of the battery, network and other information"</string>
<string name="device_status_summary" product="default" msgid="8282235230720651642">"Phone number, signal, etc."</string>
<string name="storage_settings" msgid="7009733301485139652">"Storage"</string>
- <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage & cache"</string>
+ <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage and cache"</string>
<string name="storage_usb_settings" msgid="4470138799276333403">"Storage"</string>
<string name="storage_settings_title" msgid="7348362600789024415">"Storage settings"</string>
<string name="storage_settings_summary" product="nosdcard" msgid="600267641559698394">"Unmount USB storage, view available storage"</string>
@@ -2629,8 +2629,8 @@
<string name="remove_account_label" msgid="5885425720323823387">"Remove account"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Add an account"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Remove account?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone."</string>
<string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Removing this account will delete all of its messages, contacts and other data from the device."</string>
<string name="remove_account_failed" msgid="491458185327106966">"This change isn\'t allowed by your admin"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Cannot sync manually"</string>
diff --git a/tests/CarDeveloperOptions/res/values-en-rCA/strings.xml b/tests/CarDeveloperOptions/res/values-en-rCA/strings.xml
index 9a33902..3218640 100644
--- a/tests/CarDeveloperOptions/res/values-en-rCA/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-en-rCA/strings.xml
@@ -1313,7 +1313,7 @@
<string name="security_patch" msgid="483709031051932208">"Android security patch level"</string>
<string name="model_info" msgid="1729765474260797594">"Model"</string>
<string name="model_summary" msgid="8781425868254352168">"Model: %1$s"</string>
- <string name="hardware_info" msgid="174270144950621815">"Model & hardware"</string>
+ <string name="hardware_info" msgid="174270144950621815">"Model and hardware"</string>
<string name="hardware_revision" msgid="3315744162524354246">"Hardware version"</string>
<string name="fcc_equipment_id" msgid="8681995718533066093">"Equipment ID"</string>
<string name="baseband_version" msgid="9115560821840757786">"Baseband version"</string>
@@ -1326,7 +1326,7 @@
<string name="device_status_summary" product="tablet" msgid="8975790197766171710">"Status of the battery, network and other information"</string>
<string name="device_status_summary" product="default" msgid="8282235230720651642">"Phone number, signal, etc."</string>
<string name="storage_settings" msgid="7009733301485139652">"Storage"</string>
- <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage & cache"</string>
+ <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage and cache"</string>
<string name="storage_usb_settings" msgid="4470138799276333403">"Storage"</string>
<string name="storage_settings_title" msgid="7348362600789024415">"Storage settings"</string>
<string name="storage_settings_summary" product="nosdcard" msgid="600267641559698394">"Unmount USB storage, view available storage"</string>
@@ -2629,8 +2629,8 @@
<string name="remove_account_label" msgid="5885425720323823387">"Remove account"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Add an account"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Remove account?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone."</string>
<string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Removing this account will delete all of its messages, contacts and other data from the device."</string>
<string name="remove_account_failed" msgid="491458185327106966">"This change isn\'t allowed by your admin"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Cannot sync manually"</string>
diff --git a/tests/CarDeveloperOptions/res/values-en-rGB/strings.xml b/tests/CarDeveloperOptions/res/values-en-rGB/strings.xml
index d06d9ab..4387883 100644
--- a/tests/CarDeveloperOptions/res/values-en-rGB/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-en-rGB/strings.xml
@@ -1313,7 +1313,7 @@
<string name="security_patch" msgid="483709031051932208">"Android security patch level"</string>
<string name="model_info" msgid="1729765474260797594">"Model"</string>
<string name="model_summary" msgid="8781425868254352168">"Model: %1$s"</string>
- <string name="hardware_info" msgid="174270144950621815">"Model & hardware"</string>
+ <string name="hardware_info" msgid="174270144950621815">"Model and hardware"</string>
<string name="hardware_revision" msgid="3315744162524354246">"Hardware version"</string>
<string name="fcc_equipment_id" msgid="8681995718533066093">"Equipment ID"</string>
<string name="baseband_version" msgid="9115560821840757786">"Baseband version"</string>
@@ -1326,7 +1326,7 @@
<string name="device_status_summary" product="tablet" msgid="8975790197766171710">"Status of the battery, network and other information"</string>
<string name="device_status_summary" product="default" msgid="8282235230720651642">"Phone number, signal, etc."</string>
<string name="storage_settings" msgid="7009733301485139652">"Storage"</string>
- <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage & cache"</string>
+ <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage and cache"</string>
<string name="storage_usb_settings" msgid="4470138799276333403">"Storage"</string>
<string name="storage_settings_title" msgid="7348362600789024415">"Storage settings"</string>
<string name="storage_settings_summary" product="nosdcard" msgid="600267641559698394">"Unmount USB storage, view available storage"</string>
@@ -2629,8 +2629,8 @@
<string name="remove_account_label" msgid="5885425720323823387">"Remove account"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Add an account"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Remove account?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone."</string>
<string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Removing this account will delete all of its messages, contacts and other data from the device."</string>
<string name="remove_account_failed" msgid="491458185327106966">"This change isn\'t allowed by your admin"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Cannot sync manually"</string>
diff --git a/tests/CarDeveloperOptions/res/values-en-rIN/strings.xml b/tests/CarDeveloperOptions/res/values-en-rIN/strings.xml
index 74ec028..1724e1a 100644
--- a/tests/CarDeveloperOptions/res/values-en-rIN/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-en-rIN/strings.xml
@@ -1313,7 +1313,7 @@
<string name="security_patch" msgid="483709031051932208">"Android security patch level"</string>
<string name="model_info" msgid="1729765474260797594">"Model"</string>
<string name="model_summary" msgid="8781425868254352168">"Model: %1$s"</string>
- <string name="hardware_info" msgid="174270144950621815">"Model & hardware"</string>
+ <string name="hardware_info" msgid="174270144950621815">"Model and hardware"</string>
<string name="hardware_revision" msgid="3315744162524354246">"Hardware version"</string>
<string name="fcc_equipment_id" msgid="8681995718533066093">"Equipment ID"</string>
<string name="baseband_version" msgid="9115560821840757786">"Baseband version"</string>
@@ -1326,7 +1326,7 @@
<string name="device_status_summary" product="tablet" msgid="8975790197766171710">"Status of the battery, network and other information"</string>
<string name="device_status_summary" product="default" msgid="8282235230720651642">"Phone number, signal, etc."</string>
<string name="storage_settings" msgid="7009733301485139652">"Storage"</string>
- <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage & cache"</string>
+ <string name="storage_settings_for_app" msgid="3028887232073069965">"Storage and cache"</string>
<string name="storage_usb_settings" msgid="4470138799276333403">"Storage"</string>
<string name="storage_settings_title" msgid="7348362600789024415">"Storage settings"</string>
<string name="storage_settings_summary" product="nosdcard" msgid="600267641559698394">"Unmount USB storage, view available storage"</string>
@@ -2629,8 +2629,8 @@
<string name="remove_account_label" msgid="5885425720323823387">"Remove account"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Add an account"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Remove account?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Removing this account will delete all of its messages, contacts and other data from the tablet."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Removing this account will delete all of its messages, contacts and other data from the phone."</string>
<string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Removing this account will delete all of its messages, contacts and other data from the device."</string>
<string name="remove_account_failed" msgid="491458185327106966">"This change isn\'t allowed by your admin"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Cannot sync manually"</string>
diff --git a/tests/CarDeveloperOptions/res/values-et/strings.xml b/tests/CarDeveloperOptions/res/values-et/strings.xml
index b84a5b5..ce18048 100644
--- a/tests/CarDeveloperOptions/res/values-et/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-et/strings.xml
@@ -1584,7 +1584,7 @@
<string name="reset_esim_error_title" msgid="4728931209471875632">"SIM-kaarte ei saa kustutada"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"Allalaaditud SIM-kaarte ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
<string name="master_clear_title" msgid="1560712943955904673">"Kõigi andmete kustutamine (tehaseseadetele lähtestamine)"</string>
- <string name="master_clear_short_title" msgid="919098101581335101">"Kust. andmed (tehases. läht.)"</string>
+ <string name="master_clear_short_title" msgid="919098101581335101">"Kõigi andmete kustutamine (tehaseseaded)"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"See kustutab teie tahvelarvuti "<b>"sisemälust"</b>" kõik andmed, sh:\n\n"<li>"teie Google\'i konto;"</li>\n<li>"süsteemi ja rakenduste andmed ning seaded;"</li>\n<li>"allalaaditud rakendused."</li></string>
<string name="master_clear_desc" product="default" msgid="8765543541962866697">"See kustutab teie telefoni "<b>"sisemälust"</b>" kõik andmed, sh järgmised.\n\n"<li>"Teie Google\'i konto"</li>\n<li>"Süsteemi- ja rakenduste andmed ning seaded"</li>\n<li>"Allalaaditud rakendused"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"Olete praegu sisse logitud järgmistele kontodele:\n"</string>
@@ -1842,7 +1842,7 @@
<string name="show_running_services" msgid="1895994322704667543">"Kuva töötavad teenused"</string>
<string name="show_background_processes" msgid="88012264528093617">"Kuva vahemällu salvestatud protsessid"</string>
<string name="default_emergency_app" msgid="286530070173495823">"Hädaabirakendus"</string>
- <string name="reset_app_preferences" msgid="1426500030595212077">"Lähtesta rakenduste eelistused"</string>
+ <string name="reset_app_preferences" msgid="1426500030595212077">"Rakenduste eelistuste lähtestamine"</string>
<string name="reset_app_preferences_title" msgid="792909865493673598">"Lähtestada rakenduste eelistused?"</string>
<string name="reset_app_preferences_desc" msgid="7935273005301096031">"See lähtestab kõik järgmised eelistused:\n\n "<li>"Keelatud rakendused"</li>\n" "<li>"Keelatud rakenduste märguanded"</li>\n" "<li>"Toimingute vaikerakendused"</li>\n" "<li>"Rakenduste taustaandmete piirangud"</li>\n" "<li>"Igasugused lubade piirangud"</li>\n\n" Rakenduste andmed säilivad."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"Lähtesta rakendused"</string>
@@ -1884,7 +1884,7 @@
<string name="system_package" msgid="1824541892695233351">"Süsteemivärskendusi ei saa installida välisele kandjale."</string>
<string name="move_error_device_admin" msgid="6640501923867066901">"Seadme administraatori rakendust ei saa installida välisele andmekandjale"</string>
<string name="force_stop_dlg_title" msgid="8822779487097246675">"Kas peatada sunniviisiliselt?"</string>
- <string name="force_stop_dlg_text" msgid="7435245769456493398">"Kui sunnite rakenduse peatuma, võib see valesti käituda."</string>
+ <string name="force_stop_dlg_text" msgid="7435245769456493398">"Kui sunnite rakenduse peatuma, võib see toimida valesti."</string>
<string name="app_install_location_title" msgid="5121617802063021720">"Eelistatud installiasukoht"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Muutke uute rakenduste eelistatud installiasukohta"</string>
<string name="app_disable_dlg_positive" msgid="5508828271100168073">"Keela rakendus"</string>
@@ -2238,7 +2238,7 @@
<string name="background_activity_summary_disabled" msgid="457944930942085876">"Rakendusel ei ole lubatud taustal töötada"</string>
<string name="background_activity_summary_whitelisted" msgid="4713321059375873828">"Taustal kasutamist ei saa piirata"</string>
<string name="background_activity_warning_dialog_title" msgid="2170790412855899678">"Kas piirata taustal tegevust?"</string>
- <string name="background_activity_warning_dialog_text" msgid="8242749826732375096">"Kui piirate rakenduse tegevust taustal, võib rakendus valesti käituda."</string>
+ <string name="background_activity_warning_dialog_text" msgid="8242749826732375096">"Kui piirate rakenduse tegevust taustal, võib rakendus toimida valesti."</string>
<string name="background_activity_disabled_dialog_text" msgid="4234598000779459640">"Kuna rak. pole aku optimeerimine seadistatud, ei saa te seda piirata.\n\nRak. piiramiseks lülit. esmalt sisse aku optimeerimine."</string>
<string name="device_screen_usage" msgid="4470485475363132750">"Ekraani kasutus alates täislaadimisest"</string>
<string name="power_usage_list_summary" msgid="4314438658308211057">"Akukasutus alates täislaadimisest"</string>
@@ -3031,7 +3031,7 @@
<item quantity="other">Kuva %d peidetud üksust</item>
<item quantity="one">Kuva %d peidetud üksus</item>
</plurals>
- <string name="network_dashboard_title" msgid="8288134139584687806">"Võrk ja Internet"</string>
+ <string name="network_dashboard_title" msgid="8288134139584687806">"Võrk ja internet"</string>
<string name="network_dashboard_summary_mobile" msgid="5560545061217580626">"mobiilivõrk"</string>
<string name="network_dashboard_summary_data_usage" msgid="4695629715072542102">"andmeside kasutus"</string>
<string name="network_dashboard_summary_hotspot" msgid="3928610802321995214">"kuumkoht"</string>
@@ -3052,7 +3052,7 @@
<string name="keywords_wifi_notify_open_networks" msgid="1031260564121854773">"WiFi märguanne, wifi märguanne"</string>
<string name="keywords_auto_brightness" msgid="5007188989783072428">"Automaatne heledus"</string>
<string name="keywords_vibrate_on_touch" msgid="3615173661462446877">"Vibreerimise peatamine, puudutus, klaviatuur"</string>
- <string name="keywords_time_format" msgid="8265826377023617424">"Kasuta 24-tunnist vormingut"</string>
+ <string name="keywords_time_format" msgid="8265826377023617424">"Kasuta 24-tunni vormingut"</string>
<string name="keywords_storage_files" msgid="1995055540202216399">"Allalaadimine"</string>
<string name="keywords_app_default" msgid="1265502485415708667">"Ava rakendusega"</string>
<string name="keywords_applications_settings" msgid="2078776051110952597">"Rakendused"</string>
diff --git a/tests/CarDeveloperOptions/res/values-fa/strings.xml b/tests/CarDeveloperOptions/res/values-fa/strings.xml
index 86276ae..2ea792c 100644
--- a/tests/CarDeveloperOptions/res/values-fa/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-fa/strings.xml
@@ -1755,7 +1755,7 @@
<string name="lockpattern_recording_inprogress" msgid="4060818382176523671">"وقتی الگو را کشیدید، انگشتتان را بردارید"</string>
<string name="lockpattern_recording_incorrect_too_short" msgid="6374760294545431845">"حداقل <xliff:g id="NUMBER">%d</xliff:g> نقطه را به یکدیگر متصل کنید. دوباره امتحان کنید."</string>
<string name="lockpattern_pattern_entered_header" msgid="2108106638322637851">"الگو ضبط شد"</string>
- <string name="lockpattern_need_to_confirm" msgid="4079482507985867389">"برای تأیید دوباره الگو را بکشید"</string>
+ <string name="lockpattern_need_to_confirm" msgid="4079482507985867389">"برای تأیید، دوباره الگو را بکشید"</string>
<string name="lockpattern_pattern_confirmed_header" msgid="5603156929428721407">"الگوی جدید بازگشایی قفلتان"</string>
<string name="lockpattern_confirm_button_text" msgid="7059311304112902598">"تأیید"</string>
<string name="lockpattern_restart_button_text" msgid="4322968353922529868">"کشیدن مجدد"</string>
@@ -1844,7 +1844,7 @@
<string name="default_emergency_app" msgid="286530070173495823">"برنامه اضطراری"</string>
<string name="reset_app_preferences" msgid="1426500030595212077">"بازنشانی اولویتهای برنامه"</string>
<string name="reset_app_preferences_title" msgid="792909865493673598">"بازنشانی اولویتهای برنامه؟"</string>
- <string name="reset_app_preferences_desc" msgid="7935273005301096031">"این کار همه اولویتهای موارد زیر را بازنشانی میکند:\n\n "<li>"برنامههای غیرفعالشده"</li>\n" "<li>"اعلانهای برنامه غیرفعالشده"</li>\n" "<li>"برنامههای پیشفرض برای عمل"</li>\n" "<li>"محدودیتهای داده پسزمینه برای برنامهها"</li>\n" "<li>"هرگونه محدودیتهای مجوز"</li>\n\n" هیچ داده برنامهای را از دست نخواهید داد."</string>
+ <string name="reset_app_preferences_desc" msgid="7935273005301096031">"این کار همه اولویتهای موارد زیر را بازنشانی میکند:\n\n "<li>"برنامههای غیرفعالشده"</li>\n" "<li>"اعلانهای برنامه غیرفعالشده"</li>\n" "<li>"برنامههای پیشفرض برای کنشها"</li>\n" "<li>"محدودیتهای داده پسزمینه برای برنامهها"</li>\n" "<li>"همه محدودیتهای اجازهها"</li>\n\n" هیچ داده برنامهای را ازدست نخواهید داد."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"بازنشانی برنامهها"</string>
<string name="manage_space_text" msgid="6166469422303124302">"مدیریت فضا"</string>
<string name="filter" msgid="2426943916212457962">"فیلتر"</string>
@@ -2102,7 +2102,7 @@
<string name="accessibility_hearingaid_title" msgid="3700978781235124891">"سمعکها"</string>
<string name="accessibility_hearingaid_not_connected_summary" msgid="634573930469952213">"هیچ سمعکی متصل نشده است"</string>
<string name="accessibility_hearingaid_adding_summary" msgid="4139031880828714300">"افزودن سمعکها"</string>
- <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="2671518890909750740">"برای مرتبطسازی سمعکتان، دستگاهتان را در صفحه بعدی پیدا کنید و روی آن ضربه بزنید."</string>
+ <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="2671518890909750740">"برای مرتبطسازی سمعکتان، دستگاهتان را در صفحه بعد پیدا کنید و روی آن ضربه بزنید."</string>
<string name="accessibility_hearingaid_pair_instructions_second_message" msgid="1584538735488464991">"مطمئن شوید سمعکتان در حالت مرتبطسازی باشد."</string>
<string name="accessibility_hearingaid_active_device_summary" msgid="6081382497207168885">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> فعال"</string>
<plurals name="show_number_hearingaid_count" formatted="false" msgid="7906547154695855096">
diff --git a/tests/CarDeveloperOptions/res/values-fi/strings.xml b/tests/CarDeveloperOptions/res/values-fi/strings.xml
index b29988e..09d10d4 100644
--- a/tests/CarDeveloperOptions/res/values-fi/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-fi/strings.xml
@@ -26,7 +26,7 @@
<item quantity="other">Enää <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> vaihetta, niin sinusta tulee kehittäjä.</item>
<item quantity="one">Enää <xliff:g id="STEP_COUNT_0">%1$d</xliff:g> vaihe, niin sinusta tulee kehittäjä.</item>
</plurals>
- <string name="show_dev_on" msgid="9075712234786224065">"Olet nyt kehittäjä!"</string>
+ <string name="show_dev_on" msgid="9075712234786224065">"Olet nyt kehittäjä."</string>
<string name="show_dev_already" msgid="7665948832405148689">"Ei tarvitse klikata, olet jo kehittäjä."</string>
<string name="dev_settings_disabled_warning" msgid="3198732189395396721">"Ota kehittäjäasetukset ensin käyttöön."</string>
<string name="header_category_wireless_networks" msgid="8968405993937795898">"Langaton verkko ja verkot"</string>
@@ -1586,7 +1586,7 @@
<string name="master_clear_title" msgid="1560712943955904673">"Poista kaikki tiedot (palauta tehdasasetukset)"</string>
<string name="master_clear_short_title" msgid="919098101581335101">"Poista data (tehdasasetuksiin)"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"Tämä poistaa kaiken datan tabletin "<b>"sisäisestä tallennustilasta"</b>", esimerkiksi\n\n"<li>"Google-tilisi"</li>\n<li>"järjestelmän ja sovellusten datan ja asetukset"</li>\n<li>"ladatut sovellukset"</li></string>
- <string name="master_clear_desc" product="default" msgid="8765543541962866697">"Tämä poistaa kaiken datan puhelimen "<b>"sisäisestä tallennustilasta"</b>", esimerkiksi\n\n"<li>"Google-tilisi"</li>\n<li>"järjestelmän ja sovellusten datan ja asetukset"</li>\n<li>"ladatut sovellukset"</li></string>
+ <string name="master_clear_desc" product="default" msgid="8765543541962866697">"Tämä tyhjentää kaiken datan puhelimen "<b>"sisäisestä tallennustilasta"</b>", esimerkiksi\n\n"<li>"Google-tilisi"</li>\n<li>"järjestelmän ja sovellusten datan ja asetukset"</li>\n<li>"ladatut sovellukset"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"Olet kirjautunut sisään seuraaviin tileihin:\n"</string>
<string name="master_clear_other_users_present" product="default" msgid="5993259656117566767">\n\n"Tällä laitteella on muita paikalla olevia käyttäjiä.\n"</string>
<string name="master_clear_desc_also_erases_external" msgid="3947303501615091903"><li>"Musiikki"</li>\n<li>"Valokuvat"</li>\n<li>"Muut käyttäjän tiedot"</li></string>
@@ -1598,8 +1598,8 @@
<string name="erase_external_storage" product="default" msgid="194249742376770215">"Tyhjennä SD-kortti"</string>
<string name="erase_external_storage_description" product="nosdcard" msgid="8020275102431496261">"Poista kaikki sisäisen USB-tallennustilan tiedot, kuten musiikki tai kuvat."</string>
<string name="erase_external_storage_description" product="default" msgid="5029355708082861798">"Poista kaikki SD-kortin tiedot, kuten musiikki tai kuvat."</string>
- <string name="master_clear_button_text" product="tablet" msgid="8000547818499182920">"Pyyhi kaikki tiedot"</string>
- <string name="master_clear_button_text" product="default" msgid="8000547818499182920">"Pyyhi kaikki tiedot"</string>
+ <string name="master_clear_button_text" product="tablet" msgid="8000547818499182920">"Tyhjennä kaikki data"</string>
+ <string name="master_clear_button_text" product="default" msgid="8000547818499182920">"Tyhjennä kaikki data"</string>
<string name="master_clear_final_desc" msgid="5189365498015339294">"Kaikki henkilökohtaiset tietosi ja ladatut sovellukset poistetaan. Toimintoa ei voi kumota."</string>
<string name="master_clear_final_desc_esim" msgid="3058919823436953662">"Kaikki henkilökohtaiset tietosi poistetaan, mukaan lukien ladatut sovellukset ja SIM-kortit. Toimintoa ei voi kumota."</string>
<string name="master_clear_final_button_text" msgid="866772743886027768">"Poista kaikki"</string>
@@ -1813,7 +1813,7 @@
</plurals>
<string name="clear_uri_btn_text" msgid="3528618179883855727">"Poista käyttöoikeus"</string>
<string name="controls_label" msgid="5609285071259457221">"Hallinta"</string>
- <string name="force_stop" msgid="9213858124674772386">"Pakota lopetus"</string>
+ <string name="force_stop" msgid="9213858124674772386">"Pakota sulkeutumaan"</string>
<string name="total_size_label" msgid="3929917501176594692">"Yhteensä"</string>
<string name="application_size_label" msgid="175357855490253032">"Sovelluksen koko"</string>
<string name="external_code_size_label" msgid="3434421216268309411">"Sovelluksen käyttämä USB-tallennustila"</string>
@@ -1883,8 +1883,8 @@
<string name="invalid_location" msgid="8057409982223429673">"Asennussijainti on virheellinen."</string>
<string name="system_package" msgid="1824541892695233351">"Järjestelmäpäivityksiä ei voi asentaa ulkoiseen mediaan."</string>
<string name="move_error_device_admin" msgid="6640501923867066901">"Laitteenhallintasovellusta ei voi asentaa ulkoiseen tallennustilaan."</string>
- <string name="force_stop_dlg_title" msgid="8822779487097246675">"Pakotetaanko lopetus?"</string>
- <string name="force_stop_dlg_text" msgid="7435245769456493398">"Jos pakotat sovelluksen pysähtymään, se saattaa alkaa toimia virheellisesti."</string>
+ <string name="force_stop_dlg_title" msgid="8822779487097246675">"Pakotetaanko sulkeutumaan?"</string>
+ <string name="force_stop_dlg_text" msgid="7435245769456493398">"Jos pakotat sovelluksen sulkeutumaan, se saattaa alkaa toimia virheellisesti."</string>
<string name="app_install_location_title" msgid="5121617802063021720">"Ensisijainen asennussijainti"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Vaihda uusien sovelluksien ensisijaista asennussijaintia."</string>
<string name="app_disable_dlg_positive" msgid="5508828271100168073">"Poista sovellus käytöstä"</string>
@@ -2392,7 +2392,7 @@
<string name="usage_type_total_battery_capacity" msgid="1954889791720119945">"Akun kokonaiskapasiteetti"</string>
<string name="usage_type_computed_power" msgid="2594890316149868151">"Laskettu virrankäyttö"</string>
<string name="usage_type_actual_power" msgid="8067253427718526111">"Havaittu virrankäyttö"</string>
- <string name="battery_action_stop" msgid="1866624019460630143">"Pakota lopetus"</string>
+ <string name="battery_action_stop" msgid="1866624019460630143">"Pakota sulkeutumaan"</string>
<string name="battery_action_app_details" msgid="1077011181969550402">"Sovelluksen tiedot"</string>
<string name="battery_action_app_settings" msgid="587998773852488539">"Sovellusasetukset"</string>
<string name="battery_action_display" msgid="4887913003634317465">"Ruudun asetukset"</string>
@@ -2629,9 +2629,9 @@
<string name="remove_account_label" msgid="5885425720323823387">"Poista tili"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Lisää tili"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Poistetaanko tili?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Poistamalla tämän tilin poistat kaikki sen viestit, yhteystiedot ja muut tiedot tabletista."</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Poistamalla tämän tilin poistat kaikki sen viestit, yhteystiedot ja muut tiedot puhelimesta."</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Poistamalla tämän tilin poistat kaikki sen viestit, yhteystiedot ja muut tiedot laitteelta."</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Jos poistat tämän tilin, myös kaikki sen viestit, yhteystiedot ja muut tiedot poistetaan tabletilta."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Jos poistat tämän tilin, myös kaikki sen viestit, yhteystiedot ja muut tiedot poistetaan puhelimelta."</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Jos poistat tämän tilin, myös kaikki sen viestit, yhteystiedot ja muut tiedot poistetaan laitteelta."</string>
<string name="remove_account_failed" msgid="491458185327106966">"Järjestelmänvalvoja ei salli tätä muutosta."</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Manuaalinen synkronointi epäonnistui"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Tämän kohteen synkronointi on tällä hetkellä pois käytöstä. Voit muuttaa asetuksia ottamalla taustatiedonsiirron ja automaattisen synkronoinnin väliaikaisesti käyttöön."</string>
@@ -2870,7 +2870,7 @@
<string name="user_add_user_item_title" msgid="6835385073795492410">"Käyttäjä"</string>
<string name="user_add_profile_item_title" msgid="4932743891449790664">"Rajoitettu profiili"</string>
<string name="user_add_user_title" msgid="2320897397066676472">"Lisätäänkö uusi käyttäjä?"</string>
- <string name="user_add_user_message_long" msgid="686637203224195465">"Voit jakaa tämän laitteen muiden kanssa luomalla lisää käyttäjiä. Kullakin käyttäjällä on oma tilansa, jota he voivat muokata esimerkiksi omilla sovelluksilla ja taustakuvilla. Käyttäjät voivat myös muokata laiteasetuksia, kuten Wi‑Fi-asetuksia, jotka vaikuttavat laitteen kaikkiin käyttäjiin.\n\nKun lisäät uuden käyttäjän, hänen tulee määrittää oman tilansa asetukset.\n\nKaikki käyttäjät voivat päivittää muiden käyttäjien sovelluksia. Esteettömyysominaisuuksia tai ‑palveluita ei välttämättä siirretä uudelle käyttäjälle."</string>
+ <string name="user_add_user_message_long" msgid="686637203224195465">"Voit jakaa tämän laitteen muiden kanssa luomalla lisää käyttäjiä. Kullakin käyttäjällä on oma tilansa, jota he voivat muokata esimerkiksi omilla sovelluksilla ja taustakuvilla. Käyttäjät voivat myös muokata laiteasetuksia, kuten Wi‑Fi-asetuksia, jotka vaikuttavat laitteen kaikkiin käyttäjiin.\n\nKun lisäät uuden käyttäjän, hänen tulee määrittää oman tilansa asetukset.\n\nKaikki käyttäjät voivat päivittää sovelluksia muille käyttäjille. Esteettömyysominaisuuksia tai ‑palveluita ei välttämättä siirretä uudelle käyttäjälle."</string>
<string name="user_add_user_message_short" msgid="1802594476285458254">"Kun lisäät uuden käyttäjän, hänen tulee määrittää oman tilansa asetukset.\n\nKaikki käyttäjät voivat päivittää sovelluksia muille käyttäjille."</string>
<string name="user_setup_dialog_title" msgid="6748950002206392396">"Lisätäänkö käyttäjä nyt?"</string>
<string name="user_setup_dialog_message" msgid="2988559933258353919">"Varmista, että käyttäjä voi ottaa laitteen nyt ja määrittää oman tilansa."</string>
@@ -2983,7 +2983,7 @@
<string name="wizard_finish" msgid="3742102879981212094">"Valmis"</string>
<string name="user_image_take_photo" msgid="2000247510236178111">"Ota kuva"</string>
<string name="user_image_choose_photo" msgid="4920315415203051898">"Valitse kuva"</string>
- <string name="user_image_photo_selector" msgid="8429694590849882411">"Valitse valokuva"</string>
+ <string name="user_image_photo_selector" msgid="8429694590849882411">"Valitse kuva"</string>
<string name="regulatory_info_text" msgid="9112993912873512834"></string>
<string name="sim_setup_wizard_title" msgid="77627575294867180">"SIM-kortit"</string>
<string name="sim_settings_title" msgid="8818243954752261922">"SIM-kortit"</string>
@@ -3044,7 +3044,7 @@
<string name="app_and_notification_dashboard_summary" msgid="4165181440955038145">"Assistant, viimeaikaiset sovellukset, oletussovellukset"</string>
<string name="notification_settings_work_profile" msgid="7190550347842400029">"Työprofiilin sovelluksilla ei voi olla ilmoitusten käyttöoikeuksia."</string>
<string name="account_dashboard_title" msgid="4734300939532555885">"Tilit"</string>
- <string name="account_dashboard_default_summary" msgid="6822549669771936206">"Tilejä ei lisätty"</string>
+ <string name="account_dashboard_default_summary" msgid="6822549669771936206">"Tilejä ei ole lisätty"</string>
<string name="app_default_dashboard_title" msgid="6575301028225232193">"Oletussovellukset"</string>
<string name="system_dashboard_summary" msgid="6582464466735779394">"Kielet, eleet, aika, varmuuskopiointi"</string>
<string name="search_results_title" msgid="4160717656435503940">"Asetukset"</string>
@@ -4163,7 +4163,7 @@
<string name="auto_sync_account_summary" msgid="6316230976974033772">"Salli sovellusten päivittää tietoja automaattisesti"</string>
<string name="account_sync_title" msgid="1570164819114297154">"Tilin synkronointi"</string>
<string name="account_sync_summary_some_on" msgid="1934556869158274053">"Synkronointi käytössä <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g> kohteella"</string>
- <string name="account_sync_summary_all_on" msgid="3634161204232431700">"Synkronointi käytössä kaikilla kohteilla"</string>
+ <string name="account_sync_summary_all_on" msgid="3634161204232431700">"Synkronointi käytössä kaikille kohteille"</string>
<string name="account_sync_summary_all_off" msgid="1971584632343645602">"Synkronointi pois käytöstä kaikilla kohteilla"</string>
<string name="enterprise_privacy_settings" msgid="2777101678653072889">"Hallinnoidun laitteen tiedot"</string>
<string name="enterprise_privacy_settings_summary_generic" msgid="5557859169062703683">"Organisaatiosi hallitsemat valinnat ja asetukset"</string>
diff --git a/tests/CarDeveloperOptions/res/values-fr-rCA/strings.xml b/tests/CarDeveloperOptions/res/values-fr-rCA/strings.xml
index 7be21a2..03afea5 100644
--- a/tests/CarDeveloperOptions/res/values-fr-rCA/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-fr-rCA/strings.xml
@@ -2619,7 +2619,7 @@
<string name="sync_one_time_sync" msgid="6005174168405784256">"Touchez ici pour lancer la synchronisation<xliff:g id="LAST_SYNC_TIME">
%1$s</xliff:g>"</string>
<string name="sync_gmail" msgid="4457967084840001296">"Gmail"</string>
- <string name="sync_calendar" msgid="6573708019827519372">"# CALENDAR:"</string>
+ <string name="sync_calendar" msgid="6573708019827519372">"Agenda"</string>
<string name="sync_contacts" msgid="5687434785723746534">"Contacts"</string>
<string name="sync_plug" msgid="6703804441408427257"><font fgcolor="#ffffffff">"Bienvenue sur Google Sync!"</font>\n"Une solution Google pour synchroniser vos données et vous permettre d\'accéder à vos contacts, vos rendez-vous et plus, où que vous soyez."</string>
<string name="header_application_sync_settings" msgid="4581847153669774489">"Paramètres de synchronisation de l\'application"</string>
diff --git a/tests/CarDeveloperOptions/res/values-fr/strings.xml b/tests/CarDeveloperOptions/res/values-fr/strings.xml
index a97296c..288249c 100644
--- a/tests/CarDeveloperOptions/res/values-fr/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-fr/strings.xml
@@ -2491,7 +2491,7 @@
<string name="menu_duration_6h" msgid="6169009210638008417">"6 heures"</string>
<string name="menu_duration_12h" msgid="1435242738163843797">"12 heures"</string>
<string name="menu_duration_1d" msgid="6476370834372352174">"1 jour"</string>
- <string name="menu_show_system" msgid="6315865548558708248">"Afficher les processus système"</string>
+ <string name="menu_show_system" msgid="6315865548558708248">"Afficher process. système"</string>
<string name="menu_hide_system" msgid="8457027118873733782">"Masquer les processus système"</string>
<string name="menu_show_percentage" msgid="6983272380729890884">"Afficher les pourcentages"</string>
<string name="menu_use_uss" msgid="3765054705208926803">"Utiliser l\'USS"</string>
diff --git a/tests/CarDeveloperOptions/res/values-gu/arrays.xml b/tests/CarDeveloperOptions/res/values-gu/arrays.xml
index 8ad9984..080bada 100644
--- a/tests/CarDeveloperOptions/res/values-gu/arrays.xml
+++ b/tests/CarDeveloperOptions/res/values-gu/arrays.xml
@@ -170,7 +170,7 @@
<string-array name="wifi_proxy_settings">
<item msgid="9032900195127165132">"કોઈ નહીં"</item>
<item msgid="1464741437353223198">"મેન્યુઅલ"</item>
- <item msgid="5793600062487886090">"પ્રોક્સી આપમેળે ગોઠવો"</item>
+ <item msgid="5793600062487886090">"પ્રોક્સી ઑટોમૅટિક રીતે ગોઠવો"</item>
</string-array>
<string-array name="apn_auth_entries">
<item msgid="7099647881902405997">"કોઈ નહીં"</item>
@@ -495,7 +495,7 @@
</string-array>
<string-array name="cdma_system_select_choices">
<item msgid="8444727359525554695">"માત્ર હોમ"</item>
- <item msgid="1161026694891024702">"આપમેળે"</item>
+ <item msgid="1161026694891024702">"ઑટોમૅટિક રીતે"</item>
</string-array>
<string-array name="preferred_network_mode_choices">
<item msgid="1823884522189328861">"GSM/WCDMA પસંદ કર્યો છે"</item>
diff --git a/tests/CarDeveloperOptions/res/values-gu/strings.xml b/tests/CarDeveloperOptions/res/values-gu/strings.xml
index 295826c..824267a 100644
--- a/tests/CarDeveloperOptions/res/values-gu/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-gu/strings.xml
@@ -26,7 +26,7 @@
<item quantity="one">તમે હવે એક વિકાસકર્તા બનવાથી <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> પગલાં દૂર છો.</item>
<item quantity="other">તમે હવે એક વિકાસકર્તા બનવાથી <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> પગલાં દૂર છો.</item>
</plurals>
- <string name="show_dev_on" msgid="9075712234786224065">"તમે હવે વિકાસકર્તા છો!"</string>
+ <string name="show_dev_on" msgid="9075712234786224065">"તમે હવે ડેવલપર છો!"</string>
<string name="show_dev_already" msgid="7665948832405148689">"કોઈ જરૂર નથી, તમે પહેલાંથી જ એક ડેવલપર છો."</string>
<string name="dev_settings_disabled_warning" msgid="3198732189395396721">"કૃપા કરીને પહેલાં વિકાસકર્તાના વિકલ્પો સક્ષમ કરો."</string>
<string name="header_category_wireless_networks" msgid="8968405993937795898">"વાયરલેસ અને નેટવર્ક્સ"</string>
@@ -346,7 +346,7 @@
<string name="zone_menu_by_offset" msgid="6538342360925785227">"UTC ઑફસેટ પ્રમાણે પસંદ કરો"</string>
<string name="date_picker_title" msgid="2563955125757999610">"તારીખ"</string>
<string name="time_picker_title" msgid="1596400307061268660">"સમય"</string>
- <string name="lock_after_timeout" msgid="7755520959071097304">"આપમેળે લૉક"</string>
+ <string name="lock_after_timeout" msgid="7755520959071097304">"ઑટોમૅટિક રીતે લૉક"</string>
<string name="lock_after_timeout_summary" msgid="3160517585613694740">"નિષ્ક્રિયતા પછી <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>"</string>
<string name="lock_immediately_summary_with_exception" msgid="6442552135409347556">"નિષ્ક્રિયતા પછી તરત, જ્યારે <xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g> દ્વારા અનલૉક રાખવામાં આવેલ હોય તે સિવાય"</string>
<string name="lock_after_timeout_summary_with_exception" msgid="7218267834086717545">"નિષ્ક્રિયતા પછી <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>, જ્યારે <xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g> દ્વારા અનલૉક રાખવામાં આવેલ હોય તે સિવાય"</string>
@@ -848,8 +848,8 @@
<string name="wifi_in_airplane_mode" msgid="4729571191578262246">"એરપ્લેન મોડમાં"</string>
<string name="wifi_notify_open_networks" msgid="4782239203624619655">"નેટવર્ક નોટિફિકેશન ખોલો"</string>
<string name="wifi_notify_open_networks_summary" msgid="1383681260705466715">"જ્યારે ઉચ્ચ ગુણવત્તાવાળું સાર્વજનિક નેટવર્ક ઉપલબ્ધ હોય ત્યારે નોટિફિકેશન આપો"</string>
- <string name="wifi_wakeup" msgid="4963732992164721548">"વાઇ-ફાઇ આપમેળે ચાલુ કરો"</string>
- <string name="wifi_wakeup_summary" msgid="1152699417411690">"વાઇ-ફાઇ, તમારા હોમ નેટવર્ક જેવા, સાચવેલા ઉચ્ચ ગુણવત્તાવાળા નેટવર્કની નજીકમાં આપમેળે ફરી ચાલુ થશે"</string>
+ <string name="wifi_wakeup" msgid="4963732992164721548">"વાઇ-ફાઇ ઑટોમૅટિક રીતે ચાલુ કરો"</string>
+ <string name="wifi_wakeup_summary" msgid="1152699417411690">"વાઇ-ફાઇ, તમારા હોમ નેટવર્ક જેવા, સાચવેલા ઉચ્ચ ક્વૉલિટીના નેટવર્કની નજીકમાં ઑટોમૅટિક રીતે ફરી ચાલુ થશે"</string>
<string name="wifi_wakeup_summary_no_location" msgid="3007457288587966962">"અનુપલબ્ધ છે, કારણ કે સ્થાન બંધ છે. "<annotation id="link">"સ્થાન"</annotation>" ચાલુ કરો."</string>
<string name="wifi_wakeup_summary_scanning_disabled" msgid="6820040651529910914">"અનુપલબ્ધ છે કારણ કે વાઇ-ફાઇ સ્કૅનિંગ બંધ છે"</string>
<string name="wifi_wakeup_summary_scoring_disabled" msgid="7067018832237903151">"આ સુવિધાનો ઉપયોગ કરવા માટે, નેટવર્ક રેટિંગ પ્રદાતાને પસંદ કરો"</string>
@@ -857,7 +857,7 @@
<string name="wifi_poor_network_detection_summary" msgid="5539951465985614590">"જ્યાં સુધી વાઇ-ફાઇ સારું ઇન્ટરનેટ કનેક્શન ધરાવતું ન હોય ત્યાં સુધી તેના નેટવર્કનો ઉપયોગ કરશો નહીં"</string>
<string name="wifi_avoid_poor_network_detection_summary" msgid="1976503191780928104">"ફક્ત સારું ઇન્ટરનેટ કનેક્શન ધરાવતા નેટવર્કનો જ ઉપયોગ કરો"</string>
<string name="use_open_wifi_automatically_title" msgid="3084513215481454350">"ખુલ્લા નેટવર્કો સાથે કનેક્ટ કરો"</string>
- <string name="use_open_wifi_automatically_summary" msgid="8338020172673161754">"ઉચ્ચ ગુણવત્તાવાળા સાર્વજનિક નેટવર્ક સાથે આપમેળે કનેક્ટ કરો"</string>
+ <string name="use_open_wifi_automatically_summary" msgid="8338020172673161754">"ઉચ્ચ ક્વૉલિટીના સાર્વજનિક નેટવર્ક સાથે ઑટોમૅટિક રીતે કનેક્ટ કરો"</string>
<string name="use_open_wifi_automatically_summary_scoring_disabled" msgid="1559329344492373028">"આ સુવિધાનો ઉપયોગ કરવા માટે, નેટવર્ક રેટિંગ પ્રદાતાને પસંદ કરો"</string>
<string name="use_open_wifi_automatically_summary_scorer_unsupported_disabled" msgid="1123080670578756834">"આ સુવિધાનો ઉપયોગ કરવા માટે, સુસંગત નેટવર્ક રેટિંગ પ્રદાતાને પસંદ કરો"</string>
<string name="wifi_install_credentials" msgid="5650088113710858289">"પ્રમાણપત્રો ઇન્સ્ટૉલ કરો"</string>
@@ -876,8 +876,8 @@
<string name="wifi_cellular_data_fallback_summary" msgid="2721467405851519769">"જ્યારે વાઇ-ફાઇ પાસે ઇન્ટરનેટનો ઍક્સેસ ન હોય, ત્યારે મોબાઇલ ડેટાનો ઉપયોગ કરો. ડેટા વપરાશ શુલ્ક લાગુ થઈ શકે છે."</string>
<string name="wifi_add_network" msgid="4094957940791876640">"નેટવર્ક ઉમેરો"</string>
<string name="wifi_configure_settings_preference_title" msgid="2678534679408777268">"વાઇ-ફાઇ પસંદગીઓ"</string>
- <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="5714892572614655675">"વાઇ-ફાઇ ફરી આપમેળે ચાલુ થાય છે"</string>
- <string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="286904094152909651">"વાઇ-ફાઇ પાછું આપમેળે ચાલુ થતું નથી"</string>
+ <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="5714892572614655675">"વાઇ-ફાઇ ફરી ઑટોમૅટિક રીતે ચાલુ થાય છે"</string>
+ <string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="286904094152909651">"વાઇ-ફાઇ પાછું ઑટોમૅટિક રીતે ચાલુ થતું નથી"</string>
<string name="wifi_access_points" msgid="1647976498906871869">"વાઇ-ફાઇ નેટવર્ક"</string>
<string name="wifi_menu_more_options" msgid="8318269834264035524">"વધુ વિકલ્પો"</string>
<string name="wifi_menu_p2p" msgid="4945665601551289791">"વાઇ-ફાઇ ડાઇરેક્ટ"</string>
@@ -894,7 +894,7 @@
<string name="wifi_more" msgid="3538241640407382185">"વધુ"</string>
<string name="wifi_setup_wps" msgid="6730131677695521321">"ઑટોમૅટિક સેટઅપ (WPS)"</string>
<string name="wifi_settings_scanning_required_title" msgid="3593457187659922490">"વાઇ-ફાઇ સ્કૅનિંગ ચાલુ કરીએ?"</string>
- <string name="wifi_settings_scanning_required_summary" msgid="7469610959462708782">"આપમેળે વાઇ-ફાઇ ચાલુ કરવા માટે, તમારે પહેલા વાઇ-ફાઇ સ્કૅનિંગ ચાલુ કરવું જરૂરી છે."</string>
+ <string name="wifi_settings_scanning_required_summary" msgid="7469610959462708782">"ઑટોમૅટિક રીતે વાઇ-ફાઇ ચાલુ કરવા માટે, તમારે પહેલા વાઇ-ફાઇ સ્કૅનિંગ ચાલુ કરવું જરૂરી છે."</string>
<string name="wifi_settings_scanning_required_info" msgid="5913535073390607386">"વાઇ-ફાઇ બંધ હોય, ત્યારે પણ વાઇ-ફાઇ સ્કૅનિંગ ગમે ત્યારે ઍપ અને સેવાઓને વાઇ-ફાઇ નેટવર્ક સ્કૅન કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ સ્થાન-આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે."</string>
<string name="wifi_settings_scanning_required_turn_on" msgid="4327570180594277049">"ચાલુ કરો"</string>
<string name="wifi_settings_scanning_required_enabled" msgid="3336102100425307040">"વાઇ-ફાઇ સ્કૅનિંગ ચાલુ કર્યું છે"</string>
@@ -924,7 +924,7 @@
<string name="wifi_password" msgid="6942983531275177771">"પાસવર્ડ"</string>
<string name="wifi_show_password" msgid="7878398590772942202">"પાસવર્ડ બતાવો"</string>
<string name="wifi_ap_band_config" msgid="6565016368079288433">"AP બેન્ડ પસંદ કરો"</string>
- <string name="wifi_ap_choose_auto" msgid="7927637960569365785">"આપમેળે"</string>
+ <string name="wifi_ap_choose_auto" msgid="7927637960569365785">"ઑટોમૅટિક રીતે"</string>
<string name="wifi_ap_choose_2G" msgid="43198403259714736">"2.4 GHz બેન્ડ"</string>
<string name="wifi_ap_choose_5G" msgid="2624859713183683146">"5.0 GHz બેન્ડ"</string>
<string name="wifi_ap_prefer_5G" msgid="8339172330471170142">"5.0 GHz બૅન્ડ પસંદ કર્યું"</string>
@@ -1178,10 +1178,10 @@
<string name="color_mode_option_automatic" msgid="6572718611315165117">"સુવિધાજનક"</string>
<string name="color_mode_summary_natural" msgid="1247153893843263340">"માત્ર સચોટ રંગોનો જ ઉપયોગ કરો"</string>
<string name="color_mode_summary_automatic" msgid="6066740785261330514">"આબેહૂબ અને સચોટ રંગો વચ્ચે સમાયોજિત કરો"</string>
- <string name="accelerometer_summary_on" product="tablet" msgid="5750977897791656412">"ટેબ્લેટને ફેરવતી વખતે ઓરિએન્ટેશનને આપમેળે સ્વિચ કરો"</string>
- <string name="accelerometer_summary_on" product="default" msgid="6454733048264875491">"ફોનને ફેરવતી વખતે ઓરિએન્ટેશનને આપમેળે સ્વિચ કરો"</string>
- <string name="accelerometer_summary_off" product="tablet" msgid="2663240868158338608">"ટેબ્લેટને ફેરવતી વખતે ઓરિએન્ટેશનને આપમેળે સ્વિચ કરો"</string>
- <string name="accelerometer_summary_off" product="default" msgid="3366996018631557687">"ફોનને ફેરવતી વખતે ઓરિએન્ટેશનને આપમેળે સ્વિચ કરો"</string>
+ <string name="accelerometer_summary_on" product="tablet" msgid="5750977897791656412">"ટૅબ્લેટને ફેરવતી વખતે ઓરિએન્ટેશનને ઑટોમૅટિક રીતે સ્વિચ કરો"</string>
+ <string name="accelerometer_summary_on" product="default" msgid="6454733048264875491">"ફોનને ફેરવતી વખતે ઓરિએન્ટેશનને ઑટોમૅટિક રીતે સ્વિચ કરો"</string>
+ <string name="accelerometer_summary_off" product="tablet" msgid="2663240868158338608">"ટૅબ્લેટને ફેરવતી વખતે ઓરિએન્ટેશનને ઑટોમૅટિક રીતે સ્વિચ કરો"</string>
+ <string name="accelerometer_summary_off" product="default" msgid="3366996018631557687">"ફોનને ફેરવતી વખતે ઓરિએન્ટેશનને ઑટોમૅટિક રીતે સ્વિચ કરો"</string>
<string name="brightness" msgid="7309120144111305275">"સ્ક્રીનની બ્રાઇટનેસનું સ્તર"</string>
<string name="brightness_title" msgid="5660190946911149690">"તેજ"</string>
<string name="brightness_summary" msgid="8687101964451818730">"સ્ક્રીનનાં તેજને સમાયોજિત કરો"</string>
@@ -1203,7 +1203,7 @@
<string name="auto_brightness_off_summary" msgid="6162650416289359104">"ઉપલબ્ધ લાઇટ માટે સમાયોજિત કરશો નહીં"</string>
<string name="auto_brightness_very_high_summary" msgid="7202032980509583918">"વધારેલ બૅટરી વપરાશ"</string>
<string name="auto_brightness_disclaimer" msgid="5416696351199148809">"ઉપલબ્ધ પ્રકાશ માટેનાં તેજ સ્તરને ઑપ્ટિમાઇઝ કરો. જ્યારે આ સુવિધા ચાલુ હોય, ત્યારે પણ તમે તેજને અસ્થાયી રૂપે સમાયોજિત કરી શકો છો."</string>
- <string name="auto_brightness_description" msgid="8209140379089535411">"તમારી સ્ક્રીનનું બ્રાઇટનેસ તમારા પર્યાવરણ અને પ્રવૃત્તિઓ સાથે આપમેળે ઓછું-વધતું થઈને ગોઠવાશે. તમે સ્લાઇડર મેન્યુઅલી ખસેડીને અડૅપ્ટિવ બ્રાઇટનેસને તમારી પસંદગીઓ જાણવામાં સહાય કરી શકો છો."</string>
+ <string name="auto_brightness_description" msgid="8209140379089535411">"તમારી સ્ક્રીનનું બ્રાઇટનેસ તમારા પર્યાવરણ અને પ્રવૃત્તિઓ સાથે ઑટોમૅટિક રીતે ઓછું-વધતું થઈને ગોઠવાશે. તમે સ્લાઇડર મેન્યુઅલી ખસેડીને અડૅપ્ટિવ બ્રાઇટનેસને તમારી પસંદગીઓ જાણવામાં સહાય કરી શકો છો."</string>
<string name="display_white_balance_title" msgid="5747260735311935143">"વ્હાઇટ બૅલેન્સ ડિસ્પ્લે"</string>
<string name="adaptive_sleep_title" msgid="3237620948260957018">"Screen aware"</string>
<string name="adaptive_sleep_summary_on" msgid="6670369739228487082">"ચાલુ / જો તમે સ્ક્રીન તરફ જોતા હો, તો તમારી સ્ક્રીન બંધ થશે નહીં"</string>
@@ -1222,12 +1222,12 @@
<string name="night_display_temperature_title" msgid="8375126629902616296">"તીવ્રતા"</string>
<string name="night_display_summary_off" msgid="8850539785332228069">"બંધ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="night_display_summary_off_auto_mode_never" msgid="8618824386434992487">"ક્યારેય ઑટોમૅટિક રીતે ચાલુ નહીં થાય"</string>
- <string name="night_display_summary_off_auto_mode_custom" msgid="596847003171394411">"<xliff:g id="ID_1">%1$s</xliff:g> વાગ્યે આપમેળે ચાલુ થઈ જશે"</string>
- <string name="night_display_summary_off_auto_mode_twilight" msgid="4071750976585359952">"સૂર્યાસ્ત સમયે આપમેળે ચાલુ થઈ જશે"</string>
+ <string name="night_display_summary_off_auto_mode_custom" msgid="596847003171394411">"<xliff:g id="ID_1">%1$s</xliff:g> વાગ્યે ઑટોમૅટિક રીતે ચાલુ થઈ જશે"</string>
+ <string name="night_display_summary_off_auto_mode_twilight" msgid="4071750976585359952">"સૂર્યાસ્ત સમયે ઑટોમૅટિક રીતે ચાલુ થઈ જશે"</string>
<string name="night_display_summary_on" msgid="6580571388791426596">"ચાલુ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
- <string name="night_display_summary_on_auto_mode_never" msgid="5461580863060506687">"આપમેળે ક્યારેય બંધ નહીં થાય"</string>
- <string name="night_display_summary_on_auto_mode_custom" msgid="2200631112239399233">"<xliff:g id="ID_1">%1$s</xliff:g> વાગ્યે આપમેળે બંધ થઈ જશે"</string>
- <string name="night_display_summary_on_auto_mode_twilight" msgid="8386769601369289561">"સૂર્યોદય સમયે આપમેળે બંધ થઈ જશે"</string>
+ <string name="night_display_summary_on_auto_mode_never" msgid="5461580863060506687">"ઑટોમૅટિક રીતે ક્યારેય બંધ નહીં થાય"</string>
+ <string name="night_display_summary_on_auto_mode_custom" msgid="2200631112239399233">"<xliff:g id="ID_1">%1$s</xliff:g> વાગ્યે ઑટોમૅટિક રીતે બંધ થઈ જશે"</string>
+ <string name="night_display_summary_on_auto_mode_twilight" msgid="8386769601369289561">"સૂર્યોદય સમયે ઑટોમૅટિક રીતે બંધ થઈ જશે"</string>
<string name="night_display_activation_on_manual" msgid="8379477527072027346">"હમણાં ચાલુ કરો"</string>
<string name="night_display_activation_off_manual" msgid="7776082151269794201">"હમણાં બંધ કરો"</string>
<string name="night_display_activation_on_twilight" msgid="5610294051700287249">"સૂર્યોદય સુધી ચાલુ રાખો"</string>
@@ -1602,7 +1602,7 @@
<string name="master_clear_button_text" product="default" msgid="8000547818499182920">"બધો ડેટા કાઢી નાખો"</string>
<string name="master_clear_final_desc" msgid="5189365498015339294">"તમારી બધી વ્યક્તિગત માહિતી અને ડાઉનલોડ કરેલી ઍપ ડિલીટ કરવામાં આવશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
<string name="master_clear_final_desc_esim" msgid="3058919823436953662">"ડાઉનલોડ કરેલી ઍપ અને સિમ સહિતની તમારી બધી વ્યક્તિગત માહિતી ડિલીટ કરવામાં આવશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
- <string name="master_clear_final_button_text" msgid="866772743886027768">"દરેક વસ્તુ કાઢી નાંખો"</string>
+ <string name="master_clear_final_button_text" msgid="866772743886027768">"દરેક વસ્તુ કાઢી નાખો"</string>
<string name="master_clear_failed" msgid="7588397453984229892">"કોઈ ફરીથી સેટ કરો કરવામાં આવ્યું નથી કારણ કે સિસ્ટમ સાફ સેવા ઉપલબ્ધ નથી."</string>
<string name="master_clear_confirm_title" msgid="698328669893512402">"બધો ડેટા કાઢી નાખીએ?"</string>
<string name="master_clear_not_available" msgid="4676613348163652454">"આ વપરાશકર્તા માટે ફેક્ટરી રીસેટ ઉપલબ્ધ નથી"</string>
@@ -1786,7 +1786,7 @@
<string name="lock_settings_profile_unified_summary" msgid="5347244550751740962">"ઉપકરણ સ્ક્રીન લૉકની સમાન"</string>
<string name="manageapplications_settings_title" msgid="6876782217962262376">"એપ્લિકેશન્સનું સંચાલન કરો"</string>
<string name="manageapplications_settings_summary" msgid="5092964799412478962">"ઇન્સ્ટોલ કરેલ એપ્લિકેશન્સનું સંચાલન કરો અને દૂર કરો"</string>
- <string name="applications_settings" msgid="368331725658793179">"ઍપ્લિકેશનની માહિતી"</string>
+ <string name="applications_settings" msgid="368331725658793179">"ઍપની માહિતી"</string>
<string name="applications_settings_summary" msgid="8888258399577123906">"ઍપ્લિકેશનો સંચાલિત કરો, ઝડપી લોંચ શોર્ટકટ્સ સેટ કરો"</string>
<string name="applications_settings_header" msgid="3766501606045211098">"ઍપ્લિકેશન સેટિંગ્સ"</string>
<string name="install_applications" msgid="7745902974984889179">"અજાણ્યા સ્ત્રોતો"</string>
@@ -1798,7 +1798,7 @@
<string name="install_all_warning" product="device" msgid="9141585291103603515">"તમારું ઉપકરણ અને વ્યક્તિગત ડેટા અજાણી ઍપના હુમલા પ્રતિ વધુ સંવેદનશીલ છે. આ સ્રોત પરથી ઍપ ઇન્સ્ટૉલ કરીને, તમે સંમત થાઓ છો કે તેમનો ઉપયોગ કરવાના પરિણામે તમારા ઉપકરણને થતી કોઈ પણ ક્ષતિ કે ડેટાના નુકસાન માટે તમે જવાબદાર છો."</string>
<string name="advanced_settings" msgid="6282069364060968122">"વિગતવાર સેટિંગ્સ"</string>
<string name="advanced_settings_summary" msgid="5912237062506771716">"વધુ સેટિંગ્સ વિકલ્પો સક્ષમ કરો"</string>
- <string name="application_info_label" msgid="3886253474964599105">"ઍપ્લિકેશન માહિતી"</string>
+ <string name="application_info_label" msgid="3886253474964599105">"ઍપની માહિતી"</string>
<string name="storage_label" msgid="1109537840103290384">"સ્ટોરેજ"</string>
<string name="auto_launch_label" msgid="47089737922907379">"ડિફોલ્ટ તરીકે ખોલો"</string>
<string name="auto_launch_label_generic" msgid="7865828543459493308">"ડિફૉલ્ટ્સ"</string>
@@ -2066,7 +2066,7 @@
<string name="accessibility_shortcut_service_on_lock_screen_title" msgid="1279441617927949980">"લૉક સ્ક્રીન પરથી મંજૂરી આપો"</string>
<string name="accessibility_shortcut_description" msgid="1427049334225166395">"જ્યારે શૉર્ટકટ ચાલુ હોય, ત્યારે ઍક્સેસિબિલિટી સુવિધા શરૂ કરવા માટે તમે બન્ને વૉલ્યૂમ કીને 3 સેકન્ડ સુધી દબાવી રાખી શકો છો."</string>
<string name="accessibility_toggle_high_text_contrast_preference_title" msgid="5652244684961877255">"ઉચ્ચ કોન્ટ્રાસ્ટ ટેક્સ્ટ"</string>
- <string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="2466317284195934003">"સ્ક્રીન વિસ્તૃતીકરણ આપમેળે અપડેટ કરો"</string>
+ <string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="2466317284195934003">"સ્ક્રીન વિસ્તૃતીકરણ ઑટોમૅટિક રીતે અપડેટ કરો"</string>
<string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="6625473745911276917">"ઍપ્લિકેશન સંક્રમણો પર સ્ક્રીન વિસ્તૃતીકરણને અપડેટ કરો"</string>
<string name="accessibility_power_button_ends_call_prerefence_title" msgid="6172987104538172869">"પાવર બટન કૉલને સમાપ્ત કરે છે"</string>
<string name="accessibility_toggle_large_pointer_icon_title" msgid="9127905775116570565">"મોટું માઉસ પોઇન્ટર"</string>
@@ -2089,7 +2089,7 @@
<string name="accessibility_display_inversion_preference_title" msgid="3852635518618938998">"વિપરીત રંગમાં બદલવું"</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="69291255322175323">"કાર્યપ્રદર્શનને અસર થઈ શકે છે"</string>
<string name="accessibility_autoclick_preference_title" msgid="9164599088410340405">"જોવાયાનો સમયગાળો"</string>
- <string name="accessibility_autoclick_description" msgid="5492414927846407499">"જો તમે માઉસનો ઉપયોગ કરી રહ્યાં હોય, તો જ્યારે કર્સર અમુક ચોક્કસ સમય માટે કાર્ય કરતું રોકાઈ જાય ત્યારે તમે તેને આપમેળે ક્રિયા કરવા માટે સેટ કરી શકો છો."</string>
+ <string name="accessibility_autoclick_description" msgid="5492414927846407499">"જો તમે માઉસનો ઉપયોગ કરી રહ્યાં હોય, તો જ્યારે કર્સર અમુક ચોક્કસ સમય માટે કાર્ય કરતું રોકાઈ જાય ત્યારે તમે તેને ઑટોમૅટિક રીતે ક્રિયા કરવા માટે સેટ કરી શકો છો."</string>
<string name="accessibility_autoclick_delay_preference_title" msgid="8303022510942147049">"ક્લિક કરતાં પહેલાં વિલંબ"</string>
<string name="accessibility_vibration_settings_title" msgid="1902649657883159406">"વાઇબ્રેશન"</string>
<string name="accessibility_notification_vibration_title" msgid="1005799039440510298">"નોટિફિકેશન વાઇબ્રેશન"</string>
@@ -2321,7 +2321,7 @@
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="1721081030632329647">"તમારી બધી ઍપ બૅટરીનો વપરાશ સામાન્ય પ્રમાણમાં કરી રહી છે. જો તે બૅટરીનો ઘણો વધુ વપરાશ કરવા માંડશે, તો તમારું ટૅબ્લેટ તમે શું ઍક્શન લઈ શકો તે સૂચવશે.\n\nજો તમારી પાસે બૅટરીમાં ચાર્જ ઓછો રહ્યો હોય, તો તમે કોઈપણ સમયે બૅટરી સેવર ચાલુ કરી શકો છો."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="146872407040848465">"તમારી બધી ઍપ બૅટરીનો વપરાશ સામાન્ય પ્રમાણમાં કરી રહી છે. જો તે બૅટરીનો ઘણો વધુ વપરાશ કરવા માંડશે, તો તમારું ઉપકરણ તમે શું ઍક્શન લઈ શકો તે સૂચવશે.\n\nજો તમારી પાસે બૅટરીમાં ચાર્જ ઓછો રહ્યો હોય, તો તમે કોઈપણ સમયે બૅટરી સેવર ચાલુ કરી શકો છો."</string>
<string name="smart_battery_manager_title" msgid="5744035036663849515">"બૅટરી મેનેજર"</string>
- <string name="smart_battery_title" msgid="4919670408532804351">"ઍપને આપમેળે મેનેજ કરો"</string>
+ <string name="smart_battery_title" msgid="4919670408532804351">"ઍપને ઑટોમૅટિક રીતે મેનેજ કરો"</string>
<string name="smart_battery_summary" msgid="640027046471198174">"જે ઍપનો તમે ઓછો ઉપયોગ કરતા હો, તેના માટે બૅટરી મર્યાદિત કરો"</string>
<string name="smart_battery_footer" product="default" msgid="3971715848890205632">"જ્યારે બૅટરી મેનેજર શોધે છે કે ઍપ બૅટરીનો અતિશય ઉપયોગ કરી રહી છે, ત્યારે તમારી પાસે આ ઍપને પ્રતિબંધિત કરવાનો વિકલ્પ હશે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય નહીં કરી શકે અને નોટિફિકેશન વિલંબિત થઈ શકે છે."</string>
<string name="smart_battery_footer" product="tablet" msgid="3971715848890205632">"જ્યારે બૅટરી મેનેજર શોધે છે કે ઍપ બૅટરીનો અતિશય ઉપયોગ કરી રહી છે, ત્યારે તમારી પાસે આ ઍપને પ્રતિબંધિત કરવાનો વિકલ્પ હશે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય નહીં કરી શકે અને નોટિફિકેશન વિલંબિત થઈ શકે છે."</string>
@@ -2393,7 +2393,7 @@
<string name="usage_type_computed_power" msgid="2594890316149868151">"ગણતરી કારયેલ પાવર ઉપયોગ"</string>
<string name="usage_type_actual_power" msgid="8067253427718526111">"નિરીક્ષિત પાવર ઉપયોગ"</string>
<string name="battery_action_stop" msgid="1866624019460630143">"ફરજિયાત બંધ કરો"</string>
- <string name="battery_action_app_details" msgid="1077011181969550402">"ઍપ્લિકેશન માહિતી"</string>
+ <string name="battery_action_app_details" msgid="1077011181969550402">"ઍપની માહિતી"</string>
<string name="battery_action_app_settings" msgid="587998773852488539">"ઍપ્લિકેશન સેટિંગ્સ"</string>
<string name="battery_action_display" msgid="4887913003634317465">"સ્ક્રીન સેટિંગ્સ"</string>
<string name="battery_action_wifi" msgid="7123520587925323824">"વાઇ-ફાઇ સેટિંગ્સ"</string>
@@ -2447,7 +2447,7 @@
<string name="process_mediaserver_label" msgid="8591722404282619153">"Mediaserver"</string>
<string name="process_dex2oat_label" msgid="8249082119748556085">"ઍપ્લિકેશન ઓપ્ટિમાઇઝેશન"</string>
<string name="battery_saver" msgid="3989710213758938398">"બૅટરી સેવર"</string>
- <string name="battery_saver_auto_title" msgid="4158659069641849952">"આપમેળે ચાલુ કરો"</string>
+ <string name="battery_saver_auto_title" msgid="4158659069641849952">"ઑટોમૅટિક રીતે ચાલુ કરો"</string>
<string name="battery_saver_auto_no_schedule" msgid="739814529432092706">"કોઈ શેડ્યૂલ નથી"</string>
<string name="battery_saver_auto_routine" msgid="886514412067906980">"તમારા નિત્યક્રમ પર આધારિત"</string>
<string name="battery_saver_auto_percentage" msgid="5791982309331921556">"ટકાવારી પર આધારિત"</string>
@@ -2462,7 +2462,7 @@
<skip />
<string name="battery_saver_seekbar_title_placeholder" msgid="2321082163892561703">"ચાલુ કરો"</string>
<string name="battery_saver_primary_switch_title" msgid="1284229065484706156">"બૅટરી સેવરનો ઉપયોગ કરો"</string>
- <string name="battery_saver_turn_on_automatically_title" msgid="7316920304024245838">"આપમેળે ચાલુ કરો"</string>
+ <string name="battery_saver_turn_on_automatically_title" msgid="7316920304024245838">"ઑટોમૅટિક રીતે ચાલુ કરો"</string>
<string name="battery_saver_turn_on_automatically_never" msgid="2623381258359775227">"ક્યારેય નહીં"</string>
<string name="battery_saver_turn_on_automatically_pct" msgid="434270432432390307">"<xliff:g id="PERCENT">%1$s</xliff:g> બૅટરી પર"</string>
<string name="battery_percentage" msgid="7782252476471033843">"બૅટરીના ટકા"</string>
@@ -2563,7 +2563,7 @@
<string name="backup_erase_dialog_title" msgid="8178424339104463014"></string>
<string name="backup_erase_dialog_message" msgid="8767843355330070902">"વાઇ-ફાઇ પાસવર્ડ્સ, બુકમાર્ક્સ, અન્ય સેટિંગ્સ અને ઍપ્લિકેશન ડેટાનો બેકઅપ લેવાનું રોકીએ, તેમજ Google સર્વર્સ પરની બધી કૉપિઝને કાઢી નાખીએ?"</string>
<string name="fullbackup_erase_dialog_message" msgid="2588536036471144070">"ઉપકરણ ડેટા (જેમ કે વાઇ-ફાઇ પાસવર્ડ્સ અને કૉલ ઇતિહાસ) અને ઍપ્લિકેશન ડેટા (જેમ કે સેટિંગ્સ અને ઍપ્લિકેશનો દ્વારા સંગ્રહિત ફાઇલો) નું બેકઅપ લેવાનું રોકીએ, ઉપરાંત રિમોટ સર્વર્સ પરની તમામ કૉપિઝ કાઢી નાખીએ?"</string>
- <string name="fullbackup_data_summary" msgid="406274198094268556">"ઉપકરણ ડેટા (જેમ કે વાઇ-ફાઇ પાસવર્ડ્સ અને કૉલ ઇતિહાસ) અને ઍપ્લિકેશન ડેટા (જેમ કે સેટિંગ્સ અને ઍપ્લિકેશનો દ્વારા સંગ્રહિત ફાઇલો)નો રિમોટલી આપમેળે બેક અપ લો.\n\nજ્યારે તમે સ્વચલિત બેકઅપ ચાલુ કરો છો, ત્યારે ઉપકરણ અને ઍપ્લિકેશન ડેટા સમયાંતરે રિમોટલી સચવાય છે. ઍપ્લિકેશન ડેટા એવો કોઈપણ ડેટા હોઈ શકે જેને કોઈ ઍપ્લિકેશને સાચવ્યો હોય (વિકાસકર્તા સેટિંગ્સનાં આધારે) જેમાં સંપર્કો, સંદેશા અને ફોટો જેવા સંભવિતપણે સંવેદનશીલ ડેટાનો સમાવેશ થાય છે."</string>
+ <string name="fullbackup_data_summary" msgid="406274198094268556">"ડિવાઇસ ડેટા (જેમ કે વાઇ-ફાઇ પાસવર્ડ અને કૉલ ઇતિહાસ) અને ઍપ ડેટા (જેમ કે સેટિંગ અને ઍપ દ્વારા સંગ્રહિત ફાઇલો)નો રિમોટલી ઑટોમૅટિક રીતે બૅકઅપ લો.\n\nજ્યારે તમે ઑટોમૅટિક રીતે બૅકઅપ ચાલુ કરો છો, ત્યારે ડિવાઇસ અને ઍપ ડેટા સમયાંતરે રિમોટલી સચવાય છે. ઍપ ડેટા એવો કોઈપણ ડેટા હોઈ શકે જેને કોઈ ઍપએ સાચવ્યો હોય (ડેવલપર સેટિંગના આધારે) જેમાં સંપર્કો, સંદેશા અને ફોટો જેવા સંભવિતપણે સંવેદનશીલ ડેટાનો સમાવેશ થાય છે."</string>
<string name="device_admin_settings_title" msgid="2074319456047334589">"ઉપકરણ વ્યવસ્થાપક સેટિંગ્સ"</string>
<string name="active_device_admin_msg" msgid="6929247869516924549">"ડિવાઇસ વ્યવસ્થાપક ઍપ્લિકેશન"</string>
<string name="remove_device_admin" msgid="4413438593788336400">"આ ઉપકરણ વ્યવસ્થાપક ઍપ્લિકેશનને નિષ્ક્રિય કરો"</string>
@@ -2606,7 +2606,7 @@
<string name="background_data_summary" msgid="799640633948841990">"ઍપ્લિકેશનો કોઈપણ સમયે ડેટાને સમન્વયિત, મોકલી અને પ્રાપ્ત કરી શકે છે"</string>
<string name="background_data_dialog_title" msgid="8306650658158895976">"બૅકગ્રાઉન્ડ ડેટાને અક્ષમ કરીએ?"</string>
<string name="background_data_dialog_message" msgid="8126774244911656527">"બૅકગ્રાઉન્ડ ડેટાને અક્ષમ કરવું બૅટરીની આવરદા વધારે છે અને ડેટા ઉપયોગને ઓછો કરે છે. કેટલીક ઍપ્લિકેશનો હજી પણ બૅકગ્રાઉન્ડ ડેટા કનેક્શનનો ઉપયોગ કરતી હોઈ શકે છે."</string>
- <string name="sync_automatically" msgid="5746117156896468099">"ઍપ્લિકેશન ડેટાને આપમેળે સિંક કરો"</string>
+ <string name="sync_automatically" msgid="5746117156896468099">"ઍપ ડેટાને ઑટોમૅટિક રીતે સિંક કરો"</string>
<string name="sync_enabled" msgid="535172627223336983">"સમન્વયન ચાલુ છે"</string>
<string name="sync_disabled" msgid="713721807204805062">"સમન્વયન બંધ છે"</string>
<string name="sync_error" msgid="988155155932442765">"સમન્વયન ભૂલ"</string>
@@ -2634,7 +2634,7 @@
<string name="really_remove_account_message" product="device" msgid="3751798556257519916">"આ એકાઉન્ટને કાઢી નાખવાથી તેના બધા સંદેશા, સંપર્કો તેમજ ઉપકરણમાંનો અન્ય ડેટા ડિલીટ થઈ જશે!"</string>
<string name="remove_account_failed" msgid="491458185327106966">"તમારા વ્યવસ્થાપકે આ ફેરફારની મંજૂરી આપી નથી"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"મેન્યુઅલી સમન્વયિત કરી શકાતું નથી"</string>
- <string name="cant_sync_dialog_message" msgid="3467126947262857534">"આ આઇટમ માટે સિંક હાલમાં અક્ષમ કરેલું છે. આ સેટિંગ બદલવા માટે, બૅકગ્રાઉન્ડ ડેટા અને આપમેળે સિંકને અસ્થાયી ધોરણે ચાલુ કરો."</string>
+ <string name="cant_sync_dialog_message" msgid="3467126947262857534">"આ આઇટમ માટે સિંક હાલમાં બંધ કરેલું છે. આ સેટિંગ બદલવા માટે, બૅકગ્રાઉન્ડ ડેટા અને ઑટોમૅટિક સિંકને અસ્થાયી ધોરણે ચાલુ કરો."</string>
<string name="enter_password" msgid="2963496904625715235">"Android પ્રારંભ કરવા માટે, તમારો પાસવર્ડ દાખલ કરો"</string>
<string name="enter_pin" msgid="7140938268709546890">"Android પ્રારંભ કરવા માટે, તમારો પિન દાખલ કરો"</string>
<string name="enter_pattern" msgid="1653841963422825336">"Android પ્રારંભ કરવા માટે, તમારી પૅટર્ન દોરો"</string>
@@ -2652,7 +2652,7 @@
<string name="data_usage_app_summary_title" msgid="8277327968906074983">"મોબાઇલ ડેટા અને Wi‑Fi"</string>
<string name="data_usage_accounting" msgid="4681642832010140640">"કેરિઅર ડેટા એકાઉન્ટિંગ તમારા ઉપકરણથી અલગ હોઈ શકે છે."</string>
<string name="data_usage_app" msgid="4995297799363021198">"ઍપ્લિકેશન વપરાશ"</string>
- <string name="data_usage_app_info_label" msgid="5358288895158910477">"ઍપ્લિકેશન માહિતી"</string>
+ <string name="data_usage_app_info_label" msgid="5358288895158910477">"ઍપની માહિતી"</string>
<string name="data_usage_cellular_data" msgid="3509117353455285808">"મોબાઇલ ડેટા"</string>
<string name="data_usage_data_limit" msgid="4070740691087063670">"ડેટા મર્યાદા સેટ કરો"</string>
<string name="data_usage_cycle" msgid="1877235461828192940">"ડેટા વપરાશ ચક્ર"</string>
@@ -2666,10 +2666,10 @@
<string name="data_usage_menu_show_ethernet" msgid="2130574690318410238">"ઇથરનેટ વપરાશ બતાવો"</string>
<string name="data_usage_menu_hide_ethernet" msgid="1191233197312414533">"ઇથરનેટ વપરાશ છુપાવો"</string>
<string name="data_usage_menu_metered" msgid="3087525150259956831">"નેટવર્ક પ્રતિબંધ"</string>
- <string name="data_usage_menu_auto_sync" msgid="3350154877737572146">"ડેટાને આપમેળે સિંક કરો"</string>
+ <string name="data_usage_menu_auto_sync" msgid="3350154877737572146">"ડેટાને ઑટોમૅટિક રીતે સિંક કરો"</string>
<string name="data_usage_menu_sim_cards" msgid="8508154611676507088">"સિમ કાર્ડ"</string>
<string name="data_usage_cellular_data_summary" msgid="9162777397135709280">"થોભાવવાની મર્યાદા"</string>
- <string name="account_settings_menu_auto_sync" msgid="2673669556006027506">"ડેટાને આપમેળે સિંક કરો"</string>
+ <string name="account_settings_menu_auto_sync" msgid="2673669556006027506">"ડેટાને ઑટોમૅટિક રીતે સિંક કરો"</string>
<string name="account_settings_menu_auto_sync_personal" msgid="3235831897309033754">"વ્યક્તિગત ડેટાને ઑટો સિંક કરો"</string>
<string name="account_settings_menu_auto_sync_work" msgid="5721442464286552815">"ઑફિસના ડેટાને ઑટો સિંક કરો"</string>
<string name="data_usage_change_cycle" msgid="447761920472170031">"ચક્ર બદલો…"</string>
@@ -2704,8 +2704,8 @@
<string name="data_usage_app_restrict_dialog" msgid="4022530391896478031">"આ સુવિધાને કારણે બૅકગ્રાઉન્ડ ડેટા પર આધારિત હોય તે ઍપ્લિકેશન ફક્ત મોબાઇલ નેટવર્કો ઉપલબ્ધ હોય ત્યારે કામ કરતી બંધ થઈ શકે છે.\n\nતમે ઍપ્લિકેશનમાં ઉપલબ્ધ સેટિગ્સમાં વધુ ઉચિત ડેટા વપરાશ નિયંત્રણો મેળવી શકો છો."</string>
<string name="data_usage_restrict_denied_dialog" msgid="18928292832775805">"તમે મોબાઇલ ડેટા મર્યાદા સેટ કરી હોય, માત્ર ત્યારે જ બૅકગ્રાઉન્ડ ડેટાને મર્યાદિત કરવું સંભવ છે."</string>
<string name="data_usage_auto_sync_on_dialog_title" msgid="2342323408229702005">"ડેટા સ્વતઃસમન્વયિત કરો ચાલુ કરીએ?"</string>
- <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="4935430284683238901">"તમે વેબ પર તમારા એકાઉન્ટ્સમાં કરો તે કોઈપણ ફેરફારોને આપમેળે તમારા ફોન પર કૉપિ કરાશે.\n\nકેટલાક એકાઉન્ટ્સ પણ તમે ટેબ્લેટ પર કરો તે ફેરફારોની વેબ પર આપમેળે કૉપિ કરશે. Google એકાઉન્ટ આ પ્રમાણે કાર્ય કરે છે."</string>
- <string name="data_usage_auto_sync_on_dialog" product="default" msgid="5004823486046340090">"તમે વેબ પર તમારા એકાઉન્ટ્સમાં કરો તે કોઈપણ ફેરફારોને આપમેળે તમારા ફોન પર કૉપિ કરાશે.\n\nકેટલાક એકાઉન્ટ્સ પણ તમે ફોન પર કરો તે ફેરફારોની વેબ પર આપમેળે કૉપિ કરશે. Google એકાઉન્ટ આ પ્રમાણે કાર્ય કરે છે."</string>
+ <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="4935430284683238901">"તમે વેબ પર તમારા એકાઉન્ટમાં કરો તે કોઈપણ ફેરફારોને ઑટોમૅટિક રીતે તમારા ફોન પર કૉપિ કરાશે.\n\nકેટલાક એકાઉન્ટ પણ તમે ટૅબ્લેટ પર કરો તે ફેરફારોની વેબ પર ઑટોમૅટિક રીતે કૉપિ કરશે. Google એકાઉન્ટ આ પ્રમાણે કાર્ય કરે છે."</string>
+ <string name="data_usage_auto_sync_on_dialog" product="default" msgid="5004823486046340090">"તમે વેબ પર તમારા એકાઉન્ટમાં કરો તે કોઈપણ ફેરફારોને ઑટોમૅટિક રીતે તમારા ફોન પર કૉપિ કરાશે.\n\nકેટલાક એકાઉન્ટ પણ તમે ફોન પર કરો તે ફેરફારોની વેબ પર ઑટોમૅટિક રીતે કૉપિ કરશે. Google એકાઉન્ટ આ પ્રમાણે કાર્ય કરે છે."</string>
<string name="data_usage_auto_sync_off_dialog_title" msgid="7105334544291643305">"ડેટા ઑટો-સિંક કરો બંધ કરીએ?"</string>
<string name="data_usage_auto_sync_off_dialog" msgid="4057984234450947964">"આમ કરવું તે ડેટા અને બૅટરી વપરાશ બચાવશે, પરંતુ તમારે તાજેતરની માહિતી એકત્રિત કરવા માટે દરેક એકાઉન્ટને મેન્યુઅલી સિંક કરવાની જરૂર પડશે. અને જ્યારે અપડેટ આવશે ત્યારે તમે નોટિફિકેશન પ્રાપ્ત કરી શકશો નહીં."</string>
<string name="data_usage_cycle_editor_title" msgid="4967309390043599889">"વપરાશ સાયકલ ફરીથી સેટ કરવાની તારીખ"</string>
@@ -2733,7 +2733,7 @@
<string name="data_usage_metered_mobile" msgid="3675591449158207593">"મોબાઇલ નેટવર્ક્સ"</string>
<string name="data_usage_metered_wifi" msgid="2955256408132426720">"મીટર કરેલ વાઇ-ફાઇ નેટવર્ક્સ"</string>
<string name="data_usage_metered_wifi_disabled" msgid="5771083253782103415">"મીટર કરેલ નેટવર્ક્સ પસંદ કરવા માટે, વાઇ-ફાઇ ચાલુ કરો."</string>
- <string name="data_usage_metered_auto" msgid="7924116401382629319">"આપમેળે"</string>
+ <string name="data_usage_metered_auto" msgid="7924116401382629319">"ઑટોમૅટિક રીતે"</string>
<string name="data_usage_metered_yes" msgid="7333744880035386073">"મીટર કરેલ"</string>
<string name="data_usage_metered_no" msgid="1961524615778610008">"મીટર કરેલ નથી"</string>
<string name="data_usage_disclaimer" msgid="4683321532922590425">"કેરિઅર ડેટા એકાઉન્ટિંગ તમારા ઉપકરણથી અલગ હોઈ શકે છે."</string>
@@ -3162,7 +3162,7 @@
<string name="emergency_tone_vibrate" msgid="5020068066905681181">"વાઇબ્રેશન"</string>
<string name="boot_sounds_title" msgid="7583926202411353620">"ચાલુ થવા પર વાગનાર ધ્વનિ"</string>
<string name="live_caption_title" msgid="7926591158657997051">"લાઇવ કૅપ્શન"</string>
- <string name="live_caption_summary" msgid="9064771862352393125">"મીડિયામાં કૅપ્શન આપમેળે ઉમેરો"</string>
+ <string name="live_caption_summary" msgid="9064771862352393125">"મીડિયામાં કૅપ્શન ઑટોમૅટિક રીતે ઉમેરો"</string>
<string name="zen_mode_settings_summary_off" msgid="6929319200478424962">"ક્યારેય નહીં"</string>
<plurals name="zen_mode_settings_summary_on" formatted="false" msgid="6061723291126091396">
<item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> શેડ્યૂલ ઑટોમૅટિક રીતે ચાલુ કર્યું</item>
@@ -3234,8 +3234,8 @@
<string name="zen_mode_button_turn_off" msgid="3990967728457149454">"હમણાં બંધ કરો"</string>
<string name="zen_mode_settings_dnd_manual_end_time" msgid="4307574188962071429">"ખલેલ પાડશો નહીં મોડ <xliff:g id="FORMATTED_TIME">%s</xliff:g> સુધી ચાલુ છે"</string>
<string name="zen_mode_settings_dnd_manual_indefinite" msgid="3701005376825238752">"ખલેલ પાડશો નહીં મોડને તમે જ્યાં સુધી બંધ નહીં કરો ત્યાં સુધી તે ચાલુ રહેશે."</string>
- <string name="zen_mode_settings_dnd_automatic_rule" msgid="2843297614114625408">"ખલેલ પાડશો નહીં મોડ શેડ્યૂલ (<xliff:g id="RULE_NAME">%s</xliff:g>) નિયમ દ્વારા આપમેળે ચાલુ કરવામાં આવ્યો હતો"</string>
- <string name="zen_mode_settings_dnd_automatic_rule_app" msgid="5103454923160912313">"ખલેલ પાડશો નહીં મોડ એક <xliff:g id="APP_NAME">%s</xliff:g> ઍપ દ્વારા આપમેળે ચાલુ કરવામાં આવ્યું હતું"</string>
+ <string name="zen_mode_settings_dnd_automatic_rule" msgid="2843297614114625408">"ખલેલ પાડશો નહીં મોડ શેડ્યૂલ (<xliff:g id="RULE_NAME">%s</xliff:g>) નિયમ દ્વારા ઑટોમૅટિક રીતે ચાલુ કરવામાં આવ્યો હતો"</string>
+ <string name="zen_mode_settings_dnd_automatic_rule_app" msgid="5103454923160912313">"ખલેલ પાડશો નહીં મોડ એક <xliff:g id="APP_NAME">%s</xliff:g> ઍપ દ્વારા ઑટોમૅટિક રીતે ચાલુ કરવામાં આવ્યું હતું"</string>
<string name="zen_mode_settings_dnd_custom_settings_footer" msgid="6335108298640066560">"કસ્ટમ સેટિંગ સાથે ખલેલ પાડશો નહીંની સુવિધા <xliff:g id="RULE_NAMES">%s</xliff:g> માટે ચાલુ છે."</string>
<string name="zen_mode_settings_dnd_custom_settings_footer_link" msgid="4007974052885089379"><annotation id="link">" કસ્ટમ સેટિંગ જુઓ"</annotation></string>
<string name="zen_interruption_level_priority" msgid="9178419297408319234">"માત્ર પ્રાધાન્યતા"</string>
@@ -3244,13 +3244,13 @@
<string name="zen_mode_sound_summary_off_with_info" msgid="3910718455243440265">"બંધ કરો / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="zen_mode_sound_summary_off" msgid="2800265178411749309">"બંધ કરો"</string>
<string name="zen_mode_sound_summary_on" msgid="6964666541479146310">"ચાલુ"</string>
- <string name="zen_mode_duration_summary_always_prompt" msgid="7642321938427056823">"દર વખતે પૂછો (જો આપમેળે ચાલુ નહીં થાય તો)"</string>
- <string name="zen_mode_duration_summary_forever" msgid="4563938129424903030">"તમે બંધ કરો ત્યાં સુધી (જો આપમેળે ચાલુ નહીં થાય તો)"</string>
+ <string name="zen_mode_duration_summary_always_prompt" msgid="7642321938427056823">"દર વખતે પૂછો (જો ઑટોમૅટિક રીતે ચાલુ ન થાય તો)"</string>
+ <string name="zen_mode_duration_summary_forever" msgid="4563938129424903030">"તમે બંધ કરો ત્યાં સુધી (જો ઑટોમૅટિક રીતે ચાલુ ન થાય તો)"</string>
<plurals name="zen_mode_duration_summary_time_hours" formatted="false" msgid="8872000022033647725">
- <item quantity="one"><xliff:g id="NUM_HOURS">%d</xliff:g> કલાક (જો આપમેળે ચાલુ નહીં થાય તો)</item>
- <item quantity="other"><xliff:g id="NUM_HOURS">%d</xliff:g> કલાક (જો આપમેળે ચાલુ નહીં થાય તો)</item>
+ <item quantity="one"><xliff:g id="NUM_HOURS">%d</xliff:g> કલાક (જો ઑટોમૅટિક રીતે ચાલુ ન થાય તો)</item>
+ <item quantity="other"><xliff:g id="NUM_HOURS">%d</xliff:g> કલાક (જો ઑટોમૅટિક રીતે ચાલુ ન થાય તો)</item>
</plurals>
- <string name="zen_mode_duration_summary_time_minutes" msgid="6988728116715208859">"<xliff:g id="NUM_MINUTES">%d</xliff:g> મિનિટ (જો આપમેળે ચાલુ નહીં થાય તો)"</string>
+ <string name="zen_mode_duration_summary_time_minutes" msgid="6988728116715208859">"<xliff:g id="NUM_MINUTES">%d</xliff:g> મિનિટ (જો ઑટોમૅટિક રીતે ચાલુ ન થાય તો)"</string>
<plurals name="zen_mode_sound_summary_summary_off_info" formatted="false" msgid="8527428833487709278">
<item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> શેડ્યૂલ ઑટોમૅટિક રીતે ચાલુ થઈ શકશે</item>
<item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> શેડ્યૂલ ઑટોમૅટિક રીતે ચાલુ થઈ શકશે</item>
@@ -3446,13 +3446,13 @@
<string name="zen_mode_delete_rule_confirmation" msgid="2646596466259025978">"<xliff:g id="RULE">%1$s</xliff:g> નિયમ કાઢી નાખીએ?"</string>
<string name="zen_mode_delete_rule_button" msgid="611058106279881991">"ડિલીટ કરો"</string>
<string name="zen_mode_rule_type_unknown" msgid="2819480113355191421">"અજાણ્યું"</string>
- <string name="zen_mode_app_set_behavior" msgid="8597398780262575571">"આ સેટિંગ હમણાં જ બદલી શકાશે નહીં. આ (<xliff:g id="APP_NAME">%1$s</xliff:g>) ઍપએ આપમેળે ખલેલ પાડશો નહીં મોડ કસ્ટમ વર્તન સાથે ચાલુ કર્યું છે."</string>
- <string name="zen_mode_unknown_app_set_behavior" msgid="5666462954329932302">"આ સેટિંગ હમણાં જ બદલી શકાશે નહીં. એક ઍપએ આપમેળે ખલેલ પાડશો નહીં મોડ કસ્ટમ વર્તન સાથે ચાલુ કર્યું છે."</string>
+ <string name="zen_mode_app_set_behavior" msgid="8597398780262575571">"આ સેટિંગ હમણાં બદલી શકાશે નહીં. આ (<xliff:g id="APP_NAME">%1$s</xliff:g>) ઍપએ ઑટોમૅટિક રીતે ખલેલ પાડશો નહીં મોડ કસ્ટમ વર્તન સાથે ચાલુ કર્યું છે."</string>
+ <string name="zen_mode_unknown_app_set_behavior" msgid="5666462954329932302">"આ સેટિંગ હમણાં બદલી શકાશે નહીં. એક ઍપએ ઑટોમૅટિક રીતે ખલેલ પાડશો નહીં મોડ કસ્ટમ વર્તન સાથે ચાલુ કર્યું છે."</string>
<string name="zen_mode_qs_set_behavior" msgid="788646569296973998">"આ સેટિંગ હમણાં જ બદલી શકાશે નહીં. ખલેલ પાડશો નહીં મોડ કસ્ટમ વર્તન સાથે મેન્યુઅલી ચાલુ કરવામાં આવ્યું હતું."</string>
<string name="zen_schedule_rule_type_name" msgid="4516851728113801329">"સમય"</string>
- <string name="zen_schedule_rule_enabled_toast" msgid="1742354493045049048">"ઉલ્લેખિત સમય દરમિયાન ખલેલ પાડશો નહીં ચાલુ કરવા માટે આપમેળે નિયમ સેટ કર્યો"</string>
+ <string name="zen_schedule_rule_enabled_toast" msgid="1742354493045049048">"ઉલ્લેખિત સમય દરમિયાન ખલેલ પાડશો નહીં ચાલુ કરવા માટે ઑટોમૅટિક રીતે નિયમ સેટ કર્યો"</string>
<string name="zen_event_rule_type_name" msgid="7467729997336583342">"ઇવેન્ટ"</string>
- <string name="zen_event_rule_enabled_toast" msgid="7087368268966855976">"ઉલ્લેખિત ઇવેન્ટ્સ દરમિયાન ખલેલ પાડશો નહીં ચાલુ કરવા માટે આપમેળે નિયમ સેટ કર્યો"</string>
+ <string name="zen_event_rule_enabled_toast" msgid="7087368268966855976">"ઉલ્લેખિત ઇવેન્ટ દરમિયાન \'ખલેલ પાડશો નહીં\' ચાલુ કરવા માટે ઑટોમૅટિક રીતે નિયમ સેટ કર્યો"</string>
<string name="zen_mode_event_rule_calendar" msgid="6088077103908487442">"આ માટેની ઇવેન્ટ્સ દરમિયાન"</string>
<string name="zen_mode_event_rule_summary_calendar_template" msgid="4027207992040792657">"<xliff:g id="CALENDAR">%1$s</xliff:g> માટેની ઇવેન્ટ્સ દરમિયાન"</string>
<string name="zen_mode_event_rule_summary_any_calendar" msgid="7590085295784895885">"કોઈપણ કૅલેન્ડર"</string>
@@ -3525,7 +3525,7 @@
<string name="zen_mode_calls_summary_two" msgid="9017678770532673578">"<xliff:g id="CALLER_TYPE">%1$s</xliff:g> અને <xliff:g id="CALLERT_TPYE">%2$s</xliff:g>ની મંજૂરી આપો"</string>
<string name="zen_mode_repeat_callers_summary" msgid="1752513516040525545">"જો <xliff:g id="MINUTES">%d</xliff:g> મીનિટના સમયગાળા દરમ્યાન તે જ વ્યક્તિ પાછી કૉલ કરે તો"</string>
<string name="zen_mode_behavior_summary_custom" msgid="3909532602640130841">"કસ્ટમ"</string>
- <string name="zen_mode_when" msgid="7835420687948416255">"આપમેળે ચાલુ"</string>
+ <string name="zen_mode_when" msgid="7835420687948416255">"ઑટોમૅટિક રીતે ચાલુ"</string>
<string name="zen_mode_when_never" msgid="4506296396609224524">"ક્યારેય નહીં"</string>
<string name="zen_mode_when_every_night" msgid="3942151668791426194">"દર રાત્રે"</string>
<string name="zen_mode_when_weeknights" msgid="2412709309122408474">"સપ્તાહાંત સિવાયની રાત્રે"</string>
@@ -3792,7 +3792,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g> માટે ખલેલ પહોંચાડશો નહિ ની એક્સેસ રદબાતલ કરીએ?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"આ ઍપ્લિકેશન દ્વારા બનાવાયેલ તમામ ખલેલ પહોંચાડશો નહિ નિયમો દૂર કરવામાં આવશે."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"ઓપ્ટિમાઇઝ કરશો નહીં"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"ઓપ્ટિમાઇઝ કરો"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"Optimize"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"તમારી બૅટરી વધુ ઝડપથી ખાલી થઈ શકે છે. ઍપ હવે બૅકગ્રાઉન્ડ બૅટરીનો ઉપયોગ કરવાથી પ્રતિબંધિત રહેશે નહીં."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"બહેતર બૅટરી આવરદા માટે ભલામણ કરેલ"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"બૅટરી ઓપ્ટિમાઇઝેશન્સને અવગણવા માટે <xliff:g id="APP">%s</xliff:g> ને મંજૂરી આપીએ?"</string>
@@ -3907,7 +3907,7 @@
<string name="condition_device_vibrate_title" msgid="5712659354868872338">"માત્ર વાઇબ્રેશન"</string>
<string name="condition_device_vibrate_summary" msgid="9073880731894828604">"કૉલ અને નોટિફિકેશન માટે"</string>
<string name="night_display_suggestion_title" msgid="4222839610992282188">"રાત્રિ પ્રકાશ માટે શેડ્યૂલ સેટ કરો"</string>
- <string name="night_display_suggestion_summary" msgid="1754361016383576916">"દરરોજ રાત્રે સ્ક્રીનની રંગછટા આપમેળે ઓછીવધતી કરો"</string>
+ <string name="night_display_suggestion_summary" msgid="1754361016383576916">"દરરોજ રાત્રે સ્ક્રીનની રંગછટા ઑટોમૅટિક રીતે ઓછીવધતી કરો"</string>
<string name="condition_night_display_title" msgid="9171491784857160135">"રાત્રિ પ્રકાશ ચાલુ છે"</string>
<string name="condition_night_display_summary" msgid="7885776986937527558">"સ્ક્રીન પર પીળાશ પડતી નારંગી રંગની છટા"</string>
<string name="condition_grayscale_title" msgid="1226351649203551299">"ગ્રેસ્કેલ"</string>
@@ -4158,8 +4158,8 @@
<string name="account_for_section_header" msgid="5975241715840642563">"<xliff:g id="USER_NAME">%1$s</xliff:g> માટેના એકાઉન્ટ"</string>
<string name="configure_section_header" msgid="6988981883075615136">"ગોઠવો"</string>
<string name="auto_sync_account_title" msgid="2394463123733529506">"ડેટાને ઑટોમૅટિક રીતે સિંક કરો"</string>
- <string name="auto_sync_personal_account_title" msgid="6844465157916100655">"વ્યક્તિગત ડેટાનું આપમેળે સમન્વયન કરો"</string>
- <string name="auto_sync_work_account_title" msgid="2403222633447522376">"કાર્ય ડેટાનું આપમેળે સમન્વયન કરો"</string>
+ <string name="auto_sync_personal_account_title" msgid="6844465157916100655">"વ્યક્તિગત ડેટાને ઑટોમૅટિક રીતે સિંક કરો"</string>
+ <string name="auto_sync_work_account_title" msgid="2403222633447522376">"કાર્ય ડેટાને ઑટોમૅટિક રીતે સિંક કરો"</string>
<string name="auto_sync_account_summary" msgid="6316230976974033772">"ઍપને ઑટોમૅટિક રીતે ડેટાને રિફ્રેશ કરવા દો"</string>
<string name="account_sync_title" msgid="1570164819114297154">"એકાઉન્ટ સિંક"</string>
<string name="account_sync_summary_some_on" msgid="1934556869158274053">"<xliff:g id="ID_2">%2$d</xliff:g> માંથી <xliff:g id="ID_1">%1$d</xliff:g> આઇટમ માટે સમન્વયન ચાલુ છે"</string>
@@ -4253,13 +4253,13 @@
<string name="webview_disabled_for_user" msgid="8057805373224993504">"(વપરાશકર્તા <xliff:g id="USER">%s</xliff:g> માટે અક્ષમ કરેલ)"</string>
<string name="autofill_app" msgid="3990765434980280073">"સ્વતઃભરણ સેવા"</string>
<string name="autofill_keywords" msgid="7717726766232862218">"સ્વતઃ, ભરો, સ્વતઃભરણ"</string>
- <string name="autofill_confirmation_message" msgid="1385894598730361304">"<b>ખાતરી કરો કે તમે આ ઍપ્લિકેશનનો વિશ્વાસ કરો છો</b> <br/> <br/> <xliff:g id=app_name example=Google આપમેળે>%1$s</xliff:g> તમારી સ્ક્રીન પર શું છે તેનો ઉપયોગ એ નક્કી કરવા કરે છે કે આપમેળે શું દાખલ થશે."</string>
- <string name="debug_autofill_category" msgid="6262526615416295645">"આપમેળે ભરવાની સેટિંગ"</string>
+ <string name="autofill_confirmation_message" msgid="1385894598730361304">"<b>ખાતરી કરો કે તમે આ ઍપનો વિશ્વાસ કરો છો</b> <br/> <br/> <xliff:g id=app_name example=Google ઑટોમૅટિક રીતે ભરવાની સુવિધા>%1$s</xliff:g> તમારી સ્ક્રીન પર શું છે તેનો ઉપયોગ એ નક્કી કરવા કરે છે કે ઑટોમૅટિક રીતે શું દાખલ થશે."</string>
+ <string name="debug_autofill_category" msgid="6262526615416295645">"ઑટોમૅટિક રીતે ભરવાની સુવિધા"</string>
<string name="autofill_logging_level_title" msgid="2577340324541102626">"લૉગિંગનું સ્તર"</string>
<string name="autofill_max_partitions" msgid="125269645910590057">"સત્ર દીઠ મહત્તમ વિનંતીઓ"</string>
<string name="autofill_max_visible_datasets" msgid="2791081640248423492">"જોઈ શકાતા મહત્તમ ડેટાસેટની સંખ્યા"</string>
<string name="autofill_reset_developer_options" msgid="7208417230269613101">"ડિફૉલ્ટ મૂલ્યો પર રીસેટ કરો"</string>
- <string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"આપમેળે ભરવાના ડેવલપરના વિકલ્પો રીસેટ કરવામાં આવ્યા છે"</string>
+ <string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"ઑટોમૅટિક રીતે ભરવાના ડેવલપરના વિકલ્પો રીસેટ કરવામાં આવ્યા છે"</string>
<string name="device_theme" msgid="8992291311481135893">"ઉપકરણની થીમ"</string>
<string name="default_theme" msgid="5986996377385956138">"ડિફૉલ્ટ"</string>
<string name="show_operator_name_title" msgid="5056163028128447308">"નેટવર્કનું નામ"</string>
diff --git a/tests/CarDeveloperOptions/res/values-hi/strings.xml b/tests/CarDeveloperOptions/res/values-hi/strings.xml
index 859639a..1840d72 100644
--- a/tests/CarDeveloperOptions/res/values-hi/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-hi/strings.xml
@@ -2528,7 +2528,7 @@
<string name="credentials_install_summary" product="nosdcard" msgid="3426661965567059596">"मेमोरी से प्रमाणपत्र इंस्टॉल करें"</string>
<string name="credentials_install_summary" product="default" msgid="4943897416156671633">"SD कार्ड से प्रमाणपत्र इंस्टॉल करें"</string>
<string name="credentials_reset" msgid="355080737664731678">"क्रेडेंशियल मिटाएं"</string>
- <string name="credentials_reset_summary" msgid="7622528359699428555">"सभी प्रमाणपत्र मिटाएं"</string>
+ <string name="credentials_reset_summary" msgid="7622528359699428555">"सभी सर्टिफ़िकेट मिटाएं"</string>
<string name="trusted_credentials" msgid="6989242522455395200">"भरोसेमंद क्रेडेंशियल"</string>
<string name="trusted_credentials_summary" msgid="7411781319056251582">"भरोसेमंद सीए प्रमाणपत्र दिखाएं"</string>
<string name="user_credentials" msgid="8365731467650306757">"यूज़र क्रेडेंशियल"</string>
@@ -2976,7 +2976,7 @@
<string name="restriction_nfc_enable_summary_config" msgid="405349698260328073">"जब यह <xliff:g id="DEVICE_NAME">%1$s</xliff:g> किसी अन्य NFC डिवाइस को छुए तब डेटा का लेन-देन होने दें"</string>
<string name="restriction_nfc_enable_summary" product="tablet" msgid="3292205836938064931">"जब टैबलेट अन्य डिवाइस को स्पर्श करे तो डेटा ट्रांसफर करने दें"</string>
<string name="restriction_nfc_enable_summary" product="default" msgid="226439584043333608">"जब फ़ोन दूसरे डिवाइस को टच करे तो डेटा ट्रांसफर करने दें"</string>
- <string name="restriction_location_enable_title" msgid="358506740636434856">"जगह"</string>
+ <string name="restriction_location_enable_title" msgid="358506740636434856">"जगह की जानकारी"</string>
<string name="restriction_location_enable_summary" msgid="4159500201124004463">"ऐप को आपकी जगह की जानकारी का इस्तेमाल करने दें"</string>
<string name="wizard_back" msgid="223654213898117594">"वापस जाएं"</string>
<string name="wizard_next" msgid="5239664512608113542">"आगे बढ़ें"</string>
@@ -3792,7 +3792,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g> के लिए परेशान न करें की पहुंच रद्द करें?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"इस ऐप के द्वारा, परेशान न करें के लिए बनाए गए सभी नियम निकाल दिए जाएंगे."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"ऑप्टिमाइज़ ना करें"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"ऑप्टिमाइज़ करें"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"ऑप्टिमाइज़ करें"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"इससे आपके डिवाइस की बैटरी तेज़ी से खर्च हो सकती है. यह सेटिंग चालू करने के बाद, ऐप्लिकेशन को बैकग्राउंड में बैटरी इस्तेमाल करने से नहीं रोका जाएगा."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"बेहतर बैटरी जीवनकाल के लिए सुझाया गया"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"<xliff:g id="APP">%s</xliff:g> को बैटरी ऑप्टिमाइज़ेशन को अनदेखा करने की अनुमति दें?"</string>
@@ -4157,7 +4157,7 @@
<string name="automatic_storage_manager_activation_warning" msgid="2630083316417707308">"आपकी जगह का प्रबंधन अब जगह प्रबंधक द्वारा किया जा रहा है"</string>
<string name="account_for_section_header" msgid="5975241715840642563">"<xliff:g id="USER_NAME">%1$s</xliff:g> के खाते"</string>
<string name="configure_section_header" msgid="6988981883075615136">"कॉन्फ़िगर करें"</string>
- <string name="auto_sync_account_title" msgid="2394463123733529506">"डेटा को अपने आप सिंक करें"</string>
+ <string name="auto_sync_account_title" msgid="2394463123733529506">"डेटा को अपने-आप सिंक होने दें"</string>
<string name="auto_sync_personal_account_title" msgid="6844465157916100655">"व्यक्तिगत डेटा अपने आप सिंक करें"</string>
<string name="auto_sync_work_account_title" msgid="2403222633447522376">"दफ़्तर डेटा अपने आप सिंक करें"</string>
<string name="auto_sync_account_summary" msgid="6316230976974033772">"ऐप्लिकेशन को डेटा अपने-आप रीफ्रे़श करने दें"</string>
diff --git a/tests/CarDeveloperOptions/res/values-hu/strings.xml b/tests/CarDeveloperOptions/res/values-hu/strings.xml
index 27c9e9b..a56e2c6 100644
--- a/tests/CarDeveloperOptions/res/values-hu/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-hu/strings.xml
@@ -1458,7 +1458,7 @@
<string name="storage_detail_system" msgid="6784247618772153283">"Rendszer"</string>
<string name="storage_detail_explore" msgid="8206900269596580264">"<xliff:g id="NAME">^1</xliff:g> felfedezése"</string>
<string name="storage_detail_dialog_other" msgid="5073511663616043370">"Az Egyéb kategóriába tartoznak az alkalmazások által mentett megosztott fájlok, az internetről, illetve Bluetooth-kapcsolaton keresztül letöltött fájlok, az androidos fájlok stb. \n\nA(z) <xliff:g id="NAME">^1</xliff:g> látható tartalmainak megtekintéséhez koppintson a Felfedezés lehetőségre."</string>
- <string name="storage_detail_dialog_system" msgid="1472572861360014226">"A rendszer tartalmaz <xliff:g id="VERSION">%s</xliff:g> verziójú Android futtatásához használt fájlokat"</string>
+ <string name="storage_detail_dialog_system" msgid="1472572861360014226">"A rendszer az Android <xliff:g id="VERSION">%s</xliff:g>. verziójának futtatásához használt fájlokat tartalmaz"</string>
<string name="storage_detail_dialog_user" msgid="1663117417635010371">"Lehetséges, hogy <xliff:g id="USER_0">^1</xliff:g> felhasználó fotókat, zenét, alkalmazásokat vagy más adatokat mentett, amihez <xliff:g id="SIZE">^2</xliff:g> tárhelyet használt fel.\n\nA részleteket megtekintheti, ha átvált a következő felhasználóra: <xliff:g id="USER_1">^1</xliff:g>."</string>
<string name="storage_wizard_init_title" msgid="3407283236421089014">"<xliff:g id="NAME">^1</xliff:g> – beállítás"</string>
<string name="storage_wizard_init_external_title" msgid="6853250619674645478">"Használat hordozható tárolóként"</string>
diff --git a/tests/CarDeveloperOptions/res/values-hy/strings.xml b/tests/CarDeveloperOptions/res/values-hy/strings.xml
index eed1df7..5dd1286 100644
--- a/tests/CarDeveloperOptions/res/values-hy/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-hy/strings.xml
@@ -1888,7 +1888,7 @@
<string name="app_install_location_title" msgid="5121617802063021720">"Տեղադրման նախընտրած վայրը"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Փոխել նոր ծրագրերի համար նախընտրած տեղադրման վայրը"</string>
<string name="app_disable_dlg_positive" msgid="5508828271100168073">"Անջատել հավելվածը"</string>
- <string name="app_disable_dlg_text" msgid="9221864774943530281">"Եթե անջատեք այս հավելվածը, համակարգը և այլ հավելվածներ հնարավոր է՝ սխալներով աշխատեն: Դուք չեք կարող ջնջել այս հավելվածը, քանի որ այն նախապես տեղադրված է եղել ձեր սարքում։ Անջատելու դեպքում հավելվածը կդադարի աշխատել և կթաքցվի։"</string>
+ <string name="app_disable_dlg_text" msgid="9221864774943530281">"Եթե անջատեք այս հավելվածը, համակարգը և այլ հավելվածներ հնարավոր է սխալներով աշխատեն: Դուք չեք կարող ջնջել այս հավելվածը, քանի որ այն նախապես տեղադրված է եղել ձեր սարքում։ Անջատելու դեպքում հավելվածը կդադարի աշխատել և կթաքցվի։"</string>
<string name="app_disable_notifications_dlg_title" msgid="699530661413553928">"Անջատե՞լ ծանուցումները:"</string>
<string name="app_install_details_group_title" msgid="2909597319422976921">"Խանութ"</string>
<string name="app_install_details_title" msgid="6954953384372934881">"Հավելվածի մասին"</string>
@@ -4259,7 +4259,7 @@
<string name="autofill_max_partitions" msgid="125269645910590057">"Առավելագույն հարցումների թիվը աշխատաշրջանի համար"</string>
<string name="autofill_max_visible_datasets" msgid="2791081640248423492">"Տեսանելի տվյալակազմերի առավելագույն քանակը"</string>
<string name="autofill_reset_developer_options" msgid="7208417230269613101">"Վերականգնել կանխադրված արժեքները"</string>
- <string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"Ինքնալրացման կարգավորումները վերակայվեցին"</string>
+ <string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"Ինքնալրացման կարգավորումները զրոյացվեցին"</string>
<string name="device_theme" msgid="8992291311481135893">"Սարքի թեման"</string>
<string name="default_theme" msgid="5986996377385956138">"Կանխադրված"</string>
<string name="show_operator_name_title" msgid="5056163028128447308">"Ցանցի անունը"</string>
diff --git a/tests/CarDeveloperOptions/res/values-in/strings.xml b/tests/CarDeveloperOptions/res/values-in/strings.xml
index 6a30305..f656f9d 100644
--- a/tests/CarDeveloperOptions/res/values-in/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-in/strings.xml
@@ -113,7 +113,7 @@
<string name="bluetooth_disconnect_all_profiles" product="device" msgid="4707569949253450208">"Sambungan perangkat Anda ke <xliff:g id="DEVICE_NAME">%1$s</xliff:g> akan terputus."</string>
<string name="bluetooth_disconnect_dialog_ok" msgid="4183522987246110145">"Putuskan sambungan"</string>
<string name="bluetooth_empty_list_user_restricted" msgid="3616298363281495777">"Anda tidak memiliki izin untuk mengubah setelan Bluetooth."</string>
- <string name="bluetooth_pairing_pref_title" msgid="2904954138013884029">"Sambungkan perangkat baru"</string>
+ <string name="bluetooth_pairing_pref_title" msgid="2904954138013884029">"Hubungkan perangkat baru"</string>
<string name="bluetooth_is_visible_message" msgid="6341088682252805612">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> dapat dilihat oleh perangkat lain di sekitar saat Setelan Bluetooth dibuka."</string>
<string name="bluetooth_footer_mac_message" product="default" msgid="335341476746836260">"Alamat Bluetooth ponsel: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_footer_mac_message" product="tablet" msgid="6033609611245782463">"Alamat Bluetooth tablet: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
@@ -152,8 +152,8 @@
<string name="bluetooth_turning_on" msgid="6935183036449748493">"Menyalakan Bluetooth..."</string>
<string name="bluetooth_turning_off" msgid="9214026723789756620">"Mematikan Bluetooth…"</string>
<string name="bluetooth_connection_permission_request" msgid="2382506002340643398">"Permintaan sambungan bluetooth"</string>
- <string name="bluetooth_connection_notif_message" msgid="6824654400460127108">"Ketuk untuk menyambung ke \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string>
- <string name="bluetooth_connection_dialog_text" msgid="5454660775522235951">"Sambungkan ke \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"?"</string>
+ <string name="bluetooth_connection_notif_message" msgid="6824654400460127108">"Ketuk untuk menghubungkan ke \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string>
+ <string name="bluetooth_connection_dialog_text" msgid="5454660775522235951">"Hubungkan ke \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"?"</string>
<string name="bluetooth_phonebook_request" msgid="3728325388092719230">"Permintaan akses buku telepon"</string>
<string name="bluetooth_pb_acceptance_dialog_text" msgid="2880630715123354820">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ingin mengakses kontak dan histori panggilan. Berikan akses ke <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>?"</string>
<string name="bluetooth_remember_choice" msgid="5557832673688613557">"Jangan tanya lagi"</string>
@@ -165,7 +165,7 @@
<string name="bluetooth_device_name_summary" msgid="8661066392056595005">"Terlihat sebagai “<xliff:g id="DEVICE_NAME">^1</xliff:g>” oleh perangkat lain"</string>
<string name="bluetooth_off_footer" msgid="7658444560543730571">"Aktifkan Bluetooth untuk menghubungkan ke perangkat lain."</string>
<string name="bluetooth_paired_device_title" msgid="8361860197780425286">"Perangkat Anda"</string>
- <string name="bluetooth_pairing_page_title" msgid="9053463656712597709">"Sambungkan perangkat baru"</string>
+ <string name="bluetooth_pairing_page_title" msgid="9053463656712597709">"Hubungkan perangkat baru"</string>
<string name="bluetooth_pref_summary" product="tablet" msgid="3601662966604648212">"Memungkinkan tablet Anda berkomunikasi dengan perangkat Bluetooth di sekitar"</string>
<string name="bluetooth_pref_summary" product="device" msgid="2286727776570956969">"Memungkinkan perangkat Anda berkomunikasi dengan perangkat Bluetooth di sekitar"</string>
<string name="bluetooth_pref_summary" product="default" msgid="863659221858781186">"Memungkinkan ponsel Anda berkomunikasi dengan perangkat Bluetooth di sekitar"</string>
@@ -178,7 +178,7 @@
<string name="connected_device_available_call_title" msgid="6774859446815858428">"Perangkat panggilan yang tersedia"</string>
<string name="connected_device_connected_title" msgid="6255107326608785482">"Tersambung saat ini"</string>
<string name="connected_device_saved_title" msgid="8270136893488475163">"Perangkat yang tersimpan"</string>
- <string name="connected_device_add_device_summary" msgid="7960491471270158891">"Bluetooth akan diaktifkan untuk menyambungkan"</string>
+ <string name="connected_device_add_device_summary" msgid="7960491471270158891">"Bluetooth akan diaktifkan untuk menghubungkan"</string>
<string name="connected_device_connections_title" msgid="9205000271382018428">"Preferensi koneksi"</string>
<string name="connected_device_previously_connected_title" msgid="225918223397410428">"Perangkat yang sebelumnya tersambung"</string>
<string name="connected_device_previously_connected_screen_title" msgid="2018789662358162716">"Perangkat yang terhubung sebelumnya"</string>
@@ -309,8 +309,8 @@
<string name="cellular_data_summary" msgid="8817717603450318646">"Izinkan penggunaan data via jaringan seluler"</string>
<string name="allow_data_usage_title" msgid="5381624105803294315">"Gunakan data saat roaming"</string>
<string name="roaming" msgid="8860308342135146004">"Roaming"</string>
- <string name="roaming_enable" msgid="2108142024297441116">"Sambungkan ke layanan data ketika roaming"</string>
- <string name="roaming_disable" msgid="1915440242079953809">"Sambungkan ke layanan data ketika roaming"</string>
+ <string name="roaming_enable" msgid="2108142024297441116">"Hubungkan ke layanan data ketika roaming"</string>
+ <string name="roaming_disable" msgid="1915440242079953809">"Hubungkan ke layanan data ketika roaming"</string>
<string name="roaming_reenable_message" msgid="8388505868655113258">"Anda telah kehilangan konektivitas data karena Anda meninggalkan jaringan asal dalam keadaan roaming data dimatikan."</string>
<string name="roaming_turn_it_on_button" msgid="4370846458830537578">"Hidupkan"</string>
<string name="roaming_warning" msgid="5488050911277592868">"Anda dapat dikenai biaya yang cukup besar."</string>
@@ -508,8 +508,8 @@
<string name="crypt_keeper_encrypt_title" product="tablet" msgid="2292129135369853167">"Enkripsi tablet"</string>
<string name="crypt_keeper_encrypt_title" product="default" msgid="3110852053238357832">"Enkripsi ponsel"</string>
<string name="crypt_keeper_encrypted_summary" msgid="2438498691741626642">"Dienkripsi"</string>
- <string name="crypt_keeper_desc" product="tablet" msgid="9142792050252407734">"Anda dapat mengenkripsi akun, setelan, aplikasi yang didownload serta datanya, media, dan file lainnya. Setelah mengenkripsi tablet, anggaplah Anda telah menyiapkan kunci layar (pola, PIN numerik, atau sandi), Anda perlu membuka layar untuk mendekripsi tablet setiap kali menyalakannya. Satu-satunya cara lain untuk mendekripsi adalah mengembalikannya ke setelan pabrik yang akan menghapus semua data Anda.\n\nProses enkripsi membutuhkan waktu satu jam atau lebih. Anda perlu memulainya dengan baterai yang terisi penuh dan mencolokkan tablet ke sumber listrik selama proses berlangsung. Jika Anda menghentikannya, semua atau beberapa data Anda akan hilang."</string>
- <string name="crypt_keeper_desc" product="default" msgid="1996334685607444282">"Anda dapat mengenkripsi akun, setelan, aplikasi yang didownload serta datanya, media, dan file lainnya. Setelah mengenkripsi ponsel, anggaplah Anda telah menyiapkan kunci layar (pola, PIN numerik, atau sandi), Anda perlu membuka layar untuk mendekripsi ponsel setiap kali menyalakannya. Satu-satunya cara lain untuk mendekripsi adalah mengembalikannya ke setelan pabrik yang akan menghapus semua data Anda.\n\nProses enkripsi membutuhkan waktu satu jam atau lebih. Anda perlu memulainya dengan baterai yang terisi penuh dan mencolokkan ponsel ke sumber listrik selama proses berlangsung. Jika Anda menghentikannya, semua atau beberapa data Anda akan hilang."</string>
+ <string name="crypt_keeper_desc" product="tablet" msgid="9142792050252407734">"Anda dapat mengenkripsi akun, setelan, aplikasi yang didownload serta datanya, media, dan file lainnya. Setelah mengenkripsi tablet dan menyiapkan kunci layar (pola, PIN numerik, atau sandi), Anda harus membuka layar untuk mendekripsi tablet setiap kali menyalakannya. Satu-satunya cara lain untuk mendekripsi adalah mengembalikannya ke setelan pabrik yang akan menghapus semua data.\n\nProses enkripsi membutuhkan waktu satu jam atau lebih. Anda harus memulainya dengan baterai yang terisi penuh dan mencolokkan tablet ke sumber listrik selama proses berlangsung. Jika Anda menghentikannya, semua atau sebagian data akan hilang."</string>
+ <string name="crypt_keeper_desc" product="default" msgid="1996334685607444282">"Anda dapat mengenkripsi akun, setelan, aplikasi yang didownload serta datanya, media, dan file lainnya. Setelah mengenkripsi ponsel dan menyiapkan kunci layar (pola, PIN numerik, atau sandi), Anda harus membuka layar untuk mendekripsi ponsel setiap kali menyalakannya. Satu-satunya cara lain untuk mendekripsi adalah mengembalikannya ke setelan pabrik yang akan menghapus semua data.\n\nProses enkripsi membutuhkan waktu satu jam atau lebih. Anda harus memulainya dengan baterai yang terisi penuh dan mencolokkan ponsel ke sumber listrik selama proses berlangsung. Jika Anda menghentikannya, semua atau sebagian data akan hilang."</string>
<string name="crypt_keeper_button_text" product="tablet" msgid="7918671468758813824">"Enkripsi tablet"</string>
<string name="crypt_keeper_button_text" product="default" msgid="8737394386627318489">"Enkripsi ponsel"</string>
<string name="crypt_keeper_low_charge_text" msgid="1422879728632636311">"Isi daya baterai Anda dan coba lagi."</string>
@@ -529,11 +529,11 @@
<string name="crypt_keeper_warn_wipe" msgid="700814581500057050">"Peringatan: Perangkat Anda akan dihapus setelah <xliff:g id="COUNT">^1</xliff:g> percobaan gagal lagi dalam pembukaan kunci!"</string>
<string name="crypt_keeper_enter_password" msgid="726933635335219421">"Ketikkan sandi Anda"</string>
<string name="crypt_keeper_failed_title" msgid="1906382607060855782">"Enkripsi gagal"</string>
- <string name="crypt_keeper_failed_summary" product="tablet" msgid="7844833877734529625">"Enkripsi terputus dan tidak dapat diselesaikan. Akibatnya, data pada tablet Anda tidak dapat diakses lagi. \n\n Untuk terus menggunakan tablet, Anda perlu mengembalikannya ke setelan pabrik. Saat menyiapkan tablet setelah mengembalikannya ke setelan pabrik, Anda memiliki kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google."</string>
- <string name="crypt_keeper_failed_summary" product="default" msgid="2895589681839090312">"Enkripsi terputus dan tidak dapat diselesaikan. Akibatnya, data di ponsel Anda tidak dapat diakses lagi. \n\n Untuk terus menggunakan ponsel, Anda perlu mengembalikannya ke setelan pabrik. Saat menyiapkan ponsel setelah mengembalikannya ke setelan pabrik, Anda memiliki kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google."</string>
+ <string name="crypt_keeper_failed_summary" product="tablet" msgid="7844833877734529625">"Enkripsi terputus dan tidak dapat diselesaikan. Akibatnya, data pada tablet tidak dapat diakses lagi. \n\n Untuk terus menggunakan tablet, Anda harus mengembalikannya ke setelan pabrik. Saat menyiapkan tablet setelah mengembalikannya ke setelan pabrik, Anda memiliki kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google Anda."</string>
+ <string name="crypt_keeper_failed_summary" product="default" msgid="2895589681839090312">"Enkripsi terputus dan tidak dapat diselesaikan. Akibatnya, data di ponsel tidak dapat diakses lagi. \n\n Untuk terus menggunakan ponsel, Anda harus mengembalikannya ke setelan pabrik. Saat menyiapkan ponsel setelah mengembalikannya ke setelan pabrik, Anda memiliki kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google Anda."</string>
<string name="crypt_keeper_data_corrupt_title" msgid="6561535293845985713">"Dekripsi gagal"</string>
- <string name="crypt_keeper_data_corrupt_summary" product="tablet" msgid="7018748502706237323">"Sandi yang Anda masukkan benar, namun sayangnya data rusak. \n\nUntuk melanjutkan dengan tablet, Anda perlu mengembalikannya ke setelan pabrik. Saat menyiapkan tablet setelah direset, akan ada kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google."</string>
- <string name="crypt_keeper_data_corrupt_summary" product="default" msgid="5798580588985326937">"Sandi yang Anda masukkan benar, namun sayangnya data rusak. \n\nUntuk melanjutkan dengan ponsel, Anda perlu mengembalikannya ke setelan pabrik. Jika Anda menyiapkan ponsel setelah reset, akan ada kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google."</string>
+ <string name="crypt_keeper_data_corrupt_summary" product="tablet" msgid="7018748502706237323">"Sandi yang Anda masukkan benar, namun sayangnya data rusak. \n\nUntuk melanjutkan dengan tablet, Anda harus mengembalikannya ke setelan pabrik. Saat menyiapkan tablet setelah direset, akan ada kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google Anda."</string>
+ <string name="crypt_keeper_data_corrupt_summary" product="default" msgid="5798580588985326937">"Sandi yang Anda masukkan benar, namun sayangnya data rusak. \n\nUntuk melanjutkan dengan ponsel, Anda harus mengembalikannya ke setelan pabrik. Jika Anda menyiapkan ponsel setelah reset, akan ada kesempatan untuk memulihkan data apa pun yang telah dicadangkan ke Akun Google Anda."</string>
<string name="crypt_keeper_switch_input_method" msgid="4744137470890459582">"Beralih metode masukan"</string>
<string name="suggested_lock_settings_title" msgid="1518155558803371661">"Amankan ponsel Anda"</string>
<string name="suggested_lock_settings_summary" product="tablet" msgid="1861066918594412519">"Setel kunci layar untuk melindungi tablet"</string>
@@ -742,7 +742,7 @@
<string name="bluetooth_display_passkey_pin_msg" msgid="5909423849232791647">"Untuk menyandingkan dengan:<xliff:g id="BOLD1_0"><br><b></xliff:g><xliff:g id="DEVICE_NAME">%1$s</xliff:g><xliff:g id="END_BOLD1"></b><br><br></xliff:g>Ketikkan:<xliff:g id="BOLD2_1"><br><b></xliff:g><xliff:g id="PASSKEY">%2$s</xliff:g><xliff:g id="END_BOLD2"></b></xliff:g>, kemudian tekan Kembali atau Enter."</string>
<string name="bluetooth_pairing_shares_phonebook" msgid="7474404818877079813">"Izinkan akses ke kontak dan histori panggilan Anda"</string>
<string name="bluetooth_error_title" msgid="5718761586633101960"></string>
- <string name="bluetooth_connecting_error_message" msgid="8473359363469518478">"Tidak dapat tersambung ke <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+ <string name="bluetooth_connecting_error_message" msgid="8473359363469518478">"Tidak dapat terhubung ke <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_preference_scan_title" msgid="457781003962324807">"Memindai perangkat"</string>
<string name="bluetooth_search_for_devices" msgid="6796307228261078451">"Segarkan"</string>
<string name="bluetooth_searching_for_devices" msgid="7820814625522702494">"Menelusuri..."</string>
@@ -754,12 +754,12 @@
<string name="bluetooth_pairing_dialog_title" msgid="7900515495932064945">"Sandingkan dengan perangkat ini?"</string>
<string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7395493311980018460">"Bagikan buku telepon?"</string>
<string name="bluetooth_pairing_dialog_contants_request" msgid="2103132762434487717">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin mengakses kontak dan histori panggilan Anda."</string>
- <string name="bluetooth_pairing_dialog_paring_request" msgid="5513953935086446387">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin menyandingkan dengan Bluetooth. Saat tersambung, perangkat dapat mengakses kontak & histori panggilan Anda."</string>
+ <string name="bluetooth_pairing_dialog_paring_request" msgid="5513953935086446387">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin terhubung dengan Bluetooth. Saat terhubung, perangkat dapat mengakses kontak & histori panggilan."</string>
<string name="bluetooth_preference_found_media_devices" msgid="5748539613567836379">"Perangkat yang tersedia"</string>
<string name="bluetooth_preference_no_found_devices" msgid="4190090666412408576">"Perangkat tak tersedia"</string>
- <string name="bluetooth_device_context_connect" msgid="1812090541371432890">"Sambungkan"</string>
+ <string name="bluetooth_device_context_connect" msgid="1812090541371432890">"Hubungkan"</string>
<string name="bluetooth_device_context_disconnect" msgid="8085015949275771802">"Putuskan"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="1503322591778810032">"Sandingkan & sambungkan"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="1503322591778810032">"Sandingkan & hubungkan"</string>
<string name="bluetooth_device_context_unpair" msgid="250588431708253041">"Menghapus penyandingan"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="4519151805677280077">"Putuskan & lepaskan pasangan"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="423463405499392444">"Opsi…"</string>
@@ -768,7 +768,7 @@
<string name="bluetooth_empty_list_bluetooth_off" msgid="6255367297830430459">"Saat Bluetooth aktif, perangkat dapat berkomunikasi dengan perangkat Bluetooth terdekat lainnya."</string>
<string name="bluetooth_scanning_on_info_message" msgid="5460370815156050550">"Jika Bluetooth diaktifkan, perangkat Anda dapat berkomunikasi dengan perangkat Bluetooth di sekitar.\n\nUntuk menyempurnakan pengalaman menggunakan perangkat, aplikasi dan layanan tetap dapat memindai perangkat di sekitar kapan saja, meski Bluetooth nonaktif. Ini dapat digunakan, misalnya, untuk menyempurnakan fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di "<annotation id="link">"setelan pemindaian"</annotation>"."</string>
<string name="ble_scan_notify_text" msgid="6290170236546386932">"Untuk meningkatkan akurasi lokasi, aplikasi dan layanan sistem tetap dapat mendeteksi perangkat Bluetooth. Anda dapat mengubahnya di <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>setelan pemindaian<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
- <string name="bluetooth_connect_failed" msgid="1151234676456333786">"Tidak dapat tersambung. Coba lagi."</string>
+ <string name="bluetooth_connect_failed" msgid="1151234676456333786">"Tidak dapat terhubung. Coba lagi."</string>
<string name="device_details_title" msgid="726517818032923222">"Detail perangkat"</string>
<string name="bluetooth_device_mac_address" msgid="5328203122581150405">"Alamat Bluetooth perangkat: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_title" msgid="3669848977755142047">"Lupakan perangkat?"</string>
@@ -776,7 +776,7 @@
<string name="bluetooth_unpair_dialog_body" product="tablet" msgid="4696157463230518866">"Tablet Anda tidak akan disambungkan lagi dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_body" product="device" msgid="6385091489719875730">"Perangkat Anda tidak akan disambungkan lagi dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="8485211340349958886">"Lupakan perangkat"</string>
- <string name="bluetooth_connect_specific_profiles_title" msgid="2381509181266180406">"Sambungkan ke…"</string>
+ <string name="bluetooth_connect_specific_profiles_title" msgid="2381509181266180406">"Hubungkan ke…"</string>
<string name="bluetooth_disconnect_a2dp_profile" msgid="8072503764470451567">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> akan dilepas sambungannya dari audio media."</string>
<string name="bluetooth_disconnect_headset_profile" msgid="8384028101155317339">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> akan dilepas sambungannya dari audio handsfree."</string>
<string name="bluetooth_disconnect_hid_profile" msgid="6964226087090465662">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> akan dilepas sambungannya dari perangkat masukan."</string>
@@ -784,8 +784,8 @@
<string name="bluetooth_disconnect_pan_nap_profile" product="tablet" msgid="8145126793699232403">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> akan diputus dari berbagi koneksi internet tablet ini."</string>
<string name="bluetooth_disconnect_pan_nap_profile" product="default" msgid="6040826983120279685">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> akan diputus dari berbagi koneksi internet ponsel ini."</string>
<string name="bluetooth_device_advanced_title" msgid="5752155558126694036">"Perangkat Bluetooth yang disandingkan"</string>
- <string name="bluetooth_device_advanced_online_mode_title" msgid="7665622268007450665">"Sambungkan"</string>
- <string name="bluetooth_device_advanced_online_mode_summary" msgid="4180673788239241086">"Sambungkan ke perangkat Bluetooth"</string>
+ <string name="bluetooth_device_advanced_online_mode_title" msgid="7665622268007450665">"Hubungkan"</string>
+ <string name="bluetooth_device_advanced_online_mode_summary" msgid="4180673788239241086">"Hubungkan ke perangkat Bluetooth"</string>
<string name="bluetooth_device_advanced_profile_header_title" msgid="1414487572426490659">"Gunakan untuk"</string>
<string name="bluetooth_device_advanced_rename_device" msgid="2270087843175307865">"Ganti nama"</string>
<string name="bluetooth_device_advanced_enable_opp_title" msgid="8258863155491651198">"Izinkan transfer file masuk"</string>
@@ -856,8 +856,8 @@
<string name="wifi_poor_network_detection" msgid="7193423327400703073">"Hindari sambungan buruk"</string>
<string name="wifi_poor_network_detection_summary" msgid="5539951465985614590">"Jangan gunakan jaringan Wi-Fi, kecuali sambungan internetnya kuat"</string>
<string name="wifi_avoid_poor_network_detection_summary" msgid="1976503191780928104">"Hanya gunakan jaringan yang memiliki koneksi internet kuat"</string>
- <string name="use_open_wifi_automatically_title" msgid="3084513215481454350">"Sambungkan ke jaringan terbuka"</string>
- <string name="use_open_wifi_automatically_summary" msgid="8338020172673161754">"Otomatis sambungkan ke jaringan publik berkualitas tinggi"</string>
+ <string name="use_open_wifi_automatically_title" msgid="3084513215481454350">"Hubungkan ke jaringan terbuka"</string>
+ <string name="use_open_wifi_automatically_summary" msgid="8338020172673161754">"Otomatis hubungkan ke jaringan publik berkualitas tinggi"</string>
<string name="use_open_wifi_automatically_summary_scoring_disabled" msgid="1559329344492373028">"Untuk menggunakan, pilih penyedia rating jaringan"</string>
<string name="use_open_wifi_automatically_summary_scorer_unsupported_disabled" msgid="1123080670578756834">"Untuk menggunakan, pilih penyedia rating jaringan yang kompatibel"</string>
<string name="wifi_install_credentials" msgid="5650088113710858289">"Instal sertifikat"</string>
@@ -905,7 +905,7 @@
<string name="wifi_ssid_hint" msgid="5010024648106585165">"Masukkan SSID"</string>
<string name="wifi_security" msgid="9136702039496152831">"Keamanan"</string>
<string name="wifi_hidden_network" msgid="6647772204699776833">"Jaringan tersembunyi"</string>
- <string name="wifi_hidden_network_warning" msgid="8182333050353796473">"Jika router tidak menyiarkan ID jaringan, namun Anda ingin menyambungkannya di masa mendatang, Anda dapat menyetel jaringan sebagai tersembunyi.\n\nTindakan ini dapat menyebabkan risiko keamanan karena ponsel secara berkala akan menyiarkan sinyal untuk menemukan jaringan.\n\nMenyetel jaringan sebagai tersembunyi tidak akan mengubah setelan router."</string>
+ <string name="wifi_hidden_network_warning" msgid="8182333050353796473">"Jika router tidak menyiarkan ID jaringan, namun Anda ingin menghubungkannya di masa mendatang, Anda dapat menyetel jaringan sebagai tersembunyi.\n\nTindakan ini dapat menyebabkan risiko keamanan karena ponsel secara berkala akan menyiarkan sinyal untuk menemukan jaringan.\n\nMenyetel jaringan sebagai tersembunyi tidak akan mengubah setelan router."</string>
<string name="wifi_signal" msgid="696548364467704808">"Kekuatan sinyal"</string>
<string name="wifi_status" msgid="3439931558930689940">"Status"</string>
<string name="tx_wifi_speed" msgid="2571810085003261073">"Kecepatan pengiriman link"</string>
@@ -937,7 +937,7 @@
<string name="wifi_dpp_add_device_to_network" msgid="8871041525483253430">"Tambahkan perangkat"</string>
<string name="wifi_dpp_center_qr_code" msgid="3826108361797476758">"Posisikan kode QR di tengah jendela kamera untuk menambahkan perangkat ke “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
<string name="wifi_dpp_scan_qr_code" msgid="6021600592661235546">"Pindai kode QR"</string>
- <string name="wifi_dpp_scan_qr_code_join_network" msgid="3085162928804379545">"Posisikan kode QR di tengah jendela kamera untuk menyambungkan ke “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+ <string name="wifi_dpp_scan_qr_code_join_network" msgid="3085162928804379545">"Posisikan kode QR di tengah jendela kamera untuk menghubungkan ke “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
<string name="wifi_dpp_scan_qr_code_join_unknown_network" msgid="5682308317067290738">"Hubungkan ke Wi‑Fi dengan memindai kode QR"</string>
<string name="wifi_dpp_share_wifi" msgid="1724161216219646284">"Bagikan Wi‑Fi"</string>
<string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4357387474444884759">"Pindai kode QR ini untuk terhubung ke “<xliff:g id="SSID">%1$s</xliff:g>” dan membagikan sandi"</string>
@@ -950,7 +950,7 @@
<string name="wifi_dpp_failure_not_supported" msgid="111779621766171626">"Penambahan “<xliff:g id="SSID">%1$s</xliff:g>” tidak didukung oleh perangkat ini"</string>
<string name="wifi_dpp_check_connection_try_again" msgid="7144663015219170999">"Periksa koneksi dan coba lagi"</string>
<string name="wifi_dpp_choose_network" msgid="6251424431594491691">"Pilih jaringan"</string>
- <string name="wifi_dpp_choose_network_to_connect_device" msgid="6385259857886784285">"Untuk menyambungkan perangkat Anda, pilih jaringan"</string>
+ <string name="wifi_dpp_choose_network_to_connect_device" msgid="6385259857886784285">"Untuk menghubungkan perangkat, pilih jaringan"</string>
<string name="wifi_dpp_add_device_to_wifi" msgid="6454198064645462446">"Tambahkan perangkat ini ke “<xliff:g id="SSID">%1$s</xliff:g>”?"</string>
<string name="wifi_dpp_wifi_shared_with_device" msgid="5713765471758272471">"Wi‑Fi dibagikan dengan perangkat"</string>
<string name="wifi_dpp_add_another_device" msgid="3698441567235301565">"Tambahkan perangkat lain"</string>
@@ -964,7 +964,7 @@
<string name="wifi_dpp_wifi_password" msgid="8007558344032612455">"Sandi Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
<string name="wifi_dpp_hotspot_password" msgid="6172326289042241924">"Sandi hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
<string name="wifi_dpp_add_device" msgid="1347056725253936358">"Tambahkan perangkat"</string>
- <string name="wifi_dpp_connect_network_using_qr_code" msgid="115993715600532357">"Sambungkan ke jaringan ini menggunakan kode QR"</string>
+ <string name="wifi_dpp_connect_network_using_qr_code" msgid="115993715600532357">"Hubungkan ke jaringan ini menggunakan kode QR"</string>
<string name="retry" msgid="8500839563577344702">"Coba lagi"</string>
<string name="wifi_shared" msgid="5054256778276524960">"Berbagi dengan pengguna perangkat lain"</string>
<string name="wifi_unchanged" msgid="6804964646942333992">"(tidak diubah)"</string>
@@ -979,14 +979,14 @@
<string name="wifi_wps_available_first_item" msgid="3221671453930485243">"WPS tersedia"</string>
<string name="wifi_wps_available_second_item" msgid="5703265526619705185">" (WPS tersedia)"</string>
<string name="wifi_carrier_connect" msgid="7202618367339982884">"Jaringan Wi‑Fi operator"</string>
- <string name="wifi_carrier_content" msgid="3467402515071949783">"Sambungkan melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifi_carrier_content" msgid="3467402515071949783">"Hubungkan melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="wifi_scan_always_turnon_message" msgid="7811846312032594248">"Untuk meningkatkan ketepatan lokasi dan untuk tujuan lainnya, <xliff:g id="APP_NAME">%1$s</xliff:g> ingin mengaktifkan pemindaian jaringan, bahkan saat Wi-Fi sedang tidak aktif.\n\nIzinkan ini untuk semua aplikasi yang ingin memindai?"</string>
<string name="wifi_scan_always_turnoff_message" msgid="556993843641750002">"Untuk menonaktifkannya, buka Lanjutan di menu luapan."</string>
<string name="wifi_scan_always_confirm_allow" msgid="8857664849515496237">"Izinkan"</string>
<string name="wifi_scan_always_confirm_deny" msgid="6190909841125369403">"Tolak"</string>
- <string name="wifi_hotspot_title" msgid="2631956539767069385">"Login untuk menyambungkan?"</string>
- <string name="wifi_hotspot_message" msgid="6762452611090766607">"<xliff:g id="APP_NAME">%1$s</xliff:g> mewajibkan Anda login secara online sebelum menyambung ke jaringan."</string>
- <string name="wifi_hotspot_connect" msgid="409079339360849653">"SAMBUNGKAN"</string>
+ <string name="wifi_hotspot_title" msgid="2631956539767069385">"Login agar terhubung?"</string>
+ <string name="wifi_hotspot_message" msgid="6762452611090766607">"<xliff:g id="APP_NAME">%1$s</xliff:g> mewajibkan Anda login secara online sebelum menghubungkan ke jaringan."</string>
+ <string name="wifi_hotspot_connect" msgid="409079339360849653">"HUBUNGKAN"</string>
<string name="no_internet_access_text" msgid="7093326244145734504">"Jaringan ini tidak memiliki akses internet. Tetap hubungkan?"</string>
<string name="partial_connectivity_text" msgid="2142157808079235684">"Beberapa aplikasi dan layanan mungkin tidak berfungsi karena konektivitas terbatas. Tetap gunakan?"</string>
<string name="no_internet_access_remember" msgid="1368137189939004202">"Jangan tanya lagi untuk jaringan ini"</string>
@@ -995,14 +995,14 @@
<string name="lost_internet_access_switch" msgid="9218006455779873700">"Beralih ke seluler"</string>
<string name="lost_internet_access_cancel" msgid="6577871064062518744">"Tetap di Wi-Fi"</string>
<string name="lost_internet_access_persist" msgid="6368659013482055611">"Jangan tampilkan lagi"</string>
- <string name="wifi_connect" msgid="5653612760223533650">"Sambungkan"</string>
+ <string name="wifi_connect" msgid="5653612760223533650">"Hubungkan"</string>
<string name="wifi_turned_on_message" msgid="3377779146238242894">"Wi-Fi diaktifkan"</string>
<!-- no translation found for wifi_connected_to_message (2875589636437599620) -->
<skip />
<string name="wifi_connecting" msgid="384192498836395892">"Menyambungkan…"</string>
<!-- no translation found for wifi_disconnect (4633284839749161400) -->
<skip />
- <string name="wifi_failed_connect_message" msgid="1911393291965160995">"Gagal menyambung ke jaringan"</string>
+ <string name="wifi_failed_connect_message" msgid="1911393291965160995">"Gagal menghubungkan ke jaringan"</string>
<string name="wifi_not_in_range_message" msgid="7619742052777530971">"Jaringan di luar jangkauan"</string>
<string name="wifi_forget" msgid="8257999175003213594">"Lupakan"</string>
<string name="wifi_modify" msgid="4709189827578923892">"Ubah"</string>
@@ -1048,13 +1048,13 @@
<string name="wifi_p2p_menu_rename" msgid="2129974878377065488">"Ganti nama perangkat"</string>
<string name="wifi_p2p_peer_devices" msgid="8232126067045093382">"Perangkat P2P"</string>
<string name="wifi_p2p_remembered_groups" msgid="1356458238836730346">"Grup yang diingat"</string>
- <string name="wifi_p2p_failed_connect_message" msgid="6103436959132424093">"Tidak dapat menyambung."</string>
+ <string name="wifi_p2p_failed_connect_message" msgid="6103436959132424093">"Tidak dapat menghubungkan."</string>
<string name="wifi_p2p_failed_rename_message" msgid="638656605352538706">"Gagal mengubah nama perangkat."</string>
<string name="wifi_p2p_disconnect_title" msgid="915880461655863812">"Putuskan sambungan?"</string>
<string name="wifi_p2p_disconnect_message" msgid="3745286932812740784">"Jika diputuskan, sambungan Anda dengan <xliff:g id="PEER_NAME">%1$s</xliff:g> akan berakhir."</string>
<string name="wifi_p2p_disconnect_multiple_message" msgid="6051173422663731688">"Jika diputuskan, sambungan Anda dengan <xliff:g id="PEER_NAME">%1$s</xliff:g> dan <xliff:g id="PEER_COUNT">%2$s</xliff:g> perangkat lain akan berakhir."</string>
<string name="wifi_p2p_cancel_connect_title" msgid="2465200999145769427">"Batalkan undangan?"</string>
- <string name="wifi_p2p_cancel_connect_message" msgid="3752679335020392154">"Apakah Anda ingin membatalkan undangan untuk tersambung dengan <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
+ <string name="wifi_p2p_cancel_connect_message" msgid="3752679335020392154">"Apakah Anda ingin membatalkan undangan untuk terhubung dengan <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
<string name="wifi_p2p_delete_group_message" msgid="3206660449067701089">"Lupakan grup ini?"</string>
<string name="wifi_hotspot_checkbox_text" msgid="12062341344410520">"Hotspot Wi‑Fi"</string>
<string name="wifi_hotspot_off_subtext" msgid="6177054857136221058">"Tidak berbagi koneksi internet atau konten dengan perangkat lain"</string>
@@ -1069,7 +1069,7 @@
<string name="wifi_hotspot_ap_band_title" msgid="3485744480410441949">"AP Band"</string>
<string name="wifi_hotspot_footer_info_regular" msgid="3876006922622827363">"Gunakan hotspot untuk membuat jaringan Wi‑Fi bagi perangkat Anda yang lain. Hotspot menyediakan koneksi internet menggunakan koneksi data seluler Anda. Biaya data seluler tambahan mungkin berlaku."</string>
<string name="wifi_hotspot_footer_info_local_only" msgid="3339582350894639261">"Aplikasi dapat membuat hotspot untuk berbagi konten dengan perangkat di sekitar."</string>
- <string name="wifi_hotspot_auto_off_title" msgid="7416022590415189590">"Nonaktifkan hotspot secara otomatis"</string>
+ <string name="wifi_hotspot_auto_off_title" msgid="7416022590415189590">"Otomatis nonaktifkan hotspot"</string>
<string name="wifi_hotspot_auto_off_summary" msgid="3866769400624802105">"Hotspot Wi-Fi akan dinonaktifkan jika tidak ada perangkat yang terhubung"</string>
<string name="wifi_tether_starting" msgid="7676952148471297900">"Menyalakan hotspot..."</string>
<string name="wifi_tether_stopping" msgid="7478561853791953349">"Mematikan hotspot..."</string>
@@ -1420,7 +1420,7 @@
<string name="storage_menu_free" msgid="6586253660759145508">"Kosongkan ruang"</string>
<string name="storage_menu_manage" msgid="461380717863926516">"Kelola penyimpanan"</string>
<string name="storage_title_usb" msgid="2015671467177303099">"Koneksi komputer USB"</string>
- <string name="usb_connection_category" msgid="2888975803638116041">"Sambungkan sebagai"</string>
+ <string name="usb_connection_category" msgid="2888975803638116041">"Hubungkan sebagai"</string>
<string name="usb_mtp_title" msgid="6893938968831995500">"Perangkat media (MTP)"</string>
<string name="usb_mtp_summary" msgid="4427354560399094322">"Memungkinkan Anda mentransfer file media di Windows, atau menggunakan Transfer File Android di Mac (lihat www.android.com/filetransfer)"</string>
<string name="usb_ptp_title" msgid="6629335976394685361">"Kamera (PTP)"</string>
@@ -1457,7 +1457,7 @@
<string name="storage_detail_other" msgid="9164851767437306618">"Lainnya"</string>
<string name="storage_detail_system" msgid="6784247618772153283">"Sistem"</string>
<string name="storage_detail_explore" msgid="8206900269596580264">"Jelajahi <xliff:g id="NAME">^1</xliff:g>"</string>
- <string name="storage_detail_dialog_other" msgid="5073511663616043370">"Lainnya meliputi file bersama yang disimpan oleh aplikasi, file yang didownload dari internet atau Bluetooth, file Android, dan sebagainya. \n\nUntuk melihat konten <xliff:g id="NAME">^1</xliff:g> yang ditampilkan, ketuk Jelajahi."</string>
+ <string name="storage_detail_dialog_other" msgid="5073511663616043370">"Lainnya meliputi file bersama yang disimpan aplikasi, file yang didownload dari internet atau Bluetooth, file Android, dan sebagainya. \n\nUntuk melihat konten <xliff:g id="NAME">^1</xliff:g> yang ditampilkan, ketuk Jelajahi."</string>
<string name="storage_detail_dialog_system" msgid="1472572861360014226">"Sistem menyertakan file yang digunakan untuk menjalankan Android versi <xliff:g id="VERSION">%s</xliff:g>"</string>
<string name="storage_detail_dialog_user" msgid="1663117417635010371">"<xliff:g id="USER_0">^1</xliff:g> mungkin telah menyimpan foto, musik, aplikasi, atau data lain, menggunakan penyimpanan <xliff:g id="SIZE">^2</xliff:g>. \n\nUntuk melihat detailnya, beralih ke <xliff:g id="USER_1">^1</xliff:g>."</string>
<string name="storage_wizard_init_title" msgid="3407283236421089014">"Siapkan <xliff:g id="NAME">^1</xliff:g>"</string>
@@ -1583,8 +1583,8 @@
<string name="reset_network_complete_toast" msgid="128225929536005495">"Setelan jaringan telah direset"</string>
<string name="reset_esim_error_title" msgid="4728931209471875632">"Tidak dapat menghapus SIM"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"SIM hasil download tidak dapat dihapus karena terjadi error.\n\nMulai ulang perangkat Anda, lalu coba lagi."</string>
- <string name="master_clear_title" msgid="1560712943955904673">"Reset ke setelan pabrik"</string>
- <string name="master_clear_short_title" msgid="919098101581335101">"Reset ke setelan pabrik"</string>
+ <string name="master_clear_title" msgid="1560712943955904673">"Hapus semua (kembali ke setelan pabrik)"</string>
+ <string name="master_clear_short_title" msgid="919098101581335101">"Kembalikan ke setelan pabrik"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"Tindakan ini akan menghapus semua data dari "<b>"penyimpanan internal"</b>" tablet Anda, termasuk:\n\n"<li>"Akun Google Anda"</li>\n<li>"Data sistem dan aplikasi serta setelan"</li>\n<li>"Aplikasi yang didownload"</li></string>
<string name="master_clear_desc" product="default" msgid="8765543541962866697">"Tindakan ini akan menghapus semua data dari "<b>"penyimpanan internal"</b>" ponsel Anda, termasuk:\n\n"<li>"Akun Google Anda"</li>\n<li>"Data sistem dan aplikasi serta setelan"</li>\n<li>"Aplikasi yang didownload"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"Saat ini Anda telah login ke akun berikut:\n"</string>
@@ -1601,11 +1601,11 @@
<string name="master_clear_button_text" product="tablet" msgid="8000547818499182920">"Hapus semua data"</string>
<string name="master_clear_button_text" product="default" msgid="8000547818499182920">"Hapus semua data"</string>
<string name="master_clear_final_desc" msgid="5189365498015339294">"Semua informasi pribadi dan aplikasi yang didownload akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
- <string name="master_clear_final_desc_esim" msgid="3058919823436953662">"Semua informasi pribadi, termasuk aplikasi & SIM yang telah download, akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
+ <string name="master_clear_final_desc_esim" msgid="3058919823436953662">"Semua informasi pribadi, termasuk aplikasi & SIM yang didownload, akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
<string name="master_clear_final_button_text" msgid="866772743886027768">"Hapus semua"</string>
<string name="master_clear_failed" msgid="7588397453984229892">"Peresetan tidak dilakukan karena layanan System Clear tidak tersedia."</string>
<string name="master_clear_confirm_title" msgid="698328669893512402">"Hapus semua data?"</string>
- <string name="master_clear_not_available" msgid="4676613348163652454">"Fitur kembalikan ke setelan pabrik tidak tersedia untuk pengguna ini"</string>
+ <string name="master_clear_not_available" msgid="4676613348163652454">"Fitur kembali ke setelan pabrik tidak tersedia untuk pengguna ini"</string>
<string name="master_clear_progress_title" msgid="378953167274114857">"Menghapus"</string>
<string name="master_clear_progress_text" msgid="5418958116008976218">"Harap tunggu..."</string>
<string name="call_settings_title" msgid="5033906789261282752">"Setelan panggilan"</string>
@@ -1645,7 +1645,7 @@
<string name="mobile_unknown_sim_operator" msgid="872589370085135817">"Operator SIM tidak dikenal"</string>
<string name="mobile_no_provisioning_url" msgid="3216517414902166131">"<xliff:g id="OPERATOR">%1$s</xliff:g> tidak punya situs web penyediaanyang dikenal"</string>
<string name="mobile_insert_sim_card" msgid="7594550403454243732">"Masukkan kartu SIM dan mulai ulang"</string>
- <string name="mobile_connect_to_internet" msgid="6031886097365170913">"Sambungkan ke internet"</string>
+ <string name="mobile_connect_to_internet" msgid="6031886097365170913">"Hubungkan ke internet"</string>
<string name="location_title" msgid="8664674161765477168">"Lokasiku"</string>
<string name="managed_profile_location_switch_title" msgid="8157384427925389680">"Lokasi untuk profil kerja"</string>
<string name="location_app_level_permissions" msgid="1298041503927632960">"Izin aplikasi"</string>
@@ -1738,9 +1738,9 @@
<string name="lockpassword_strong_auth_required_work_pattern" msgid="6861154706098327320">"Untuk tambahan keamanan, gunakan pola profil kerja"</string>
<string name="lockpassword_strong_auth_required_work_pin" msgid="6306902249365524526">"Untuk tambahan keamanan, masukkan PIN profil kerja"</string>
<string name="lockpassword_strong_auth_required_work_password" msgid="2917338218971012776">"Untuk tambahan keamanan, masukkan sandi profil kerja"</string>
- <string name="lockpassword_confirm_your_pattern_details_frp" msgid="1085862410379709928">"Ponsel telah direset ke setelan pabrik. Masukkan pola sebelumnya untuk menggunakan ponsel."</string>
- <string name="lockpassword_confirm_your_pin_details_frp" msgid="6849889353126558761">"Ponsel telah direset ke setelan pabrik. Masukkan PIN sebelumnya untuk menggunakan ponsel."</string>
- <string name="lockpassword_confirm_your_password_details_frp" msgid="3239944795659418737">"Ponsel telah direset ke setelan pabrik. Masukkan sandi sebelumnya untuk menggunakan ponsel."</string>
+ <string name="lockpassword_confirm_your_pattern_details_frp" msgid="1085862410379709928">"Ponsel telah dikembalikan ke setelan pabrik. Masukkan pola sebelumnya untuk menggunakan ponsel."</string>
+ <string name="lockpassword_confirm_your_pin_details_frp" msgid="6849889353126558761">"Ponsel telah dikembalikan ke setelan pabrik. Masukkan PIN sebelumnya untuk menggunakan ponsel."</string>
+ <string name="lockpassword_confirm_your_password_details_frp" msgid="3239944795659418737">"Ponsel telah dikembalikan ke setelan pabrik. Masukkan sandi sebelumnya untuk menggunakan ponsel."</string>
<string name="lockpassword_confirm_your_pattern_header_frp" msgid="3290569334665839860">"Verifikasi pola"</string>
<string name="lockpassword_confirm_your_pin_header_frp" msgid="8520474869079710782">"Verifikasi PIN"</string>
<string name="lockpassword_confirm_your_password_header_frp" msgid="7326670978891793470">"Verifikasi sandi"</string>
@@ -1753,7 +1753,7 @@
<string name="lockpattern_recording_intro_header" msgid="2262005028838969839">"Buat pola pembuka kunci"</string>
<string name="lockpattern_recording_intro_footer" msgid="5426745740754065099">"Tekan Menu untuk bantuan."</string>
<string name="lockpattern_recording_inprogress" msgid="4060818382176523671">"Angkat jari ketika selesai"</string>
- <string name="lockpattern_recording_incorrect_too_short" msgid="6374760294545431845">"Sambungkan setidaknya <xliff:g id="NUMBER">%d</xliff:g> titik. Coba lagi."</string>
+ <string name="lockpattern_recording_incorrect_too_short" msgid="6374760294545431845">"Hubungkan setidaknya <xliff:g id="NUMBER">%d</xliff:g> titik. Coba lagi."</string>
<string name="lockpattern_pattern_entered_header" msgid="2108106638322637851">"Pola direkam"</string>
<string name="lockpattern_need_to_confirm" msgid="4079482507985867389">"Gambar pola lagi untuk mengonfirmasi"</string>
<string name="lockpattern_pattern_confirmed_header" msgid="5603156929428721407">"Pola pembuka kunci baru Anda"</string>
@@ -1888,7 +1888,7 @@
<string name="app_install_location_title" msgid="5121617802063021720">"Lokasi pemasangan yang disukai"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Ubah lokasi pemasangan yang diinginkan untuk apl baru."</string>
<string name="app_disable_dlg_positive" msgid="5508828271100168073">"Menonaktifkan aplikasi"</string>
- <string name="app_disable_dlg_text" msgid="9221864774943530281">"Jika Anda menonaktifkan aplikasi ini, Android dan aplikasi lain mungkin tidak berfungsi lagi sesuai harapan. Perlu diingat, Anda tidak dapat menghapus aplikasi yang disertakan oleh pabrikan di perangkat Anda. Namun, Anda dapat menonaktifkannya, yang berarti mematikan dan menyembunyikan aplikasi tersebut di perangkat Anda."</string>
+ <string name="app_disable_dlg_text" msgid="9221864774943530281">"Jika aplikasi ini dinonaktifkan, Android dan aplikasi lain mungkin tidak berfungsi normal. Perlu diingat, Anda tidak dapat menghapus aplikasi bawaan perangkat. Menonaktifkan aplikasi ini berarti mematikannya dan menyembunyikannya di perangkat."</string>
<string name="app_disable_notifications_dlg_title" msgid="699530661413553928">"Matikan notifikasi?"</string>
<string name="app_install_details_group_title" msgid="2909597319422976921">"Toko Aplikasi"</string>
<string name="app_install_details_title" msgid="6954953384372934881">"Detail aplikasi"</string>
@@ -2102,7 +2102,7 @@
<string name="accessibility_hearingaid_title" msgid="3700978781235124891">"Alat bantu dengar"</string>
<string name="accessibility_hearingaid_not_connected_summary" msgid="634573930469952213">"Tidak ada alat bantu dengar yang terhubung"</string>
<string name="accessibility_hearingaid_adding_summary" msgid="4139031880828714300">"Tambahkan alat bantu dengar"</string>
- <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="2671518890909750740">"Untuk menyambungkan alat bantu, temukan dan ketuk perangkat Anda di layar berikutnya."</string>
+ <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="2671518890909750740">"Untuk menghubungkan alat bantu pendengaran, temukan lalu ketuk perangkatnya di layar berikutnya."</string>
<string name="accessibility_hearingaid_pair_instructions_second_message" msgid="1584538735488464991">"Pastikan alat bantu dengar Anda dalam mode penyambungan."</string>
<string name="accessibility_hearingaid_active_device_summary" msgid="6081382497207168885">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktif"</string>
<plurals name="show_number_hearingaid_count" formatted="false" msgid="7906547154695855096">
@@ -2767,11 +2767,11 @@
<string name="vpn_cancel" msgid="440645172381062337">"Batal"</string>
<string name="vpn_done" msgid="6314426362224527349">"Tutup"</string>
<string name="vpn_save" msgid="1332625259182278316">"Simpan"</string>
- <string name="vpn_connect" msgid="772295154834334710">"Sambungkan"</string>
+ <string name="vpn_connect" msgid="772295154834334710">"Hubungkan"</string>
<string name="vpn_replace" msgid="7818130465019803404">"Ganti"</string>
<string name="vpn_edit" msgid="7284861108584255618">"Edit profil VPN"</string>
<string name="vpn_forget" msgid="7662717604542624887">"Lupakan"</string>
- <string name="vpn_connect_to" msgid="7926776854873218762">"Menyambung ke <xliff:g id="PROFILE">%s</xliff:g>"</string>
+ <string name="vpn_connect_to" msgid="7926776854873218762">"Menghubungkan ke <xliff:g id="PROFILE">%s</xliff:g>"</string>
<string name="vpn_disconnect_confirm" msgid="3505111947735651082">"Putuskan sambungan VPN ini?"</string>
<string name="vpn_disconnect" msgid="4625914562388652486">"Putuskan sambungan"</string>
<string name="vpn_version" msgid="2006792987077940456">"Versi <xliff:g id="VERSION">%s</xliff:g>"</string>
@@ -2870,8 +2870,8 @@
<string name="user_add_user_item_title" msgid="6835385073795492410">"Pengguna"</string>
<string name="user_add_profile_item_title" msgid="4932743891449790664">"Profil dibatasi"</string>
<string name="user_add_user_title" msgid="2320897397066676472">"Tambahkan pengguna baru?"</string>
- <string name="user_add_user_message_long" msgid="686637203224195465">"Anda dapat berbagi penggunaan perangkat ini dengan orang lain dengan membuat pengguna tambahan. Setiap pengguna memiliki ruang sendiri, yang dapat disesuaikan dengan aplikasi, wallpaper, dan lainnya. Pengguna juga dapat menyesuaikan setelan perangkat seperti Wi-Fi yang dapat memengaruhi semua pengguna lain.\n\nSaat Anda menambahkan pengguna baru, pengguna tersebut perlu menyiapkan ruangnya.\n\nPengguna mana pun dapat mengupdate aplikasi untuk semua pengguna lainnya. Layanan dan setelan aksesibilitas mungkin tidak ditransfer ke pengguna baru."</string>
- <string name="user_add_user_message_short" msgid="1802594476285458254">"Saat Anda menambahkan pengguna baru, orang tersebut perlu menyiapkan ruang mereka sendiri.\n\nPengguna mana pun dapat memperbarui aplikasi untuk semua pengguna lain."</string>
+ <string name="user_add_user_message_long" msgid="686637203224195465">"Anda dapat berbagi pemakaian perangkat ini dengan menambahkan pengguna lain. Setiap pengguna memiliki ruang sendiri yang dapat disesuaikan dengan aplikasi, wallpaper, dan lainnya. Pengguna juga dapat menyesuaikan setelan perangkat seperti Wi-Fi yang dapat memengaruhi semua pengguna lain.\n\nJika ditambahkan, pengguna baru harus menyiapkan ruangnya sendiri.\n\nPengguna dapat mengupdate aplikasi untuk semua pengguna lain. Layanan dan setelan aksesibilitas mungkin tidak ditransfer ke pengguna baru."</string>
+ <string name="user_add_user_message_short" msgid="1802594476285458254">"Jika ditambahkan, pengguna baru harus menyiapkan ruangnya sendiri.\n\nPengguna dapat mengupdate aplikasi untuk semua pengguna lain."</string>
<string name="user_setup_dialog_title" msgid="6748950002206392396">"Siapkan pengguna sekarang?"</string>
<string name="user_setup_dialog_message" msgid="2988559933258353919">"Pastikan orang tersebut ada untuk mengambil perangkat dan menyiapkan ruangnya"</string>
<string name="user_setup_profile_dialog_message" msgid="7611900802824048526">"Siapkan profil sekarang?"</string>
@@ -3075,7 +3075,7 @@
<string name="keywords_text_to_speech_output" msgid="1337378060761399890">"beri rating, bahasa, default, ucapkan, berbicara, text to speech, aksesibilitas, pembaca layar, tunanetra"</string>
<string name="keywords_date_and_time" msgid="4434079919474174978">"jam, militer"</string>
<string name="keywords_network_reset" msgid="2064330046866583215">"reset, memulihkan, pabrik"</string>
- <string name="keywords_factory_data_reset" msgid="5865739790670615499">"hapus total, hapus, pulihkan, kosongkan, hilangkan, reset ke setelan pabrik"</string>
+ <string name="keywords_factory_data_reset" msgid="5865739790670615499">"hapus total, hapus, pulihkan, kosongkan, hilangkan, kembalikan ke setelan pabrik"</string>
<string name="keywords_printing" msgid="8499167841024606451">"printer"</string>
<string name="keywords_sounds" msgid="9155626618185269312">"bip speaker, speaker, volume, nonaktifkan notifikasi, matikan suara, audio, musik"</string>
<string name="keywords_sounds_and_notifications_interruptions" msgid="7106220678170229900">"jangan jangan ganggu, mengganggu, gangguan, putus"</string>
@@ -4160,7 +4160,7 @@
<string name="auto_sync_account_title" msgid="2394463123733529506">"Otomatis sinkronkan data"</string>
<string name="auto_sync_personal_account_title" msgid="6844465157916100655">"Otomatis sinkronkan data pribadi"</string>
<string name="auto_sync_work_account_title" msgid="2403222633447522376">"Otomatis sinkronkan data kerja"</string>
- <string name="auto_sync_account_summary" msgid="6316230976974033772">"Izinkan aplikasi memuat ulang data secara otomatis"</string>
+ <string name="auto_sync_account_summary" msgid="6316230976974033772">"Izinkan aplikasi otomatis memuat ulang data"</string>
<string name="account_sync_title" msgid="1570164819114297154">"Sinkronisasi akun"</string>
<string name="account_sync_summary_some_on" msgid="1934556869158274053">"Sinkronisasi untuk <xliff:g id="ID_1">%1$d</xliff:g> dari <xliff:g id="ID_2">%2$d</xliff:g> item aktif"</string>
<string name="account_sync_summary_all_on" msgid="3634161204232431700">"Sinkronisasi untuk semua item aktif"</string>
@@ -4251,7 +4251,7 @@
<string name="app_info_storage_title" msgid="6643391804949509308">"Ruang penyimpanan yang digunakan"</string>
<string name="webview_uninstalled_for_user" msgid="3407952144444040557">"(di-uninstal untuk pengguna <xliff:g id="USER">%s</xliff:g>)"</string>
<string name="webview_disabled_for_user" msgid="8057805373224993504">"(dinonaktifkan untuk pengguna <xliff:g id="USER">%s</xliff:g>)"</string>
- <string name="autofill_app" msgid="3990765434980280073">"Layanan IsiOtomatis"</string>
+ <string name="autofill_app" msgid="3990765434980280073">"Layanan isi otomatis"</string>
<string name="autofill_keywords" msgid="7717726766232862218">"otomatis, isi, isiotomatis"</string>
<string name="autofill_confirmation_message" msgid="1385894598730361304">"<b>Pastikan Anda memercayai aplikasi ini</b> <br/> <br/> <xliff:g id=app_name example=Google IsiOtomatis>%1$s</xliff:g> menggunakan item yang ada di layar untuk menentukan item apa saja yang dapat diisi otomatis."</string>
<string name="debug_autofill_category" msgid="6262526615416295645">"IsiOtomatis"</string>
@@ -4449,7 +4449,7 @@
<string name="see_more" msgid="7463940160389802632">"Lihat lainnya"</string>
<string name="see_less" msgid="3718892257002813387">"Lihat lebih sedikit"</string>
<string name="network_connection_request_dialog_title" msgid="3150489262902506588">"Perangkat yang digunakan dengan <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
- <string name="network_connection_timeout_dialog_message" msgid="7036704569274087733">"Perangkat tidak ditemukan. Pastikan perangkat dihidupkan dan dapat tersambung ke jaringan."</string>
+ <string name="network_connection_timeout_dialog_message" msgid="7036704569274087733">"Perangkat tidak ditemukan. Pastikan perangkat dihidupkan dan dapat terhubung ke jaringan."</string>
<string name="network_connection_timeout_dialog_ok" msgid="5156496438627748361">"Coba lagi"</string>
<string name="network_connection_errorstate_dialog_message" msgid="1599445930536043943">"Ada masalah. Aplikasi telah membatalkan permintaan untuk memilih perangkat."</string>
<string name="network_connection_connect_successful" msgid="888912275986965748">"Koneksi berhasil"</string>
diff --git a/tests/CarDeveloperOptions/res/values-it/strings.xml b/tests/CarDeveloperOptions/res/values-it/strings.xml
index 204c5f1..eb302a7 100644
--- a/tests/CarDeveloperOptions/res/values-it/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-it/strings.xml
@@ -263,7 +263,7 @@
<string name="sdcard_settings_scanning_status" product="default" msgid="67933353112027726">"Ricerca di media nella scheda SD..."</string>
<string name="sdcard_settings_read_only_status" product="nosdcard" msgid="7959964366461613091">"Archivio USB montato: lettura."</string>
<string name="sdcard_settings_read_only_status" product="default" msgid="8854112253788893415">"La scheda SD montata è di sola lettura."</string>
- <string name="skip_label" msgid="8067961347551157478">"Ignora"</string>
+ <string name="skip_label" msgid="8067961347551157478">"Salta"</string>
<string name="next_label" msgid="4710056309804362410">"Avanti"</string>
<string name="language_picker_title" msgid="7807759931261107686">"Lingue"</string>
<string name="locale_remove_menu" msgid="3395565699934985486">"Rimuovi"</string>
@@ -444,20 +444,20 @@
<string name="security_settings_fingerprint_enroll_introduction_message_setup" msgid="6734490666593320711">"Utilizza la tua impronta digitale per sbloccare il telefono o approvare un acquisto.\n\nNota: la tua impronta digitale potrebbe essere meno sicura di una sequenza o un codice PIN complessi."</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="9168637333731599827">"Annulla"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue" msgid="271662150372486535">"Continua"</string>
- <string name="security_settings_fingerprint_enroll_introduction_cancel_setup" msgid="756928427429893070">"Ignora"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_cancel_setup" msgid="756928427429893070">"Salta"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue_setup" msgid="4125977169169671144">"Avanti"</string>
<string name="setup_fingerprint_enroll_skip_title" msgid="763018850721691594">"Saltare la configurazione?"</string>
<string name="setup_fingerprint_enroll_skip_after_adding_lock_text" msgid="8849928362049018680">"La configurazione dell\'impronta digitale richiede solo un paio di minuti. Se salti questo passaggio, potrai aggiungere l\'impronta digitale in seguito nelle impostazioni."</string>
- <string name="lock_screen_intro_skip_title" msgid="5307431665496346914">"Ignorare il blocco schermo?"</string>
+ <string name="lock_screen_intro_skip_title" msgid="5307431665496346914">"Saltare il blocco schermo?"</string>
<string name="lock_screen_intro_skip_dialog_text_frp" product="tablet" msgid="7553945981266845264">"Le funzioni di protezione del dispositivo non verranno attivate. Non potrai impedire ad altre persone di utilizzare questo tablet se viene smarrito, rubato o reimpostato."</string>
<string name="lock_screen_intro_skip_dialog_text_frp" product="device" msgid="1378243257238015603">"Le funzioni di protezione del dispositivo non verranno attivate. Non potrai impedire ad altre persone di utilizzare questo dispositivo se viene smarrito, rubato o reimpostato."</string>
<string name="lock_screen_intro_skip_dialog_text_frp" product="default" msgid="8395540117461339748">"Le funzioni di protezione del dispositivo non verranno attivate. Non potrai impedire ad altre persone di utilizzare questo telefono se viene smarrito, rubato o reimpostato."</string>
<string name="lock_screen_intro_skip_dialog_text" product="tablet" msgid="7572334562915795226">"Le funzioni di protezione del dispositivo non verranno attivate. Non potrai impedire ad altre persone di utilizzare questo tablet se viene smarrito o rubato."</string>
<string name="lock_screen_intro_skip_dialog_text" product="device" msgid="3819285334459763813">"Le funzioni di protezione del dispositivo non verranno attivate. Non potrai impedire ad altre persone di utilizzare questo dispositivo se viene smarrito o rubato."</string>
<string name="lock_screen_intro_skip_dialog_text" product="default" msgid="5361573789585652826">"Le funzioni di protezione del dispositivo non verranno attivate. Non potrai impedire ad altre persone di utilizzare questo telefono se viene smarrito o rubato."</string>
- <string name="skip_anyway_button_label" msgid="4437815969645175429">"Ignora comunque"</string>
+ <string name="skip_anyway_button_label" msgid="4437815969645175429">"Salta comunque"</string>
<string name="go_back_button_label" msgid="7310586887969860472">"Torna indietro"</string>
- <string name="skip_lock_screen_dialog_button_label" msgid="6706047245716780006">"Ignora"</string>
+ <string name="skip_lock_screen_dialog_button_label" msgid="6706047245716780006">"Salta"</string>
<string name="cancel_lock_screen_dialog_button_label" msgid="2534925227627658819">"Annulla"</string>
<string name="security_settings_fingerprint_enroll_find_sensor_title" msgid="8909829699273726469">"Tocca il sensore"</string>
<string name="security_settings_fingerprint_enroll_find_sensor_message" msgid="581120963079780740">"Si trova sulla parte posteriore del telefono. Utilizza il dito indice."</string>
@@ -1578,7 +1578,7 @@
<string name="reset_network_final_desc" msgid="2463817067048751373">"Ripristinare tutte le impostazioni della rete? Questa azione non può essere annullata."</string>
<string name="reset_network_final_desc_esim" msgid="4676436976372555750">"Reimpostare tutte le impostazioni di rete e resettare tutte le SIM scaricate? Questa azione non può essere annullata."</string>
<string name="reset_network_final_button_text" msgid="345255333127794393">"Reimposta impostazioni"</string>
- <string name="reset_network_confirm_title" msgid="2432145031070536008">"Reimpostare?"</string>
+ <string name="reset_network_confirm_title" msgid="2432145031070536008">"Vuoi reimpostare?"</string>
<string name="network_reset_not_available" msgid="6146655531868016281">"La reimpostazione della rete non è disponibile per questo utente"</string>
<string name="reset_network_complete_toast" msgid="128225929536005495">"Le impostazioni di rete sono state reimpostate"</string>
<string name="reset_esim_error_title" msgid="4728931209471875632">"Impossibile resettare le SIM"</string>
@@ -1843,7 +1843,7 @@
<string name="show_background_processes" msgid="88012264528093617">"Mostra processi nella cache"</string>
<string name="default_emergency_app" msgid="286530070173495823">"App di emergenza"</string>
<string name="reset_app_preferences" msgid="1426500030595212077">"Reimposta preferenze app"</string>
- <string name="reset_app_preferences_title" msgid="792909865493673598">"Reimpostare preferenze app?"</string>
+ <string name="reset_app_preferences_title" msgid="792909865493673598">"Reimpostare le preferenze per le app?"</string>
<string name="reset_app_preferences_desc" msgid="7935273005301096031">"Verranno reimpostate tutte le preferenze relative a:\n\n "<li>"App disattivate"</li>\n" "<li>"Notifiche di app disattivate"</li>\n" "<li>"Applicazioni predefinite per azioni"</li>\n" "<li>"Limitazioni di dati in background per app"</li>\n" "<li>"Eventuali limitazioni di autorizzazioni"</li>\n\n" Non perderai i dati delle app."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"Reimposta app"</string>
<string name="manage_space_text" msgid="6166469422303124302">"Gestisci spazio"</string>
diff --git a/tests/CarDeveloperOptions/res/values-iw/strings.xml b/tests/CarDeveloperOptions/res/values-iw/strings.xml
index 3e17f23..d25290d 100644
--- a/tests/CarDeveloperOptions/res/values-iw/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-iw/strings.xml
@@ -28,7 +28,7 @@
<item quantity="other">אתה כעת במרחק של <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> צעדים מלהיות מפתח.</item>
<item quantity="one">אתה כעת במרחק של צעד <xliff:g id="STEP_COUNT_0">%1$d</xliff:g> מלהיות מפתח.</item>
</plurals>
- <string name="show_dev_on" msgid="9075712234786224065">"אתה כעת מפתח!"</string>
+ <string name="show_dev_on" msgid="9075712234786224065">"הוגדרת כמפתח!"</string>
<string name="show_dev_already" msgid="7665948832405148689">"אין צורך, אתה כבר מפתח."</string>
<string name="dev_settings_disabled_warning" msgid="3198732189395396721">"קודם עליך להפעיל את אפשרויות המפתח."</string>
<string name="header_category_wireless_networks" msgid="8968405993937795898">"רשתות ותקשורת אלחוטית"</string>
diff --git a/tests/CarDeveloperOptions/res/values-kk/arrays.xml b/tests/CarDeveloperOptions/res/values-kk/arrays.xml
index bfa188c..d01b7b8 100644
--- a/tests/CarDeveloperOptions/res/values-kk/arrays.xml
+++ b/tests/CarDeveloperOptions/res/values-kk/arrays.xml
@@ -257,7 +257,7 @@
<item msgid="5420704980305018295">"дыбыс қаттылығы"</item>
<item msgid="5797363115508970204">"қоңыраудың дыбыс деңгейі"</item>
<item msgid="8233154098550715999">"мультимeдиа дыбыс деңгейі"</item>
- <item msgid="5196715605078153950">"дабыл дыбысының қаттылығы"</item>
+ <item msgid="5196715605078153950">"дабыл дыбысының деңгейі"</item>
<item msgid="394030698764284577">"хабар дыбысының қаттылығы"</item>
<item msgid="8952898972491680178">"bluetooth дыбысының қаттылығы"</item>
<item msgid="8506227454543690851">"ұйқы бермеу"</item>
diff --git a/tests/CarDeveloperOptions/res/values-kk/strings.xml b/tests/CarDeveloperOptions/res/values-kk/strings.xml
index 2b89603..233e98d 100644
--- a/tests/CarDeveloperOptions/res/values-kk/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-kk/strings.xml
@@ -1609,7 +1609,7 @@
<string name="master_clear_progress_title" msgid="378953167274114857">"Өшірілуде"</string>
<string name="master_clear_progress_text" msgid="5418958116008976218">"Күте тұрыңыз…"</string>
<string name="call_settings_title" msgid="5033906789261282752">"Қоңырау параметрлері"</string>
- <string name="call_settings_summary" msgid="2119161087671450035">"Дауыс хабары, қоңырауды басқа нөмірге бағыттау, күту және қоңырау шалушының жеке анықтағышын орнату"</string>
+ <string name="call_settings_summary" msgid="2119161087671450035">"Дауыстық пошта, қоңырауды басқа нөмірге бағыттау және ұстап тұру, қоңырау шалушыт нөмірлерді автоматты анықтау"</string>
<string name="tether_settings_title_usb" msgid="4265582654602420357">"USB тетеринг"</string>
<string name="tether_settings_title_wifi" msgid="2060965130234484613">"Алынбалы хот-спот"</string>
<string name="tether_settings_title_bluetooth" msgid="1999590158102569959">"Bluetooth модем"</string>
@@ -3144,7 +3144,7 @@
<string name="notification_ringtone_title" msgid="2932960620843976285">"Әдепкі хабарландыру сигналы"</string>
<string name="notification_unknown_sound_title" msgid="8043718667804838398">"Қолданбамен берілген дыбыс"</string>
<string name="notification_sound_default" msgid="2664544380802426260">"Әдепкі хабарландыру дыбысы"</string>
- <string name="alarm_ringtone_title" msgid="6411326147408635902">"Әдепкі дабыл сигналы"</string>
+ <string name="alarm_ringtone_title" msgid="6411326147408635902">"Әдепкі оятқыш сигналы"</string>
<string name="vibrate_when_ringing_title" msgid="2757996559847126952">"Қоңырау кезіндегі діріл"</string>
<string name="other_sound_settings" msgid="5250376066099818676">"Басқа дыбыстар"</string>
<string name="dial_pad_tones_title" msgid="8877212139988655769">"Нөмір тергіш дыбысы"</string>
diff --git a/tests/CarDeveloperOptions/res/values-km/strings.xml b/tests/CarDeveloperOptions/res/values-km/strings.xml
index 2969e80..749bbfe 100644
--- a/tests/CarDeveloperOptions/res/values-km/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-km/strings.xml
@@ -655,8 +655,8 @@
<item quantity="one">ត្រូវតែមានយ៉ាងហោចណាស់ <xliff:g id="COUNT_0">%d</xliff:g> តួ</item>
</plurals>
<plurals name="lockpassword_pin_too_short" formatted="false" msgid="6805936168283187298">
- <item quantity="other">កូដ PIN ត្រូវតែមានយ៉ាងហោចណាស់ <xliff:g id="COUNT_1">%d</xliff:g> ខ្ទង់</item>
- <item quantity="one">កូដ PIN ត្រូវតែមានយ៉ាងហោចណាស់ <xliff:g id="COUNT_0">%d</xliff:g> ខ្ទង់</item>
+ <item quantity="other">កូដ PIN ត្រូវមានយ៉ាងតិច <xliff:g id="COUNT_1">%d</xliff:g> ខ្ទង់</item>
+ <item quantity="one">កូដ PIN ត្រូវមានយ៉ាងតិច <xliff:g id="COUNT_0">%d</xliff:g> ខ្ទង់</item>
</plurals>
<string name="lockpassword_continue_label" msgid="7279261861924400655">"បន្ត"</string>
<plurals name="lockpassword_password_too_long" formatted="false" msgid="7994068708438608179">
@@ -1313,7 +1313,7 @@
<string name="security_patch" msgid="483709031051932208">"កម្រិតបំណះសុវត្ថិភាព Android"</string>
<string name="model_info" msgid="1729765474260797594">"ម៉ូដែល"</string>
<string name="model_summary" msgid="8781425868254352168">"ម៉ូដែល៖ %1$s"</string>
- <string name="hardware_info" msgid="174270144950621815">"ម៉ូដែល និងផ្នែករឹង"</string>
+ <string name="hardware_info" msgid="174270144950621815">"ម៉ូដែល និងហាតវែរ"</string>
<string name="hardware_revision" msgid="3315744162524354246">"កំណែផ្នែករឹង"</string>
<string name="fcc_equipment_id" msgid="8681995718533066093">"លេខសម្គាល់បរិក្ខារ"</string>
<string name="baseband_version" msgid="9115560821840757786">"កំណែមូលដ្ឋាន"</string>
@@ -4052,7 +4052,7 @@
<string name="display_cutout_emulation_keywords" msgid="6795671536772871439">"ឆក, ក្បាលឆក"</string>
<string name="overlay_option_device_default" msgid="165508753381657697">"លំនាំដើមរបស់ឧបករណ៍"</string>
<string name="overlay_toast_failed_to_apply" msgid="5692251825129250040">"មិនអាចប្រើការដាក់ត្រួតគ្នាបានទេ"</string>
- <string name="special_access" msgid="1453926335914696206">"ការចូលប្រើប្រាស់កម្មវិធីពិសេស"</string>
+ <string name="special_access" msgid="1453926335914696206">"សិទ្ធិចូលប្រើប្រាស់កម្មវិធីពិសេស"</string>
<plurals name="special_access_summary" formatted="false" msgid="5182092345063909346">
<item quantity="other">កម្មវិធី <xliff:g id="COUNT">%d</xliff:g> អាចប្រើទិន្នន័យដែលគ្មានការដាក់កំហិត</item>
<item quantity="one">កម្មវិធី 1 អាចប្រើទិន្នន័យដែលគ្មានការដាក់កំហិត</item>
diff --git a/tests/CarDeveloperOptions/res/values-kn/arrays.xml b/tests/CarDeveloperOptions/res/values-kn/arrays.xml
index 2b09f58..d690770 100644
--- a/tests/CarDeveloperOptions/res/values-kn/arrays.xml
+++ b/tests/CarDeveloperOptions/res/values-kn/arrays.xml
@@ -324,7 +324,7 @@
<item msgid="1600379420669104929">"ಧ್ವನಿ ವಾಲ್ಯೂಮ್"</item>
<item msgid="6296768210470214866">"ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</item>
<item msgid="510690696071629241">"ಮಾಧ್ಯಮ ವಾಲ್ಯೂಮ್"</item>
- <item msgid="406861638631430109">"ಅಲಾರಮ್ ವಾಲ್ಯೂಮ್"</item>
+ <item msgid="406861638631430109">"ಅಲಾರಂ ವಾಲ್ಯೂಮ್"</item>
<item msgid="4715864795872233884">"ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</item>
<item msgid="2311478519251301183">"ಬ್ಲೂಟೂತ್ ವಾಲ್ಯೂಮ್"</item>
<item msgid="5133991377896747027">"ಎಚ್ಚರವಾಗಿಡಿ"</item>
@@ -391,7 +391,7 @@
<item msgid="6462911487571123954">"100%"</item>
</string-array>
<string-array name="captioning_preset_selector_titles">
- <item msgid="326819345272910536">"ಆಪ್ ಡಿಫಾಲ್ಟ್ ಬಳಸಿ"</item>
+ <item msgid="326819345272910536">"ಆ್ಯಪ್ ಡಿಫಾಲ್ಟ್ ಬಳಸಿ"</item>
<item msgid="8611890312638868524">"ಕಪ್ಪು ಬಣ್ಣದಲ್ಲಿ ಬಿಳಿ"</item>
<item msgid="5891360837786277638">"ಬಿಳಿ ಬಣ್ಣದಲ್ಲಿ ಕಪ್ಪು"</item>
<item msgid="2798457065945456853">"ಕಪ್ಪು ಬಣ್ಣದಲ್ಲಿ ಹಳದಿ"</item>
diff --git a/tests/CarDeveloperOptions/res/values-kn/strings.xml b/tests/CarDeveloperOptions/res/values-kn/strings.xml
index 2150487..e21a6a3 100644
--- a/tests/CarDeveloperOptions/res/values-kn/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-kn/strings.xml
@@ -1369,7 +1369,7 @@
<string name="memory_available_read_only" msgid="9125440204248584531">"ಲಭ್ಯವಿದೆ (ಓದಲು ಮಾತ್ರ)"</string>
<string name="memory_size" msgid="6637939229251056764">"ಒಟ್ಟು ಸ್ಥಳ"</string>
<string name="memory_calculating_size" msgid="8407591625479256510">"ಎಣಿಕೆ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
- <string name="memory_apps_usage" msgid="1886814780760368266">"ಅಪ್ಲಿಕೇಶನ್ಗಳು & ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ"</string>
+ <string name="memory_apps_usage" msgid="1886814780760368266">"ಆ್ಯಪ್ಗಳು & ಆ್ಯಪ್ ಡೇಟಾ"</string>
<string name="memory_media_usage" msgid="2744652206722240527">"ಮಾಧ್ಯಮ"</string>
<string name="memory_downloads_usage" msgid="7039979723012065168">"ಡೌನ್ಲೋಡ್"</string>
<string name="memory_dcim_usage" msgid="599009211606524732">"ಚಿತ್ರಗಳು, ವೀಡಿಯೊಗಳು"</string>
@@ -1458,7 +1458,7 @@
<string name="storage_detail_system" msgid="6784247618772153283">"ಸಿಸ್ಟಂ"</string>
<string name="storage_detail_explore" msgid="8206900269596580264">"<xliff:g id="NAME">^1</xliff:g> ಅನ್ನು ಎಕ್ಸ್ಪ್ಲೋರ್ ಮಾಡಿ"</string>
<string name="storage_detail_dialog_other" msgid="5073511663616043370">"ಅಪ್ಲಿಕೇಶನ್ಗಳು ಉಳಿಸಿರುವ ಹಂಚಿದ ಫೈಲ್ಗಳು, ಇಂಟರ್ನೆಟ್ ಅಥವಾ ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಡೌನ್ಲೋಡ್ ಮಾಡಿರುವ ಫೈಲ್ಗಳು, Android ಫೈಲ್ಗಳು ಹಾಗೂ ಮೊದಲಾದವುಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. \n\n ಇದರ ಗೋಚರಿಸುವ ವಿಷಯಗಳನ್ನು ವೀಕ್ಷಿಸಲು <xliff:g id="NAME">^1</xliff:g>, ಎಕ್ಸ್ಪ್ಲೋರ್ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
- <string name="storage_detail_dialog_system" msgid="1472572861360014226">"Android ಆವೃತ್ತಿ <xliff:g id="VERSION">%s</xliff:g> ರನ್ ಮಾಡಲು ಬಳಸುವ ಫೈಲ್ಗಳನ್ನು ಸಿಸ್ಟಂ ಒಳಗೊಂಡಿದೆ"</string>
+ <string name="storage_detail_dialog_system" msgid="1472572861360014226">"Android ಆವೃತ್ತಿ <xliff:g id="VERSION">%s</xliff:g> ರನ್ ಮಾಡಲು ಬಳಸುವ ಫೈಲ್ಗಳು ಈ ಸಿಸ್ಟಂನಲ್ಲಿವೆ"</string>
<string name="storage_detail_dialog_user" msgid="1663117417635010371">"<xliff:g id="USER_0">^1</xliff:g> ಅವರು <xliff:g id="SIZE">^2</xliff:g> ಸಂಗ್ರಹಣೆ ಬಳಸಿ ಫೋಟೋಗಳು, ಸಂಗೀತ, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅಥವಾ ಇತರ ಡೇಟಾವನ್ನು ಉಳಿಸಿರಬಹುದು. \n\nವಿವರಗಳನ್ನು ವೀಕ್ಷಿಸಲು <xliff:g id="USER_1">^1</xliff:g> ಗೆ ಬದಲಾಯಿಸಿ."</string>
<string name="storage_wizard_init_title" msgid="3407283236421089014">"ನಿಮ್ಮ <xliff:g id="NAME">^1</xliff:g> ಅನ್ನು ಹೊಂದಿಸಿ"</string>
<string name="storage_wizard_init_external_title" msgid="6853250619674645478">"ಪೋರ್ಟಬಲ್ ಸಂಗ್ರಹಣೆಯಂತೆ ಬಳಸಿ"</string>
@@ -1569,7 +1569,7 @@
<string name="menu_restore" msgid="3799288817317293115">"ಡೀಫಾಲ್ಟ್ಗೆ ಮರುಹೊಂದಿಸು"</string>
<string name="restore_default_apn_completed" msgid="5671734152740058937">"ಡಿಫಾಲ್ಟ್ APN ಸೆಟ್ಟಿಂಗ್ಗಳ ಮರುಹೊಂದಿಕೆಯು ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
<string name="reset_dashboard_title" msgid="7084966342252178530">"ಮರುಹೊಂದಿಸುವ ಆಯ್ಕೆಗಳು"</string>
- <string name="reset_dashboard_summary" msgid="8778383341461126642">"ನೆಟ್ವರ್ಕ್, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅಥವಾ ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಬಹುದಾಗಿದೆ"</string>
+ <string name="reset_dashboard_summary" msgid="8778383341461126642">"ನೆಟ್ವರ್ಕ್, ಆ್ಯಪ್ಗಳು ಅಥವಾ ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಬಹುದಾಗಿದೆ"</string>
<string name="reset_network_title" msgid="8944059136930806211">"ವೈ-ಫೈ, ಮೊಬೈಲ್ ಮತ್ತು ಬ್ಲೂಟೂತ್ ಮರುಹೊಂದಿಸಿ"</string>
<string name="reset_network_desc" msgid="4982633363916261109">"ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಇದು ಎಲ್ಲಾ ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ:\n\n"<li>"ವೈ-ಫೈ"</li>\n<li>"ಮೊಬೈಲ್ ಡೇಟಾ"</li>\n<li>"ಬ್ಲೂಟೂತ್"</li></string>
<string name="reset_esim_title" msgid="7630781767040831893">"ಡೌನ್ಲೋಡ್ ಮಾಡಿದ SIM ಅಳಿಸಿ"</string>
@@ -1583,8 +1583,8 @@
<string name="reset_network_complete_toast" msgid="128225929536005495">"ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ ಮರುಹೊಂದಿಸಲಾಗಿದೆ"</string>
<string name="reset_esim_error_title" msgid="4728931209471875632">"SIM ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"ದೋಷದ ಕಾರಣದಿಂದಾಗಿ ಡೌನ್ಲೋಡ್ ಮಾಡಿದ SIM ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
- <string name="master_clear_title" msgid="1560712943955904673">"ಎಲ್ಲಾ ಡೇಟಾ ಅಳಿಸಿ (ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸಿ)"</string>
- <string name="master_clear_short_title" msgid="919098101581335101">"ಎಲ್ಲಾ ಡೇಟಾ ಅಳಿಸಿ (ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸಿ)"</string>
+ <string name="master_clear_title" msgid="1560712943955904673">"ಎಲ್ಲಾ ಡೇಟಾ ಅಳಿಸಿ (ಫ್ಯಾಕ್ಟರಿ ರಿಸೆಟ್)"</string>
+ <string name="master_clear_short_title" msgid="919098101581335101">"ಎಲ್ಲಾ ಡೇಟಾ ಅಳಿಸಿ (ಫ್ಯಾಕ್ಟರಿ ರಿಸೆಟ್)"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"ಇದು ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ನ "<b>"ಆಂತರಿಕ ಸಂಗ್ರಹಣೆಯ"</b>" ಎಲ್ಲ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ, ಅವುಗಳೆಂದರೆ:\n\n"<li>"ನಿಮ್ಮ Google ಖಾತೆ"</li>\n<li>"ಸಿಸ್ಟಂ ಮತ್ತು ಆ್ಯಪ್ ಡೇಟಾ ಹಾಗೂ ಸೆಟ್ಟಿಂಗ್ಗಳು"</li>\n<li>"ಡೌನ್ಲೋಡ್ ಮಾಡಿರುವ ಆ್ಯಪ್ಗಳು"</li></string>
<string name="master_clear_desc" product="default" msgid="8765543541962866697">"ಇದು ನಿಮ್ಮ ಫೋನ್ನ "<b>"ಆಂತರಿಕ ಸಂಗ್ರಹಣೆಯಲ್ಲಿರುವ"</b>", ಇವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ:\n\n"<li>"ನಿಮ್ಮ Google ಖಾತೆ"</li>\n<li>"ಸಿಸ್ಟಂ ಮತ್ತು ಆ್ಯಪ್ ಡೇಟಾ ಹಾಗೂ ಸೆಟ್ಟಿಂಗ್ಗಳು"</li>\n<li>"ಡೌನ್ಲೋಡ್ ಮಾಡಿರುವ ಆ್ಯಪ್ಗಳು"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"ನೀವು ಪ್ರಸ್ತುತ ಕೆಳಗಿನ ಖಾತೆಗಳಿಗೆ ಸೈನ್ ಇನ್ ಆಗಿರುವಿರಿ:\n"</string>
@@ -1636,7 +1636,7 @@
<string name="sms_application_title" msgid="7815840568119334679">"SMS ಅಪ್ಲಿಕೇಶನ್"</string>
<string name="sms_change_default_dialog_title" msgid="6301260161969667578">"SMS ಅಪ್ಲಿಕೇಶನ್ ಬದಲಾಯಿಸುವುದೇ?"</string>
<string name="sms_change_default_dialog_text" msgid="8275088077930942680">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> ಬದಲಾಗಿ <xliff:g id="NEW_APP">%1$s</xliff:g> ಅನ್ನು ನಿಮ್ಮ SMS ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಬಳಸುವುದೇ?"</string>
- <string name="sms_change_default_no_previous_dialog_text" msgid="4680224695080527907">"<xliff:g id="NEW_APP">%s</xliff:g> ಅನ್ನು ನಿಮ್ಮ SMS ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಬಳಸುವುದೇ?"</string>
+ <string name="sms_change_default_no_previous_dialog_text" msgid="4680224695080527907">"<xliff:g id="NEW_APP">%s</xliff:g> ಅನ್ನು ನಿಮ್ಮ SMS ಆ್ಯಪ್ ಆಗಿ ಬಳಸುವುದೇ?"</string>
<string name="network_scorer_picker_title" msgid="1691073966560952916">"ನೆಟ್ವರ್ಕ್ ರೇಟಿಂಗ್ ಒದಗಿಸುವವರು"</string>
<string name="network_scorer_picker_none_preference" msgid="6448280557733231737">"ಯಾವುದೂ ಅಲ್ಲ"</string>
<string name="network_scorer_change_active_dialog_title" msgid="4274159562371475090">"Wi‑Fi ಸಹಾಯಕವನ್ನು ಬದಲಿಸುವುದೇ?"</string>
@@ -1788,9 +1788,9 @@
<string name="manageapplications_settings_summary" msgid="5092964799412478962">"ಸ್ಥಾಪಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ತೆಗೆದುಹಾಕಿ"</string>
<string name="applications_settings" msgid="368331725658793179">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
<string name="applications_settings_summary" msgid="8888258399577123906">"ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ವಹಿಸಿ, ಶೀಘ್ರ ಪ್ರಾರಂಭ ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಹೊಂದಿಸಿ"</string>
- <string name="applications_settings_header" msgid="3766501606045211098">"ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="applications_settings_header" msgid="3766501606045211098">"ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="install_applications" msgid="7745902974984889179">"ಅಪರಿಚಿತ ಮೂಲಗಳು"</string>
- <string name="install_applications_title" msgid="8164828577588659496">"ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+ <string name="install_applications_title" msgid="8164828577588659496">"ಎಲ್ಲಾ ಆ್ಯಪ್ ಮೂಲಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
<string name="recent_app_category_title" msgid="7688788038277126727">"ಇತ್ತೀಚೆಗಷ್ಟೇ ತೆರೆಯಲಾಗಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string>
<string name="see_all_apps_title" msgid="6435061912110347474">"ಎಲ್ಲಾ <xliff:g id="COUNT">%1$d</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
<string name="install_all_warning" product="tablet" msgid="4580699862358542727">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಹಾಗೂ ವೈಯಕ್ತಿಕ ಡೇಟಾ, ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್ಗಳ ದಾಳಿಗೆ ತುತ್ತಾಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗಿದೆ. ಈ ಮೂಲದ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ ಫೋನ್ಗೆ ಯಾವುದೇ ಹಾನಿ ಉಂಟಾದರೆ ಅಥವಾ ಅವುಗಳ ಬಳಕೆಯಿಂದ ಡೇಟಾ ನಷ್ಟವಾದರೆ, ಅದಕ್ಕೆ ನೀವೇ ಜವಾಬ್ದಾರರು ಎನ್ನುವುದನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೀರಿ."</string>
@@ -1798,7 +1798,7 @@
<string name="install_all_warning" product="device" msgid="9141585291103603515">"ನಿಮ್ಮ ಸಾಧನ ಹಾಗೂ ವೈಯಕ್ತಿಕ ಡೇಟಾ, ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್ಗಳ ದಾಳಿಗೆ ತುತ್ತಾಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗಿದೆ. ಈ ಮೂಲದ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುವ ಮೂಲಕ, ನಿಮ್ಮ ಫೋನ್ಗೆ ಯಾವುದೇ ಹಾನಿ ಉಂಟಾದರೆ ಅಥವಾ ಅವುಗಳ ಬಳಕೆಯಿಂದ ಡೇಟಾ ನಷ್ಟವಾದರೆ, ಅದಕ್ಕೆ ನೀವೇ ಜವಾಬ್ದಾರರು ಎನ್ನುವುದನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೀರಿ."</string>
<string name="advanced_settings" msgid="6282069364060968122">"ಸುಧಾರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="advanced_settings_summary" msgid="5912237062506771716">"ಇನ್ನಷ್ಟು ಸೆಟ್ಟಿಂಗ್ಗಳ ಆಯ್ಕೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸು"</string>
- <string name="application_info_label" msgid="3886253474964599105">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
+ <string name="application_info_label" msgid="3886253474964599105">"ಆ್ಯಪ್ ಮಾಹಿತಿ"</string>
<string name="storage_label" msgid="1109537840103290384">"ಸಂಗ್ರಹಣೆ"</string>
<string name="auto_launch_label" msgid="47089737922907379">"ಡಿಫಾಲ್ಟ್ ಮೂಲಕ ತೆರೆಯಿರಿ"</string>
<string name="auto_launch_label_generic" msgid="7865828543459493308">"ಡೀಫಾಲ್ಟ್ಗಳು"</string>
@@ -1815,8 +1815,8 @@
<string name="controls_label" msgid="5609285071259457221">"ನಿಯಂತ್ರಣಗಳು"</string>
<string name="force_stop" msgid="9213858124674772386">"ಸ್ಥಗಿತಗೊಳಿಸಿ"</string>
<string name="total_size_label" msgid="3929917501176594692">"ಒಟ್ಟು"</string>
- <string name="application_size_label" msgid="175357855490253032">"ಅಪ್ಲಿಕೇಶನ್ ಗಾತ್ರ"</string>
- <string name="external_code_size_label" msgid="3434421216268309411">"USB ಸಂಗ್ರಹಣೆ ಅಪ್ಲಿಕೇಶನ್"</string>
+ <string name="application_size_label" msgid="175357855490253032">"ಆ್ಯಪ್ ಗಾತ್ರ"</string>
+ <string name="external_code_size_label" msgid="3434421216268309411">"USB ಸಂಗ್ರಹಣೆ ಆ್ಯಪ್"</string>
<string name="data_size_label" msgid="7790201846922671662">"ಬಳಕೆದಾರರ ಡೇಟಾ"</string>
<string name="external_data_size_label" product="nosdcard" msgid="8004991551882573479">"USB ಸಂಗ್ರಹಣೆ ಡೇಟಾ"</string>
<string name="external_data_size_label" product="default" msgid="1097584278225902734">"SD ಕಾರ್ಡ್"</string>
@@ -1844,7 +1844,7 @@
<string name="default_emergency_app" msgid="286530070173495823">"ತುರ್ತು ಅಪ್ಲಿಕೇಶನ್"</string>
<string name="reset_app_preferences" msgid="1426500030595212077">"ಆ್ಯಪ್ ಆದ್ಯತೆಗಳನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
<string name="reset_app_preferences_title" msgid="792909865493673598">"ಆ್ಯಪ್ ಆದ್ಯತೆಗಳನ್ನು ಮರುಹೊಂದಿಸುವುದೇ?"</string>
- <string name="reset_app_preferences_desc" msgid="7935273005301096031">"ಈ ಕೆಳಗಿನ ಎಲ್ಲದಕ್ಕೂ ಇದು ಪ್ರಾಶಸ್ತ್ಯ ಮರುಹೊಂದಿಸುತ್ತದೆ:\n\n "<li>"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</li>\n" "<li>"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ ಅಧಿಸೂಚನೆಗಳು"</li>\n" "<li>"ಕಾರ್ಯಗಳಿಗೆ ಡೀಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</li>\n" "<li>"ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಹಿನ್ನೆಲೆ ಡೇಟಾ ನಿರ್ಬಂಧಗಳು"</li>\n" "<li>"ಯಾವುದೇ ಅನುಮತಿ ನಿರ್ಬಂಧಗಳು"</li>\n\n" ನೀವು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದಿಲ್ಲ."</string>
+ <string name="reset_app_preferences_desc" msgid="7935273005301096031">"ಇದು ಕೆಳಗಿನವುಗಳ ಎಲ್ಲಾ ಆದ್ಯತೆಗಳನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ:\n\n "<li>"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</li>\n" "<li>"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ ಅಧಿಸೂಚನೆಗಳು"</li>\n" "<li>"ಕಾರ್ಯಗಳಿಗೆ ಡೀಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</li>\n" "<li>"ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಹಿನ್ನೆಲೆ ಡೇಟಾ ನಿರ್ಬಂಧಗಳು"</li>\n" "<li>"ಯಾವುದೇ ಅನುಮತಿ ನಿರ್ಬಂಧಗಳು"</li>\n\n" ನೀವು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದಿಲ್ಲ."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"ಆ್ಯಪ್ಗಳನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
<string name="manage_space_text" msgid="6166469422303124302">"ಸ್ಥಳ ನಿರ್ವಹಿಸಿ"</string>
<string name="filter" msgid="2426943916212457962">"ಫಿಲ್ಟರ್"</string>
@@ -1887,12 +1887,12 @@
<string name="force_stop_dlg_text" msgid="7435245769456493398">"ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬಲವಂತವಾಗಿ ಸ್ಥಗಿತಗೊಳಿಸಿದರೆ, ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರಬಹುದು."</string>
<string name="app_install_location_title" msgid="5121617802063021720">"ಅಪೇಕ್ಷಿತ ಸ್ಥಾಪನೆ ಸ್ಥಳ"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಪ್ರಾಶಸ್ತ್ಯದ ಸ್ಥಾಪನೆ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸಿ"</string>
- <string name="app_disable_dlg_positive" msgid="5508828271100168073">"ಅಪ್ಲಿಕೇಶನ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <string name="app_disable_dlg_positive" msgid="5508828271100168073">"ಆ್ಯಪ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="app_disable_dlg_text" msgid="9221864774943530281">"ನೀವು ಈ ಆ್ಯಪ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದರೆ, Android ಮತ್ತು ಇತರ ಆ್ಯಪ್ಗಳು ಇನ್ನು ಮುಂದೆ ಉದ್ದೇಶಿಸಿದ ಹಾಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರಬಹುದು. ಈ ಆ್ಯಪ್ ಅನ್ನು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಪೂರ್ವ-ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿರುವುದರಿಂದ, ನೀವು ಅದನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಮೂಲಕ, ಈ ಆ್ಯಪ್ ಅನ್ನು ನೀವು ಆಫ್ ಮಾಡಬಹುದು ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಮರೆ ಮಾಡಬಹುದು."</string>
<string name="app_disable_notifications_dlg_title" msgid="699530661413553928">"ಅಧಿಸೂಚನೆಗಳನ್ನು ಆಫ್ ಮಾಡುವುದೇ?"</string>
<string name="app_install_details_group_title" msgid="2909597319422976921">"ಸ್ಟೋರ್"</string>
<string name="app_install_details_title" msgid="6954953384372934881">"ಅಪ್ಲಿಕೇಶನ್ ವಿವರಗಳು"</string>
- <string name="app_install_details_summary" msgid="6612222941121363940">"<xliff:g id="APP_STORE">%1$s</xliff:g> ನಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಲಾಗಿದೆ"</string>
+ <string name="app_install_details_summary" msgid="6612222941121363940">"<xliff:g id="APP_STORE">%1$s</xliff:g> ನಿಂದ ಆ್ಯಪ್ ಸ್ಥಾಪಿಸಲಾಗಿದೆ"</string>
<string name="instant_app_details_summary" msgid="6384264315914966114">"<xliff:g id="APP_STORE">%1$s</xliff:g> ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ"</string>
<string name="app_ops_running" msgid="6378418969742957805">"ಚಾಲನೆಯಲ್ಲಿದೆ"</string>
<string name="app_ops_never_used" msgid="8305262378162525813">"(ಎಂದಿಗೂ ಬಳಸಿಲ್ಲ)"</string>
@@ -1924,14 +1924,14 @@
<string name="running_processes_header_used_prefix" msgid="2984090414986096084">"ಬಳಕೆಯಾಗಿದ್ದು"</string>
<string name="running_processes_header_cached_prefix" msgid="8398315634778729026">"ಸಂಗ್ರಹಿಸಲಾಗಿದ್ದು"</string>
<string name="running_processes_header_ram" msgid="3867954556214535588">"RAM ನ <xliff:g id="RAM_0">%1$s</xliff:g>"</string>
- <string name="runningservicedetails_settings_title" msgid="7075556369123578372">"ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್"</string>
+ <string name="runningservicedetails_settings_title" msgid="7075556369123578372">"ಚಾಲನೆಯಲ್ಲಿರುವ ಆ್ಯಪ್"</string>
<string name="no_services" msgid="2085012960886321920">"ಕ್ರಿಯಾಶೀಲವಾಗಿಲ್ಲ"</string>
<string name="runningservicedetails_services_title" msgid="5890094559748633615">"ಸೇವೆಗಳು"</string>
<string name="runningservicedetails_processes_title" msgid="5496507383850423763">"ಪ್ರಕ್ರಿಯೆಗಳು"</string>
<string name="service_stop" msgid="8812777462903125191">"ನಿಲ್ಲಿಸಿ"</string>
<string name="service_manage" msgid="7045214643721276662">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="service_stop_description" msgid="4184180745938573707">"ಈ ಸೇವೆಯನ್ನು ಇದರ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಾರಂಭಿಸಿದೆ. ನಿಲ್ಲಿಸುವುದರಿಂದ ಇದು ಅಪ್ಲಿಕೇಶನ್ ವಿಫಲಗೊಳ್ಳಲು ಕಾರಣವಾಗಬಹುದು."</string>
- <string name="heavy_weight_stop_description" msgid="7444148811046611463">"ಈ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ನಿಲ್ಲಿಸಲಾಗುವುದಿಲ್ಲ. ನೀವು ಇದನ್ನು ನಿಲ್ಲಿಸಿದರೆ, ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಕೆಲವು ಕಾರ್ಯವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳಬಹುದು."</string>
+ <string name="heavy_weight_stop_description" msgid="7444148811046611463">"ಈ ಆ್ಯಪ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ನಿಲ್ಲಿಸಲಾಗುವುದಿಲ್ಲ. ನೀವು ಇದನ್ನು ನಿಲ್ಲಿಸಿದರೆ, ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಕೆಲವು ಕಾರ್ಯವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳಬಹುದು."</string>
<string name="background_process_stop_description" msgid="8971810208873038109">"ಇದು ಮತ್ತೆ ಅಗತ್ಯವಿರುವ ಸಂದರ್ಭದಲ್ಲಿ ಇನ್ನೂ ಚಾಲನೆಯಲ್ಲಿರುವ ಹಳೆಯ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಕ್ರಿಯೆ ಇದಾಗಿದೆ. ಇದನ್ನು ನಿಲ್ಲಿಸಲು ಸಾಮಾನ್ಯವಾಗಿ ಯಾವುದೇ ಕಾರಣವಿಲ್ಲ."</string>
<string name="service_manage_description" msgid="8058123524402833082">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: ಪ್ರಸ್ತುತ ಬಳಕೆಯಲ್ಲಿದೆ. ಅದನ್ನು ನಿಯಂತ್ರಿಸಲು ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
<string name="main_running_process_description" msgid="7733268956566861797">"ಮುಖ್ಯ ಪ್ರಕ್ರಿಯೆಯು ಬಳಕೆಯಲ್ಲಿದೆ."</string>
@@ -2031,7 +2031,7 @@
<string name="usage_stats_label" msgid="3128999956478977035">"ಬಳಕೆಯ ಅಂಕಿಅಂಶಗಳು"</string>
<string name="testing_usage_stats" msgid="704965692323956976">"ಬಳಕೆಯ ಅಂಕಿಅಂಶಗಳು"</string>
<string name="display_order_text" msgid="2973620313510295873">"ಈ ಪ್ರಕಾರ ವಿಂಗಡಿಸು:"</string>
- <string name="app_name_label" msgid="2258469951312794816">"ಅಪ್ಲಿಕೇಶನ್"</string>
+ <string name="app_name_label" msgid="2258469951312794816">"ಆ್ಯಪ್"</string>
<string name="last_time_used_label" msgid="1119322667349666930">"ಕಳೆದ ಬಾರಿಯ ಬಳಕೆ"</string>
<string name="usage_time_label" msgid="5615725415876461039">"ಬಳಕೆ ಸಮಯ"</string>
<string name="accessibility_settings" msgid="9140621093888234485">"ಪ್ರವೇಶ ಲಭ್ಯತೆ"</string>
@@ -2342,14 +2342,14 @@
<item quantity="other">%1$d ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</item>
</plurals>
<string name="battery_header_title_alternate" msgid="1161081105263761743">"<xliff:g id="NUMBER">^1</xliff:g>"<small>" "<font size="20">"<xliff:g id="UNIT">%</xliff:g>"</font></small>""</string>
- <string name="dialog_stop_title" msgid="4354544579084434590">"ಅಪ್ಲಿಕೇಶನ್ ನಿಲ್ಲಿಸಬೇಕೇ?"</string>
+ <string name="dialog_stop_title" msgid="4354544579084434590">"ಆ್ಯಪ್ ನಿಲ್ಲಿಸಬೇಕೇ?"</string>
<string name="dialog_stop_message" product="default" msgid="1361660290824872555">"<xliff:g id="APP">%1$s</xliff:g>ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಫೋನ್ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು, ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.\n\nಇದನ್ನು ಮುಂದುವರಿಸಿದ್ದಲ್ಲಿ, ಬ್ಯಾಟರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ."</string>
<string name="dialog_stop_message" product="tablet" msgid="8948358625588034303">"<xliff:g id="APP">%1$s</xliff:g>ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು, ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.\n\nಇದನ್ನು ಮುಂದುವರಿಸಿದ್ದಲ್ಲಿ, ಬ್ಯಾಟರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ."</string>
<string name="dialog_stop_message" product="device" msgid="3550459274584461359">"<xliff:g id="APP">%1$s</xliff:g>ನಿಮ್ಮ ಸಾಧನವನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಸಾಧನ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು, ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.\n\nಇದನ್ನು ಮುಂದುವರಿಸಿದ್ದಲ್ಲಿ, ಬ್ಯಾಟರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ."</string>
<string name="dialog_stop_message_wakeup_alarm" product="default" msgid="5361295199859282104">"<xliff:g id="APP_0">%1$s</xliff:g>ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಫೋನ್ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು, <xliff:g id="APP_1">%1$s</xliff:g> ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.\n\nಇದನ್ನು ಮುಂದುವರಿಸಿದ್ದಲ್ಲಿ, ಬ್ಯಾಟರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ."</string>
<string name="dialog_stop_message_wakeup_alarm" product="tablet" msgid="3270887403788487776">"<xliff:g id="APP_0">%1$s</xliff:g>ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು, <xliff:g id="APP_1">%1$s</xliff:g>ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.\n\nಇದನ್ನು ಮುಂದುವರಿಸಿದ್ದಲ್ಲಿ, ಬ್ಯಾಟರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ."</string>
<string name="dialog_stop_message_wakeup_alarm" product="device" msgid="6577512995315373362">"<xliff:g id="APP_0">%1$s</xliff:g>ನಿಮ್ಮ ಸಾಧನವನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಸಾಧನ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು, <xliff:g id="APP_1">%1$s</xliff:g> ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.\n\nಇದನ್ನು ಮುಂದುವರಿಸಿದ್ದಲ್ಲಿ, ಬ್ಯಾಟರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ."</string>
- <string name="dialog_stop_ok" msgid="5809052504018242928">"ಅಪ್ಲಿಕೇಶನ್ ನಿಲ್ಲಿಸಿ"</string>
+ <string name="dialog_stop_ok" msgid="5809052504018242928">"ಆ್ಯಪ್ ನಿಲ್ಲಿಸಿ"</string>
<string name="dialog_background_check_title" msgid="6289139150963983470">"ಹಿನ್ನೆಲೆ ಬಳಕೆಯನ್ನು ಆಫ್ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಗಿತಗೊಳಿಸಬೇಕೆ?"</string>
<string name="dialog_background_check_message" product="default" msgid="944264053032952679">"<xliff:g id="APP_0">%1$s</xliff:g> ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಫೋನ್ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಬಗೆಹರಿಸಲು ಪ್ರಯತ್ನಿಸಲು, ನೀವು <xliff:g id="APP_1">%1$s</xliff:g> ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು ಮತ್ತು ಅದು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದನ್ನು ತಡೆಯಬಹುದು."</string>
<string name="dialog_background_check_message" product="tablet" msgid="5246650726585461386">"<xliff:g id="APP_0">%1$s</xliff:g> ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟಿರುವ ಕಾರಣದಿಂದಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಬ್ಯಾಟರಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.\n\nಈ ಸಮಸ್ಯೆಯನ್ನು ಬಗೆಹರಿಸಲು ಪ್ರಯತ್ನಿಸಲು, ನೀವು <xliff:g id="APP_1">%1$s</xliff:g> ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು ಮತ್ತು ಅದು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದನ್ನು ತಡೆಯಬಹುದು."</string>
@@ -2393,7 +2393,7 @@
<string name="usage_type_computed_power" msgid="2594890316149868151">"ಗಣನೆ ಮಾಡಲಾದ ಪವರ್ ಬಳಕೆ"</string>
<string name="usage_type_actual_power" msgid="8067253427718526111">"ಗಮನಿಸಲಾದ ಪವರ್ ಬಳಕೆ"</string>
<string name="battery_action_stop" msgid="1866624019460630143">"ಸ್ಥಗಿತಗೊಳಿಸಿ"</string>
- <string name="battery_action_app_details" msgid="1077011181969550402">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
+ <string name="battery_action_app_details" msgid="1077011181969550402">"ಆ್ಯಪ್ ಮಾಹಿತಿ"</string>
<string name="battery_action_app_settings" msgid="587998773852488539">"ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="battery_action_display" msgid="4887913003634317465">"ಪರದೆ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="battery_action_wifi" msgid="7123520587925323824">"Wi‑Fi ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
@@ -2412,7 +2412,7 @@
<string name="battery_desc_bluetooth" msgid="3468061900485447679">"ಬ್ಲೂಟೂತ್ ಬಳಸಿದ ಬ್ಯಾಟರಿ"</string>
<string name="battery_sugg_bluetooth_basic" msgid="6353294067057749310">"ನೀವು ಬ್ಲೂಟೂತ್ ಅನ್ನು ಬಳಸದಿರುವಾಗ ಅದನ್ನು ಆಫ್ ಮಾಡಿ"</string>
<string name="battery_sugg_bluetooth_headset" msgid="2421931037149315202">"ಬೇರೆ ಬ್ಲೂಟೂತ್ ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸಿ"</string>
- <string name="battery_desc_apps" msgid="6826726880149226823">"ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಿದ ಬ್ಯಾಟರಿ"</string>
+ <string name="battery_desc_apps" msgid="6826726880149226823">"ಆ್ಯಪ್ ಬಳಸಿದ ಬ್ಯಾಟರಿ"</string>
<string name="battery_sugg_apps_info" msgid="9175761965559743977">"ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಲ್ಲಿಸಿ ಅಥವಾ ಅನ್ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
<string name="battery_sugg_apps_gps" msgid="489694612870772770">"ಬ್ಯಾಟರಿ ಉಳಿಸುವ ಮೋಡ್ ಆಯ್ಕೆಮಾಡಿ"</string>
<string name="battery_sugg_apps_settings" msgid="20465932930350295">"ಬ್ಯಾಟರಿಯ ಬಳಕೆ ಕಡಿಮೆಗೊಳಿಸಲು ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಅಪ್ಲಿಕೇಶನ್ ಅವಕಾಶ ಮಾಡಿಕೊಡಬಹುದು"</string>
@@ -2517,7 +2517,7 @@
<string name="tts_spoken_language" msgid="8057256621711361944">"ಆಡುಭಾಷೆ"</string>
<string name="tts_install_voices_title" msgid="363811937643579286">"ಧ್ವನಿಗಳನ್ನು ಸ್ಥಾಪಿಸಿ"</string>
<string name="tts_install_voices_text" msgid="7464832428439739995">"ಧ್ವನಿಗಳನ್ನು ಸ್ಥಾಪಿಸಲು <xliff:g id="TTS_APP_NAME">%s</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗೆ ಮುಂದುವರಿಯಿರಿ"</string>
- <string name="tts_install_voices_open" msgid="686776451008134790">"ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಿರಿ"</string>
+ <string name="tts_install_voices_open" msgid="686776451008134790">"ಆ್ಯಪ್ ತೆರೆಯಿರಿ"</string>
<string name="tts_install_voices_cancel" msgid="1622512922523479646">"ರದ್ದುಮಾಡಿ"</string>
<string name="tts_reset" msgid="8864073594540705579">"ಮರುಹೊಂದಿಸಿ"</string>
<string name="tts_play" msgid="9023430029380675514">"ಪ್ಲೇ"</string>
@@ -2543,7 +2543,7 @@
<string name="credentials_reset_hint" msgid="3484350477764088169">"ಎಲ್ಲ ವಿಷಯಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?"</string>
<string name="credentials_erased" msgid="7287088033523869085">"ರುಜುವಾತು ಸಂಗ್ರಹಣೆಯನ್ನು ಅಳಿಸಲಾಗಿದೆ."</string>
<string name="credentials_not_erased" msgid="9137227570738627637">"ರುಜುವಾತು ಸಂಗ್ರಹಣೆಯನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
- <string name="usage_access_title" msgid="7981321142726540574">"ಬಳಕೆಯ ಪ್ರವೇಶದ ಆಪ್"</string>
+ <string name="usage_access_title" msgid="7981321142726540574">"ಬಳಕೆಯ ಪ್ರವೇಶವಿರುವ ಆ್ಯಪ್ಗಳು"</string>
<string name="emergency_tone_title" msgid="130211364025984428">"ತುರ್ತು ಡೈಯಲಿಂಗ್ ಸಿಗ್ನಲ್"</string>
<string name="emergency_tone_summary" msgid="8035940153401622240">"ತುರ್ತು ಕರೆ ಮಾಡಿದಾಗ ಕಾರ್ಯ ರೀತಿಯನ್ನು ಹೊಂದಿಸಿ"</string>
<string name="privacy_settings_title" msgid="3573891462732375772">"ಬ್ಯಾಕಪ್"</string>
@@ -2555,13 +2555,13 @@
<string name="backup_data_summary" msgid="555459891017933746">"Google ಸರ್ವರ್ಗಳಿಗೆ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ, ವೈ-ಫೈ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡು"</string>
<string name="backup_configure_account_title" msgid="1534734650559070294">"ಬ್ಯಾಕಪ್ ಖಾತೆ"</string>
<string name="backup_data_management_title" msgid="6299288795610243508">"ಬ್ಯಾಕಪ್ ಖಾತೆಯನ್ನು ನಿರ್ವಹಿಸಿ"</string>
- <string name="include_app_data_title" msgid="6117211611131913293">"ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ ಸೇರಿಸಿ"</string>
+ <string name="include_app_data_title" msgid="6117211611131913293">"ಆ್ಯಪ್ ಡೇಟಾ ಸೇರಿಸಿ"</string>
<string name="auto_restore_title" msgid="8367486774010915221">"ಸ್ವಯಂಚಾಲಿತ ಮರುಸ್ಥಾಪನೆ"</string>
<string name="auto_restore_summary" msgid="1941047568966428377">"ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸುವಾಗ, ಬ್ಯಾಕಪ್ ಮಾಡಲಾದ ಸೆಟ್ಟಿಂಗ್ಗಳು, ಡೇಟಾವನ್ನು ಮರುಸ್ಥಾಪಿಸು"</string>
<string name="backup_inactive_title" msgid="5513496915638307750">"ಬ್ಯಾಕ್ಅಪ್ ಸೇವೆ ಸಕ್ರಿಯವಾಗಿಲ್ಲ"</string>
<string name="backup_configure_account_default_summary" msgid="5718298066335006412">"ಬ್ಯಾಕ್ ಅಪ್ ಆಗಿರುವ ಡೇಟಾವನ್ನು ಯಾವುದೇ ಖಾತೆಯು ಪ್ರಸ್ತುತ ಸಂಗ್ರಹಿಸುತ್ತಿಲ್ಲ"</string>
<string name="backup_erase_dialog_title" msgid="8178424339104463014"></string>
- <string name="backup_erase_dialog_message" msgid="8767843355330070902">"ನಿಮ್ಮ Wi‑Fi ಪಾಸ್ವರ್ಡ್ಗಳು, ಬುಕ್ಮಾರ್ಕ್ಗಳು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳು ಹಾಗೂ ಆಪ್ ಡೇಟಾವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುವುದರ ಜೊತೆಗೆ Google ಸರ್ವರ್ಗಳಲ್ಲಿನ ಎಲ್ಲ ಪ್ರತಿಗಳನ್ನು ಅಳಿಸುವುದೇ?"</string>
+ <string name="backup_erase_dialog_message" msgid="8767843355330070902">"ನಿಮ್ಮ Wi‑Fi ಪಾಸ್ವರ್ಡ್ಗಳು, ಬುಕ್ಮಾರ್ಕ್ಗಳು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳು ಹಾಗೂ ಆ್ಯಪ್ ಡೇಟಾವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುವುದರ ಜೊತೆಗೆ Google ಸರ್ವರ್ಗಳಲ್ಲಿನ ಎಲ್ಲ ಪ್ರತಿಗಳನ್ನು ಅಳಿಸುವುದೇ?"</string>
<string name="fullbackup_erase_dialog_message" msgid="2588536036471144070">"ಸಾಧನ ಡೇಟಾ (ವೈ-ಫೈ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸದಂತಹ) ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು (ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೂಲಕ ಸಂಗ್ರಹಿಸಲಾದ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಫೈಲ್ಗಳಂತಹ) ಬ್ಯಾಕಪ್ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುವುದೇ ಹಾಗೂ ರಿಮೋಟ್ ಸರ್ವರ್ಗಳಲ್ಲಿರುವ ಎಲ್ಲಾ ನಕಲುಗಳನ್ನು ಅಳಿಸುವುದೇ?"</string>
<string name="fullbackup_data_summary" msgid="406274198094268556">"ಸಾಧನ ಡೇಟಾ (ವೈ-ಫೈ ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸದಂತಹವು) ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು (ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೂಲಕ ಸಂಗ್ರಹಿಸಲಾದ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಫೈಲ್ಗಳಂತಹವು) ರಿಮೋಟ್ ಮೂಲಕ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ಯಾಕಪ್ ಮಾಡಿ.\n\nನೀವು ಸ್ವಯಂಚಾಲಿತ ಬ್ಯಾಕಪ್ ಅನ್ನು ಆನ್ ಮಾಡಿದಾಗ, ಸಾಧನ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ರಿಮೋಟ್ ಮೂಲಕ ನಿಯತಕಾಲಿಕವಾಗಿ ಉಳಿಸಲಾಗುವುದು. ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ ಎಂದರೆ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲಕ ಉಳಿಸಲಾಗಿರುವ (ಡೆವಲಪರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಆಧರಿಸಿ) ಯಾವುದೇ ಡೇಟಾ ಆಗಿರಬಹುದು. ಇದು ಸಂಪರ್ಕಗಳು, ಸಂದೇಶಗಳು ಮತ್ತು ಫೋಟೋಗಳಂತಹ ಸಂಭವನೀಯ ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ."</string>
<string name="device_admin_settings_title" msgid="2074319456047334589">"ಸಾಧನದ ನಿರ್ವಾಹಕರ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
@@ -2696,7 +2696,7 @@
<string name="data_roaming_enable_mobile" msgid="5886394350890765947">"ರೋಮಿಂಗ್"</string>
<string name="data_usage_forground_label" msgid="8992577451178005406">"ಮುನ್ನೆಲೆ:"</string>
<string name="data_usage_background_label" msgid="8460891123904985128">"ಹಿನ್ನೆಲೆ:"</string>
- <string name="data_usage_app_settings" msgid="3276444867375694809">"ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="data_usage_app_settings" msgid="3276444867375694809">"ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="data_usage_app_restrict_background" msgid="649167881583859169">"ಹಿನ್ನೆಲೆ ಡೇಟಾ"</string>
<string name="data_usage_app_restrict_background_summary" msgid="2703967920234671881">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಮೊಬೈಲ್ ಡೇಟಾ ಬಳಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="data_usage_app_restrict_background_summary_disabled" msgid="7211921499365814638">"ಈ ಅಪ್ಲಿಕೇಶನ್ಗಾಗಿ ಹಿನ್ನೆಲೆ ಡೇಟಾವನ್ನು ನಿರ್ಬಂಧಿಸಲು, ಮೊದಲಿಗೆ ಮೊಬೈಲ್ ಡೇಟಾ ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿ."</string>
@@ -2891,16 +2891,16 @@
<string name="work_profile_confirm_remove_title" msgid="3168910958076735800">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ತೆಗೆದುಹಾಕುವುದೇ?"</string>
<string name="user_confirm_remove_self_message" product="tablet" msgid="2889456786320157545">"ನೀವು ನಿಮ್ಮ ಸ್ಥಳ ಮತ್ತು ಡೇಟಾವನ್ನು ಈ ಟ್ಯಾಬ್ಲೆಟ್ನಿಂದ ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<string name="user_confirm_remove_self_message" product="default" msgid="8441729423565705183">"ನಿಮ್ಮ ಸ್ಥಳ ಮತ್ತು ಡೇಟಾವನ್ನು ಈ ಫೋನ್ನಲ್ಲಿ ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ನಿಮಗೆ ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
- <string name="user_confirm_remove_message" msgid="5202150470271756013">"ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
- <string name="work_profile_confirm_remove_message" msgid="1220672284385083128">"ನೀವು ಮುಂದುವರಿಸಿದರೆ ಈ ಪ್ರೊಫೈಲ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುವುದು."</string>
- <string name="user_profile_confirm_remove_message" msgid="8376289888144561545">"ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+ <string name="user_confirm_remove_message" msgid="5202150470271756013">"ಎಲ್ಲಾ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+ <string name="work_profile_confirm_remove_message" msgid="1220672284385083128">"ನೀವು ಮುಂದುವರಿಸಿದರೆ ಈ ಪ್ರೊಫೈಲ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುವುದು."</string>
+ <string name="user_profile_confirm_remove_message" msgid="8376289888144561545">"ಎಲ್ಲಾ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
<string name="user_adding_new_user" msgid="381717945749193417">"ಹೊಸ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ…"</string>
<string name="user_delete_user_description" msgid="3627684990761268859">"ಬಳಕೆದಾರರನ್ನು ಅಳಿಸಿ"</string>
<string name="user_delete_button" msgid="6747802570634772774">"ಅಳಿಸಿ"</string>
<string name="user_guest" msgid="6226240869459683235">"ಅತಿಥಿ"</string>
<string name="user_exit_guest_title" msgid="7279886200373071797">"ಅತಿಥಿಯನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
<string name="user_exit_guest_confirm_title" msgid="4767911571671099844">"ಅತಿಥಿಯನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?"</string>
- <string name="user_exit_guest_confirm_message" msgid="6955182181145748919">"ಈ ಸೆಷನ್ನಲ್ಲಿನ ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+ <string name="user_exit_guest_confirm_message" msgid="6955182181145748919">"ಈ ಸೆಷನ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
<string name="user_exit_guest_dialog_remove" msgid="1878866060881115716">"ತೆಗೆದುಹಾಕಿ"</string>
<string name="user_enable_calling" msgid="864760054792249503">"ಫೋನ್ ಕರೆಗಳನ್ನು ಆನ್ ಮಾಡಿ"</string>
<string name="user_enable_calling_sms" msgid="3450252891736718793">"ಫೋನ್ ಕರೆಗಳು ಮತ್ತು ಎಸ್ಎಂಎಸ್ ಆನ್ ಮಾಡಿ"</string>
@@ -2962,7 +2962,7 @@
<string name="preferred_network_type_title" msgid="1980819233332592332">"ಪ್ರಾಶಸ್ತ್ಯದ ನೆಟ್ವರ್ಕ್ ಪ್ರಕಾರ"</string>
<string name="preferred_network_type_summary" msgid="8828375904939960006">"LTE (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
<string name="work_sim_title" msgid="2885654516046971985">"ಕೆಲಸದ ಸಿಮ್"</string>
- <string name="user_restrictions_title" msgid="6454305007320972740">"ಅಪ್ಲಿಕೇಶನ್ & ವಿಷಯ ಪ್ರವೇಶ"</string>
+ <string name="user_restrictions_title" msgid="6454305007320972740">"ಆ್ಯಪ್ & ವಿಷಯ ಪ್ರವೇಶ"</string>
<string name="user_rename" msgid="5624446289379780361">"ಮರುಹೆಸರಿಸು"</string>
<string name="app_restrictions_custom_label" msgid="8791627858467265176">"ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ಬಂಧಗಳನ್ನು ಹೊಂದಿಸಿ"</string>
<string name="user_restrictions_controlled_by" msgid="3442508299902131033">"<xliff:g id="APP">%1$s</xliff:g> ಮೂಲಕ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತಿದೆ"</string>
@@ -3137,12 +3137,12 @@
<string name="media_volume_option_title" msgid="3553411883305505682">"ಮಾಧ್ಯಮ ವಾಲ್ಯೂಮ್"</string>
<string name="remote_media_volume_option_title" msgid="6355710054191873836">"ವಾಲ್ಯೂಮ್ ಕ್ಯಾಸ್ಟ್ ಮಾಡಿ"</string>
<string name="call_volume_option_title" msgid="5028003296631037334">"ಕರೆಯ ವಾಲ್ಯೂಮ್"</string>
- <string name="alarm_volume_option_title" msgid="3184076022438477047">"ಅಲಾರಮ್ ವಾಲ್ಯೂಮ್"</string>
+ <string name="alarm_volume_option_title" msgid="3184076022438477047">"ಅಲಾರಂ ವಾಲ್ಯೂಮ್"</string>
<string name="ring_volume_option_title" msgid="2038924918468372264">"ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</string>
<string name="notification_volume_option_title" msgid="1358512611511348260">"ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</string>
<string name="ringtone_title" msgid="1409086028485922583">"ಫೋನ್ ರಿಂಗ್ಟೋನ್"</string>
<string name="notification_ringtone_title" msgid="2932960620843976285">"ಡೀಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಧ್ವನಿ"</string>
- <string name="notification_unknown_sound_title" msgid="8043718667804838398">"ಅಪ್ಲಿಕೇಶನ್ ಒದಗಿಸಿರುವ ಧ್ವನಿ"</string>
+ <string name="notification_unknown_sound_title" msgid="8043718667804838398">"ಆ್ಯಪ್ ಒದಗಿಸಿರುವ ಧ್ವನಿ"</string>
<string name="notification_sound_default" msgid="2664544380802426260">"ಡಿಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಧ್ವನಿ"</string>
<string name="alarm_ringtone_title" msgid="6411326147408635902">"ಡೀಫಾಲ್ಟ್ ಅಲಾರಾಂ ಧ್ವನಿ"</string>
<string name="vibrate_when_ringing_title" msgid="2757996559847126952">"ಕರೆಗಳಿಗಾಗಿ ವೈಬ್ರೇಟ್"</string>
@@ -3403,7 +3403,7 @@
<item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ವರ್ಗಗಳು</item>
<item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ವರ್ಗಗಳು</item>
</plurals>
- <string name="no_channels" msgid="8884254729302501652">"ಯಾವುದೇ ಅಧಿಸೂಚನೆಗಳನ್ನು ಈ ಅಪ್ಲಿಕೇಶನ್ ಪೋಸ್ಟ್ ಮಾಡಿಲ್ಲ"</string>
+ <string name="no_channels" msgid="8884254729302501652">"ಯಾವುದೇ ಅಧಿಸೂಚನೆಗಳನ್ನು ಈ ಆ್ಯಪ್ ಪೋಸ್ಟ್ ಮಾಡಿಲ್ಲ"</string>
<string name="app_settings_link" msgid="8465287765715790984">"ಆ್ಯಪ್ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="app_notification_listing_summary_zero" msgid="4047782719487686699">"ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಆನ್ ಮಾಡಲಾಗಿದೆ"</string>
<plurals name="app_notification_listing_summary_others" formatted="false" msgid="1161774065480666519">
@@ -3643,9 +3643,9 @@
<string name="filter_notif_blocked_channels" msgid="6110799550327612670">"ವರ್ಗಗಳು: ಆಫ್ ಮಾಡಲಾಗಿದೆ"</string>
<string name="filter_notif_dnd_channels" msgid="3251570137256371092">"ವರ್ಗಗಳು: ಅಡಚಣೆ ಮಾಡಬೇಡ ಓವರ್ರೈಡ್"</string>
<string name="advanced_apps" msgid="6643869089344883537">"ಸುಧಾರಿತ"</string>
- <string name="configure_apps" msgid="4066683118857400943">"ಅಪ್ಲಿಕೇಶನ್ ಕಾನ್ಫಿಗರ್"</string>
+ <string name="configure_apps" msgid="4066683118857400943">"ಆ್ಯಪ್ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
<string name="unknown_app" msgid="2312052973570376877">"ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್"</string>
- <string name="app_permissions" msgid="3215958256821756086">"ಅನುಮತಿ ನಿರ್ವಾಹಕರು"</string>
+ <string name="app_permissions" msgid="3215958256821756086">"ಅನುಮತಿ ನಿರ್ವಾಹಕ"</string>
<string name="app_permissions_summary" msgid="8785798165776061594">"<xliff:g id="APPS">%1$s</xliff:g> ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string>
<string name="tap_to_wake" msgid="1902991239401652323">"ಎಚ್ಚರಗೊಳಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="tap_to_wake_summary" msgid="8485222120721006793">"ಸಾಧನವನ್ನು ಎಚ್ಚರಗೊಳಿಸಲು ಪರದೆಯ ಯಾವುದೇ ಭಾಗದಲ್ಲಿ ಎರಡು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
@@ -3680,7 +3680,7 @@
<string name="apps_storage" msgid="5658466038269046038">"ಅಪ್ಲಿಕೇಶನ್ಗಳ ಸಂಗ್ರಹ"</string>
<string name="usage_access" msgid="2023443456361489516">"ಬಳಕೆ ಪ್ರವೇಶ"</string>
<string name="permit_usage_access" msgid="3321727608629752758">"ಬಳಕೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ"</string>
- <string name="app_usage_preference" msgid="5691545073101551727">"ಅಪ್ಲಿಕೇಶನ್ ಬಳಕೆಯ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
+ <string name="app_usage_preference" msgid="5691545073101551727">"ಆ್ಯಪ್ ಬಳಕೆಯ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
<string name="time_spent_in_app_pref_title" msgid="2803186835902798451">"ವೀಕ್ಷಣಾ ಅವಧಿ"</string>
<string name="usage_access_description" msgid="2178083292760305207">"ಬಳಕೆ ಪ್ರವೇಶವು ನೀವು ಇತರ ಯಾವ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ ಮತ್ತು ಎಷ್ಟು ಬಾರಿ ಎಂಬುದನ್ನು ಅಲ್ಲದೆ ನಿಮ್ಮ ವಾಹಕ, ಭಾಷೆ ಸೆಟ್ಟಿಂಗ್ಗಳು ಹಾಗೂ ಇತರ ವಿವರಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ."</string>
<string name="memory_settings_title" msgid="7867148522014070721">"ಮೆಮೊರಿ"</string>
@@ -3716,7 +3716,7 @@
<string name="battery_summary" msgid="4345690800899981339">"ಕೊನೆಯ ಪೂರ್ಣ ಚಾರ್ಜ್ ನಂತರ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ಬಳಕೆ"</string>
<string name="battery_power_management" msgid="2853925857548647969">"ಪವರ್ ನಿರ್ವಹಣೆ"</string>
<string name="no_battery_summary" msgid="4105932628367471314">"ಪೂರ್ಣ ಚಾರ್ಜ್ ಮಾಡಿದಾಗಿನಿಂದ ಬ್ಯಾಟರಿ ಬಳಕೆ ಇಲ್ಲ"</string>
- <string name="app_notification_preferences" msgid="5154466638524523201">"ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="app_notification_preferences" msgid="5154466638524523201">"ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="system_ui_settings" msgid="6751165163665775447">"SystemUI ಟ್ಯೂನರ್ ತೋರಿಸು"</string>
<string name="additional_permissions" msgid="3142290772324571654">"ಹೆಚ್ಚುವರಿ ಅನುಮತಿಗಳು"</string>
<string name="additional_permissions_more" msgid="714264060348056246">"<xliff:g id="COUNT">%1$d</xliff:g> ಇನ್ನಷ್ಟು"</string>
@@ -3768,7 +3768,7 @@
<string name="average_memory_use" msgid="5333366040118953945">"ಸರಾಸರಿ ಮೆಮೊರಿ ಬಳಕೆ"</string>
<string name="maximum_memory_use" msgid="6509872438499846077">"ಗರಿಷ್ಠ ಮೆಮೊರಿ ಬಳಕೆ"</string>
<string name="memory_usage" msgid="7963253555330830906">"ಮೆಮೊರಿ ಬಳಕೆ"</string>
- <string name="app_list_memory_use" msgid="356095943215944031">"ಅಪ್ಲಿಕೇಶನ್ ಬಳಕೆ"</string>
+ <string name="app_list_memory_use" msgid="356095943215944031">"ಆ್ಯಪ್ ಬಳಕೆ"</string>
<string name="memory_details" msgid="5165105904103664110">"ವಿವರಗಳು"</string>
<string name="memory_use_summary" msgid="7676311343819965850">"ಕಳೆದ 3 ಗಂಟೆಗಳಿಂದ ಬಳಸಲಾದ <xliff:g id="SIZE">%1$s</xliff:g> ಸರಾಸರಿ ಮೆಮೊರಿ"</string>
<string name="no_memory_use_summary" msgid="3966550113388917978">"ಕಳೆದ 3 ಗಂಟೆಗಳಿಂದ ಯಾವುದೇ ಮೆಮೊರಿ ಬಳಸಲಾಗಿಲ್ಲ"</string>
@@ -3792,22 +3792,22 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅಡಚಣೆ ಮಾಡಬೇಡಿಗೆ ಪ್ರವೇಶವನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳುವುದೇ?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"ಈ ಅಪ್ಲಿಕೇಶನ್ ರಚಿಸಿರುವಂತಹ ಎಲ್ಲ ಅಡಚಣೆ ಮಾಡಬೇಡಿ ನಿಯಮಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"ಆಪ್ಟಿಮೈಸ್ ಮಾಡಬೇಡಿ"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿ"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"Optimize"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ತ್ವರಿತವಾಗಿ ಬರಿದಾಗಿಸಬಹುದು. ಹಿನ್ನೆಲೆ ಬ್ಯಾಟರಿ ಬಳಸದಂತೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಇನ್ನು ಮುಂದೆ ನಿರ್ಬಂಧಿಸಲಾಗುವುದಿಲ್ಲ."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"ಉತ್ತಮ ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಗೆ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"ಬ್ಯಾಟರಿ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಕಡೆಗಣಿಸಲು <xliff:g id="APP">%s</xliff:g> ಗೆ ಅನುಮತಿಸುವುದೇ?"</string>
<string name="app_list_preference_none" msgid="7100409177446935028">"ಯಾವುದೂ ಇಲ್ಲ"</string>
<string name="work_profile_usage_access_warning" msgid="403208064382097510">"ಈ ಅಪ್ಲಿಕೇಶನ್ ಬಳಕೆಗೆ ಪ್ರವೇಶವನ್ನು ಆಫ್ ಮಾಡಿದರೂ, ಇದು ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ನಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಡೇಟಾ ಬಳಕೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡದಂತೆ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ತಡೆಯುವುದಿಲ್ಲ"</string>
<string name="accessibility_lock_screen_progress" msgid="8242917828598820049">"<xliff:g id="COUNT_1">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="COUNT_0">%1$d</xliff:g> ಅಕ್ಷರಗಳನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
- <string name="draw_overlay" msgid="2878665072530660668">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ"</string>
+ <string name="draw_overlay" msgid="2878665072530660668">"ಇತರ ಆ್ಯಪ್ಗಳ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ ಮಾಡು"</string>
<string name="system_alert_window_settings" msgid="3024330223417646567">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಿ"</string>
<string name="system_alert_window_apps_title" msgid="9188448296493699566">"ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string>
<string name="system_alert_window_access_title" msgid="5187343732185369675">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಿ"</string>
- <string name="permit_draw_overlay" msgid="9039092257052422344">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
+ <string name="permit_draw_overlay" msgid="9039092257052422344">"ಇತರ ಆ್ಯಪ್ಗಳ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
<string name="allow_overlay_description" msgid="6669524816705082807">"ನೀವು ಬಳಸುತ್ತಿರುವ ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲು ಈ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿ ನೀಡಿ. ನೀವು ಆ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸುವುದರ ಮೇಲೆ ಇದು ಪರಿಣಾಮ ಬೀರಬಹುದು ಅಥವಾ ಅವು ಕಾಣಿಸುವ ಅಥವಾ ವರ್ತಿಸುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸಬಹುದು."</string>
<string name="keywords_vr_listener" msgid="5312633527788917750">"ವಿಆರ್ ವರ್ಚುವಲ್ ರಿಯಾಲಿಟಿ ಕೇಳುವಿಕೆ ಸ್ಟೀರಿಯೊ ಸಹಾಯ ಸೇವೆ"</string>
<string name="keywords_system_alert_window" msgid="3936658600272194599">"ಸಿಸ್ಟಂ ಅಲರ್ಟ್ ವಿಂಡೋ ಡಯಲಾಗ್ ಡಿಸ್ಪ್ಲೇ ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೇಲೆ"</string>
- <string name="overlay_settings" msgid="3325154759946433666">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ"</string>
+ <string name="overlay_settings" msgid="3325154759946433666">"ಇತರ ಆ್ಯಪ್ಗಳ ಮೇಲೆ ಡಿಸ್ಪ್ಲೇ ಮಾಡು"</string>
<string name="system_alert_window_summary" msgid="7703582115861844158">"<xliff:g id="COUNT_1">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="COUNT_0">%1$d</xliff:g> ಅಪ್ಲಿಗಳಿಗೆ ಇತರ ಅಪ್ಲಿಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲು ಅನುಮತಿಯಿದೆ"</string>
<string name="filter_overlay_apps" msgid="6336897660213304743">"ಅನುಮತಿಯೊಂದಿಗೆ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string>
<string name="app_permission_summary_allowed" msgid="6458476982015518778">"ಅನುಮತಿಸಲಾಗಿದೆ"</string>
@@ -3877,7 +3877,7 @@
<string name="disabled_by_policy_title_sms" msgid="1453236584236681105">"ಎಸ್ಎಂಎಸ್ಗೆ ಅನುಮತಿಯಿಲ್ಲ"</string>
<string name="disabled_by_policy_title_camera" msgid="3741138901926111197">"ಕ್ಯಾಮರಾಗೆ ಅನುಮತಿಯಿಲ್ಲ"</string>
<string name="disabled_by_policy_title_screen_capture" msgid="1856835333536274665">"ಸ್ಕ್ರೀನ್ಶಾಟ್ಗೆ ಅನುಮತಿಯಿಲ್ಲ"</string>
- <string name="disabled_by_policy_title_suspend_packages" msgid="4254714213391802322">"ಈ ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+ <string name="disabled_by_policy_title_suspend_packages" msgid="4254714213391802322">"ಈ ಆ್ಯಪ್ ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="default_admin_support_msg" msgid="5789424433689798637">"ನಿಮಗೆ ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ, ನಿಮ್ಮ ಐಟಿ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
<string name="admin_support_more_info" msgid="8737842638087863477">"ಇನ್ನಷ್ಟು ವಿವರಗಳು"</string>
<string name="admin_profile_owner_message" msgid="3199544166281052845">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಸೆಟ್ಟಿಂಗ್ಗಳು, ಅನುಮತಿಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆ ಮತ್ತು ಸಾಧನದ ಸ್ಥಳ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ಗೆ ಸಂಬಂಧಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದು."</string>
@@ -3934,7 +3934,7 @@
<string name="ota_disable_automatic_update_summary" msgid="5650682441097227162">"ಸಾಧನ ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ ಅಪ್ಡೇಟ್ಗಳನ್ನು ಅನ್ವಯಿಸಿ"</string>
<string name="usage" msgid="9172908720164431622">"ಬಳಕೆ"</string>
<string name="cellular_data_usage" msgid="1236562234207782386">"ಮೊಬೈಲ್ ಡೇಟಾ ಬಳಕೆ"</string>
- <string name="app_cellular_data_usage" msgid="8499761516172121957">"ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ ಬಳಕೆ"</string>
+ <string name="app_cellular_data_usage" msgid="8499761516172121957">"ಆ್ಯಪ್ ಡೇಟಾ ಬಳಕೆ"</string>
<string name="wifi_data_usage" msgid="275569900562265895">"ವೈ-ಫೈ ಡೇಟಾ ಬಳಕೆ"</string>
<string name="ethernet_data_usage" msgid="747614925362556718">"ಇಥರ್ನೆಟ್ ಡೇಟಾ ಬಳಕೆ"</string>
<string name="wifi" msgid="1586738489862966138">"ವೈ-ಫೈ"</string>
@@ -3993,7 +3993,7 @@
<string name="data_saver_switch_title" msgid="8244008132112735207">"ಡೇಟಾ ಸೇವರ್ ಅನ್ನು ಬಳಸಿ"</string>
<string name="unrestricted_app_title" msgid="4390661122069905122">"ಅನಿರ್ಬಂಧಿಸಿದ ಡೇಟಾ ಬಳಕೆ"</string>
<string name="unrestricted_app_summary" msgid="2829141815077800483">"ಡೇಟಾ ಉಳಿಸುವಿಕೆಯು ಆನ್ ಆಗಿರುವಾಗ ಅನಿರ್ಬಂಧಿಸಿದ ಡೇಟಾ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ"</string>
- <string name="home_app" msgid="3695063566006954160">"ಮುಖಪುಟ ಅಪ್ಲಿಕೇಶನ್"</string>
+ <string name="home_app" msgid="3695063566006954160">"Home ಆ್ಯಪ್"</string>
<string name="no_default_home" msgid="1518949210961918497">"ಯಾವುದೇ ಡಿಫಾಲ್ಟ್ ಮುಖಪುಟ ಇಲ್ಲ"</string>
<string name="lockpattern_settings_require_cred_before_startup" msgid="63693894094570367">"ಸುರಕ್ಷಿತ ಪ್ರಾರಂಭ"</string>
<string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="2330543541999937953">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿರುತ್ತದೆ. ಆಫ್ ಇರುವಾಗ, ಈ ಸಾಧನಕ್ಕೆ ಕರೆಗಳು, ಸಂದೇಶಗಳು, ಅಧಿಸೂಚನೆಗಳು ಅಥವಾ ಅಲಾರಮ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಲಾಗುವುದಿಲ್ಲ."</string>
@@ -4052,7 +4052,7 @@
<string name="display_cutout_emulation_keywords" msgid="6795671536772871439">"ಕಟ್ಔಟ್ ಪ್ರದರ್ಶನ, ನಾಚ್"</string>
<string name="overlay_option_device_default" msgid="165508753381657697">"ಸಾಧನದ ಡೀಫಾಲ್ಟ್"</string>
<string name="overlay_toast_failed_to_apply" msgid="5692251825129250040">"ಓವರ್ಲೇ ಅನ್ನು ಅನ್ವಯಿಸಲು ವಿಫಲವಾಗಿದೆ"</string>
- <string name="special_access" msgid="1453926335914696206">"ವಿಶೇಷ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರವೇಶ"</string>
+ <string name="special_access" msgid="1453926335914696206">"ವಿಶೇಷ ಆ್ಯಪ್ ಪ್ರವೇಶ"</string>
<plurals name="special_access_summary" formatted="false" msgid="5182092345063909346">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಅನಿರ್ಬಂಧಿತ ಡೇಟಾ ಬಳಸಬಹುದು</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಅನಿರ್ಬಂಧಿತ ಡೇಟಾ ಬಳಸಬಹುದು</item>
@@ -4228,7 +4228,7 @@
<item quantity="one">ಇಮೇಲ್ ಕ್ಲೈಂಟ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು</item>
<item quantity="other">ಇಮೇಲ್ ಕ್ಲೈಂಟ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು</item>
</plurals>
- <string name="default_map_app_title" msgid="6919751358166607185">"ನಕ್ಷೆಯ ಅಪ್ಲಿಕೇಶನ್"</string>
+ <string name="default_map_app_title" msgid="6919751358166607185">"Map ಆ್ಯಪ್"</string>
<plurals name="default_phone_app_title" formatted="false" msgid="7593838689002912108">
<item quantity="one">ಫೋನ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು</item>
<item quantity="other">ಫೋನ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು</item>
@@ -4243,7 +4243,7 @@
<string name="storage_size_large_alternate" msgid="1317796542509105857">"<xliff:g id="NUMBER">^1</xliff:g>"<small>" "<font size="20">"<xliff:g id="UNIT">^2</xliff:g>"</font></small>""</string>
<string name="storage_volume_total" msgid="5021484171514159913">"<xliff:g id="TOTAL">%1$s</xliff:g> ನಲ್ಲಿ ಬಳಸಿರುವುದು"</string>
<string name="storage_percent_full" msgid="6924662861545958442">"ಬಳಕೆಯಾಗಿದೆ"</string>
- <string name="clear_instant_app_data" msgid="3673669086522890405">"ಅಪ್ಲಿಕೇಶನ್ ತೆರವುಗೊಳಿಸಿ"</string>
+ <string name="clear_instant_app_data" msgid="3673669086522890405">"ಆ್ಯಪ್ ತೆರವುಗೊಳಿಸಿ"</string>
<string name="clear_instant_app_confirmation" msgid="1778553115373698061">"ಈ ತತ್ಕ್ಷಣ ಅಪ್ಲಿಕೇಶನ್ ತೆಗೆದುಹಾಕಲು ಬಯಸುವಿರಾ?"</string>
<string name="launch_instant_app" msgid="5251693061228352333">"ತೆರೆಯಿರಿ"</string>
<string name="game_storage_settings" msgid="6856911551799175914">"ಗೇಮ್ಗಳು"</string>
@@ -4284,7 +4284,7 @@
<string name="allow_background_activity_starts" msgid="6754016668813082728">"ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆ ಪ್ರಾರಂಭಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
<string name="allow_background_activity_starts_summary" msgid="8170749270869606692">"ಎಲ್ಲಾ ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆ ಪ್ರಾರಂಭಿಸುವಿಕೆಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ"</string>
<string name="show_first_crash_dialog" msgid="3682063068903692710">"ಯಾವಾಗಲೂ ಕ್ರ್ಯಾಶ್ ಸಂವಾದವನ್ನು ತೋರಿಸಿ"</string>
- <string name="show_first_crash_dialog_summary" msgid="8197987550025401754">"ಅಪ್ಲಿಕೇಶನ್ ಕ್ರ್ಯಾಶ್ ಆಗುವಾಗ ಪ್ರತಿ ಬಾರಿ ಸಂವಾದವನ್ನು ತೋರಿಸಿ"</string>
+ <string name="show_first_crash_dialog_summary" msgid="8197987550025401754">"ಆ್ಯಪ್ ಕ್ರ್ಯಾಶ್ ಆಗುವ ಪ್ರತಿ ಬಾರಿ ಸಂವಾದವನ್ನು ತೋರಿಸಿ"</string>
<string name="angle_enabled_app" msgid="4359266182151708733">"ANGLE ಸಕ್ರಿಯಗೊಳಿಸಿದ ಆ್ಯಪ್ ಆಯ್ಕೆಮಾಡಿ"</string>
<string name="angle_enabled_app_not_set" msgid="7428910515748621910">"ಯಾವುದೇ ANGLE ಸಕ್ರಿಯಗೊಳಿಸದ ಆ್ಯಪ್ ಅನ್ನು ಹೊಂದಿಸಿ"</string>
<string name="angle_enabled_app_set" msgid="7313088703610569320">"ANGLE ಸಕ್ರಿಯಗೊಳಿಸಿದ ಆ್ಯಪ್: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
@@ -4495,7 +4495,7 @@
<item quantity="other"><xliff:g id="SERVICE_COUNT">%1$d</xliff:g> ಆ್ಯಪ್ಗಳು ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ಸಂಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿವೆ</item>
</plurals>
<string name="manage_app_notification" msgid="9072118910762792295">"<xliff:g id="APP_NAME">%1$s</xliff:g>ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
- <string name="no_suggested_app" msgid="509257628685025383">"ಸಲಹೆ ಮಾಡಲಾದ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ ಇಲ್ಲ"</string>
+ <string name="no_suggested_app" msgid="509257628685025383">"ಸಲಹೆ ಮಾಡಲಾದ ಯಾವುದೇ ಆ್ಯಪ್ ಇಲ್ಲ"</string>
<plurals name="notification_few_channel_count_summary" formatted="false" msgid="5165639207390218085">
<item quantity="one"><xliff:g id="NOTIFICATION_CHANNEL_COUNT_1">%1$d</xliff:g> ಅಧಿಸೂಚನೆ ಚಾನಲ್ಗಳು.</item>
<item quantity="other"><xliff:g id="NOTIFICATION_CHANNEL_COUNT_1">%1$d</xliff:g> ಅಧಿಸೂಚನೆ ಚಾನಲ್ಗಳು.</item>
diff --git a/tests/CarDeveloperOptions/res/values-ko/strings.xml b/tests/CarDeveloperOptions/res/values-ko/strings.xml
index f6b3738..213226b 100644
--- a/tests/CarDeveloperOptions/res/values-ko/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ko/strings.xml
@@ -1844,7 +1844,7 @@
<string name="default_emergency_app" msgid="286530070173495823">"긴급 앱"</string>
<string name="reset_app_preferences" msgid="1426500030595212077">"앱 환경설정 초기화"</string>
<string name="reset_app_preferences_title" msgid="792909865493673598">"앱 환경설정을 초기화하시겠습니까?"</string>
- <string name="reset_app_preferences_desc" msgid="7935273005301096031">"이 작업을 수행하면 다음 환경설정이 초기화됩니다.\n\n "<li>"사용 중지된 앱"</li>\n" "<li>"사용 중지된 앱 알림"</li>\n" "<li>"작업에 사용하는 기본 애플리케이션"</li>\n" "<li>"앱에 대한 백그라운드 데이터 제한"</li>\n" "<li>"그 밖의 권한 제한"</li>\n\n" 앱 데이터는 손실되지 않습니다."</string>
+ <string name="reset_app_preferences_desc" msgid="7935273005301096031">"다음 환경설정이 초기화됩니다.\n\n "<li>"사용 중지된 앱"</li>\n" "<li>"사용 중지된 앱 알림"</li>\n" "<li>"작업에 사용하는 기본 애플리케이션"</li>\n" "<li>"앱의 백그라운드 데이터 제한"</li>\n" "<li>"그 밖의 권한 제한"</li>\n\n" 앱 데이터는 손실되지 않습니다."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"앱 초기화"</string>
<string name="manage_space_text" msgid="6166469422303124302">"공간 관리"</string>
<string name="filter" msgid="2426943916212457962">"필터"</string>
@@ -2869,7 +2869,7 @@
<string name="user_add_profile_item_summary" msgid="6386283837789573755">"내 계정의 앱 및 콘텐츠에 대한 액세스를 제한할 수 있습니다."</string>
<string name="user_add_user_item_title" msgid="6835385073795492410">"사용자"</string>
<string name="user_add_profile_item_title" msgid="4932743891449790664">"제한된 프로필"</string>
- <string name="user_add_user_title" msgid="2320897397066676472">"새 사용자를 추가할까요?"</string>
+ <string name="user_add_user_title" msgid="2320897397066676472">"새 사용자를 추가하시겠습니까?"</string>
<string name="user_add_user_message_long" msgid="686637203224195465">"추가 사용자를 만들어 다른 사용자와 기기를 공유할 수 있습니다. 각 사용자는 앱, 배경화면 등으로 맞춤설정할 수 있는 자신만의 공간을 갖게 됩니다. 또한 모든 사용자에게 영향을 미치는 Wi‑Fi와 같은 기기 설정도 조정할 수 있습니다.\n\n추가된 신규 사용자는 자신의 공간을 설정해야 합니다.\n\n모든 사용자가 앱을 업데이트할 수 있으며, 업데이트는 다른 사용자에게도 적용됩니다. 접근성 설정 및 서비스는 신규 사용자에게 이전되지 않을 수도 있습니다."</string>
<string name="user_add_user_message_short" msgid="1802594476285458254">"추가된 새로운 사용자는 자신의 공간을 설정해야 합니다.\n\n모든 사용자는 다른 사용자들을 위하여 앱을 업데이트할 수 있습니다."</string>
<string name="user_setup_dialog_title" msgid="6748950002206392396">"지금 사용자를 설정하시겠습니까?"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ky/strings.xml b/tests/CarDeveloperOptions/res/values-ky/strings.xml
index 35b574d..19f1766 100644
--- a/tests/CarDeveloperOptions/res/values-ky/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ky/strings.xml
@@ -178,7 +178,7 @@
<string name="connected_device_available_call_title" msgid="6774859446815858428">"Жеткиликтүү чалуу түзмөктөрү"</string>
<string name="connected_device_connected_title" msgid="6255107326608785482">"Учурда туташып турган түзмөктөр"</string>
<string name="connected_device_saved_title" msgid="8270136893488475163">"Сакталган түзмөктөр"</string>
- <string name="connected_device_add_device_summary" msgid="7960491471270158891">"Bluetooth жупташтыруу үчүн күйгүзүлөт"</string>
+ <string name="connected_device_add_device_summary" msgid="7960491471270158891">"Bluetooth күйгүзүлөт"</string>
<string name="connected_device_connections_title" msgid="9205000271382018428">"Туташуу параметрлери"</string>
<string name="connected_device_previously_connected_title" msgid="225918223397410428">"Буга чейин туташкан түзмөктөр"</string>
<string name="connected_device_previously_connected_screen_title" msgid="2018789662358162716">"Мурда туташкан"</string>
@@ -289,7 +289,7 @@
<string name="sd_card_settings_label" product="nosdcard" msgid="3433188145440984933">"USB сактагыч"</string>
<string name="sd_card_settings_label" product="default" msgid="1074813865245983607">"SD карта"</string>
<string name="proxy_settings_label" msgid="7219106162267925123">"Прокси жөндөөлөрү"</string>
- <string name="cancel" msgid="2582602392048772404">"Жокко чыгаруу"</string>
+ <string name="cancel" msgid="2582602392048772404">"Жок"</string>
<string name="okay" msgid="5838476766924989056">"OK"</string>
<string name="forget" msgid="7735525146062672874">"Унутуу"</string>
<string name="save" msgid="3418211178410498517">"Сактоо"</string>
@@ -442,7 +442,7 @@
<string name="security_settings_fingerprint_enroll_introduction_message" msgid="5586198131986682472">"Телефонуңуздун кулпусун ачып, кандайдыр бир нерсени сатып алып жатканыңызды ырастап же колдонмолорго кирүү үчүн жөн гана манжаңызды сенсорго тийгизип коюңуз. Кимдир-бирөөнүн манжа изин кошуп жатканыңызда этият болуңуз. Бир эле манжа изи кошулса да, ушул нерселердин баарын аткара алат.\n\nТүзмөгүңүздү манжа изи менен коргоого караганда графикалык ачкыч же PIN код менен коргоо бир кыйла коопсуз."</string>
<string name="security_settings_fingerprint_enroll_introduction_message_unlock_disabled" msgid="1640839304679275468">"Манжаңыздын изи менен, телефонуңуздун кулпусун ачып, ар кандай нерселерди сатып ала аласыз.\n\nЭскертүү: Бул түзмөктүн кулпусун манжаңыздын изи менен ачууга болбойт. Кененирээк маалымат алгыңыз келсе, ишканаңыздын администраторуна кайрылыңыз."</string>
<string name="security_settings_fingerprint_enroll_introduction_message_setup" msgid="6734490666593320711">"Манжаңызды коюп экранды ачып, ар кандай нерселерди сатып ала аласыз.\n\nЭскертүү: Түзмөгүңүздү манжа изи менен коргоого караганда, графикалык ачкыч же PIN код менен коргоо бир кыйла коопсуз."</string>
- <string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="9168637333731599827">"Жокко чыгаруу"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="9168637333731599827">"Жок"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue" msgid="271662150372486535">"Улантуу"</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel_setup" msgid="756928427429893070">"Өткөрүп жиберүү"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue_setup" msgid="4125977169169671144">"Кийинки"</string>
@@ -464,7 +464,7 @@
<string name="security_settings_fingerprint_enroll_find_sensor_content_description" msgid="7835824123269738540">"Түзмөк жана манжа изи сенсорунун жайгашкан жери менен сүрөттөмө"</string>
<string name="security_settings_fingerprint_enroll_dialog_name_label" msgid="3519748398694308901">"Аталышы"</string>
<string name="security_settings_fingerprint_enroll_dialog_ok" msgid="3428927518029038956">"Жарайт"</string>
- <string name="security_settings_fingerprint_enroll_dialog_delete" msgid="4312297515772004580">"Жок кылуу"</string>
+ <string name="security_settings_fingerprint_enroll_dialog_delete" msgid="4312297515772004580">"Өчүрүү"</string>
<string name="security_settings_fingerprint_enroll_start_title" msgid="1346287821809975177">"Сенсорго тийиңиз"</string>
<string name="security_settings_fingerprint_enroll_start_message" msgid="750040530347336376">"Манжаңызды сенсорго коюп, дирилдегенин сезгенден кийин көтөрүңүз"</string>
<string name="security_settings_fingerprint_enroll_repeat_title" msgid="1764145704166303842">"Көтөрүп, кайра тийип коюңуз"</string>
@@ -705,10 +705,10 @@
<string name="lockpassword_password_blacklisted_by_admin" msgid="4988166770148440755">"Жөнөкөй сырсөздөрү коюу IT администраторуңуз тарабынан бөгөттөлгөн. Татаалыраак сырсөздү коюп көрүңүз."</string>
<string name="lockpassword_pin_no_sequential_digits" msgid="3902387296149848324">"Сандар чоңойгон, кичирейген же кайталанган ыраатта болбошу керек"</string>
<string name="lockpassword_confirm_label" msgid="1512364313516715624">"Ырастоо"</string>
- <string name="lockpassword_cancel_label" msgid="3799907375604482766">"Жокко чыгаруу"</string>
+ <string name="lockpassword_cancel_label" msgid="3799907375604482766">"Жок"</string>
<string name="lockpassword_clear_label" msgid="3201458533657963554">"Тазалоо"</string>
<string name="lockpassword_credential_changed" msgid="5183961439209866170">"Экранды бөгөттөө өзгөртүлгөн. Жаңы экранды бөгөттөө дайындары менен аракет кылып көрүңүз."</string>
- <string name="lockpattern_tutorial_cancel_label" msgid="450401426127674369">"Жокко чыгаруу"</string>
+ <string name="lockpattern_tutorial_cancel_label" msgid="450401426127674369">"Жок"</string>
<string name="lockpattern_tutorial_continue_label" msgid="8474690922559443018">"Кийинки"</string>
<string name="lock_setup" msgid="8710689848703935088">"Орнотуу аяктады."</string>
<string name="manage_device_admin" msgid="322047441168191695">"Түзмөктү башкарган колдонмолор"</string>
@@ -1031,7 +1031,7 @@
<string name="wifi_advanced_settings_label" msgid="9147669851658738784">"IP жөндөөлөрү"</string>
<string name="wifi_advanced_not_available" msgid="5751084989400195009">"Бул колдонуучу үчүн Wi‑Fi өздөштүрүлгөн жөндөөлөрү жеткиликсиз"</string>
<string name="wifi_ip_settings_menu_save" msgid="6557330818360425933">"Сактоо"</string>
- <string name="wifi_ip_settings_menu_cancel" msgid="8098696509412462494">"Жокко чыгаруу"</string>
+ <string name="wifi_ip_settings_menu_cancel" msgid="8098696509412462494">"Жок"</string>
<string name="wifi_ip_settings_invalid_ip_address" msgid="7764507690387286292">"Жарактуу IP-адрес териңиз."</string>
<string name="wifi_ip_settings_invalid_gateway" msgid="7602732367437862422">"Жарактуу шлюз дарегин териңиз."</string>
<string name="wifi_ip_settings_invalid_dns" msgid="4471473055625376300">"Жарактуу DNS дарегин териңиз."</string>
@@ -1119,7 +1119,7 @@
<string name="wifi_calling_turn_on" msgid="1212277809455062043">"Wi-Fi аркылуу чалууну күйгүзүү"</string>
<string name="wifi_calling_not_supported" msgid="216781767605669775">"%1$s байланыш операторунда Wi-Fi аркылуу чалууга болбойт"</string>
<string name="carrier" msgid="3413463182542176886">"Байланыш оператору"</string>
- <string name="display_settings_title" msgid="1243571562133261601">"Көрүнүш"</string>
+ <string name="display_settings_title" msgid="1243571562133261601">"Экран"</string>
<string name="sound_settings" msgid="3306063041029638807">"Үн"</string>
<string name="all_volume_title" msgid="1750261506951315423">"Үн бийиктиги"</string>
<string name="musicfx_title" msgid="6456079041566773649">"Музыка эффектилери"</string>
@@ -1293,7 +1293,7 @@
<string name="sim_pin_disable_failed" msgid="6780973900290546751">"PIN код өчүрүлбөй жатат."</string>
<string name="sim_pin_enable_failed" msgid="804897359922298792">"PIN код иштетилбей жатат."</string>
<string name="sim_enter_ok" msgid="5103626479976731229">"Жарайт"</string>
- <string name="sim_enter_cancel" msgid="2806801210236824592">"Жокко чыгаруу"</string>
+ <string name="sim_enter_cancel" msgid="2806801210236824592">"Жок"</string>
<string name="sim_multi_sims_title" msgid="8816212852512189781">"Бир нече SIM табылды"</string>
<string name="sim_multi_sims_summary" msgid="8237021982527032257">"Мобилдик Интернет үчүн SIM картаны тандаңыз."</string>
<string name="sim_change_data_title" msgid="2512227368681250054">"<xliff:g id="CARRIER">%1$s</xliff:g> Интернети колдонулсунбу?"</string>
@@ -1575,7 +1575,7 @@
<string name="reset_esim_title" msgid="7630781767040831893">"Жүктөп алган SIM’дерди өчүрүү"</string>
<string name="reset_esim_desc" msgid="433226911566802">"Ордуна башка SIM карта жүктөп алуу үчүн, операторуңуз менен байланышыңыз. Тарифтик пландарыңыз өзгөрбөйт."</string>
<string name="reset_network_button_text" msgid="4293271046867912819">"Жөндөөлөрдү кайра коюу"</string>
- <string name="reset_network_final_desc" msgid="2463817067048751373">"Тармак жөндөөлөрүнүн баары баштапкы абалга келтирилсинби? Бул аракетти кайра кайтара албайсыз."</string>
+ <string name="reset_network_final_desc" msgid="2463817067048751373">"Тармак жөндөөлөрүн баштапкы абалга келтирсеңиз, аларды артка кайтара албайсыз. Уланта бересизби?"</string>
<string name="reset_network_final_desc_esim" msgid="4676436976372555750">"Тармак жөндөөлөрүнүн баарын баштапкы абалга келтирип, жүктөлүп алынган SIM карталарды өчүрөсүзбү? Бул аракетти артка кайтара албайсыз."</string>
<string name="reset_network_final_button_text" msgid="345255333127794393">"Жөндөөлөрдү кайра коюу"</string>
<string name="reset_network_confirm_title" msgid="2432145031070536008">"Кайра коесузбу?"</string>
@@ -1748,7 +1748,7 @@
<string name="lockpassword_invalid_password" msgid="8374331995318204099">"Сырсөз туура эмес"</string>
<string name="lockpattern_need_to_unlock_wrong" msgid="1328670466959377948">"Үлгү туура эмес"</string>
<string name="lock_settings_title" msgid="233657584969886812">"Түзмөктүн коопсуздугу"</string>
- <string name="lockpattern_change_lock_pattern_label" msgid="333149762562581510">"Кулпуну ачуу үлгүсүн өзгөртүү"</string>
+ <string name="lockpattern_change_lock_pattern_label" msgid="333149762562581510">"Графикалык ачкычты өзгөртүү"</string>
<string name="lockpattern_change_lock_pin_label" msgid="3435796032210265723">"Кулпуну ачуу PIN кодун өзгөртүү"</string>
<string name="lockpattern_recording_intro_header" msgid="2262005028838969839">"Кулпуну ачуучу графикалык ачкычты тартыңыз"</string>
<string name="lockpattern_recording_intro_footer" msgid="5426745740754065099">"Жардам үчүн Менюну басыңыз."</string>
@@ -1761,7 +1761,7 @@
<string name="lockpattern_restart_button_text" msgid="4322968353922529868">"Кайра тартам"</string>
<string name="lockpattern_retry_button_text" msgid="5473976578241534298">"Тазалоо"</string>
<string name="lockpattern_continue_button_text" msgid="3328913552656376892">"Улантуу"</string>
- <string name="lockpattern_settings_title" msgid="5152005866870766842">"Кулпуну ачуу үлгүсү"</string>
+ <string name="lockpattern_settings_title" msgid="5152005866870766842">"Графикалык ачкыч"</string>
<string name="lockpattern_settings_enable_title" msgid="8508410891939268080">"Үлгү талап кылынсын"</string>
<string name="lockpattern_settings_enable_summary" msgid="8027605503917737512">"Экран кулпусун ачуу үчүн сүрөт үлгүсү тартылышы керек"</string>
<string name="lockpattern_settings_enable_visible_pattern_title" msgid="4935583222709647096">"Үлгүнү көрсөтүү"</string>
@@ -1769,9 +1769,9 @@
<string name="lockpattern_settings_enable_tactile_feedback_title" msgid="3203621862806531947">"Таптаганда дирилдесин"</string>
<string name="lockpattern_settings_enable_power_button_instantly_locks" msgid="5890335732200257777">"Кубат баскычы дароо кулпулайт"</string>
<string name="lockpattern_settings_power_button_instantly_locks_summary" msgid="1279989004145567840">"Кулпуланбаган экран <xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g> кызматында колдоого алынбаса"</string>
- <string name="lockpattern_settings_choose_lock_pattern" msgid="9042142745571386381">"Кулпуну ачуу үлгүсүн коюу"</string>
- <string name="lockpattern_settings_change_lock_pattern" msgid="1456643060737114885">"Кулпуну ачуу үлгүсүн өзгөртүү"</string>
- <string name="lockpattern_settings_help_how_to_record" msgid="6037403647312543908">"Кулпуну ачуу үлгүсүн кантип тартыш керек"</string>
+ <string name="lockpattern_settings_choose_lock_pattern" msgid="9042142745571386381">"Графикалык ачкычты коюу"</string>
+ <string name="lockpattern_settings_change_lock_pattern" msgid="1456643060737114885">"Графикалык ачкычты өзгөртүү"</string>
+ <string name="lockpattern_settings_help_how_to_record" msgid="6037403647312543908">"Графикалык ачкычты кантип тартыш керек"</string>
<string name="lockpattern_too_many_failed_confirmation_attempts" msgid="3043127997770535921">"Туура эмес аракеттер өтө көп болду. <xliff:g id="NUMBER">%d</xliff:g> секунддан кийин кайталап көрүңүз."</string>
<string name="activity_not_found" msgid="3492413375341165453">"Колдонмо сиздин телефонуңузда орнотулган эмес."</string>
<string name="lock_settings_profile_title" msgid="3928992050074556160">"Жумуш профилинин коопсуздугу"</string>
@@ -1844,7 +1844,7 @@
<string name="default_emergency_app" msgid="286530070173495823">"Өзгөчө кырдаал колдонмосу"</string>
<string name="reset_app_preferences" msgid="1426500030595212077">"Колдонмонун жөндөөлөрүн кайра коюу"</string>
<string name="reset_app_preferences_title" msgid="792909865493673598">"Колдонмону кайра баштан жөндөйсүзбү?"</string>
- <string name="reset_app_preferences_desc" msgid="7935273005301096031">"Ушуну менен төмөнкү жөндөөлөр жоюлат:\n\n "<li>"Өчүрүлгөн колдонмолор"</li>\n" "<li>"Өчүрүлгөн колдонмолордун билдирмелери"</li>\n" "<li>"Демейки колдонмолор"</li>\n" "<li>"Фондук дайындарга коюлган чектөөлөр"</li>\n" "<li>"Бардык уруксат чектөөлөрү"</li>\n\n"Колдонмолордун дайындары жоголбойт."</string>
+ <string name="reset_app_preferences_desc" msgid="7935273005301096031">"Ушуну менен төмөнкү жөндөөлөр жоюлат:\n\n "<li>"Өчүрүлгөн колдонмолор"</li>\n" "<li>"Өчүрүлгөн колдонмолордун билдирмелери"</li>\n" "<li>"Демейки колдонмолор"</li>\n" "<li>"Фондук режимде маалымат өткөрүүгө коюлган чектөөлөр"</li>\n" "<li>"Бардык уруксаттардын чектөөлөрү"</li>\n\n"Колдонмолордогу нерселер жоголбойт."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"Баштапкы абалга келтирүү"</string>
<string name="manage_space_text" msgid="6166469422303124302">"Бош орунду башкаруу"</string>
<string name="filter" msgid="2426943916212457962">"Чыпка"</string>
@@ -2001,7 +2001,7 @@
<string name="user_dict_settings_add_shortcut_hint" msgid="2212771507741334156">"Кошумча ыкчам баскычтар"</string>
<string name="user_dict_settings_edit_dialog_title" msgid="6492621665762797309">"Сөздү түзөтүү"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="4577283176672181497">"Түзөтүү"</string>
- <string name="user_dict_settings_context_menu_delete_title" msgid="670470172230144069">"Жок кылуу"</string>
+ <string name="user_dict_settings_context_menu_delete_title" msgid="670470172230144069">"Өчүрүү"</string>
<string name="user_dict_settings_empty_text" msgid="2774939221998982609">"Сөздүгүңүздө бир дагы сөз жок. Сөз кошуу үчүн кошуу (+) баскычын таптап коюңуз."</string>
<string name="user_dict_settings_all_languages" msgid="8839702015353418176">"Бардык тилдер үчүн"</string>
<string name="user_dict_settings_more_languages" msgid="8345984308635521364">"Дагы тилдер…"</string>
@@ -2217,7 +2217,7 @@
<string name="print_print_jobs" msgid="7357841034181762157">"Басып чыгаруу тапшырмалары"</string>
<string name="print_print_job" msgid="6846889971435170443">"Бастыруу тапшырмасы"</string>
<string name="print_restart" msgid="4090462480288441779">"Кайра баштоо"</string>
- <string name="print_cancel" msgid="4567831028966698753">"Жокко чыгаруу"</string>
+ <string name="print_cancel" msgid="4567831028966698753">"Жок"</string>
<string name="print_job_summary" msgid="438156926959424058">"<xliff:g id="PRINTER">%1$s</xliff:g>\n<xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="print_configuring_state_title_template" msgid="5052801061241050737">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> конфигурацияланууда"</string>
<string name="print_printing_state_title_template" msgid="8796814912920963803">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> бастырылууда"</string>
@@ -2315,8 +2315,8 @@
<string name="battery_tip_restrict_app_dialog_ok" msgid="2573410775701913487">"Чектөө"</string>
<string name="battery_tip_unrestrict_app_dialog_title" msgid="812458516399125710">"Чектөөлөр өчүрүлсүнбү?"</string>
<string name="battery_tip_unrestrict_app_dialog_message" msgid="8120081438825031335">"Бул колдонмо батареяны фондо керектей берет. Батареяңыз күтүлгөндөн эртерээк отуруп калышы мүмкүн."</string>
- <string name="battery_tip_unrestrict_app_dialog_ok" msgid="9154938931448151479">"Алып салуу"</string>
- <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="7331148618292397166">"Жокко чыгаруу"</string>
+ <string name="battery_tip_unrestrict_app_dialog_ok" msgid="9154938931448151479">"Ооба"</string>
+ <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="7331148618292397166">"Жок"</string>
<string name="battery_tip_dialog_summary_message" product="default" msgid="7244950433272770280">"Колдонмолоруңуз батареяны орточо деңгээлде керектеп жатышат. Эгер өтө көп керектеп жиберишсе, телефонуңуз ал боюнча чара көрүүнү сунуштайт.\n\nАл эми таптакыр калбай баратса, Батареяны үнөмдөгүчтү күйгүзүп койсоңуз болот."</string>
<string name="battery_tip_dialog_summary_message" product="tablet" msgid="1721081030632329647">"Колдонмолоруңуз батареяны орточо деңгээлде керектеп жатышат. Эгер өтө көп керектеп жиберишсе, планшетиңиз ал боюнча чара көрүүнү сунуштайт.\n\nАл эми таптакыр калбай баратса, Батареяны үнөмдөгүчтү күйгүзүп койсоңуз болот."</string>
<string name="battery_tip_dialog_summary_message" product="device" msgid="146872407040848465">"Колдонмолоруңуз батареяны орточо деңгээлде керектеп жатышат. Эгер өтө көп керектеп жиберишсе, түзмөгүңүз ал боюнча чара көрүүнү сунуштайт.\n\nАл эми таптакыр калбай баратса, Батареяны үнөмдөгүчтү күйгүзүп койсоңуз болот."</string>
@@ -2518,7 +2518,7 @@
<string name="tts_install_voices_title" msgid="363811937643579286">"Үндөрдү орнотуу"</string>
<string name="tts_install_voices_text" msgid="7464832428439739995">"Үндөрдү орнотуу үчүн <xliff:g id="TTS_APP_NAME">%s</xliff:g> колдонмосуна өтүңүз"</string>
<string name="tts_install_voices_open" msgid="686776451008134790">"Колдонмону ачуу"</string>
- <string name="tts_install_voices_cancel" msgid="1622512922523479646">"Жокко чыгаруу"</string>
+ <string name="tts_install_voices_cancel" msgid="1622512922523479646">"Жок"</string>
<string name="tts_reset" msgid="8864073594540705579">"Баштапкы абалга келтирүү"</string>
<string name="tts_play" msgid="9023430029380675514">"Угуу"</string>
<string name="vpn_settings_title" msgid="7008219502396889192">"VPN"</string>
@@ -2626,7 +2626,7 @@
<string name="header_data_and_synchronization" msgid="400831816068697286">"Дайын-даректер жана шайкештирүү"</string>
<string name="preference_change_password_title" msgid="7243527448378789274">"Сызсөздү өзгөртүү"</string>
<string name="header_account_settings" msgid="8586173964125512219">"Аккаунттун жөндөөлөрү"</string>
- <string name="remove_account_label" msgid="5885425720323823387">"Аккаунтту алып салуу"</string>
+ <string name="remove_account_label" msgid="5885425720323823387">"Аккаунтту өчүрүү"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Аккаунт кошуу"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Аккаунтту өчүрөсүзбү?"</string>
<string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Бул аккаунтту өчүрсөңүз, планшеттеги бардык билдирүүлөр, байланыштар жана башка маалыматтар жок болот!"</string>
@@ -2643,7 +2643,7 @@
<string name="cryptkeeper_wrong_pin" msgid="857757190077859245">"PIN код туура эмес"</string>
<string name="checking_decryption" msgid="5927759912073053101">"Текшерүүдө…"</string>
<string name="starting_android" msgid="4774187626261253089">"Android жүргүзүлүүдө…"</string>
- <string name="delete" msgid="2325292565700865366">"Жок кылуу"</string>
+ <string name="delete" msgid="2325292565700865366">"Өчүрүү"</string>
<string name="misc_files" msgid="1012397035001764693">"Башка файлдар"</string>
<string name="misc_files_selected_count" msgid="1434146080729502726">"<xliff:g id="TOTAL">%2$d</xliff:g> ичинен <xliff:g id="NUMBER">%1$d</xliff:g> тандалды"</string>
<string name="misc_files_selected_count_bytes" msgid="3752262902203465861">"<xliff:g id="TOTAL">%2$s</xliff:g> ичинен <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
@@ -2891,17 +2891,17 @@
<string name="work_profile_confirm_remove_title" msgid="3168910958076735800">"Жумуш профили алынып салынсынбы?"</string>
<string name="user_confirm_remove_self_message" product="tablet" msgid="2889456786320157545">"Сиз бул планшеттеги мейкиндигиңизди жана берилиштериңизди жоготосуз. Сиз муну артка кайтара албайсыз."</string>
<string name="user_confirm_remove_self_message" product="default" msgid="8441729423565705183">"Сиз бул телефондогу мейкиндигиңизди жана берилиштериңизди жоготосуз. Сиз муну артка кайтара албайсыз."</string>
- <string name="user_confirm_remove_message" msgid="5202150470271756013">"Бардык колдонмолор жана дайындар жоголот."</string>
+ <string name="user_confirm_remove_message" msgid="5202150470271756013">"Бардык колдонмолор жана алардагы нерселер жоголот."</string>
<string name="work_profile_confirm_remove_message" msgid="1220672284385083128">"Эгер улантсаңыз бул профилдеги колдонмолор менен дайындардын баары өчүрүлөт."</string>
- <string name="user_profile_confirm_remove_message" msgid="8376289888144561545">"Бардык колдонмолор жана дайындар жоголот."</string>
+ <string name="user_profile_confirm_remove_message" msgid="8376289888144561545">"Бардык колдонмолор жана алардагы нерселер жоголот."</string>
<string name="user_adding_new_user" msgid="381717945749193417">"Жаңы колдонуучу кошулууда…"</string>
<string name="user_delete_user_description" msgid="3627684990761268859">"Колдонуучуну жок кылуу"</string>
- <string name="user_delete_button" msgid="6747802570634772774">"Жок кылуу"</string>
+ <string name="user_delete_button" msgid="6747802570634772774">"Өчүрүү"</string>
<string name="user_guest" msgid="6226240869459683235">"Конок"</string>
<string name="user_exit_guest_title" msgid="7279886200373071797">"Конокту алып салуу"</string>
<string name="user_exit_guest_confirm_title" msgid="4767911571671099844">"Конокту алып саласызбы?"</string>
<string name="user_exit_guest_confirm_message" msgid="6955182181145748919">"Бул сеанстагы бардык колдонмолор жана дайындар өчүрүлөт."</string>
- <string name="user_exit_guest_dialog_remove" msgid="1878866060881115716">"Алып салуу"</string>
+ <string name="user_exit_guest_dialog_remove" msgid="1878866060881115716">"Ооба"</string>
<string name="user_enable_calling" msgid="864760054792249503">"Телефон чалууларын иштетүү"</string>
<string name="user_enable_calling_sms" msgid="3450252891736718793">"Чалуулар менен SMS иштетүү"</string>
<string name="user_remove_user" msgid="3687544420125911166">"Колдонуучуну жок кылуу"</string>
@@ -3179,7 +3179,7 @@
<string name="zen_mode_behavior_alarms_only" msgid="8406622989983047562">"Ойготкуч жана медиа эскертүүлөрүнөн башка эч добуш чыкпасын"</string>
<string name="zen_mode_automation_settings_title" msgid="3916960043054489008">"Ырааттамалар"</string>
<string name="zen_mode_delete_automatic_rules" msgid="2455264581527305755">"Ырааттамаларды өчүрүү"</string>
- <string name="zen_mode_schedule_delete" msgid="7786092652527516740">"Жок кылуу"</string>
+ <string name="zen_mode_schedule_delete" msgid="7786092652527516740">"Өчүрүү"</string>
<string name="zen_mode_rule_name_edit" msgid="5479435215341745578">"Түзөтүү"</string>
<string name="zen_mode_automation_settings_page_title" msgid="3001783354881078983">"Ырааттамалар"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5272888746413504692">"Ырааттама"</string>
@@ -3433,7 +3433,7 @@
<string name="notification_show_lights_title" msgid="5381920725933228542">"Жарык индикатору"</string>
<string name="notification_vibrate_title" msgid="8221718258793835282">"Дирилдесин"</string>
<string name="notification_channel_sound_title" msgid="7635366839003304745">"Добуш"</string>
- <string name="zen_mode_rule_delete_button" msgid="6763486487220471193">"Жок кылуу"</string>
+ <string name="zen_mode_rule_delete_button" msgid="6763486487220471193">"Өчүрүү"</string>
<string name="zen_mode_rule_rename_button" msgid="1428130397306726792">"Аталышын өзгөртүү"</string>
<string name="zen_mode_rule_name" msgid="8583652780885724670">"Ырааттаманын аталышы"</string>
<string name="zen_mode_rule_name_hint" msgid="6569877315858105901">"Аталышын киргизиңиз"</string>
@@ -3444,7 +3444,7 @@
<string name="zen_mode_delete_rule" msgid="2292933835997203801">"Ырааттаманы жок кылуу"</string>
<string name="zen_mode_choose_rule_type" msgid="8877138307319450306">"Ырааттаманын түрүн тандоо"</string>
<string name="zen_mode_delete_rule_confirmation" msgid="2646596466259025978">"\"<xliff:g id="RULE">%1$s</xliff:g>\" эрежесин өчүрөсүзбү?"</string>
- <string name="zen_mode_delete_rule_button" msgid="611058106279881991">"Жок кылуу"</string>
+ <string name="zen_mode_delete_rule_button" msgid="611058106279881991">"Өчүрүү"</string>
<string name="zen_mode_rule_type_unknown" msgid="2819480113355191421">"Белгисиз"</string>
<string name="zen_mode_app_set_behavior" msgid="8597398780262575571">"Азырынча бул жөндөөлөрдү өзгөртүүгө болбойт. Демейки эреже боюнча колдонмонун (<xliff:g id="APP_NAME">%1$s</xliff:g>) \"Тынчымды алба\" режими автоматтык түрдө күйгүзүлдү."</string>
<string name="zen_mode_unknown_app_set_behavior" msgid="5666462954329932302">"Азырынча бул жөндөөлөрдү өзгөртүүгө болбойт. Демейки эреже боюнча колдонмонун \"Тынчымды алба\" режими автоматтык түрдө күйгүзүлдү."</string>
@@ -4157,7 +4157,7 @@
<string name="automatic_storage_manager_activation_warning" msgid="2630083316417707308">"Учурда сактагычыңыз сактагычты көзөмөлдөгүч тарабынан башкарылууда"</string>
<string name="account_for_section_header" msgid="5975241715840642563">"<xliff:g id="USER_NAME">%1$s</xliff:g> таандык аккаунттар"</string>
<string name="configure_section_header" msgid="6988981883075615136">"Конфигурациялоо"</string>
- <string name="auto_sync_account_title" msgid="2394463123733529506">"Дайын-даректердин автоматтык түрдө шайкештирилиши"</string>
+ <string name="auto_sync_account_title" msgid="2394463123733529506">"Дайын-даректерди шайкештирүү"</string>
<string name="auto_sync_personal_account_title" msgid="6844465157916100655">"Жеке дайындарды автоматтык түрдө шайкештирүү"</string>
<string name="auto_sync_work_account_title" msgid="2403222633447522376">"Жумушка байланыштуу дайындарды автоматтык түрдө шайкештирүү"</string>
<string name="auto_sync_account_summary" msgid="6316230976974033772">"Колдонмолордун маалыматы автоматтык түрдө жаңырып турат"</string>
diff --git a/tests/CarDeveloperOptions/res/values-mcc262-mnc02-b+sr+Latn/strings.xml b/tests/CarDeveloperOptions/res/values-mcc262-mnc02-b+sr+Latn/strings.xml
index f4c855b..d7af2e2 100644
--- a/tests/CarDeveloperOptions/res/values-mcc262-mnc02-b+sr+Latn/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-mcc262-mnc02-b+sr+Latn/strings.xml
@@ -16,5 +16,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="wifi_calling_off_explanation_2" msgid="4142074253083399456">\n\n"Ne možete da upućujete hitne pozive pomoću pozivanja preko WiFi-ja. Ako probate da uputite hitan poziv, uređaj će automatski koristiti mobilnu mrežu. Hitni pozivi mogu da se upućuju samo u oblastima pokrivenim mobilnom mrežom."</string>
+ <string name="wifi_calling_off_explanation_2" msgid="4142074253083399456">\n\n"Ne možete da upućujete hitne pozive pomoću pozivanja preko Wi-Fi-ja. Ako probate da uputite hitan poziv, uređaj će automatski koristiti mobilnu mrežu. Hitni pozivi mogu da se upućuju samo u oblastima pokrivenim mobilnom mrežom."</string>
</resources>
diff --git a/tests/CarDeveloperOptions/res/values-mcc262-mnc02-ne/strings.xml b/tests/CarDeveloperOptions/res/values-mcc262-mnc02-ne/strings.xml
index 48022a0..51ca01e 100644
--- a/tests/CarDeveloperOptions/res/values-mcc262-mnc02-ne/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-mcc262-mnc02-ne/strings.xml
@@ -16,5 +16,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="wifi_calling_off_explanation_2" msgid="4142074253083399456">\n\n"तपाईं Wi-Fi को कल गर्ने सुविधामार्फत आपत्कालीन कलहरू गर्न सक्नुहुन्न। तपाईंले आपत्कालीन कल गर्न खोज्नुभयो भने तपाईंको यन्त्रले स्वतः मोबाइल नेटवर्कको प्रयोग गर्ने छ। मोबाइल नेटवर्क उपलब्ध भएका क्षेत्रहरूबाट मात्र आपत्कालीन कलहरू गर्न सकिन्छ।"</string>
+ <string name="wifi_calling_off_explanation_2" msgid="4142074253083399456">\n\n"तपाईं Wi-Fi को कल गर्ने सुविधामार्फत आपतकालीन कलहरू गर्न सक्नुहुन्न। तपाईंले आपतकालीन कल गर्न खोज्नुभयो भने तपाईंको यन्त्रले स्वतः मोबाइल नेटवर्कको प्रयोग गर्ने छ। मोबाइल नेटवर्क उपलब्ध भएका क्षेत्रहरूबाट मात्र आपतकालीन कलहरू गर्न सकिन्छ।"</string>
</resources>
diff --git a/tests/CarDeveloperOptions/res/values-mcc262-mnc02-sr/strings.xml b/tests/CarDeveloperOptions/res/values-mcc262-mnc02-sr/strings.xml
index 0ad1f81..e1618bd 100644
--- a/tests/CarDeveloperOptions/res/values-mcc262-mnc02-sr/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-mcc262-mnc02-sr/strings.xml
@@ -16,5 +16,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="wifi_calling_off_explanation_2" msgid="4142074253083399456">\n\n"Не можете да упућујете хитне позиве помоћу позивања преко WiFi-ја. Ако пробате да упутите хитан позив, уређај ће аутоматски користити мобилну мрежу. Хитни позиви могу да се упућују само у областима покривеним мобилном мрежом."</string>
+ <string name="wifi_calling_off_explanation_2" msgid="4142074253083399456">\n\n"Не можете да упућујете хитне позиве помоћу позивања преко Wi-Fi-ја. Ако пробате да упутите хитан позив, уређај ће аутоматски користити мобилну мрежу. Хитни позиви могу да се упућују само у областима покривеним мобилном мрежом."</string>
</resources>
diff --git a/tests/CarDeveloperOptions/res/values-mk/strings.xml b/tests/CarDeveloperOptions/res/values-mk/strings.xml
index e9ea40e..3469835 100644
--- a/tests/CarDeveloperOptions/res/values-mk/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-mk/strings.xml
@@ -1861,7 +1861,7 @@
<string name="internal_storage" msgid="7392373600013294853">"Внатрешен капацитет"</string>
<string name="recompute_size" msgid="4290692197892743928">"Повторно пресметување големина..."</string>
<string name="clear_data_dlg_title" msgid="7388024498687029597">"Да се избришат податоците на апликацијата?"</string>
- <string name="clear_data_dlg_text" msgid="6849657743695013414">"Сите податоци на оваа апликација ќе бидат трајно избришани. Ова ги опфаќа сите датотеки, поставки, сметки, бази на податоци, итн."</string>
+ <string name="clear_data_dlg_text" msgid="6849657743695013414">"Сите податоци на оваа апликација ќе бидат трајно избришани. Ова ги опфаќа сите датотеки, поставки, сметки, бази на податоци итн."</string>
<string name="dlg_ok" msgid="4666570206507476557">"Во ред"</string>
<string name="dlg_cancel" msgid="2434951039156262467">"Откажи"</string>
<string name="app_not_found_dlg_title" msgid="394147475018718483"></string>
@@ -1887,7 +1887,7 @@
<string name="force_stop_dlg_text" msgid="7435245769456493398">"Ако присилно запрете апликација, таа може да не се однесува правилно."</string>
<string name="app_install_location_title" msgid="5121617802063021720">"Претпочиана локација на инсталирање"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Променете ја претпочитаната локација на инсталирање за нови апликации."</string>
- <string name="app_disable_dlg_positive" msgid="5508828271100168073">"Оневозможете ја апликацијата"</string>
+ <string name="app_disable_dlg_positive" msgid="5508828271100168073">"Оневозможи ја апликацијата"</string>
<string name="app_disable_dlg_text" msgid="9221864774943530281">"Ако ја оневозможите оваа апликација, Android и другите апликации можеби веќе нема да функционираат како што треба. Имајте предвид, не може да ја избришете апликацијава бидејќи е однапред инсталирана на уредот. Ако ја оневозможите, ќе ја исклучите и ќе ја сокриете на уредот."</string>
<string name="app_disable_notifications_dlg_title" msgid="699530661413553928">"Исклучи известувања?"</string>
<string name="app_install_details_group_title" msgid="2909597319422976921">"Продавница"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ml/strings.xml b/tests/CarDeveloperOptions/res/values-ml/strings.xml
index 2413d00..6050500 100644
--- a/tests/CarDeveloperOptions/res/values-ml/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ml/strings.xml
@@ -3792,7 +3792,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"\'ശല്യപ്പെടുത്തരുത്\' എന്നതിലേക്ക് <xliff:g id="APP">%1$s</xliff:g> ആപ്പിനുള്ള ആക്സസ് പിൻവലിക്കണോ?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"ഈ ആപ്പ് സൃഷ്ടിച്ചിട്ടുള്ള എല്ലാ \'ശല്യപ്പെടുത്തരുത്\' നിയമങ്ങളും നീക്കംചെയ്യപ്പെടും."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"ഓപ്റ്റിമൈസ് ചെയ്യരുത്"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"ഓപ്റ്റിമൈസ് ചെയ്യുക"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"Optimize"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"നിങ്ങളുടെ ബാറ്ററി ചാർജ് കൂടുതൽ വേഗത്തിൽ തീർന്നേക്കാം. പശ്ചാത്തലത്തിൽ ബാറ്ററി ഉപയോഗിക്കുന്നതിൽ നിന്ന് ആപ്പ് ഇനി നിയന്ത്രിക്കപ്പെടില്ല."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"ബാറ്ററിക്ക് കൂടുതൽ ഈടുകിട്ടുന്നതിന് ശുപാർശ ചെയ്യുന്നു"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"ബാറ്ററി ഒപ്റ്റിമൈസേഷനുകൾ അവഗണിക്കാൻ <xliff:g id="APP">%s</xliff:g> എന്നതിനെ അനുവദിക്കണോ?"</string>
diff --git a/tests/CarDeveloperOptions/res/values-mn/arrays.xml b/tests/CarDeveloperOptions/res/values-mn/arrays.xml
index 41cc6ae..b4d20e7 100644
--- a/tests/CarDeveloperOptions/res/values-mn/arrays.xml
+++ b/tests/CarDeveloperOptions/res/values-mn/arrays.xml
@@ -215,7 +215,7 @@
<string-array name="app_ops_categories">
<item msgid="1102693344156734891">"Байршил"</item>
<item msgid="6842381562497597649">"Хувийн"</item>
- <item msgid="3966700236695683444">"Зурвас"</item>
+ <item msgid="3966700236695683444">"Мессеж"</item>
<item msgid="8563996233342430477">"Медиа"</item>
<item msgid="5323851085993963783">"Төхөөрөмж"</item>
</string-array>
diff --git a/tests/CarDeveloperOptions/res/values-mn/strings.xml b/tests/CarDeveloperOptions/res/values-mn/strings.xml
index e88a783..1084c3c 100644
--- a/tests/CarDeveloperOptions/res/values-mn/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-mn/strings.xml
@@ -158,8 +158,8 @@
<string name="bluetooth_pb_acceptance_dialog_text" msgid="2880630715123354820">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> таны харилцагчид болон дуудлагын түүхэнд хандах хүсэлтэй байна. <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>-д хандах зөвшөөрөл олгох уу?"</string>
<string name="bluetooth_remember_choice" msgid="5557832673688613557">"Дахиж үл асуух"</string>
<string name="bluetooth_pb_remember_choice" msgid="3983194742712379543">"Дахиж үл асуух"</string>
- <string name="bluetooth_map_request" msgid="34345631620551756">"Зурваст хандах хүсэлт"</string>
- <string name="bluetooth_map_acceptance_dialog_text" msgid="736507842082640410">"%1$s таны зурвасуудад хандалт хийх хүсэлтэй байна. %2$s-д хандалт хийхийг зөвшөөрөх үү?"</string>
+ <string name="bluetooth_map_request" msgid="34345631620551756">"Мессежинд хандах хүсэлт"</string>
+ <string name="bluetooth_map_acceptance_dialog_text" msgid="736507842082640410">"%1$s таны мессежүүдэд хандалт хийх хүсэлтэй байна. %2$s-д хандалт хийхийг зөвшөөрөх үү?"</string>
<string name="bluetooth_sap_request" msgid="6318039677671263261">"СИМ хандалтын хүсэлт"</string>
<string name="bluetooth_sap_acceptance_dialog_text" msgid="1909352413109340355">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> нь таны СИМ картанд хандах хүсэлтэй байна. СИМ картанд хандалтыг нээж өгснөөр холболтын хугацааны туршид төхөөрөмжийн дата холболтыг идэвхгүй болгоно. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>-д хандалтыг нээх"</string>
<string name="bluetooth_device_name_summary" msgid="8661066392056595005">"Бусад төхөөрөмжид “<xliff:g id="DEVICE_NAME">^1</xliff:g>”-р харагдана"</string>
@@ -209,8 +209,8 @@
<string name="proxy_error_invalid_port" msgid="4046559920586100637">"Таны оруулсан порт буруу байна."</string>
<string name="proxy_warning_limited_support" msgid="9026539134219095768">"HTTP проксиг хөтөч ашиглаж байгаа боловч бусад апп ашиглахгүй байж магадгүй."</string>
<string name="proxy_url_title" msgid="882042361706435904">"PAC URL: "</string>
- <string name="radio_info_dl_kbps" msgid="2903778264453410272">"DL Зурвасын өргөн (kbps):"</string>
- <string name="radio_info_ul_kbps" msgid="3802245899811732716">"UL Зурвасын өргөн (kbps):"</string>
+ <string name="radio_info_dl_kbps" msgid="2903778264453410272">"DL Мессежийн өргөн (kbps):"</string>
+ <string name="radio_info_ul_kbps" msgid="3802245899811732716">"UL Мессежийн өргөн (kbps):"</string>
<string name="radio_info_signal_location_label" msgid="6788144906873498013">"Үүрэн байршлын мэдээлэл (зогсоосон):"</string>
<string name="radio_info_phy_chan_config" msgid="1184401689381480522">"LTE Сувгийн бодит тохиргоо:"</string>
<string name="radio_info_cell_info_refresh_rate" msgid="3557422342215875913">"Үүрэн мэдээлэл сэргээх үнэлгээ:"</string>
@@ -226,9 +226,9 @@
<string name="radio_info_signal_strength_label" msgid="7773514616083573394">"Дохионы хүч:"</string>
<string name="radio_info_call_status_label" msgid="8241020608714164780">"Дуут дуудлагын төлөв:"</string>
<string name="radio_info_ppp_sent_label" msgid="8397460098110761906">"Илгээсэн дата:"</string>
- <string name="radio_info_message_waiting_label" msgid="2660886722520568584">"Зурвасыг хүлээж байна:"</string>
+ <string name="radio_info_message_waiting_label" msgid="2660886722520568584">"Мессежийг хүлээж байна:"</string>
<string name="radio_info_phone_number_label" msgid="6929685578956565642">"Утасны дугаар:"</string>
- <string name="radio_info_band_mode_label" msgid="9181607879920091762">"Радио зурвасыг сонгох"</string>
+ <string name="radio_info_band_mode_label" msgid="9181607879920091762">"Радио мессежийг сонгох"</string>
<string name="radio_info_voice_network_type_label" msgid="3686471589514241007">"Дуут сүлжээний төрөл:"</string>
<string name="radio_info_data_network_type_label" msgid="5108279335070879015">"Дата сүлжээний төрөл:"</string>
<string name="radio_info_set_perferred_label" msgid="1447353131819041587">"Давуу сүлжээний төрлийг тохируулна уу:"</string>
@@ -241,8 +241,8 @@
<string name="radio_info_smsc_refresh_label" msgid="5343925292858337909">"Дахин шинэчлэх"</string>
<string name="radio_info_toggle_dns_check_label" msgid="3058615074503857400">"DNS шалгалтыг унтраах/асаах"</string>
<string name="oem_radio_info_label" msgid="8679815523111164378">"OEM-бүрээр Мэдээлэл/Тохиргоо"</string>
- <string name="band_mode_title" msgid="8180320100446559884">"Радио зурвасын горимыг тохируулах"</string>
- <string name="band_mode_loading" msgid="918672949915983700">"Зурвасын жагсаалтыг ачаалж байна..."</string>
+ <string name="band_mode_title" msgid="8180320100446559884">"Радио мессежийн горимыг тохируулах"</string>
+ <string name="band_mode_loading" msgid="918672949915983700">"Мессежийн жагсаалтыг ачаалж байна..."</string>
<string name="band_mode_set" msgid="4962130364076526789">"Тохируулах"</string>
<string name="band_mode_failed" msgid="8350123391471974137">"Амжилтгүй"</string>
<string name="band_mode_succeeded" msgid="5516613616395402809">"Амжилттай"</string>
@@ -351,7 +351,7 @@
<string name="lock_immediately_summary_with_exception" msgid="6442552135409347556">"<xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g> түгжээгүй байлгаснаас бусад тохиолдолд унтах горимд шилжсэн дариуд"</string>
<string name="lock_after_timeout_summary_with_exception" msgid="7218267834086717545">"<xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g>-с түгжээгүй байлгаснаас бусад үед <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>-ийн дараа унтах горимд шилжих"</string>
<string name="show_owner_info_on_lockscreen_label" msgid="4510756693837171575">"Дэлгэц түгжигдэхэд эзэмшигчийн мэдээллийг харуулах"</string>
- <string name="owner_info_settings_title" msgid="2537966178998339896">"Дэлгэц түгжих зурвас"</string>
+ <string name="owner_info_settings_title" msgid="2537966178998339896">"Дэлгэц түгжих мессеж"</string>
<string name="security_enable_widgets_title" msgid="1701510007926738088">"Хэрэгсэл идэвхжүүлэх"</string>
<string name="security_enable_widgets_disabled_summary" msgid="4408176087132339331">"Админ цуцалсан"</string>
<string name="lockdown_settings_title" msgid="4534779922580115990">"Аюулгүйгээр түгжих (lockdown) сонголтыг харуулах"</string>
@@ -925,12 +925,12 @@
<string name="wifi_show_password" msgid="7878398590772942202">"Нууц үгийг харуулах"</string>
<string name="wifi_ap_band_config" msgid="6565016368079288433">"AP Band сонгох"</string>
<string name="wifi_ap_choose_auto" msgid="7927637960569365785">"Автомат"</string>
- <string name="wifi_ap_choose_2G" msgid="43198403259714736">"2.4 ГГц зурвас"</string>
- <string name="wifi_ap_choose_5G" msgid="2624859713183683146">"5.0 Гц зурвас"</string>
- <string name="wifi_ap_prefer_5G" msgid="8339172330471170142">"5.0 Гц Зурвасыг тохиромжтой гэж үздэг"</string>
+ <string name="wifi_ap_choose_2G" msgid="43198403259714736">"2.4 ГГц мессеж"</string>
+ <string name="wifi_ap_choose_5G" msgid="2624859713183683146">"5.0 Гц мессеж"</string>
+ <string name="wifi_ap_prefer_5G" msgid="8339172330471170142">"5.0 Гц Мессежийг тохиромжтой гэж үздэг"</string>
<string name="wifi_ap_2G" msgid="5793110086517338494">"2.4 Гц"</string>
<string name="wifi_ap_5G" msgid="4584892544393675403">"5.0 Гц"</string>
- <string name="wifi_ap_band_select_one" msgid="4409754936554360355">"Wi-Fi сүлжээний цэгт хамгийн багадаа нэг зурвасыг сонгоно уу:"</string>
+ <string name="wifi_ap_band_select_one" msgid="4409754936554360355">"Wi-Fi сүлжээний цэгт хамгийн багадаа нэг мессежийг сонгоно уу:"</string>
<string name="wifi_ip_settings" msgid="4636102290236116946">"IP тохиргоо"</string>
<string name="wifi_privacy_settings" msgid="4462092795794247809">"Нууцлал"</string>
<string name="wifi_privacy_settings_ephemeral_summary" msgid="2411375348287064283">"Санамсаргүй сонгосон MAC"</string>
@@ -1066,7 +1066,7 @@
<string name="wifi_hotspot_name_summary_connecting" msgid="5176787959408511889">"<xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>-г асааж байна..."</string>
<string name="wifi_hotspot_name_summary_connected" msgid="8387768642326756749">"Бусад төхөөрөмж <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>-д холбогдох боломжтой"</string>
<string name="wifi_hotspot_password_title" msgid="4289338152595154889">"Сүлжээний цэгийн нууц үг"</string>
- <string name="wifi_hotspot_ap_band_title" msgid="3485744480410441949">"AP Зурвас"</string>
+ <string name="wifi_hotspot_ap_band_title" msgid="3485744480410441949">"AP Мессеж"</string>
<string name="wifi_hotspot_footer_info_regular" msgid="3876006922622827363">"Бусад төхөөрөмждөө Wi‑Fi холболт үүсгэхийн тулд сүлжээний цэгийг ашиглана уу. Сүлжээний цэг нь таны мобайл датаны холболтоор интернетэд холбогдоно. Мобайл датаны нэмэлт төлбөр гарна."</string>
<string name="wifi_hotspot_footer_info_local_only" msgid="3339582350894639261">"Апп ойролцоох төхөөрөмжтэй агуулга хуваалцахын тулд сүлжээний цэг үүсгэх боломжтой."</string>
<string name="wifi_hotspot_auto_off_title" msgid="7416022590415189590">"Сүлжээний цэгийг автоматаар унтраана"</string>
@@ -1300,7 +1300,7 @@
<string name="sim_change_data_message" msgid="51004703157782900">"Та <xliff:g id="CARRIER2_0">%2$s</xliff:g>-г мобайл датад ашиглаж байна. Хэрэв та <xliff:g id="CARRIER1">%1$s</xliff:g> руу сэлгэвэл <xliff:g id="CARRIER2_1">%2$s</xliff:g>-г мобайл датад ашиглах боломжгүй."</string>
<string name="sim_change_data_ok" msgid="7491552537317573235">"<xliff:g id="CARRIER">%1$s</xliff:g>-г ашиглах"</string>
<string name="sim_preferred_title" msgid="3389680276182899407">"Өөрийн сонгосон SIM картаа шинэчлэх үү?"</string>
- <string name="sim_preferred_message" msgid="3751011329746359050">"Таны төхөөрөмжид зөвхөн <xliff:g id="NEW_SIM">%1$s</xliff:g> SIM байна. Та мобайл дата ашиглах, дуудлага хийх, SMS зурвасын үйлчилгээ авахын тулд энэ SIM-г ашиглах уу?"</string>
+ <string name="sim_preferred_message" msgid="3751011329746359050">"Таны төхөөрөмжид зөвхөн <xliff:g id="NEW_SIM">%1$s</xliff:g> SIM байна. Та мобайл дата ашиглах, дуудлага хийх, SMS мессежийн үйлчилгээ авахын тулд энэ SIM-г ашиглах уу?"</string>
<string name="wrong_pin_code_pukked" msgid="3214670264775760428">"СИМ ПИН код буруу, та төхөөрөмжийн түгжээх тайлахын тулд өөрийн оператор компанитай холбоо барина уу."</string>
<plurals name="wrong_pin_code" formatted="false" msgid="2934318793525717627">
<item quantity="other">СИМ-ны ПИН код буруу байна. Та <xliff:g id="NUMBER_1">%d</xliff:g> удаа оролдлого хийх боломжтой байна.</item>
@@ -2084,7 +2084,7 @@
<string name="accessibility_content_timeout_preference_title" msgid="5160746882250939464">"Унших хугацаа"</string>
<string name="accessibility_control_timeout_preference_title" msgid="2771808346038759474">"Үйлдэл хийх хугацаа"</string>
<string name="accessibility_content_timeout_preference_summary" msgid="853829064617918179">"Та унших шаардлагатай хэдий ч зөвхөн түр хугацаанд харагддаг мессежийг хэр удаан харуулахыг сонгоно уу.\n\nЗарим апп энэ тохиргоог дэмждэггүй."</string>
- <string name="accessibility_control_timeout_preference_summary" msgid="8582212299606932160">"Танаас үйлдэл хийхийг шаарддаг хэдий ч зөвхөн түр хугацаанд харагддаг зурвасыг хэр удаан хугацаагаар харуулахыг сонгоно уу.\n\nЗарим апп энэ тохиргоог дэмждэггүй."</string>
+ <string name="accessibility_control_timeout_preference_summary" msgid="8582212299606932160">"Танаас үйлдэл хийхийг шаарддаг хэдий ч зөвхөн түр хугацаанд харагддаг мессежийг хэр удаан хугацаагаар харуулахыг сонгоно уу.\n\nЗарим апп энэ тохиргоог дэмждэггүй."</string>
<string name="accessibility_long_press_timeout_preference_title" msgid="5029685114164868477">"Хүрээд & барьж хүлээх"</string>
<string name="accessibility_display_inversion_preference_title" msgid="3852635518618938998">"Өнгө хувиргалт"</string>
<string name="accessibility_display_inversion_preference_subtitle" msgid="69291255322175323">"Үзүүлбэрт нөлөөлж болзошгүй"</string>
@@ -2563,7 +2563,7 @@
<string name="backup_erase_dialog_title" msgid="8178424339104463014"></string>
<string name="backup_erase_dialog_message" msgid="8767843355330070902">"Өөрийн Wi‑Fi нууц үгс, тэмдэглэгээ, бусад тохиргоонууд болон апп өгөгдлийг Google серверт нөөцлөхийг зогсоож бүх хуулбарыг нь устгах уу?"</string>
<string name="fullbackup_erase_dialog_message" msgid="2588536036471144070">"Төхөөрөмжийн өгөгдөл (Wi-Fi-ийн нууц үг, дуудлагын түүх гэх мэт) болон апп-ийн өгөгдлийг (тохиргоо болон апп-ийн хадгалсан файл гэх мэт) нөөцлөхөө зогсоож, алсын сервер дэх хуулбарыг устгах уу?"</string>
- <string name="fullbackup_data_summary" msgid="406274198094268556">"Алсаас автоматаар төхөөрөмжийн өгөгдөл (Wi-Fi нууц үг, дуудлагын түүх гэх мэт) ба апп-ын өгөгдөл (апп-ын тохиргоо, хадгалсан файл гэх мэт)-ийг нөөцлөх.\n\nАвтомат нөөцлөлт нээсэн тохиолдолд төхөөрөмж, апп-ын өгөгдлийг тогтмол хугацаанд алсаас хадгална. Тус өгөгдөлд апп-ын хадгалсан бүх өгөгдөл орно (хөгжүүлэгчийн тохиргоонд үндэслэн). Үүнд: харилцагчийн хаяг, зурвас, зураг гэх мэт хувийн мэдээлэл."</string>
+ <string name="fullbackup_data_summary" msgid="406274198094268556">"Алсаас автоматаар төхөөрөмжийн өгөгдөл (Wi-Fi нууц үг, дуудлагын түүх гэх мэт) ба апп-ын өгөгдөл (апп-ын тохиргоо, хадгалсан файл гэх мэт)-ийг нөөцлөх.\n\nАвтомат нөөцлөлт нээсэн тохиолдолд төхөөрөмж, апп-ын өгөгдлийг тогтмол хугацаанд алсаас хадгална. Тус өгөгдөлд апп-ын хадгалсан бүх өгөгдөл орно (хөгжүүлэгчийн тохиргоонд үндэслэн). Үүнд: харилцагчийн хаяг, мессеж, зураг гэх мэт хувийн мэдээлэл."</string>
<string name="device_admin_settings_title" msgid="2074319456047334589">"Төхөөрөмжийн админы тохиргоо"</string>
<string name="active_device_admin_msg" msgid="6929247869516924549">"Төхөөрөмжийн админы апп"</string>
<string name="remove_device_admin" msgid="4413438593788336400">"Энэ төхөөрөмжийн админ аппыг идэвхгүй болгох"</string>
@@ -2629,9 +2629,9 @@
<string name="remove_account_label" msgid="5885425720323823387">"Бүртгэлийг хасах"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Бүртгэл нэмэх"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Бүртгэлийг арилгах уу?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Энэ акаунтыг арилгаснаас үүний бүх зурвас, харилцагчид болон бусад өгөгдлүүдийг таблетаас устгах болно!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Энэ бүртгэлийг хассанаар үүний бүх зурвас, харилцагчид, бусад өгөгдлийг утаснаас устгах болно!"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Энэ бүртгэлийг устгаснаар үүний бүх зурвас, харилцагч болон бусад өгөгдлийг төхөөрөмжөөс устгана!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Энэ акаунтыг арилгаснаас үүний бүх мессеж, харилцагчид болон бусад өгөгдлүүдийг таблетаас устгах болно!"</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Энэ бүртгэлийг хассанаар үүний бүх мессеж, харилцагчид, бусад өгөгдлийг утаснаас устгах болно!"</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Энэ бүртгэлийг хассанаар үүний бүх мессеж, харилцагч болон бусад өгөгдлийг төхөөрөмжөөс устгана!"</string>
<string name="remove_account_failed" msgid="491458185327106966">"Энэ өөрчлөлтийг таны админ зөвшөөрөөгүй байна"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Гараар синк хийх боломжгүй"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Энэ зүйлийн синкийг одоогоор идэвхгүйжүүлсэн байна. Тохиргоог өөрчлөхийн тулд далд дата болон автомат синкийг түр идэвхжүүлнэ үү."</string>
@@ -3102,7 +3102,7 @@
<string name="keywords_imei_info" msgid="4325847870422053408">"imei, meid, min, prl хувилбар, imei sv"</string>
<string name="keywords_sim_status" msgid="3852088576719874387">"сүлжээ, мобайл сүлжээний төлөв, үйлчилгээний төлөв, дохионы хүч, мобайл сүлжээний төрөл, роуминг, iccid"</string>
<string name="keywords_model_and_hardware" msgid="2743197096210895251">"серийн дугаар, техник хангамжийн хувилбар"</string>
- <string name="keywords_android_version" msgid="4842749998088987740">"андройдын аюулгүй байдлын patch-н түвшин, долгион баригчийн хувилбар, кернел хувилбар"</string>
+ <string name="keywords_android_version" msgid="4842749998088987740">"андройдын аюулгүй байдлын завсарын түвшин, долгион баригчийн хувилбар, кернел хувилбар"</string>
<string name="keywords_dark_ui_mode" msgid="1027966176887770318">"загвар, цайвар, бараан, горим"</string>
<string name="keywords_financial_apps_sms_access" msgid="3236014691838121857">"санхүүгийн апп, sms, зөвшөөрөл"</string>
<string name="keywords_systemui_theme" msgid="9150908170417305866">"бараан загвар"</string>
@@ -3271,8 +3271,8 @@
<string name="zen_custom_settings_dialog_ok" msgid="3572754922025853427">"Ойлголоо"</string>
<string name="zen_custom_settings_notifications_header" msgid="7469592764589354302">"Мэдэгдэл"</string>
<string name="zen_custom_settings_duration_header" msgid="1806465684026300942">"Үргэлжлэх хугацаа"</string>
- <string name="zen_msg_event_reminder_title" msgid="8685224436389816905">"Зурвас, арга хэмжээ & сануулагч"</string>
- <string name="zen_msg_event_reminder_footer" msgid="164400918479831580">"Бүү саад бол горим асаалттай үед зурвас, сануулагч, үйл ажиллагааны дууг таны зөвшөөрснөөс бусад зүйлд хаах болно. Та найз нөхөд, гэр бүлийнхэн эсвэл бусад харилцагчдаа тантай холбоо барихыг зөвшөөрөхийн тулд зурвасын тохиргоог өөрчлөх боломжтой."</string>
+ <string name="zen_msg_event_reminder_title" msgid="8685224436389816905">"Мессеж, арга хэмжээ & сануулагч"</string>
+ <string name="zen_msg_event_reminder_footer" msgid="164400918479831580">"Бүү саад бол горим асаалттай үед мессеж, сануулагч, үйл ажиллагааны дууг таны зөвшөөрснөөс бусад зүйлд хаах болно. Та найз нөхөд, гэр бүлийнхэн эсвэл бусад харилцагчдаа тантай холбоо барихыг зөвшөөрөхийн тулд мессежын тохиргоог өөрчлөх боломжтой."</string>
<string name="zen_onboarding_ok" msgid="6403635918125323678">"Дууссан"</string>
<string name="zen_onboarding_settings" msgid="1416466597876383322">"Тохиргоо"</string>
<string name="zen_onboarding_new_setting_title" msgid="3622673375041304362">"Мэдэгдэл харагдахгүй бөгөөд дуугарахгүй"</string>
@@ -3369,9 +3369,9 @@
<string name="no_notification_assistant" msgid="9140123568386413264">"Туслах алга"</string>
<string name="no_notification_listeners" msgid="1366386609506834717">"Суулгасан апп-аас мэдэгдлийн хандалт хүссэн апп байхгүй байна."</string>
<string name="notification_assistant_security_warning_title" msgid="4190584438086738496">"<xliff:g id="SERVICE">%1$s</xliff:g>-н мэдэгдлийн хандалтыг зөвшөөрөх үү?"</string>
- <string name="notification_assistant_security_warning_summary" msgid="6924513399671031930">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> харилцагчийн нэрс болон таны хүлээн авдаг зурвасын текст зэрэг хувийн мэдээлэл бүхий бүх мэдэгдлийг унших болон мэдэгдлийг өөрчлөх эсвэл хаах буюу тэдгээр доторх үйлдлийн товчлуурыг хэрэгсэхгүй болгох боломжтой болно. \n\nМөн энэ нь аппад Бүү саад бол горимыг асаах, унтраах болон үүнтэй холбоотой тохиргоог өөрчлөхийг зөвшөөрнө."</string>
+ <string name="notification_assistant_security_warning_summary" msgid="6924513399671031930">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> харилцагчийн нэрс болон таны хүлээн авдаг мессежийн текст зэрэг хувийн мэдээлэл бүхий бүх мэдэгдлийг унших болон мэдэгдлийг өөрчлөх эсвэл хаах буюу тэдгээр доторх үйлдлийн товчлуурыг хэрэгсэхгүй болгох боломжтой болно. \n\nМөн энэ нь аппад Бүү саад бол горимыг асаах, унтраах болон үүнтэй холбоотой тохиргоог өөрчлөхийг зөвшөөрнө."</string>
<string name="notification_listener_security_warning_title" msgid="4902253246428777797">"<xliff:g id="SERVICE">%1$s</xliff:g>-д мэдэгдлийн хандалтыг зөвшөөрөх үү?"</string>
- <string name="notification_listener_security_warning_summary" msgid="4454702907350100288">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> нь харилцагчдын нэрс, ирсэн зурвас зэрэг таны хувийн мэдээлэл бүхий бүх мэдэгдлийг унших боломжтой бөгөөд мэдэгдлийг хаах, тэдгээрийн доторх үйлдлийн товчлуурыг хэрэгсэхгүй болгох боломжтой. \n\nМөн энэ нь апп-г \'Бүү саад бол\' тохиргоог асаах, унтраах болон үүнтэй холбоотой тохиргоог өөрчлөхийг зөвшөөрнө."</string>
+ <string name="notification_listener_security_warning_summary" msgid="4454702907350100288">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> нь харилцагчдын нэрс, ирсэн мессеж зэрэг таны хувийн мэдээлэл бүхий бүх мэдэгдлийг унших боломжтой бөгөөд мэдэгдлийг хаах, тэдгээрийн доторх үйлдлийн товчлуурыг хэрэгсэхгүй болгох боломжтой. \n\nМөн энэ нь апп-г \'Бүү саад бол\' тохиргоог асаах, унтраах болон үүнтэй холбоотой тохиргоог өөрчлөхийг зөвшөөрнө."</string>
<string name="notification_listener_disable_warning_summary" msgid="162165151519082978">"Хэрэв та <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>-н мэдэгдлийн хандалтыг унтраавал Бүү саад бол хандалт мөн адил унтрах болно."</string>
<string name="notification_listener_disable_warning_confirm" msgid="7863495391671154188">"Унтраах"</string>
<string name="notification_listener_disable_warning_cancel" msgid="6264631825225298458">"Цуцлах"</string>
@@ -3563,15 +3563,15 @@
<string name="experimental_preference" msgid="5903223408406906322">"(Туршилтын)"</string>
<string name="encryption_interstitial_header" msgid="3298397268731647519">"Аюулгүй эхлэл"</string>
<string name="encryption_continue_button" msgid="2808797091460167842">"Үргэлжлүүлэх"</string>
- <string name="encryption_interstitial_message_pin" msgid="6592265582286340307">"Та цаашид энэ төхөөрөмжийг хамгаалахын тулд эхлүүлэхээс нь өмнө ПИН шаардах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
- <string name="encryption_interstitial_message_pattern" msgid="5620724295995735120">"Та цаашид энэ төхөөрөмжийг хамгаалахын тулд эхлүүлэхээс нь өмнө зурган түгжээ шаардах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд зурган хээ шаардах уу?"</string>
- <string name="encryption_interstitial_message_password" msgid="7236688467386126401">"Та цаашид энэ төхөөрөмжийг хамгаалахын тулд эхлүүлэхээс нь өмнө нууц үг шаардах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
- <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="3706009740537484517">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
- <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="5230877866699023998">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө зурган түгжээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд зурган хээ шаардах уу?"</string>
- <string name="encryption_interstitial_message_password_for_fingerprint" msgid="8451977276748128814">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
- <string name="encryption_interstitial_message_pin_for_face" msgid="7469243836881325172">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
- <string name="encryption_interstitial_message_pattern_for_face" msgid="9221235885895441797">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө хээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд хээ шаардах уу?"</string>
- <string name="encryption_interstitial_message_password_for_face" msgid="5559223480280120457">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
+ <string name="encryption_interstitial_message_pin" msgid="6592265582286340307">"Та цаашид энэ төхөөрөмжийг хамгаалахын тулд эхлүүлэхээс нь өмнө ПИН шаардах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
+ <string name="encryption_interstitial_message_pattern" msgid="5620724295995735120">"Та цаашид энэ төхөөрөмжийг хамгаалахын тулд эхлүүлэхээс нь өмнө зурган түгжээ шаардах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд зурган хээ шаардах уу?"</string>
+ <string name="encryption_interstitial_message_password" msgid="7236688467386126401">"Та цаашид энэ төхөөрөмжийг хамгаалахын тулд эхлүүлэхээс нь өмнө нууц үг шаардах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
+ <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="3706009740537484517">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
+ <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="5230877866699023998">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө зурган түгжээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд зурган хээ шаардах уу?"</string>
+ <string name="encryption_interstitial_message_password_for_fingerprint" msgid="8451977276748128814">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
+ <string name="encryption_interstitial_message_pin_for_face" msgid="7469243836881325172">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
+ <string name="encryption_interstitial_message_pattern_for_face" msgid="9221235885895441797">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө хээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд хээ шаардах уу?"</string>
+ <string name="encryption_interstitial_message_password_for_face" msgid="5559223480280120457">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, мессеж, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
<string name="encryption_interstitial_yes" msgid="1839339586101502601">"Тийм"</string>
<string name="encryption_interstitial_no" msgid="6517277668879344227">"Үгүй"</string>
<string name="restricted_true_label" msgid="1545180379083441282">"Хязгаарласан"</string>
@@ -3994,9 +3994,9 @@
<string name="home_app" msgid="3695063566006954160">"Үндсэн апп"</string>
<string name="no_default_home" msgid="1518949210961918497">"Үндсэн нүүр хуудас тохируулаагүй байна"</string>
<string name="lockpattern_settings_require_cred_before_startup" msgid="63693894094570367">"Аюулгүй эхлэл"</string>
- <string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="2330543541999937953">"Төхөөрөмжөө асаахын тулд загвар оруулахаар тохируулаарай. Төхөөрөмж унтраалттай үед дуудлага, зурвас, мэдэгдэл хүлээн авах болон сэрүүлэг дуугарах боломжгүй."</string>
- <string name="lockpattern_settings_require_pin_before_startup_summary" msgid="1058173991832208485">"Төхөөрөмжөө асаахын тулд PIN оруулахаар тохируулаарай. Төхөөрөмж унтраалттай үед дуудлага, зурвас, мэдэгдэл хүлээн авах, эсвэл сэрүүлэг дуугарах боломжгүй."</string>
- <string name="lockpattern_settings_require_password_before_startup_summary" msgid="1266300087760553585">"Төхөөрөмжөө асаахын тулд нууц үг оруулахаар тохируулаарай. Төхөөрөмж унтраалттай үед дуудлага, зурвас, мэдэгдэл хүлээн авах болон сэрүүлэг дуугарах боломжгүй."</string>
+ <string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="2330543541999937953">"Төхөөрөмжөө асаахын тулд загвар оруулахаар тохируулаарай. Төхөөрөмж унтраалттай үед дуудлага, мессеж, мэдэгдэл хүлээн авах болон сэрүүлэг дуугарах боломжгүй."</string>
+ <string name="lockpattern_settings_require_pin_before_startup_summary" msgid="1058173991832208485">"Төхөөрөмжөө асаахын тулд PIN оруулахаар тохируулаарай. Төхөөрөмж унтраалттай үед дуудлага, мессеж, мэдэгдэл хүлээн авах, эсвэл сэрүүлэг дуугарах боломжгүй."</string>
+ <string name="lockpattern_settings_require_password_before_startup_summary" msgid="1266300087760553585">"Төхөөрөмжөө асаахын тулд нууц үг оруулахаар тохируулаарай. Төхөөрөмж унтраалттай үед дуудлага, мессеж, мэдэгдэл хүлээн авах болон сэрүүлэг дуугарах боломжгүй."</string>
<string name="suggestion_additional_fingerprints" msgid="3434467207282466411">"Өөр хурууны хээ нэмэх"</string>
<string name="suggestion_additional_fingerprints_summary" msgid="1916547587832484196">"Түгжээг өөр хуруугаар тайлах"</string>
<string name="battery_saver_on_summary" msgid="6841062406467435672">"Асаасан"</string>
diff --git a/tests/CarDeveloperOptions/res/values-mr/strings.xml b/tests/CarDeveloperOptions/res/values-mr/strings.xml
index f39b0d3..6003bdf 100644
--- a/tests/CarDeveloperOptions/res/values-mr/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-mr/strings.xml
@@ -3793,7 +3793,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g> साठी व्यत्यय आणू नका मध्ये प्रवेश करणे रद्द करायचे?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"या ॲपने तयार केलेले सर्व व्यत्यय आणू नका नियम काढले जातील."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"ऑप्टिमाइझ करू नका"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"ऑप्टिमाइझ करा"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"Optimize"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"तुमची बॅटरी खूप लवकर संपवू शकते. यापुढे अॅप बॅकग्राउंड बॅटरी वापरण्यापासून प्रतिबंधित नसेल."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"बॅटरी चांगली चालण्यासाठी शिफारस केलेले"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"बॅटरी ऑप्टिमायझेशनकडे दुर्लक्ष करण्यासाठी <xliff:g id="APP">%s</xliff:g> ला अनुमती द्यायची?"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ms/strings.xml b/tests/CarDeveloperOptions/res/values-ms/strings.xml
index 09cb70b..55bf03d 100644
--- a/tests/CarDeveloperOptions/res/values-ms/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ms/strings.xml
@@ -1584,7 +1584,7 @@
<string name="reset_esim_error_title" msgid="4728931209471875632">"Tidak dapat memadamkan SIM"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"SIM yang dimuat turun tidak dapat dipadamkan disebabkan ralat.\n\nMulakan semula peranti anda, kemudian cuba lagi."</string>
<string name="master_clear_title" msgid="1560712943955904673">"Padamkan semua data (tetapan semula kilang)"</string>
- <string name="master_clear_short_title" msgid="919098101581335101">"Pdm sma dta (ttpn smla kilang)"</string>
+ <string name="master_clear_short_title" msgid="919098101581335101">"Padamkan semua data"</string>
<string name="master_clear_desc" product="tablet" msgid="3432373610755760899">"Tindakan ini akan memadamkan semua data daripada "<b>"storan dalaman"</b>" tablet anda, termasuk:\n\n"<li>"Akaun Google Anda"</li>\n<li>"Data serta tetapan sistem dan apl"</li>\n<li>"Apl yang telah dimuat turun"</li></string>
<string name="master_clear_desc" product="default" msgid="8765543541962866697">"Tindakan ini akan memadamkan semua data daripada "<b>"storan dalaman"</b>" telefon anda, termasuk:\n\n"<li>"Akaun Google Anda"</li>\n<li>"Data serta tetapan sistem dan apl"</li>\n<li>"Apl yang dimuat turun"</li></string>
<string name="master_clear_accounts" product="default" msgid="3432884235445405376">\n\n"Anda melog masuk ke dalam akaun berikut buat masa ini:\n"</string>
@@ -1888,7 +1888,7 @@
<string name="app_install_location_title" msgid="5121617802063021720">"Lokasi pemasangan pilihan"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Tukar lokasi pemasangan pilihan untuk aplikasi baru"</string>
<string name="app_disable_dlg_positive" msgid="5508828271100168073">"Lumpuhkan apl"</string>
- <string name="app_disable_dlg_text" msgid="9221864774943530281">"Jika anda melumpuhkan apl ini, Android dan apl lain mungkin tidak berfungsi seperti yang dimaksudkan lagi. Jangan lupa, anda tidak boleh memadamkan apl ini kerana apl diprapasang pada peranti anda. Dengan melumpuhkan apl, anda mematikan dan menyembunyikan apl ini pada peranti anda."</string>
+ <string name="app_disable_dlg_text" msgid="9221864774943530281">"Jika anda melumpuhkan apl ini, Android dan apl lain mungkin tidak berfungsi seperti yang sepatutnya. Jangan lupa, anda tidak boleh memadamkan apl ini kerana apl diprapasang pada peranti anda. Dengan melumpuhkan apl, anda mematikan dan menyembunyikan apl ini pada peranti anda."</string>
<string name="app_disable_notifications_dlg_title" msgid="699530661413553928">"Matikan pemberitahuan"</string>
<string name="app_install_details_group_title" msgid="2909597319422976921">"Gedung"</string>
<string name="app_install_details_title" msgid="6954953384372934881">"Butiran apl"</string>
diff --git a/tests/CarDeveloperOptions/res/values-my/strings.xml b/tests/CarDeveloperOptions/res/values-my/strings.xml
index 1396cb5..940ab21 100644
--- a/tests/CarDeveloperOptions/res/values-my/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-my/strings.xml
@@ -26,7 +26,7 @@
<item quantity="other">သင်သည် ယခု ဆောဖ့်ဝဲရေးသားသူထံမှ <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> အဆင့်အကွာအဝေးတွင် ရှိနေပါသည်။</item>
<item quantity="one">သင်သည် ယခု ဆောဖ့်ဝဲရေးသားသူထံမှ <xliff:g id="STEP_COUNT_0">%1$d</xliff:g> အဆင့် အကွာအဝေးတွင်ရှိနေပါသည်။</item>
</plurals>
- <string name="show_dev_on" msgid="9075712234786224065">"သင်ဟာ ယခု တည်ဆောက်သူတစ်ယောက် ဖြစ်နေပါပြီ!"</string>
+ <string name="show_dev_on" msgid="9075712234786224065">"သင်သည် ယခု ဆော့ဖ်ဝဲအင်ဂျင်နီယာ တစ်ဦး ဖြစ်နေပါပြီ။"</string>
<string name="show_dev_already" msgid="7665948832405148689">"မလိုတော့ပါ။ သင်သည် တည်ဆောက်သူတစ်ယောက် ဖြစ်နေပြီ ဖြစ်သည်။"</string>
<string name="dev_settings_disabled_warning" msgid="3198732189395396721">"တီထွင်သူများရွေးစရာကို ဦးစွာဖွင့်ပါ။"</string>
<string name="header_category_wireless_networks" msgid="8968405993937795898">"ကြိုးမဲ့ & ကွန်ရက်များ"</string>
diff --git a/tests/CarDeveloperOptions/res/values-nb/strings.xml b/tests/CarDeveloperOptions/res/values-nb/strings.xml
index 675a761..7f92d29 100644
--- a/tests/CarDeveloperOptions/res/values-nb/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-nb/strings.xml
@@ -3140,7 +3140,7 @@
<string name="alarm_volume_option_title" msgid="3184076022438477047">"Alarmvolum"</string>
<string name="ring_volume_option_title" msgid="2038924918468372264">"Ringevolum"</string>
<string name="notification_volume_option_title" msgid="1358512611511348260">"Varselvolum"</string>
- <string name="ringtone_title" msgid="1409086028485922583">"Telefonringelyd"</string>
+ <string name="ringtone_title" msgid="1409086028485922583">"Ringetone"</string>
<string name="notification_ringtone_title" msgid="2932960620843976285">"Standard varsellyd"</string>
<string name="notification_unknown_sound_title" msgid="8043718667804838398">"Lyd fra app"</string>
<string name="notification_sound_default" msgid="2664544380802426260">"Standard varsellyd"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ne/strings.xml b/tests/CarDeveloperOptions/res/values-ne/strings.xml
index b7762a8..91b98b4 100644
--- a/tests/CarDeveloperOptions/res/values-ne/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ne/strings.xml
@@ -26,7 +26,7 @@
<item quantity="other">अहिले तपाईं विकासकर्ता हुनका लागि <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> चरण टाढा हुनुहुन्छ।</item>
<item quantity="one">अहिले तपाईं विकासकर्ता हुनका लागि <xliff:g id="STEP_COUNT_0">%1$d</xliff:g> चरण टाढा हुनुहुन्छ।</item>
</plurals>
- <string name="show_dev_on" msgid="9075712234786224065">"तपाईं अब एउटा विकासकर्ता हुनुहुन्छ!"</string>
+ <string name="show_dev_on" msgid="9075712234786224065">"तपाईं अब एउटा विकासकर्ता हुनुभएको छ!"</string>
<string name="show_dev_already" msgid="7665948832405148689">"आवश्यक छैन, तपाईं आफैँ नै एउटा विकासकर्ता हुनुहुन्छ।"</string>
<string name="dev_settings_disabled_warning" msgid="3198732189395396721">"कृपया पहिले विकासकर्ताका विकल्पहरूलाई सक्षम पार्नुहोस्"</string>
<string name="header_category_wireless_networks" msgid="8968405993937795898">"ताररहित र सञ्जालहरू"</string>
@@ -426,7 +426,7 @@
<string name="security_settings_face_settings_remove_face_data" msgid="2821359954483136239">"अनुहारसम्बन्धी डेटा हटाउनुहोस्"</string>
<string name="security_settings_face_settings_footer" msgid="4627175759990550715">"तपाईंको यन्त्र अनलक गर्न र एपमाथि पहुँच राख्न तपाईंको अनुहार प्रयोग गर्न सकिन्छ। "<annotation id="url">"थप जान्नुहोस्"</annotation></string>
<string name="security_settings_face_settings_remove_dialog_title" msgid="5675319895815271094">"अनुहारसम्बन्धी डेटा मेट्ने हो?"</string>
- <string name="security_settings_face_settings_remove_dialog_details" msgid="3754494807169276107">"फेस अनलक गर्ने सुविधामार्फत रेकर्ड गरिएको डेटा स्थायी रूपमा र सुरक्षित रूपमा मेटिने छ। हटाइसकेपछि, आफ्नो फोन अनलक गर्न, एपहरूमा साइन इन गर्न र भुक्तानी पुष्टि गर्न तपाईंसँग आफ्नो PIN, ढाँचा वा पासवर्ड हुनु पर्ने छ।"</string>
+ <string name="security_settings_face_settings_remove_dialog_details" msgid="3754494807169276107">"फेस अनलक गर्ने सुविधामार्फत रेकर्ड गरिएको डेटा स्थायी रूपमा र सुरक्षित रूपमा मेटिने छ। हटाइसकेपछि, आफ्नो फोन अनलक गर्न, एपहरूमा साइन इन गर्न र भुक्तानी पुष्टि गर्न तपाईंसँग आफ्नो PIN, प्याटर्न वा पासवर्ड हुनु पर्ने छ।"</string>
<string name="security_settings_fingerprint_preference_title" msgid="4177132225930582928">"औंठाछाप"</string>
<string name="fingerprint_manage_category_title" msgid="1463406696801542090">"औंठाछापहरू व्यवस्थापन गर्नुहोस्"</string>
<string name="fingerprint_usage_category_title" msgid="7298369141954599706">"निम्नको लागि औठाछाप प्रयोग गर्नुहोस्"</string>
@@ -439,9 +439,9 @@
<string name="security_settings_fingerprint_preference_summary_none" msgid="3613424536269750172"></string>
<string name="security_settings_fingerprint_enroll_introduction_title" msgid="889558002683900544">"फिंगरप्रिन्टमार्फत अनलक"</string>
<string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled" msgid="7915504118657864429">"आफ्नो फिंगरप्रिन्टको प्रयोग गर्नुहोस्"</string>
- <string name="security_settings_fingerprint_enroll_introduction_message" msgid="5586198131986682472">"आफ्नो फोन अनलक गर्न, खरिदहरूका लागि अनुमति दिन वा एपहरूमा साइन इन गर्न फिंगरप्रिन्ट सेन्सरलाई केवल छुनुहोस्। तपाईं कसका फिंगरप्रिन्टहरू थप्दै हुनुहुन्छ भन्ने कुरामा सावधान रहनुहोस्। थपिएको एउटै फिंगरप्रिन्टले यी मध्ये कुनै कुरा गर्न सक्छ।\n\nतपाईंको फिंगरप्रिन्ट कुनै बलियो ढाँचा वा PIN भन्दा कम सुरक्षित हुन सक्छ।"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_message" msgid="5586198131986682472">"आफ्नो फोन अनलक गर्न, खरिदहरूका लागि अनुमति दिन वा एपहरूमा साइन इन गर्न फिंगरप्रिन्ट सेन्सरलाई केवल छुनुहोस्। तपाईं कसका फिंगरप्रिन्टहरू थप्दै हुनुहुन्छ भन्ने कुरामा सावधान रहनुहोस्। थपिएको एउटै फिंगरप्रिन्टले यी मध्ये कुनै कुरा गर्न सक्छ।\n\nतपाईंको फिंगरप्रिन्ट कुनै भरपर्दो ढाँचा वा PIN भन्दा कम सुरक्षित हुन सक्छ।"</string>
<string name="security_settings_fingerprint_enroll_introduction_message_unlock_disabled" msgid="1640839304679275468">"तपाईंको फोन अनलक वा खरिदहरूको अनुमोदन गर्न आफ्ना फिंगरप्रिन्टहरूको प्रयोग गर्नुहोस्।\n\nटिपोट: तपाईं यो यन्त्र अनलक गर्न आफ्नो फिंगरप्रिन्टको प्रयोग गर्न सक्नुहुन्न। थप जानकारीका लागि आफ्नो संगठनको प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
- <string name="security_settings_fingerprint_enroll_introduction_message_setup" msgid="6734490666593320711">"तपाईंको फोन अनलक वा खरिदहरूको अनुमोदन गर्न आफ्नो फिंगरप्रिन्ट प्रयोग गर्नुहोस्।\n\nटिपोट: तपाईंको फिंगरप्रिन्ट भरपर्दो ढाँचा वा PIN भन्दा कम सुरक्षित हुनसक्छ।"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_message_setup" msgid="6734490666593320711">"तपाईंको फोन अनलक वा खरिदहरूको अनुमोदन गर्न आफ्नो फिंगरप्रिन्ट प्रयोग गर्नुहोस्।\n\nटिपोट: तपाईंको फिंगरप्रिन्ट भरपर्दो प्याटर्न वा PIN भन्दा कम सुरक्षित हुनसक्छ।"</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="9168637333731599827">"रद्द गर्नुहोस्"</string>
<string name="security_settings_fingerprint_enroll_introduction_continue" msgid="271662150372486535">"जारी राख्नुहोस्"</string>
<string name="security_settings_fingerprint_enroll_introduction_cancel_setup" msgid="756928427429893070">"छोड्नुहोस्"</string>
@@ -561,13 +561,13 @@
<string name="unlock_set_unlock_launch_picker_summary_lock_after_timeout" msgid="3861167251234952373">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / <xliff:g id="TIMEOUT_STRING">%2$s</xliff:g> सुतेपछि"</string>
<string name="unlock_set_unlock_launch_picker_title_profile" msgid="7976345264630422921">"कार्य प्रोफाइलको लक"</string>
<string name="unlock_set_unlock_launch_picker_change_title" msgid="32310692507029407">"लक स्क्रिन बदल्नुहोस्"</string>
- <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2072792784866320522">"ढाँचा, PIN वा पासवर्ड सुरक्षा बदल्नुहोस् वा असक्षम पार्नुहोस्"</string>
+ <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2072792784866320522">"प्याटर्न, PIN वा पासवर्ड सुरक्षा बदल्नुहोस् वा असक्षम पार्नुहोस्"</string>
<string name="unlock_set_unlock_launch_picker_enable_summary" msgid="9070847611379078795">"स्क्रिन लक गर्न कुनै विधि छान्नुहोस्"</string>
<string name="unlock_set_unlock_off_title" msgid="5049876793411416079">"कुनै पनि होइन"</string>
<string name="unlock_set_unlock_off_summary" msgid="3997346045783359119"></string>
<string name="unlock_set_unlock_none_title" msgid="1922027966983146392">"स्वाइप गर्नुहोस्"</string>
<string name="unlock_set_unlock_none_summary" msgid="4044529413627659031">"कुनै सुरक्षा छैन"</string>
- <string name="unlock_set_unlock_pattern_title" msgid="7533759994999423587">"ढाँचा"</string>
+ <string name="unlock_set_unlock_pattern_title" msgid="7533759994999423587">"प्याटर्न"</string>
<string name="unlock_set_unlock_pattern_summary" msgid="8858697834522201333">"मध्यम सुरक्षा"</string>
<string name="unlock_set_unlock_pin_title" msgid="361479901761948207">"PIN"</string>
<string name="unlock_set_unlock_pin_summary" msgid="8076921768675948228">"मध्यमदेखि उच्च सुरक्षा"</string>
@@ -575,12 +575,12 @@
<string name="unlock_set_unlock_password_summary" msgid="7042787631866059147">"उच्च सुरक्षा"</string>
<string name="unlock_set_do_later_title" msgid="2939110070503695956">"अहिले होइन"</string>
<string name="current_screen_lock" msgid="398328543694154510">"वर्तमान स्क्रिन लक"</string>
- <string name="fingerprint_unlock_set_unlock_pattern" msgid="132337696546315927">"फिंगरप्रिन्ट + ढाँचा"</string>
+ <string name="fingerprint_unlock_set_unlock_pattern" msgid="132337696546315927">"फिंगरप्रिन्ट + प्याटर्न"</string>
<string name="fingerprint_unlock_set_unlock_pin" msgid="886426673328906002">"फिंगरप्रिन्ट + PIN"</string>
<string name="fingerprint_unlock_set_unlock_password" msgid="3325527833422156515">"फिंगरप्रिन्ट + पासवर्ड"</string>
<string name="fingerprint_unlock_skip_fingerprint" msgid="2063700014903801639">"फिंगरप्रिन्ट बिना जारी राख्नुहोस्"</string>
<string name="fingerprint_unlock_title" msgid="8009992449332532869">"तपाईं आफ्नो फिंगरप्रिन्टको प्रयोग गरी आफ्नो फोन अनलक गर्न सक्नुहुन्छ। सुरक्षाका खातिर यस विकल्पलाई एउटा ब्याकअप स्क्रिन लकको आवश्यकता पर्दछ।"</string>
- <string name="face_unlock_set_unlock_pattern" msgid="3748596996869406905">"अनुहार प्रमाणीकरण + ढाँचा"</string>
+ <string name="face_unlock_set_unlock_pattern" msgid="3748596996869406905">"अनुहार प्रमाणीकरण + प्याटर्न"</string>
<string name="face_unlock_set_unlock_pin" msgid="3320824093518497476">"अनुहार प्रमाणीकरण + PIN"</string>
<string name="face_unlock_set_unlock_password" msgid="8962344604388383659">"अनुहार प्रमाणीकरण + पासवर्ड"</string>
<string name="face_unlock_skip_face" msgid="7173197040501143880">"अनुहार प्रमाणीकरणविनै जारी राख्नुहोस्"</string>
@@ -588,14 +588,14 @@
<string name="unlock_set_unlock_disabled_summary" msgid="1713159782896140817">"प्रशासक, इन्क्रिप्सन नीति वा प्रामाणिक भण्डारणद्वारा असक्षम पारिएको छ"</string>
<string name="unlock_set_unlock_mode_off" msgid="2950701212659081973">"कुनै पनि होइन"</string>
<string name="unlock_set_unlock_mode_none" msgid="3441605629077912292">"स्वाइप गर्नुहोस्"</string>
- <string name="unlock_set_unlock_mode_pattern" msgid="8564909572968419459">"ढाँचा"</string>
+ <string name="unlock_set_unlock_mode_pattern" msgid="8564909572968419459">"प्याटर्न"</string>
<string name="unlock_set_unlock_mode_pin" msgid="7828354651668392875">"PIN"</string>
<string name="unlock_set_unlock_mode_password" msgid="397703731925549447">"पासवर्ड:"</string>
<string name="unlock_setup_wizard_fingerprint_details" msgid="6515136915205473675">"तपाईँले एकपटक स्क्रिन लक सेटअप गरिसकेपछि तपाईँले तपाईँको औँठाछाप सेटिङहरू > सुरक्षामा सेटअप गर्न पनि सक्नुहुन्छ।"</string>
<string name="unlock_disable_lock_title" msgid="3508492427073600294">"स्क्रिन लक बन्द गर्नुहोस्"</string>
<string name="unlock_disable_frp_warning_title" msgid="5858589970505254193">"यन्त्रमाथिको सुरक्षा हटाउने हो?"</string>
<string name="unlock_disable_frp_warning_title_profile" msgid="3814123014295965266">"प्रोफाइल सुरक्षा हटाउने हो?"</string>
- <string name="unlock_disable_frp_warning_content_pattern" msgid="1843950215687159135">"यन्त्र सुरक्षा सुविधाहरू तपाईँको ढाँचा बिना काम गर्ने छैनन्।"</string>
+ <string name="unlock_disable_frp_warning_content_pattern" msgid="1843950215687159135">"यन्त्रका सुरक्षासम्बन्धी सुविधाहरू तपाईँको प्याटर्न बिना काम गर्ने छैनन्।"</string>
<string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8846957650251741548">"यन्त्रका सुरक्षासम्बन्धी सुविधाहरूले तपाईंको ढाँचाबिना काम गर्ने छैनन्। <xliff:g id="EMPTY_LINE">
</xliff:g> यस यन्त्रबाट तपाईंका सुरक्षित गरिएका फिंगरप्रिन्टहरू पनि हटाइने छन् र तपाईं तिनीहरूमार्फत आफ्नो फोन अनलक गर्ने, खरिदसम्बन्धी आधिकार प्रदान गर्ने वा एपहरूमा साइन इन गर्ने कार्यहरू गर्न सक्नुहुनेछैन।"</string>
@@ -611,7 +611,7 @@
<string name="unlock_disable_frp_warning_content_unknown_fingerprint" msgid="5775815077478538855">"यन्त्रका सुरक्षासम्बन्धी सुविधाहरूले तपाईंको स्क्रिन लकबिना काम गर्ने छैनन्। <xliff:g id="EMPTY_LINE">
</xliff:g>यस यन्त्रबाट तपाईंका सुरक्षित गरिएका फिंगरप्रिन्टहरू पनि हटाइने छन् र तपाईं तिनीहरूमार्फत आफ्नो फोन अनलक गर्ने, खरिदसम्बन्धी आधिकार प्रदान गर्ने वा एपहरूमा साइन इन गर्ने कार्यहरू गर्न सक्नुहुनेछैन।"</string>
- <string name="unlock_disable_frp_warning_content_pattern_profile" msgid="2369992898062808499">"प्रोफाइल सुरक्षा विशेषताहरूले तपाईँको ढाँचा बिना काम गर्नेछैनन्।"</string>
+ <string name="unlock_disable_frp_warning_content_pattern_profile" msgid="2369992898062808499">"प्रोफाइल सुरक्षा विशेषताहरूले तपाईँको प्याटर्न बिना काम गर्नेछैनन्।"</string>
<string name="unlock_disable_frp_warning_content_pattern_fingerprint_profile" msgid="8511105093090018735">"प्रोफाइलका सुरक्षासम्बन्धी सुविधाहरूले तपाईंको ढाँचाबिना काम गर्ने छैनन्।<xliff:g id="EMPTY_LINE">
</xliff:g>यस प्रोफाइलबाट तपाईंका सुरक्षित गरिएका फिंगरप्रिन्टहरू पनि हटाइने छन् र तपाईं तिनीहरूमार्फत आफ्नो प्रोफाइल अनलक गर्ने, खरिदसम्बन्धी अधिकार प्रदान गर्ने वा एपहरूमा साइन इन गर्ने कार्यहरू सक्नुहुनेछैन।"</string>
@@ -628,22 +628,22 @@
</xliff:g>यस प्रोफाइलबाट तपाईंका सुरक्षित गरिएका फिंगरप्रिन्टहरू पनि हटाइने छन् र तपाईं तिनीहरूमार्फत आफ्नो प्रोफाइल अनलक गर्ने, खरिदसम्बन्धी अधिकार प्रदान गर्ने वा एपहरूमा साइन इन गर्ने कार्यहरू गर्न सक्नुहुनेछैन।"</string>
<string name="unlock_disable_frp_warning_ok" msgid="2373890505202766456">"हो, हटाउनुहोस्"</string>
- <string name="unlock_change_lock_pattern_title" msgid="7622476883851319877">"अनलक ढाँचा बदल्नुहोस्"</string>
+ <string name="unlock_change_lock_pattern_title" msgid="7622476883851319877">"अनलक प्याटर्न बदल्नुहोस्"</string>
<string name="unlock_change_lock_pin_title" msgid="6671224158800812238">"अनलक PIN परिवर्तन गर्नुहोस्"</string>
<string name="unlock_change_lock_password_title" msgid="7886432065775170719">"अनलक पासवर्ड परिवर्तन गर्नुहोस्"</string>
<string name="unlock_footer_high_complexity_requested" msgid="8016987143669762130">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले कुनै भरपर्दो PIN वा पासवर्ड सिफारिस गर्छ र उक्त PIN वा पासवर्डविना यसले अपेक्षाअनुरूप काम नगर्न सक्छ"</string>
<string name="unlock_footer_medium_complexity_requested" msgid="5004825329461874633">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले कुनै नयाँ PIN वा पासवर्ड सिफारिस गर्छ र उक्त PIN वा पासवर्डविना यसले अपेक्षाअनुरूप काम नगर्न सक्छ"</string>
- <string name="unlock_footer_low_complexity_requested" msgid="513212093196833566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले कुनै नयाँ ढाँचा, PIN वा पासवर्ड सिफारिस गर्छ र उक्त ढाँचा, PIN वा पासवर्डविना यसले अपेक्षाअनुरूप काम नगर्न सक्छ"</string>
+ <string name="unlock_footer_low_complexity_requested" msgid="513212093196833566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले कुनै नयाँ प्याटर्न, PIN वा पासवर्ड सिफारिस गर्छ र उक्त प्याटर्न, PIN वा पासवर्डविना यसले अपेक्षाअनुरूप काम नगर्न सक्छ"</string>
<string name="unlock_footer_none_complexity_requested" msgid="1669550050597044896">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले नयाँ स्क्रिन लक सिफारिस गर्छ"</string>
<string name="lock_failed_attempts_before_wipe" msgid="7565412834122130877">"फेरि प्रयास गर्नुहोस्। <xliff:g id="TOTAL_ATTEMPTS">%2$d</xliff:g> मध्ये <xliff:g id="CURRENT_ATTEMPTS">%1$d</xliff:g> प्रयास"</string>
<string name="lock_last_attempt_before_wipe_warning_title" msgid="7853820095898368793">"तपाईंको डेटालाई मेटाइनेछ"</string>
- <string name="lock_last_pattern_attempt_before_wipe_device" msgid="1021644947949306054">"तपाईंले अर्को प्रयासमा गलत ढाँचा प्रविष्ट गर्नुभयो भने यो यन्त्रको डेटा मेटाइनेछ"</string>
+ <string name="lock_last_pattern_attempt_before_wipe_device" msgid="1021644947949306054">"तपाईंले अर्को प्रयासमा गलत प्याटर्न प्रविष्ट गर्नुभयो भने यो यन्त्रको डेटा मेटाइने छ"</string>
<string name="lock_last_pin_attempt_before_wipe_device" msgid="3823600293847594141">"तपाईंले अर्को प्रयासमा गलत PIN प्रविष्ट गर्नुभयो भने यो यन्त्रको डेटा मेटाइनेछ"</string>
<string name="lock_last_password_attempt_before_wipe_device" msgid="3548966006264835462">"तपाईंले अर्को प्रयासमा गलत पासवर्ड प्रविष्ट गर्नुभयो भने यो यन्त्रको डेटा मेटाइनेछ।"</string>
- <string name="lock_last_pattern_attempt_before_wipe_user" msgid="5194192938934564218">"तपाईंले अर्को प्रयासमा गलत ढाँचा प्रविष्ट गर्नुभयो भने यो प्रयोगकर्ताको डेटालाई मेटाइनेछ"</string>
+ <string name="lock_last_pattern_attempt_before_wipe_user" msgid="5194192938934564218">"तपाईंले अर्को प्रयासमा गलत प्याटर्न प्रविष्ट गर्नुभयो भने यो प्रयोगकर्ताको डेटालाई मेटाइने छ"</string>
<string name="lock_last_pin_attempt_before_wipe_user" msgid="7833852187363499906">"तपाईंले अर्को प्रयासमा गलत PIN प्रविष्ट गर्नुभयो भने यो प्रयोगकर्ताको डेटालाई मेटाइनेछ"</string>
<string name="lock_last_password_attempt_before_wipe_user" msgid="8979742220140001204">"तपाईंले अर्को प्रयासमा गलत पासवर्ड प्रविष्ट गर्नुभयो भने यो प्रयोगकर्तालाई मेटाइनेछ"</string>
- <string name="lock_last_pattern_attempt_before_wipe_profile" msgid="3877613047631174576">"तपाईंले अर्को प्रयासमा गलत ढाँचा प्रविष्ट गर्नुभयो भने तपाईंको कार्य प्रोफाइल र यसको डेटालाई मेटाइनेछ"</string>
+ <string name="lock_last_pattern_attempt_before_wipe_profile" msgid="3877613047631174576">"तपाईंले अर्को प्रयासमा गलत प्याटर्न प्रविष्ट गर्नुभयो भने तपाईंको कार्य प्रोफाइल र यसको डेटालाई मेटाइनेछ"</string>
<string name="lock_last_pin_attempt_before_wipe_profile" msgid="8132438288175428168">"तपाईंले अर्को प्रयासमा गलत PIN प्रविष्ट गर्नुभयो भने तपाईंको कार्य प्रोफाइल र यसको डेटालाई मेटाइनेछ"</string>
<string name="lock_last_password_attempt_before_wipe_profile" msgid="1535128774464384305">"तपाईंले अर्को प्रयासमा गलत पासवर्ड प्रविष्ट गर्नुभयो भने तपाईंको कार्य प्रोफाइल र यसको डेटालाई मेटाइनेछ"</string>
<string name="lock_failed_attempts_now_wiping_device" msgid="8662360098784762828">"अनलक गर्ने अत्यधिक गलत प्रयासहरू भए। यो यन्त्रको डेटा मेटाइनेछ।"</string>
@@ -1130,7 +1130,7 @@
<string name="notification_volume_title" msgid="6022562909288085275">"सूचना"</string>
<string name="checkbox_notification_same_as_incoming_call" msgid="7312942422655861175">"सूचनाहरूको लागि आगमन कल भोल्युम प्रयोग गर्नुहोस्"</string>
<string name="home_work_profile_not_supported" msgid="6137073723297076818">"कार्य प्रोफाइल समर्थन गर्दैन"</string>
- <string name="notification_sound_dialog_title" msgid="6653341809710423276">"पूर्वनिर्धारित सूचना आवाज"</string>
+ <string name="notification_sound_dialog_title" msgid="6653341809710423276">"सूचनाको पूर्वनिर्धारित ध्वनि"</string>
<string name="media_volume_title" msgid="1030438549497800914">"मिडिया"</string>
<string name="media_volume_summary" msgid="3142433516297061652">"सङ्गीत र भिडियोका लागि भोल्युम सेट गर्नुहोस्"</string>
<string name="alarm_volume_title" msgid="8902277801531496243">"अलार्म"</string>
@@ -1714,7 +1714,7 @@
<string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="1102927520952116303">"फिंगरप्रिन्ट प्रयोग गर्न PIN सेट गर्नुहोस्"</string>
<string name="lockpassword_choose_your_pattern_message" msgid="1503075455752279687">"सुरक्षाका लागि प्याटर्न सेट गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_password_header" msgid="9055242184126838887">"आफ्नो पासवर्ड पुन: प्रविष्टि गर्नुहोस्"</string>
- <string name="lockpassword_confirm_your_pattern_header" msgid="7137526922696316545">"तपाईँको ढाँचा निश्चित गर्नुहोस्"</string>
+ <string name="lockpassword_confirm_your_pattern_header" msgid="7137526922696316545">"तपाईंको प्याटर्न निश्चित गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_pin_header" msgid="4335593948303036343">"आफ्नो PIN पुन: प्रविष्टि गर्नुहोस्"</string>
<string name="lockpassword_confirm_passwords_dont_match" msgid="1783767008133345784">"पासवर्ड मेल खाँदैन"</string>
<string name="lockpassword_confirm_pins_dont_match" msgid="5444357293637748942">"PIN मिल्दैन"</string>
@@ -1724,37 +1724,37 @@
<string name="lockpassword_pin_set_toast" msgid="172594825722240059">"PIN सेट भएको छ।"</string>
<string name="lockpassword_pattern_set_toast" msgid="6923260369475481406">"शैली सेट गरिएको छ।"</string>
<string name="lockpassword_choose_your_password_header_for_face" msgid="8823110536502072216">"अनुहार प्रमाणीकरण प्रयोग गर्न पासवर्ड सेट गर्नुहोस्"</string>
- <string name="lockpassword_choose_your_pattern_header_for_face" msgid="5563793748503883666">"अनुहार प्रमाणीकरण प्रयोग गर्न ढाँचा सेट गर्नुहोस्"</string>
+ <string name="lockpassword_choose_your_pattern_header_for_face" msgid="5563793748503883666">"अनुहार प्रमाणीकरण प्रयोग गर्न प्याटर्न सेट गर्नुहोस्"</string>
<string name="lockpassword_choose_your_pin_header_for_face" msgid="7238352632535405068">"अनुहार प्रमाणीकरण प्रयोग गर्न PIN सेट गर्नुहोस्"</string>
- <string name="lockpassword_confirm_your_pattern_generic" msgid="6146545393074070916">"जारी राख्नका लागि आफ्नो यन्त्रको ढाँचा प्रयोग गर्नुहोस्"</string>
+ <string name="lockpassword_confirm_your_pattern_generic" msgid="6146545393074070916">"जारी राख्नका लागि आफ्नो यन्त्रको प्याटर्न प्रयोग गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_pin_generic" msgid="8732268389177735264">"जारी राख्नका लागि आफ्नो यन्त्रको PIN प्रविष्टि गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_password_generic" msgid="6304552647060899594">"जारी राख्नका लागि आफ्नो यन्त्रको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
- <string name="lockpassword_confirm_your_pattern_generic_profile" msgid="3074250084050465513">"जारी राख्नका लागि आफ्नो कार्य प्रोफाइलको ढाँचा प्रयोग गर्नुहोस्"</string>
+ <string name="lockpassword_confirm_your_pattern_generic_profile" msgid="3074250084050465513">"जारी राख्नका लागि आफ्नो कार्य प्रोफाइलको प्याटर्न प्रयोग गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_pin_generic_profile" msgid="6037908971086439523">"जारी राख्नका लागि आफ्नो कार्य प्रोफाइलको PIN प्रविष्टि गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_password_generic_profile" msgid="2646162490703489685">"जारी राख्नका लागि आफ्नो कार्य प्रोफाइलको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
- <string name="lockpassword_strong_auth_required_device_pattern" msgid="1014214190135045781">"थप सुरक्षाका लागि आफ्नो यन्त्रको ढाँचा प्रयोग गर्नुहोस्"</string>
+ <string name="lockpassword_strong_auth_required_device_pattern" msgid="1014214190135045781">"थप सुरक्षाका लागि आफ्नो यन्त्रको प्याटर्न प्रयोग गर्नुहोस्"</string>
<string name="lockpassword_strong_auth_required_device_pin" msgid="24030584350601016">"थप सुरक्षाका लागि आफ्नो यन्त्रको PIN प्रविष्टि गर्नुहोस्"</string>
<string name="lockpassword_strong_auth_required_device_password" msgid="7746588206458754598">"थप सुरक्षाका लागि आफ्नो यन्त्रको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
- <string name="lockpassword_strong_auth_required_work_pattern" msgid="6861154706098327320">"थप सुरक्षाका लागि आफ्नो यन्त्रको कार्य प्रोफाइलको ढाँचा प्रयोग गर्नुहोस्"</string>
+ <string name="lockpassword_strong_auth_required_work_pattern" msgid="6861154706098327320">"थप सुरक्षाका लागि आफ्नो यन्त्रको कार्य प्रोफाइलको प्याटर्न प्रयोग गर्नुहोस्"</string>
<string name="lockpassword_strong_auth_required_work_pin" msgid="6306902249365524526">"थप सुरक्षाका लागि आफ्नो यन्त्रको कार्य प्रोफाइलको PIN प्रविष्टि गर्नुहोस्"</string>
<string name="lockpassword_strong_auth_required_work_password" msgid="2917338218971012776">"थप सुरक्षाका लागि आफ्नो यन्त्रको कार्य प्रोफाइलको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
- <string name="lockpassword_confirm_your_pattern_details_frp" msgid="1085862410379709928">"तपाईंको फोन फ्याक्ट्री सेटिङमा रिसेट गरिएको छ। यो फोन प्रयोग गर्न आफ्नो पछिल्लो ढाँचा प्रविष्टि गर्नुहोस्।"</string>
+ <string name="lockpassword_confirm_your_pattern_details_frp" msgid="1085862410379709928">"तपाईंको फोन फ्याक्ट्री सेटिङमा रिसेट गरिएको छ। यो फोन प्रयोग गर्न आफ्नो पछिल्लो प्याटर्न प्रविष्टि गर्नुहोस्।"</string>
<string name="lockpassword_confirm_your_pin_details_frp" msgid="6849889353126558761">"तपाईंको फोन फ्याक्ट्री सेटिङमा रिसेट गरिएको छ। यो फोन प्रयोग गर्न आफ्नो पछिल्लो PIN प्रविष्टि गर्नुहोस्।"</string>
<string name="lockpassword_confirm_your_password_details_frp" msgid="3239944795659418737">"तपाईंको फोन फ्याक्ट्री सेटिङमा रिसेट गरिएको छ। यो फोन प्रयोग गर्न आफ्नो पछिल्लो पासवर्ड प्रविष्टि गर्नुहोस्।"</string>
- <string name="lockpassword_confirm_your_pattern_header_frp" msgid="3290569334665839860">"ढाँचा पुष्टि गर्नुहोस्"</string>
+ <string name="lockpassword_confirm_your_pattern_header_frp" msgid="3290569334665839860">"प्याटर्न पुष्टि गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_pin_header_frp" msgid="8520474869079710782">"PIN पुष्टि गर्नुहोस्"</string>
<string name="lockpassword_confirm_your_password_header_frp" msgid="7326670978891793470">"पासवर्ड पुष्टि गर्नुहोस्"</string>
<string name="lockpassword_invalid_pin" msgid="3059022215815900137">"गलत PIN"</string>
<string name="lockpassword_invalid_password" msgid="8374331995318204099">"गलत पासवर्ड"</string>
<string name="lockpattern_need_to_unlock_wrong" msgid="1328670466959377948">"प्याटर्न मिलेन"</string>
<string name="lock_settings_title" msgid="233657584969886812">"यन्त्र सुरक्षा"</string>
- <string name="lockpattern_change_lock_pattern_label" msgid="333149762562581510">"अनलक ढाँचा परिवर्तन गर्नुहोस्"</string>
+ <string name="lockpattern_change_lock_pattern_label" msgid="333149762562581510">"अनलक प्याटर्न परिवर्तन गर्नुहोस्"</string>
<string name="lockpattern_change_lock_pin_label" msgid="3435796032210265723">"PIN अनलक बदल्नुहोस्"</string>
<string name="lockpattern_recording_intro_header" msgid="2262005028838969839">"अनलक प्याटर्न बनाउनुहोस्"</string>
<string name="lockpattern_recording_intro_footer" msgid="5426745740754065099">"मद्दतका लागि मेनुमा थिच्नुहोस्।"</string>
<string name="lockpattern_recording_inprogress" msgid="4060818382176523671">"सकिएपछि औँला उचाल्नुहोस्।"</string>
<string name="lockpattern_recording_incorrect_too_short" msgid="6374760294545431845">"कम्तीमा <xliff:g id="NUMBER">%d</xliff:g>वटा थोप्लाहरू जोड्नुहोस्। फेरि प्रयास गर्नुहोस्:"</string>
- <string name="lockpattern_pattern_entered_header" msgid="2108106638322637851">"ढाँचा रेकर्ड भयो।"</string>
+ <string name="lockpattern_pattern_entered_header" msgid="2108106638322637851">"प्याटर्न रेकर्ड भयो।"</string>
<string name="lockpattern_need_to_confirm" msgid="4079482507985867389">"पुष्टि गर्न प्याटर्न फेरि बनाउनुहोस्"</string>
<string name="lockpattern_pattern_confirmed_header" msgid="5603156929428721407">"नयाँ अनलक प्याटर्न:"</string>
<string name="lockpattern_confirm_button_text" msgid="7059311304112902598">"निश्चित गर्नुहोस्"</string>
@@ -1762,16 +1762,16 @@
<string name="lockpattern_retry_button_text" msgid="5473976578241534298">"खाली गर्नुहोस्"</string>
<string name="lockpattern_continue_button_text" msgid="3328913552656376892">"जारी राख्नुहोस्"</string>
<string name="lockpattern_settings_title" msgid="5152005866870766842">"प्याटर्न अनलक गर्नुहोस्"</string>
- <string name="lockpattern_settings_enable_title" msgid="8508410891939268080">"ढाँचा आवश्यक पर्छ"</string>
- <string name="lockpattern_settings_enable_summary" msgid="8027605503917737512">"स्क्रिन अनलक गर्न ढाँचा चित्रण गर्नै पर्छ"</string>
+ <string name="lockpattern_settings_enable_title" msgid="8508410891939268080">"प्याटर्न आवश्यक पर्छ"</string>
+ <string name="lockpattern_settings_enable_summary" msgid="8027605503917737512">"स्क्रिन अनलक गर्न प्याटर्न कोर्नै पर्छ"</string>
<string name="lockpattern_settings_enable_visible_pattern_title" msgid="4935583222709647096">"ढाँचालाई देख्न मिल्ने बनाउनुहोस्"</string>
<string name="lockpattern_settings_enable_visible_pattern_title_profile" msgid="5338893138982642228">"प्रोफाइलको ढाँचालाई देखिने बनाउनुहोस्"</string>
<string name="lockpattern_settings_enable_tactile_feedback_title" msgid="3203621862806531947">"ट्याप गर्दा भाइब्रेट गर्नुहोस्"</string>
<string name="lockpattern_settings_enable_power_button_instantly_locks" msgid="5890335732200257777">"पावर बटनले तुरुन्त लक गर्दछ"</string>
<string name="lockpattern_settings_power_button_instantly_locks_summary" msgid="1279989004145567840">"<xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g> जे अनलक अवस्थामा राखेका बेला बाहेक"</string>
- <string name="lockpattern_settings_choose_lock_pattern" msgid="9042142745571386381">"अनलक ढाँचा सेट गर्नुहोस्"</string>
- <string name="lockpattern_settings_change_lock_pattern" msgid="1456643060737114885">"अनलक ढाँचा बदल्नुहोस्"</string>
- <string name="lockpattern_settings_help_how_to_record" msgid="6037403647312543908">"अनलक ढाँचा कसरी कोर्ने?"</string>
+ <string name="lockpattern_settings_choose_lock_pattern" msgid="9042142745571386381">"अनलक प्याटर्न सेट गर्नुहोस्"</string>
+ <string name="lockpattern_settings_change_lock_pattern" msgid="1456643060737114885">"अनलक प्याटर्न बदल्नुहोस्"</string>
+ <string name="lockpattern_settings_help_how_to_record" msgid="6037403647312543908">"अनलक प्याटर्न कसरी कोर्ने?"</string>
<string name="lockpattern_too_many_failed_confirmation_attempts" msgid="3043127997770535921">"अत्यन्तै धेरै गलत प्रयास। <xliff:g id="NUMBER">%d</xliff:g> सेकेन्ड पछि पुन: प्रयास गर्नुहोस्।"</string>
<string name="activity_not_found" msgid="3492413375341165453">"एप तपाईँको फोनमा स्थापना गरिएको छैन।"</string>
<string name="lock_settings_profile_title" msgid="3928992050074556160">"कार्य प्रोफाइलको सुरक्षा"</string>
@@ -2631,13 +2631,13 @@
<string name="really_remove_account_title" msgid="4166512362915154319">"खाता हटाउने हो?"</string>
<string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"यो खाता मेटाउँदा ट्याब्लेटबाट यसका सबै सन्देश,सम्पर्क र अन्य डेटा मेटाइनेछन्!"</string>
<string name="really_remove_account_message" product="default" msgid="8951224626153163914">"यस खातालाई हटाउँदा फोनबाट सम्पूर्ण सन्देश, सम्पर्क र अन्य डेटा हट्छ!"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"यो खातालाई हटाउनुले यस यन्त्रबाट यस खातामा रहेका सम्पूर्ण सन्देश, सम्पर्कहरू र अन्य डेटा मेटाउने छ!"</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"यो खातालाई हटाउनुले यस यन्त्रबाट यस खातामा रहेका सम्पूर्ण म्यासेज, सम्पर्क ठेगाना र अन्य डेटा मेटाउने छ!"</string>
<string name="remove_account_failed" msgid="491458185327106966">"यसलाई परिवर्तन गर्न तपाईंको प्रशासकले अनुमति दिँदैन"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"आफैँ सिंक गर्न सकेन।"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"हालका लागि यस वस्तुको सिंक असक्षम पारिएको छ। यस सेटिङलाई परिवर्तन गर्न अस्थायी रूपमा पृष्ठभूमि डेटा र स्वचालित सिंक सक्रिय पार्नुहोस्।"</string>
<string name="enter_password" msgid="2963496904625715235">"Android सुरु गर्न, आफ्नो पासवर्ड प्रविष्टि गर्नुहोस्"</string>
<string name="enter_pin" msgid="7140938268709546890">"Android सुरु गर्न, आफ्नो पिन प्रविष्टि गर्नुहोस्"</string>
- <string name="enter_pattern" msgid="1653841963422825336">"Android सुरु गर्न, आफ्नो ढाँचा कोर्नुहोस्"</string>
+ <string name="enter_pattern" msgid="1653841963422825336">"Android सुरु गर्न, आफ्नो प्याटर्न कोर्नुहोस्"</string>
<string name="cryptkeeper_wrong_pattern" msgid="4580105105385125467">"प्याटर्न मिलेन"</string>
<string name="cryptkeeper_wrong_password" msgid="1709534330303983166">"गलत पासवर्ड"</string>
<string name="cryptkeeper_wrong_pin" msgid="857757190077859245">"गलत PIN"</string>
@@ -3091,7 +3091,7 @@
<string name="keywords_ignore_optimizations" msgid="9127632532176249438">"अनुकूलनहरूलाई बेवास्ता गर्नुहोस्, डोज, एप स्ट्यान्डबाइ"</string>
<string name="keywords_color_mode" msgid="8893345199519181751">"चम्किलो RGB, sRGB, रङ्ग, प्राकृतिक, मानक"</string>
<string name="keywords_color_temperature" msgid="2255253972992035046">"रङ्ग, तापक्रम, D65, D73, सेतो, पहेँलो, निलो, न्यानो, शीतल"</string>
- <string name="keywords_lockscreen" msgid="4936846554280830394">"अनलक गर्न स्लाइड गर्नुहोस्, पासवर्ड, ढाँचा, PIN"</string>
+ <string name="keywords_lockscreen" msgid="4936846554280830394">"अनलक गर्न स्लाइड गर्नुहोस्, पासवर्ड, प्याटर्न, PIN"</string>
<string name="keywords_profile_challenge" msgid="8653718001253979611">"कार्य चुनौती, कार्य, प्रोफाइल"</string>
<string name="keywords_unification" msgid="2020759909366983593">"कार्यको प्रोफाइल, व्यवस्थापन गरिएको प्रोफाइल, एकरूपता ल्याउनु, एकरूपता, कार्य, प्रोफाइल"</string>
<string name="keywords_gesture" msgid="5031323247529869644">"इसाराहरू"</string>
@@ -3141,9 +3141,9 @@
<string name="ring_volume_option_title" msgid="2038924918468372264">"घन्टीको भोल्युम"</string>
<string name="notification_volume_option_title" msgid="1358512611511348260">"ध्वनी सूचना"</string>
<string name="ringtone_title" msgid="1409086028485922583">"फोनको रिङटोन"</string>
- <string name="notification_ringtone_title" msgid="2932960620843976285">"सूचना सम्बन्धी पूर्वनिर्धारित ध्वनि"</string>
+ <string name="notification_ringtone_title" msgid="2932960620843976285">"सूचनाको पूर्वनिर्धारित ध्वनि"</string>
<string name="notification_unknown_sound_title" msgid="8043718667804838398">"अनुप्रयोगले प्रदान गरेको ध्वनि"</string>
- <string name="notification_sound_default" msgid="2664544380802426260">"सूचना सम्बन्धी पूर्वनिर्धारित ध्वनि"</string>
+ <string name="notification_sound_default" msgid="2664544380802426260">"सूचनाको पूर्वनिर्धारित ध्वनि"</string>
<string name="alarm_ringtone_title" msgid="6411326147408635902">"अलार्मको पूर्वनिर्धारित ध्वनि"</string>
<string name="vibrate_when_ringing_title" msgid="2757996559847126952">"कलका बेला कम्पन गर्नुहोस्"</string>
<string name="other_sound_settings" msgid="5250376066099818676">"अन्य ध्वनिहरू"</string>
@@ -3284,7 +3284,7 @@
<string name="work_use_personal_sounds_title" msgid="531727195073003599">"व्यक्तिगत प्रोफाइलका ध्वनिहरूको प्रयोग गर्नुहोस्"</string>
<string name="work_use_personal_sounds_summary" msgid="2886871383995187441">"कार्य र व्यक्तिगत दुवै प्रोफाइलका लागि आवाज उही नै हो"</string>
<string name="work_ringtone_title" msgid="5499360583947410224">"कार्यको फोनको रिङटोन"</string>
- <string name="work_notification_ringtone_title" msgid="8059159087214025757">"सूचना सम्बन्धी पूर्वनिर्धारित आवाज"</string>
+ <string name="work_notification_ringtone_title" msgid="8059159087214025757">"सूचनाको पूर्वनिर्धारित आवाज"</string>
<string name="work_alarm_ringtone_title" msgid="5328487181385375130">"कार्य अलार्मको पूर्वनिर्धाित आवाज"</string>
<string name="work_sound_same_as_personal" msgid="7728560881697159758">"व्यक्तिगत प्रोफाइलको जस्तै"</string>
<string name="work_sync_dialog_title" msgid="4799120971202956837">"आवाजलाई प्रतिस्थापन गर्ने हो?"</string>
@@ -3556,7 +3556,7 @@
<string name="switch_off_text" msgid="3539551289454353555">"निष्क्रिय"</string>
<string name="screen_pinning_title" msgid="578020318289781102">"पर्दा पिन गर्दै"</string>
<string name="screen_pinning_description" msgid="3814537379086412278">"यो सेटिङ सक्रिय गर्दा, हालको स्क्रिनलाई तपाईंले अनपिन नगरुन्जेल दृश्य अवस्थामा राख्न स्क्रिन पिनिङ प्रयोग गर्न सक्नुहुन्छ।\n\nस्क्रिन पिनिङ सुविधा प्रयोग गर्न:\n\n१. स्क्रिन पिनिङ सक्रिय रहेको सुनिश्चित गर्नुहोस् \n\n२. ओभरभ्यू खोल्नुहोस्\n\n३. स्क्रिनको सिरानमा रहेको एप आइकनमा ट्याप गरी पिनमा ट्याप गर्नुहोस्"</string>
- <string name="screen_pinning_unlock_pattern" msgid="1060334707088339444">"पिन निकाल्नुअघि खोल्ने ढाँचा सोध्नुहोस्"</string>
+ <string name="screen_pinning_unlock_pattern" msgid="1060334707088339444">"पिन निकाल्नुअघि अनलक प्याटर्न सोध्नुहोस्"</string>
<string name="screen_pinning_unlock_pin" msgid="1441705536015645023">"पिन निकाल्नुअघि PIN सोध्नुहोस्"</string>
<string name="screen_pinning_unlock_password" msgid="1017776884000170841">"पिन निकाल्नुअघि पासवर्ड सोध्नुहोस्"</string>
<string name="screen_pinning_unlock_none" msgid="9183040569733226911">"अनपिन गर्दा उपकरण लक गर्नुहोस्"</string>
@@ -3566,13 +3566,13 @@
<string name="encryption_interstitial_header" msgid="3298397268731647519">"स्टार्ट-अप सुरक्षित गर्नुहोस्"</string>
<string name="encryption_continue_button" msgid="2808797091460167842">"जारी राख्नुहोस्"</string>
<string name="encryption_interstitial_message_pin" msgid="6592265582286340307">"यो यन्त्र खुल्नुअघि आफ्नो PIN चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न PIN चाहिने बनाउने हो?"</string>
- <string name="encryption_interstitial_message_pattern" msgid="5620724295995735120">"यो यन्त्र खुल्नुअघि आफ्नो ढाँचा कोर्नु पर्ने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न ढाँचा कोर्नु पर्ने बनाउने हो?"</string>
+ <string name="encryption_interstitial_message_pattern" msgid="5620724295995735120">"यो यन्त्र खुल्नुअघि आफ्नो प्याटर्न कोर्नु पर्ने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, म्यासेज प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न प्याटर्न कोर्नु पर्ने बनाउने हो?"</string>
<string name="encryption_interstitial_message_password" msgid="7236688467386126401">"यो यन्त्र खुल्नुअघि आफ्नो पासवर्ड चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न पासवर्ड चाहिने बनाउने हो?"</string>
<string name="encryption_interstitial_message_pin_for_fingerprint" msgid="3706009740537484517">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो PIN चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न PIN चाहिने बनाउने हो?"</string>
- <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="5230877866699023998">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो ढाँचा कोर्नु पर्ने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न ढाँचा कोर्नु पर्ने बनाउने हो?"</string>
+ <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="5230877866699023998">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो प्याटर्न कोर्नु पर्ने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न प्याटर्न कोर्नु पर्ने बनाउने हो?"</string>
<string name="encryption_interstitial_message_password_for_fingerprint" msgid="8451977276748128814">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो पासवर्ड चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यन्त्रले कल, सन्देश वा अलार्म लगायताका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्रलाई खोल्नको लागि पासवर्ड चाहिने बनाउने हो?"</string>
<string name="encryption_interstitial_message_pin_for_face" msgid="7469243836881325172">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो PIN चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, सन्देश वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि PIN चाहिने बनाउने हो?"</string>
- <string name="encryption_interstitial_message_pattern_for_face" msgid="9221235885895441797">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो ढाँचा चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, सन्देश वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि ढाँचा चाहिने बनाउने हो?"</string>
+ <string name="encryption_interstitial_message_pattern_for_face" msgid="9221235885895441797">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो प्याटर्न चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, म्यासेज वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि प्याटर्न चाहिने बनाउने हो?"</string>
<string name="encryption_interstitial_message_password_for_face" msgid="5559223480280120457">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो पासवर्ड चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, सन्देश वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि पासवर्ड चाहिने बनाउने हो?"</string>
<string name="encryption_interstitial_yes" msgid="1839339586101502601">"हो"</string>
<string name="encryption_interstitial_no" msgid="6517277668879344227">"होइन"</string>
@@ -3582,7 +3582,7 @@
<string name="encrypt_talkback_dialog_require_pattern" msgid="8705104812047332411">"प्याटर्न आवश्यक छ?"</string>
<string name="encrypt_talkback_dialog_require_password" msgid="5070710417271353306">"पासवर्ड आवश्यक छ?"</string>
<string name="encrypt_talkback_dialog_message_pin" msgid="1912533826818077891">"यो उपकरण सुरु गर्न जब तपाईँले आफ्नो PIN प्रविष्टि गर्नुहुन्छ, पहुँच सेवा जस्तै <xliff:g id="SERVICE">%1$s</xliff:g> अझै उपलब्ध हुने छैन।"</string>
- <string name="encrypt_talkback_dialog_message_pattern" msgid="4415837749933863432">"यो उपकरण सुरु गर्न जब तपाईँले आफ्नो ढाँचा प्रविष्टि गर्नुहुन्छ, पहुँच सेवा जस्तै <xliff:g id="SERVICE">%1$s</xliff:g> अझै उपलब्ध हुने छैन।"</string>
+ <string name="encrypt_talkback_dialog_message_pattern" msgid="4415837749933863432">"यो यन्त्र सुरु गर्न जब तपाईंले आफ्नो प्याटर्न प्रविष्टि गर्नुहुन्छ, पहुँच सेवा जस्तै <xliff:g id="SERVICE">%1$s</xliff:g> अझै उपलब्ध हुने छैन।"</string>
<string name="encrypt_talkback_dialog_message_password" msgid="4276703366120881008">"यो उपकरण सुरु गर्न जब तपाईँले आफ्नो पासवर्ड प्रविष्टि गर्नुहुन्छ, पहुँच सेवा <xliff:g id="SERVICE">%1$s</xliff:g> जस्तो अझै उपलब्ध हुने छैन।"</string>
<string name="direct_boot_unaware_dialog_message" msgid="5253248227337914350">"टिपोट: तपाईंले आफ्नो फोन पुनः सुरु गर्नुभयो र त्यसमा स्क्रिन लक सेट गरिएको छ भने तपाईंले आफ्नो फोन अनलक नगरून्जेल यो एप सुरु हुन सक्दैन"</string>
<string name="imei_information_title" msgid="7666097743700170757">"IMEI जानकारी"</string>
@@ -3996,7 +3996,7 @@
<string name="home_app" msgid="3695063566006954160">"घरेलु एप"</string>
<string name="no_default_home" msgid="1518949210961918497">"पूर्वनिर्धारित गृहपृष्ठ छैन"</string>
<string name="lockpattern_settings_require_cred_before_startup" msgid="63693894094570367">"स्टार्ट-अप सुरक्षित गर्नुहोस्"</string>
- <string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="2330543541999937953">"तपाईंको यन्त्रलाई सुरुवात गर्न ढाँचा आवश्यक छ। यन्त्र बन्द हुँदा, यसले कल, सन्देश, सूचना, वा अलार्महरू प्राप्त गर्न सक्दैन।"</string>
+ <string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="2330543541999937953">"तपाईंको यन्त्रलाई सुरुवात गर्न प्याटर्न आवश्यक छ। यन्त्र बन्द हुँदा, यसले कल, म्यासेज, सूचना, वा अलार्महरू प्राप्त गर्न सक्दैन।"</string>
<string name="lockpattern_settings_require_pin_before_startup_summary" msgid="1058173991832208485">"तपाईंको यन्त्र सुरुवात गर्न PIN आवश्यक छ। यन्त्र बन्द हुँदा, यसले कल, सन्देश, सूचना, वा अलार्महरू प्राप्त गर्न सक्दैन।"</string>
<string name="lockpattern_settings_require_password_before_startup_summary" msgid="1266300087760553585">"तपाईंको यन्त्र स्टार्ट अप गर्न पासवर्ड आवश्यक छ। यन्त्र बन्द हुँदा, यसले कल, सन्देश, सूचना, वा अलार्महरू प्राप्त गर्न सक्दैन।"</string>
<string name="suggestion_additional_fingerprints" msgid="3434467207282466411">"अर्को फिंगरप्रिन्ट थप्नुहोस्"</string>
@@ -4038,7 +4038,7 @@
<string name="notification_log_details_alerted" msgid="1891749888625061319">"सूचनाबारे सतर्क गरियो"</string>
<string name="notification_log_details_sound" msgid="4028782443557466322">"ध्वनि"</string>
<string name="notification_log_details_vibrate" msgid="8372400602058888072">"कम्पन हुने"</string>
- <string name="notification_log_details_vibrate_pattern" msgid="7015554755444260922">"ढाँचा"</string>
+ <string name="notification_log_details_vibrate_pattern" msgid="7015554755444260922">"प्याटर्न"</string>
<string name="notification_log_details_default" msgid="455451833359888182">"पूर्वनिर्धारित"</string>
<string name="notification_log_details_none" msgid="4294690532744821638">"कुनै पनि होइन"</string>
<string name="notification_log_details_ranking_null" msgid="3907234749871463339">"वर्गीकरण सम्बन्धी वस्तु उपलब्ध छैन।"</string>
diff --git a/tests/CarDeveloperOptions/res/values-nl/strings.xml b/tests/CarDeveloperOptions/res/values-nl/strings.xml
index 4211351..b9f07e8 100644
--- a/tests/CarDeveloperOptions/res/values-nl/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-nl/strings.xml
@@ -1239,7 +1239,7 @@
<string name="screen_timeout_title" msgid="150117777762864112">"Scherm wordt uitgeschakeld"</string>
<string name="screen_timeout_summary" msgid="8644192861778491060">"Na <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> inactiviteit"</string>
<string name="wallpaper_settings_title" msgid="347390905813529607">"Achtergrond"</string>
- <string name="style_and_wallpaper_settings_title" msgid="8898539141152705754">"Stijlen en achtergronden"</string>
+ <string name="style_and_wallpaper_settings_title" msgid="8898539141152705754">"Stijl en achtergronden"</string>
<string name="wallpaper_settings_summary_default" msgid="2626880032742784599">"Standaard"</string>
<string name="wallpaper_settings_summary_custom" msgid="8950504698015331202">"Aangepast"</string>
<string name="wallpaper_suggestion_title" msgid="3012130414886743201">"Achtergrond wijzigen"</string>
@@ -2629,9 +2629,9 @@
<string name="remove_account_label" msgid="5885425720323823387">"Account verwijderen"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Account toevoegen"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Account verwijderen?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Als dit account wordt verwijderd, worden ook alle accountberichten, contacten en andere gegevens van de tablet verwijderd."</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Als dit account wordt verwijderd, worden ook alle accountberichten, contacten en andere gegevens van de telefoon verwijderd."</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Als dit account wordt verwijderd, worden ook alle bijbehorende berichten, contacten en andere gegevens van het apparaat verwijderd."</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Als dit je account verwijdert, worden ook alle accountberichten, contacten en andere gegevens van de tablet verwijderd."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Als je dit account verwijdert, worden ook alle accountberichten, contacten en andere gegevens van de telefoon verwijderd."</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Als je dit account verwijdert, worden ook alle bijbehorende berichten, contacten en andere gegevens van het apparaat verwijderd."</string>
<string name="remove_account_failed" msgid="491458185327106966">"Deze wijziging is niet toegestaan door je beheerder"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Kan niet handmatig synchroniseren"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Synchroniseren is op dit moment uitgeschakeld voor dit item. Als je deze instelling wilt wijzigen, schakel je achtergrondgegevens en automatisch synchroniseren tijdelijk in."</string>
@@ -2871,7 +2871,7 @@
<string name="user_add_profile_item_title" msgid="4932743891449790664">"Beperkt profiel"</string>
<string name="user_add_user_title" msgid="2320897397066676472">"Nieuwe gebruiker toevoegen?"</string>
<string name="user_add_user_message_long" msgid="686637203224195465">"Je kunt dit apparaat met anderen delen door extra gebruikers te maken. Elke gebruiker heeft een eigen profiel met zelf gekozen apps, achtergrond, enzovoort. Gebruikers kunnen ook apparaatinstellingen aanpassen die van invloed zijn op alle gebruikers, zoals wifi.\n\nWanneer je een nieuwe gebruiker toevoegt, moet die persoon een eigen profiel instellen.\n\nElke gebruiker kan apps updaten voor alle andere gebruikers. Toegankelijkheidsinstellingen en -services worden mogelijk niet overgezet naar de nieuwe gebruiker."</string>
- <string name="user_add_user_message_short" msgid="1802594476285458254">"Wanneer je een nieuwe gebruiker toevoegt, moet die persoon zijn eigen profiel instellen.\n\nElke gebruiker kan apps updaten voor alle andere gebruikers."</string>
+ <string name="user_add_user_message_short" msgid="1802594476285458254">"Als je een nieuwe gebruiker toevoegt, moet die persoon een eigen profiel instellen.\n\nElke gebruiker kan apps updaten voor alle andere gebruikers."</string>
<string name="user_setup_dialog_title" msgid="6748950002206392396">"Gebruiker nu instellen?"</string>
<string name="user_setup_dialog_message" msgid="2988559933258353919">"Zorg ervoor dat de persoon het apparaat kan overnemen om een profiel in te stellen"</string>
<string name="user_setup_profile_dialog_message" msgid="7611900802824048526">"Profiel nu instellen?"</string>
@@ -3862,7 +3862,7 @@
<string name="storage_summary_with_sdcard" msgid="8742907204848352697">"Interne opslag: <xliff:g id="PERCENTAGE">%1$s</xliff:g> gebruikt - <xliff:g id="FREE_SPACE">%2$s</xliff:g> vrij"</string>
<string name="display_summary" msgid="5725269449657325797">"Slaapstand na <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> inactiviteit"</string>
<string name="display_dashboard_summary" msgid="7678566148167010682">"Achtergrond, slaapstand, lettergrootte"</string>
- <string name="display_dashboard_summary_with_style" msgid="8981059474501210956">"Stijlen en achtergronden, slaapstand, tekengrootte"</string>
+ <string name="display_dashboard_summary_with_style" msgid="8981059474501210956">"Stijl en achtergronden, slaapstand, tekengrootte"</string>
<string name="display_dashboard_nowallpaper_summary" msgid="8612534364908229000">"Slaapstand, lettergrootte"</string>
<string name="display_summary_example" msgid="4555020581960719296">"Slaapstand na 10 minuten inactiviteit"</string>
<string name="memory_summary" msgid="9121871336058042600">"Gem. <xliff:g id="USED_MEMORY">%1$s</xliff:g> van <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g> geheugen gebruikt"</string>
diff --git a/tests/CarDeveloperOptions/res/values-or/strings.xml b/tests/CarDeveloperOptions/res/values-or/strings.xml
index 5806e88..4ea8ebc 100644
--- a/tests/CarDeveloperOptions/res/values-or/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-or/strings.xml
@@ -3792,7 +3792,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g> ପାଇଁ \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ଆକ୍ସେସ୍ ରଦ୍ଦ କରିବେ?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"ଏହି ଆପ୍ ଦ୍ୱାରା, \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ପାଇଁ କରାଯାଇଥିବା ସମସ୍ତ ନିୟମ କାଢ଼ିଦିଆଯିବ।"</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"ଅନୁକୁଳ କରନାହିଁ"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"ଅନୁକୁଳ"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"ଅପ୍ଟିମାଇଜ୍ କରନ୍ତୁ"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"ଆପଣଙ୍କ ବ୍ୟାଟେରୀ ଖୁବ୍ ଶୀଘ୍ର ସରିଯାଇପାରେ। ବ୍ୟାକଗ୍ରାଉଣ୍ଡ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଆଉ ଆପ୍କୁ ବାଧା ଦେଇହେବ ନାହିଁ।"</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"ବ୍ୟାଟେରୀ କାମ କରିବା ସମୟ ବଢାଇବାକୁ ସୁପାରିଶ କରାଯାଇଛି"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"ବ୍ୟାଟେରୀ ଅନୁକୂଳନ ଏଡ଼ାଇବାକୁ <xliff:g id="APP">%s</xliff:g> କୁ ଅନୁମତି ଦେବେ?"</string>
diff --git a/tests/CarDeveloperOptions/res/values-pt/strings.xml b/tests/CarDeveloperOptions/res/values-pt/strings.xml
index 6ce1154..8884553 100644
--- a/tests/CarDeveloperOptions/res/values-pt/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-pt/strings.xml
@@ -1755,7 +1755,7 @@
<string name="lockpattern_recording_inprogress" msgid="4060818382176523671">"Levante o dedo ao terminar"</string>
<string name="lockpattern_recording_incorrect_too_short" msgid="6374760294545431845">"Conecte pelo menos <xliff:g id="NUMBER">%d</xliff:g> pontos. Tente novamente."</string>
<string name="lockpattern_pattern_entered_header" msgid="2108106638322637851">"Padrão registrado"</string>
- <string name="lockpattern_need_to_confirm" msgid="4079482507985867389">"Desenhe o padrão novamente para confirmar"</string>
+ <string name="lockpattern_need_to_confirm" msgid="4079482507985867389">"Desenhe o padrão de novo para confirmar"</string>
<string name="lockpattern_pattern_confirmed_header" msgid="5603156929428721407">"Seu novo padrão de desbloqueio"</string>
<string name="lockpattern_confirm_button_text" msgid="7059311304112902598">"Confirmar"</string>
<string name="lockpattern_restart_button_text" msgid="4322968353922529868">"Desenhar novamente"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ru/strings.xml b/tests/CarDeveloperOptions/res/values-ru/strings.xml
index 1bb5b10..32257dd 100644
--- a/tests/CarDeveloperOptions/res/values-ru/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ru/strings.xml
@@ -2563,7 +2563,7 @@
<string name="menu_duration_6h" msgid="6169009210638008417">"6 часов"</string>
<string name="menu_duration_12h" msgid="1435242738163843797">"12 часов"</string>
<string name="menu_duration_1d" msgid="6476370834372352174">"1 день"</string>
- <string name="menu_show_system" msgid="6315865548558708248">"Показать сист. процессы"</string>
+ <string name="menu_show_system" msgid="6315865548558708248">"Показать системные"</string>
<string name="menu_hide_system" msgid="8457027118873733782">"Скрыть сист. процессы"</string>
<string name="menu_show_percentage" msgid="6983272380729890884">"Показать в процентах"</string>
<string name="menu_use_uss" msgid="3765054705208926803">"Использовать USS"</string>
diff --git a/tests/CarDeveloperOptions/res/values-sk/strings.xml b/tests/CarDeveloperOptions/res/values-sk/strings.xml
index 86e262a..d7874aa 100644
--- a/tests/CarDeveloperOptions/res/values-sk/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-sk/strings.xml
@@ -180,7 +180,7 @@
<string name="connected_device_available_call_title" msgid="6774859446815858428">"Dostupné telefonické zariadenia"</string>
<string name="connected_device_connected_title" msgid="6255107326608785482">"Aktuálne pripojené"</string>
<string name="connected_device_saved_title" msgid="8270136893488475163">"Uložené zariadenia"</string>
- <string name="connected_device_add_device_summary" msgid="7960491471270158891">"Zapne sa Bluetooth s cieľom párovania"</string>
+ <string name="connected_device_add_device_summary" msgid="7960491471270158891">"Bluetooth sa zapne, aby prebehlo párovanie"</string>
<string name="connected_device_connections_title" msgid="9205000271382018428">"Nastavenia pripojenia"</string>
<string name="connected_device_previously_connected_title" msgid="225918223397410428">"V minulosti pripojené zariadenia"</string>
<string name="connected_device_previously_connected_screen_title" msgid="2018789662358162716">"Predtým pripojené zariadenia"</string>
@@ -1102,7 +1102,7 @@
<string name="wifi_hotspot_name_summary_connecting" msgid="5176787959408511889">"Zapína sa hotspot <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>…"</string>
<string name="wifi_hotspot_name_summary_connected" msgid="8387768642326756749">"Iné zariadenia sa môžu pripojiť k hotspotu <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>"</string>
<string name="wifi_hotspot_password_title" msgid="4289338152595154889">"Heslo hotspotu"</string>
- <string name="wifi_hotspot_ap_band_title" msgid="3485744480410441949">"Pásmo prístup. bodu"</string>
+ <string name="wifi_hotspot_ap_band_title" msgid="3485744480410441949">"Pásmo prístupového bodu"</string>
<string name="wifi_hotspot_footer_info_regular" msgid="3876006922622827363">"Použite hotspot na vytvorenie siete Wi‑Fi pre ostatné zariadenia. Hotspot poskytuje internet pomocou mobilného dátového pripojenia. Môžu vám byť účtované ďalšie poplatky za mobilné dáta."</string>
<string name="wifi_hotspot_footer_info_local_only" msgid="3339582350894639261">"Aplikácie tiež môžu vytvoriť hostpot na zdieľanie obsahu so zariadeniami v okolí."</string>
<string name="wifi_hotspot_auto_off_title" msgid="7416022590415189590">"Hotspot automaticky vypínať"</string>
@@ -1606,7 +1606,7 @@
<string name="restore_default_apn" msgid="7195266404077471007">"Prebieha obnovovanie predvolených nastavení názvu prístupového bodu (APN)."</string>
<string name="menu_restore" msgid="3799288817317293115">"Resetovať na predvolené"</string>
<string name="restore_default_apn_completed" msgid="5671734152740058937">"Predvolené nastavenia prístupových bodov boli obnovené"</string>
- <string name="reset_dashboard_title" msgid="7084966342252178530">"Možnosti resetovania"</string>
+ <string name="reset_dashboard_title" msgid="7084966342252178530">"Možnosti resetu"</string>
<string name="reset_dashboard_summary" msgid="8778383341461126642">"Sieť, aplikácie a zariadenie sa dajú resetovať"</string>
<string name="reset_network_title" msgid="8944059136930806211">"Resetovať Wi‑Fi, dáta a Bluetooth"</string>
<string name="reset_network_desc" msgid="4982633363916261109">"Touto akciou obnovíte nastavenia všetkých sietí vrátane\n\n"<li>"Wi‑Fi"</li>\n<li>"mobilnej siete"</li>\n<li>"siete Bluetooth"</li></string>
@@ -1618,7 +1618,7 @@
<string name="reset_network_final_button_text" msgid="345255333127794393">"Resetovať nastavenia"</string>
<string name="reset_network_confirm_title" msgid="2432145031070536008">"Resetovať?"</string>
<string name="network_reset_not_available" msgid="6146655531868016281">"Tento používateľ nemôže resetovať nastavenia siete"</string>
- <string name="reset_network_complete_toast" msgid="128225929536005495">"Sieťové nastavenia boli obnovené"</string>
+ <string name="reset_network_complete_toast" msgid="128225929536005495">"Nastavenia sietí boli resetované"</string>
<string name="reset_esim_error_title" msgid="4728931209471875632">"SIM karty sa nedajú vymazať"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"Stiahnuté SIM karty sa nedajú vymazať z dôvodu chyby.\n\nReštartujte zariadenie a skúste to znova."</string>
<string name="master_clear_title" msgid="1560712943955904673">"Vymazať dáta (obnova výr. nastavení)"</string>
@@ -1636,13 +1636,13 @@
<string name="erase_external_storage" product="default" msgid="194249742376770215">"Vymazať SD kartu"</string>
<string name="erase_external_storage_description" product="nosdcard" msgid="8020275102431496261">"Vymazať všetky dáta v internom úložisku USB, napríklad hudbu a fotky"</string>
<string name="erase_external_storage_description" product="default" msgid="5029355708082861798">"Vymazať všetky dáta na SD karte, napríklad hudbu a fotky"</string>
- <string name="master_clear_button_text" product="tablet" msgid="8000547818499182920">"Vymazať všetky údaje"</string>
- <string name="master_clear_button_text" product="default" msgid="8000547818499182920">"Vymazať všetky údaje"</string>
+ <string name="master_clear_button_text" product="tablet" msgid="8000547818499182920">"Vymazať všetky dáta"</string>
+ <string name="master_clear_button_text" product="default" msgid="8000547818499182920">"Vymazať všetky dáta"</string>
<string name="master_clear_final_desc" msgid="5189365498015339294">"Všetky vaše osobné údaje a stiahnuté aplikácie budú odstránené. Túto akciu nie je možné vrátiť späť."</string>
<string name="master_clear_final_desc_esim" msgid="3058919823436953662">"Všetky vaše osobné údaje vrátane stiahnutých aplikácií a SIM kariet budú odstránené. Túto akciu nie je možné vrátiť späť."</string>
<string name="master_clear_final_button_text" msgid="866772743886027768">"Vymazať všetko"</string>
<string name="master_clear_failed" msgid="7588397453984229892">"Pokus o obnovenie sa neuskutočnil, pretože služba System Clear nie je k dispozícii."</string>
- <string name="master_clear_confirm_title" msgid="698328669893512402">"Vymazať všetky údaje?"</string>
+ <string name="master_clear_confirm_title" msgid="698328669893512402">"Vymazať všetky dáta?"</string>
<string name="master_clear_not_available" msgid="4676613348163652454">"Obnovenie výrobných nastavení nie je dostupné pre tohto používateľa"</string>
<string name="master_clear_progress_title" msgid="378953167274114857">"Prebieha vymazávanie"</string>
<string name="master_clear_progress_text" msgid="5418958116008976218">"Čakajte..."</string>
@@ -1886,7 +1886,7 @@
<string name="default_emergency_app" msgid="286530070173495823">"Aplikácia pre tiesňové volania"</string>
<string name="reset_app_preferences" msgid="1426500030595212077">"Resetovať nastavenia aplikácií"</string>
<string name="reset_app_preferences_title" msgid="792909865493673598">"Chcete resetovať nastavenia aplikácií?"</string>
- <string name="reset_app_preferences_desc" msgid="7935273005301096031">"Touto akciou resetujete predvoľby položiek:\n\n "<li>"deaktivované aplikácie,"</li>\n" "<li>"deaktivované upozornenia aplikácií,"</li>\n" "<li>"predvolené aplikácie pre rôzne akcie,"</li>\n" "<li>"obmedzenia dátových prenosov na pozadí pre aplikácie,"</li>\n" "<li>"akékoľvek obmedzenia povolení."</li>\n\n" Neprídete o žiadne dáta v aplikáciách."</string>
+ <string name="reset_app_preferences_desc" msgid="7935273005301096031">"Touto akciou resetujete nasledujúce nastavenia:\n\n "<li>"deaktivované aplikácie,"</li>\n" "<li>"deaktivované upozornenia aplikácií,"</li>\n" "<li>"predvolené aplikácie pre rôzne akcie,"</li>\n" "<li>"obmedzenia dátových prenosov na pozadí pre aplikácie,"</li>\n" "<li>"všetky obmedzenia povolení."</li>\n\n" Neprídete o žiadne dáta aplikácií."</string>
<string name="reset_app_preferences_button" msgid="2041894727477934656">"Obnoviť aplikácie"</string>
<string name="manage_space_text" msgid="6166469422303124302">"Správa pamäte"</string>
<string name="filter" msgid="2426943916212457962">"Filtrovať"</string>
@@ -2951,7 +2951,7 @@
<string name="user_add_profile_item_title" msgid="4932743891449790664">"Obmedzený profil"</string>
<string name="user_add_user_title" msgid="2320897397066676472">"Pridať nového používateľa?"</string>
<string name="user_add_user_message_long" msgid="686637203224195465">"Vytvorením ďalších používateľov môžete toto zariadenie zdieľať s inými ľuďmi. Každý používateľ má svoje prostredie, ktoré si môže prispôsobiť vlastnými aplikáciami, tapetou atď. Používatelia tiež môžu upraviť nastavenia zariadenia (napr. Wi-Fi), ktoré ovplyvnia všetkých používateľov.\n\nKeď pridáte nového používateľa, musí si nastaviť vlastný priestor.\n\nAkýkoľvek používateľ môže aktualizovať aplikácie všetkých používateľov. Nastavenia dostupnosti a služby sa nemusia preniesť novému používateľovi."</string>
- <string name="user_add_user_message_short" msgid="1802594476285458254">"Keď pridáte nového používateľa, musí si nastaviť vlastný priestor.\n\nAkýkoľvek používateľ môže aktualizovať aplikácie všetkých ostatných používateľov."</string>
+ <string name="user_add_user_message_short" msgid="1802594476285458254">"Keď pridáte nového používateľa, musí si sám nastaviť vlastný priestor.\n\nKaždý používateľ môže aktualizovať aplikácie pre všetkých ostatných používateľov."</string>
<string name="user_setup_dialog_title" msgid="6748950002206392396">"Chcete teraz nastaviť používateľa?"</string>
<string name="user_setup_dialog_message" msgid="2988559933258353919">"Uistite sa, že je daná osoba k dispozícii a môže si na zariadení nastaviť svoj priestor."</string>
<string name="user_setup_profile_dialog_message" msgid="7611900802824048526">"Nastaviť profil?"</string>
@@ -2966,7 +2966,7 @@
<string name="user_new_user_name" msgid="3880395219777884838">"Nový používateľ"</string>
<string name="user_new_profile_name" msgid="3074939718101489937">"Nový profil"</string>
<string name="user_confirm_remove_self_title" msgid="6739480453680217543">"Chcete odstrániť svoj profil?"</string>
- <string name="user_confirm_remove_title" msgid="1034498514019462084">"Chcete odstrániť používateľa?"</string>
+ <string name="user_confirm_remove_title" msgid="1034498514019462084">"Odobrať tohto používateľa?"</string>
<string name="user_profile_confirm_remove_title" msgid="6138684743385947063">"Odstrániť tento profil?"</string>
<string name="work_profile_confirm_remove_title" msgid="3168910958076735800">"Odstrániť pracovný profil?"</string>
<string name="user_confirm_remove_self_message" product="tablet" msgid="2889456786320157545">"Prídete o svoj priestor a dáta v tomto tablete. Táto akcia sa nedá vrátiť späť."</string>
diff --git a/tests/CarDeveloperOptions/res/values-sr/strings.xml b/tests/CarDeveloperOptions/res/values-sr/strings.xml
index de8ffb1..8ff9a4d 100644
--- a/tests/CarDeveloperOptions/res/values-sr/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-sr/strings.xml
@@ -2665,9 +2665,9 @@
<string name="remove_account_label" msgid="5885425720323823387">"Уклони налог"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Додајте налог"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Желите ли да уклоните налог?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Уклањањем овог налога избрисаћете све поруке, контакте и друге податке са таблета!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Уклањањем овог налога избрисаћете све поруке, контакте и друге податке са телефона!"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Ако уклоните овај налог, избрисаћете све поруке, контакте и друге податке са уређаја!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Ако уклоните овај налог, избрисаћете све поруке, контакте и друге податке са таблета."</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Ако уклоните овај налог, избрисаћете све поруке, контакте и друге податке са телефона."</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Ако уклоните овај налог, избрисаћете све поруке, контакте и друге податке са уређаја."</string>
<string name="remove_account_failed" msgid="491458185327106966">"Администратор не дозвољава ову промену"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Ручно синхронизовање није могуће"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Синхронизација за ову ставку је тренутно онемогућена. Да бисте променили ово подешавање, привремено укључите позадинске податке и аутоматску синхронизацију."</string>
diff --git a/tests/CarDeveloperOptions/res/values-sv/strings.xml b/tests/CarDeveloperOptions/res/values-sv/strings.xml
index d9ccd20..8372e55 100644
--- a/tests/CarDeveloperOptions/res/values-sv/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-sv/strings.xml
@@ -386,7 +386,7 @@
<string name="lockscreen_settings_what_to_show_category" msgid="3133378945821488654">"Vad som ska visas"</string>
<string name="security_settings_summary" msgid="5210109100643223686">"Ställ in Min plats, skärmupplåsning, lås för SIM-kort och lås för uppgiftslagring"</string>
<string name="cdma_security_settings_summary" msgid="1783066617800041869">"Ställ in Min plats, skärmupplåsning, lås för uppgiftslagring"</string>
- <string name="security_passwords_title" msgid="6853942836045862315">"Sekretess"</string>
+ <string name="security_passwords_title" msgid="6853942836045862315">"Integritet"</string>
<string name="disabled_by_administrator_summary" msgid="6099821045360491127">"Inaktiverad av administratören"</string>
<string name="security_status_title" msgid="1261960357751754428">"Säkerhetsstatus"</string>
<string name="security_dashboard_summary_face" msgid="2536136110153593745">"Skärmlås, ansiktslås"</string>
@@ -932,7 +932,7 @@
<string name="wifi_ap_5G" msgid="4584892544393675403">"5,0 GHz"</string>
<string name="wifi_ap_band_select_one" msgid="4409754936554360355">"Välj minst ett band för Wi‑Fi-surfzon:"</string>
<string name="wifi_ip_settings" msgid="4636102290236116946">"IP-inställningar"</string>
- <string name="wifi_privacy_settings" msgid="4462092795794247809">"Sekretess"</string>
+ <string name="wifi_privacy_settings" msgid="4462092795794247809">"Integritet"</string>
<string name="wifi_privacy_settings_ephemeral_summary" msgid="2411375348287064283">"Slumpgenererad MAC-adress"</string>
<string name="wifi_dpp_add_device_to_network" msgid="8871041525483253430">"Lägg till en enhet"</string>
<string name="wifi_dpp_center_qr_code" msgid="3826108361797476758">"Lägg till enheten i <xliff:g id="SSID">%1$s</xliff:g> genom att centrera QR-koden i fönstret nedan"</string>
@@ -4470,7 +4470,7 @@
<string name="force_desktop_mode_summary" msgid="8865007610266954719">"Tvinga fram experimentellt skrivbordsläge på sekundära skärmar"</string>
<string name="hwui_force_dark_title" msgid="3744825212652331461">"Åsidosätter tvingat mörkt läge"</string>
<string name="hwui_force_dark_summary" msgid="2051891908674765817">"Åsidosätter funktionen som tvingar mörkt läge att alltid vara aktiverat"</string>
- <string name="privacy_dashboard_title" msgid="8764930992456607513">"Sekretess"</string>
+ <string name="privacy_dashboard_title" msgid="8764930992456607513">"Integritet"</string>
<string name="privacy_dashboard_summary" msgid="7916431309860824945">"Behörigheter, kontoaktivitet, personuppgifter"</string>
<string name="contextual_card_dismiss_remove" msgid="1750420285615827309">"Ta bort"</string>
<string name="contextual_card_dismiss_keep" msgid="3204450672928193661">"Behåll"</string>
diff --git a/tests/CarDeveloperOptions/res/values-sw/strings.xml b/tests/CarDeveloperOptions/res/values-sw/strings.xml
index ab3304c..36b4306 100644
--- a/tests/CarDeveloperOptions/res/values-sw/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-sw/strings.xml
@@ -2631,7 +2631,7 @@
<string name="really_remove_account_title" msgid="4166512362915154319">"Je, ungependa kuondoa akaunti?"</string>
<string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Kuondoa akaunti hii kutafuta mazungumzo yako yote, anwani na data zingine kwenye kompyuta kibao!"</string>
<string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Kuondoa akaunti hii kutafuta mazungumzo yako yote, anwani na data nyingine kwenye simu!"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Kuondoa akaunti hii kutasabibisha kufutwa kwa ujumbe, anwani na data nyingine kwenye kifaa!"</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Kuondoa akaunti hii kutasababisha kufutwa kwa ujumbe, anwani na data nyingine kwenye kifaa!"</string>
<string name="remove_account_failed" msgid="491458185327106966">"Mabadiliko haya hayaruhusiwi na msimamizi wako"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Huwezi kusawazisha mwenyewe"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Kwa sasa usawazishaji wa kipengee hiki umezimwa. Kubadilisha mpangilio huu, washa kwa muda data ya usuli na usawazishaji kiotomatiki."</string>
@@ -2886,7 +2886,7 @@
<string name="user_new_user_name" msgid="3880395219777884838">"Mtumiaji mpya"</string>
<string name="user_new_profile_name" msgid="3074939718101489937">"Wasifu mpya"</string>
<string name="user_confirm_remove_self_title" msgid="6739480453680217543">"Ungependa kujifuta?"</string>
- <string name="user_confirm_remove_title" msgid="1034498514019462084">"Ungependa kumtafuta mtumiaji huyu?"</string>
+ <string name="user_confirm_remove_title" msgid="1034498514019462084">"Ungependa kumfuta mtumiaji huyu?"</string>
<string name="user_profile_confirm_remove_title" msgid="6138684743385947063">"Ungependa kuondoa wasifu?"</string>
<string name="work_profile_confirm_remove_title" msgid="3168910958076735800">"Ungependa kuondoa wasifu wa kazini?"</string>
<string name="user_confirm_remove_self_message" product="tablet" msgid="2889456786320157545">"Utapoteza nafasi na data yako kwenye kompyuta hii ndogo. Huwezi kutendua kitendo hiki."</string>
diff --git a/tests/CarDeveloperOptions/res/values-ta/strings.xml b/tests/CarDeveloperOptions/res/values-ta/strings.xml
index 692d763..4ba17f0 100644
--- a/tests/CarDeveloperOptions/res/values-ta/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ta/strings.xml
@@ -322,8 +322,8 @@
<string name="date_and_time_settings_title" msgid="7827088656940910631">"தேதி & நேரம்"</string>
<string name="date_and_time_settings_title_setup_wizard" msgid="1573030770187844365">"தேதி மற்றும் நேரத்தை அமை"</string>
<string name="date_and_time_settings_summary" msgid="4617979434474713417">"தேதி, நேரம், நேரமண்டலம் & வடிவமைப்புகளை அமை"</string>
- <string name="date_time_auto" msgid="2679132152303750218">"மொபைல் நெட்வொர்க் நேரம்"</string>
- <string name="zone_auto_title" msgid="5500880975376882488">"மொபைல் நெட்வொர்க் வழங்கும் நேர மண்டலத்தைப் பயன்படுத்து"</string>
+ <string name="date_time_auto" msgid="2679132152303750218">"மொபைல் நெட்வொர்க் வழங்கும் நேரத்தைப் பயன்படுத்தும்"</string>
+ <string name="zone_auto_title" msgid="5500880975376882488">"மொபைல் நெட்வொர்க் வழங்கும் நேர மண்டலத்தைப் பயன்படுத்தும்"</string>
<string name="date_time_24hour_auto" msgid="7499659679134962547">"இயல்பாகத் தேர்ந்தெடுத்துள்ள மொழியைப் பயன்படுத்தவும்"</string>
<string name="date_time_24hour_title" msgid="6209923858891621283">"24 மணிநேர வடிவம்"</string>
<string name="date_time_24hour" msgid="1265706705061608742">"24-மணிநேர வடிவமைப்பில்"</string>
@@ -3792,7 +3792,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g>க்கான தொந்தரவு செய்ய வேண்டாம் அணுகலை ரத்துசெய்யவா?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"இந்த ஆப்ஸ் உருவாக்கிய தொந்தரவு செய்ய வேண்டாம் விதிகள் அனைத்தும் அகற்றப்படும்."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"மேம்படுத்த வேண்டாம்"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"மேம்படுத்து"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"Optimize"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"பேட்டரியை மிக விரைவாகத் தீர்த்துவிடக்கூடும். பின்னணியில் பேட்டரியைப் பயன்படுத்துவதிலிருந்து, ஆப்ஸ் இனி தடுக்கப்படாது."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"பேட்டரி அதிக நேரம் நீடிப்பதற்காகப் பரிந்துரைக்கப்படுகிறது"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"பேட்டரி மேம்படுத்தல்களைத் தவிர்க்க, <xliff:g id="APP">%s</xliff:g>ஐ அனுமதிக்கவா?"</string>
@@ -4160,10 +4160,10 @@
<string name="auto_sync_account_title" msgid="2394463123733529506">"டேட்டாவைத் தானாக ஒத்திசை"</string>
<string name="auto_sync_personal_account_title" msgid="6844465157916100655">"தனிப்பட்ட டேட்டாவைத் தானாக ஒத்திசை"</string>
<string name="auto_sync_work_account_title" msgid="2403222633447522376">"பணி டேட்டாவைத் தானாக ஒத்திசை"</string>
- <string name="auto_sync_account_summary" msgid="6316230976974033772">"ஆப்ஸ் தானாகவே டேட்டாவைப் புதுப்பிக்க அனுமதி"</string>
+ <string name="auto_sync_account_summary" msgid="6316230976974033772">"ஆப்ஸ் தானாகவே டேட்டாவைப் புதுப்பிக்க அனுமதிக்கும்"</string>
<string name="account_sync_title" msgid="1570164819114297154">"கணக்கு ஒத்திசைவு"</string>
<string name="account_sync_summary_some_on" msgid="1934556869158274053">"<xliff:g id="ID_2">%2$d</xliff:g> இல் <xliff:g id="ID_1">%1$d</xliff:g>க்கு ஒத்திசைவு இயக்கத்தில் உள்ளது"</string>
- <string name="account_sync_summary_all_on" msgid="3634161204232431700">"எல்லாவற்றுக்கும் ஒத்திசைவை இயக்கு"</string>
+ <string name="account_sync_summary_all_on" msgid="3634161204232431700">"எல்லாவற்றுக்கும் ஒத்திசைவை இயக்கும்"</string>
<string name="account_sync_summary_all_off" msgid="1971584632343645602">"எல்லாவற்றுக்கும் ஒத்திசைவை முடக்கு"</string>
<string name="enterprise_privacy_settings" msgid="2777101678653072889">"நிர்வகிக்கப்படும் சாதனத் தகவல்"</string>
<string name="enterprise_privacy_settings_summary_generic" msgid="5557859169062703683">"உங்கள் நிறுவனம் நிர்வகிக்கும் மாற்றங்களும் அமைப்புகளும்"</string>
diff --git a/tests/CarDeveloperOptions/res/values-te/arrays.xml b/tests/CarDeveloperOptions/res/values-te/arrays.xml
index 1ae209a..6c2fea7 100644
--- a/tests/CarDeveloperOptions/res/values-te/arrays.xml
+++ b/tests/CarDeveloperOptions/res/values-te/arrays.xml
@@ -114,7 +114,7 @@
<item msgid="5985477119043628504">"ఎప్పటికీ గడువు ముగియదు"</item>
</string-array>
<string-array name="bluetooth_max_connected_audio_devices">
- <item msgid="3800257971619063588">"సిస్టమ్ డిఫాల్ట్ని ఉపయోగించు: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
+ <item msgid="3800257971619063588">"సిస్టమ్ ఆటోమేటిక్ విలువను ఉపయోగించు: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
<item msgid="8572230405241423895">"1"</item>
<item msgid="5318020123964299318">"2"</item>
<item msgid="6429260054182662738">"3"</item>
diff --git a/tests/CarDeveloperOptions/res/values-te/strings.xml b/tests/CarDeveloperOptions/res/values-te/strings.xml
index 5b32838..d6efcc4 100644
--- a/tests/CarDeveloperOptions/res/values-te/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-te/strings.xml
@@ -1223,7 +1223,7 @@
<string name="night_display_summary_off" msgid="8850539785332228069">"ఆఫ్లో ఉంది / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="night_display_summary_off_auto_mode_never" msgid="8618824386434992487">"ఎప్పటికీ ఆటోమేటిక్గా ఆన్ కాదు"</string>
<string name="night_display_summary_off_auto_mode_custom" msgid="596847003171394411">"<xliff:g id="ID_1">%1$s</xliff:g>కి స్వయంచాలకంగా ఆన్ అవుతుంది"</string>
- <string name="night_display_summary_off_auto_mode_twilight" msgid="4071750976585359952">"సూర్యాస్తమయ సమయానికి స్వయంచాలకంగా ఆన్ అవుతుంది"</string>
+ <string name="night_display_summary_off_auto_mode_twilight" msgid="4071750976585359952">"సూర్యాస్తమయ సమయానికి ఆటోమేటిక్గా ఆన్ అవుతుంది"</string>
<string name="night_display_summary_on" msgid="6580571388791426596">"ఆన్లో ఉంది / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="night_display_summary_on_auto_mode_never" msgid="5461580863060506687">"ఎప్పటికీ స్వయంచాలకంగా ఆఫ్ కాదు"</string>
<string name="night_display_summary_on_auto_mode_custom" msgid="2200631112239399233">"<xliff:g id="ID_1">%1$s</xliff:g>కి ఆటోమేటిక్గా ఆఫ్ అవుతుంది"</string>
@@ -2041,7 +2041,7 @@
<string name="vision_settings_description" msgid="3476589459009287332">"మీరు మీ అవసరాలకు అనుగుణంగా ఈ పరికరాన్ని అనుకూలీకరించవచ్చు. ఈ యాక్సెస్ పీచర్లను సెట్టింగ్ల్లో తర్వాత మార్చవచ్చు."</string>
<string name="vision_settings_suggestion_title" msgid="7268661419110951128">"ఫాంట్ పరిమాణాన్ని మార్చండి"</string>
<string name="screen_reader_category_title" msgid="6300714148519645544">"స్క్రీన్ రీడర్లు"</string>
- <string name="audio_and_captions_category_title" msgid="6140472938769619212">"ఆడియో & స్క్రీన్పై ఉన్న వచనం"</string>
+ <string name="audio_and_captions_category_title" msgid="6140472938769619212">"ఆడియో & స్క్రీన్పై ఉండే టెక్స్ట్"</string>
<string name="display_category_title" msgid="545168481672250195">"డిస్ప్లే"</string>
<string name="interaction_control_category_title" msgid="8775039211811947683">"పరస్పర చర్య నియంత్రణలు"</string>
<string name="user_installed_services_category_title" msgid="4288689493753221319">"డౌన్లోడ్ చేయబడిన సేవలు"</string>
@@ -2065,7 +2065,7 @@
<string name="accessibility_shortcut_service_title" msgid="3516052294376744060">"షార్ట్కట్ సేవ"</string>
<string name="accessibility_shortcut_service_on_lock_screen_title" msgid="1279441617927949980">"లాక్ స్క్రీన్ నుండి అనుమతించండి"</string>
<string name="accessibility_shortcut_description" msgid="1427049334225166395">"షార్ట్కట్ ఆన్ చేయబడినప్పుడు, మీరు వాల్యూమ్ కీలు రెండింటినీ 3 సెకన్లు నొక్కి ఉంచడం ద్వారా యాక్సెస్ సామర్థ్య ఫీచర్ను ప్రారంభించవచ్చు."</string>
- <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="5652244684961877255">"అధిక కాంట్రాస్ట్ వచనం"</string>
+ <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="5652244684961877255">"అధిక కాంట్రాస్ట్ టెక్స్ట్"</string>
<string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="2466317284195934003">"స్క్రీన్ వర్ధనాన్ని స్వయంచాలకంగా నవీకరించండి"</string>
<string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="6625473745911276917">"అనువర్తన పరివర్తనాల్లో స్క్రీన్ వర్ధనాన్ని నవీకరించండి"</string>
<string name="accessibility_power_button_ends_call_prerefence_title" msgid="6172987104538172869">"పవర్ బటన్ కాల్ను ముగిస్తుంది"</string>
@@ -3739,7 +3739,7 @@
<string name="usb_use_MIDI" msgid="4710632870781041401">"MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="1770966187150010947">"ఈ పరికరాన్ని MIDI వలె ఉపయోగించడం"</string>
<string name="usb_use" msgid="8940500223316278632">"దీని కోసం USBని ఉపయోగించండి"</string>
- <string name="usb_default_label" msgid="7471316635263936101">"డిఫాల్ట్ USB కాన్ఫిగరేషన్"</string>
+ <string name="usb_default_label" msgid="7471316635263936101">"USB ఆటోమేటిక్ కాన్ఫిగరేషన్"</string>
<string name="usb_default_info" msgid="953775292571786528">"మరొక పరికరం కనెక్ట్ అయ్యి ఉన్నప్పుడు మరియు మీ ఫోన్ అన్లాక్ చేయబడి ఉన్నప్పుడు, ఈ సెట్టింగ్లు వర్తింపజేయబడతాయి. కేవలం విశ్వసనీయ పరికరాలకు మాత్రమే కనెక్ట్ చేయండి."</string>
<string name="usb_pref" msgid="6194821550693495068">"USB"</string>
<string name="usb_preference" msgid="7092987095048592826">"USB ప్రాధాన్యతలు"</string>
@@ -3794,7 +3794,7 @@
<string name="zen_access_revoke_warning_dialog_title" msgid="6850994585577513299">"<xliff:g id="APP">%1$s</xliff:g> అంతరాయం కలిగించవద్దు ఫీచర్కు యాక్సెస్ను ఉపసంహరించాలా?"</string>
<string name="zen_access_revoke_warning_dialog_summary" msgid="3487422193181311403">"ఈ యాప్ ద్వారా రూపొందించిన అన్ని అంతరాయం కలిగించవద్దు నిబంధనలు తీసివేయబడతాయి."</string>
<string name="ignore_optimizations_on" msgid="4373971641328943551">"అనుకూలీకరించవద్దు"</string>
- <string name="ignore_optimizations_off" msgid="4372289432580282870">"అనుకూలీకరించు"</string>
+ <string name="ignore_optimizations_off" msgid="4372289432580282870">"ఆప్టిమైజ్"</string>
<string name="ignore_optimizations_on_desc" msgid="2904484569799521559">"మీ బ్యాటరీ మరింత త్వరగా వినియోగించబడవచ్చు. ఇకపై ఈ యాప్ నేపథ్య బ్యాటరీ వినియోగం పరిమితం చేయబడదు."</string>
<string name="ignore_optimizations_off_desc" msgid="5598702251817814289">"మెరుగైన బ్యాటరీ సామర్థ్యం కోసం సిఫార్సు చేయబడింది"</string>
<string name="ignore_optimizations_title" msgid="7924345545276166305">"బ్యాటరీ అనుకూలీకరణలను విస్మరించడానికి <xliff:g id="APP">%s</xliff:g>ని అనుమతించాలా?"</string>
@@ -4262,7 +4262,7 @@
<string name="autofill_max_visible_datasets" msgid="2791081640248423492">"కనిపించగల గరిష్ఠ డేటాసమితులు"</string>
<string name="autofill_reset_developer_options" msgid="7208417230269613101">"డిఫాల్ట్ విలువలకు రీసెట్ చేయి"</string>
<string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"స్వీయ పూరింపు డెవలపర్ ఎంపికలు రీసెట్ చేయబడ్డాయి"</string>
- <string name="device_theme" msgid="8992291311481135893">"పరికర థీమ్"</string>
+ <string name="device_theme" msgid="8992291311481135893">"పరికర రూపం"</string>
<string name="default_theme" msgid="5986996377385956138">"డిఫాల్ట్"</string>
<string name="show_operator_name_title" msgid="5056163028128447308">"నెట్వర్క్ పేరు"</string>
<string name="show_operator_name_summary" msgid="6352180285743777497">"స్థితి పట్టీలో నెట్వర్క్ పేరును ప్రదర్శిస్తుంది"</string>
diff --git a/tests/CarDeveloperOptions/res/values-th/strings.xml b/tests/CarDeveloperOptions/res/values-th/strings.xml
index cf49800..33b5d88 100644
--- a/tests/CarDeveloperOptions/res/values-th/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-th/strings.xml
@@ -2631,7 +2631,7 @@
<string name="really_remove_account_title" msgid="4166512362915154319">"นำบัญชีออกหรือไม่"</string>
<string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"การนำบัญชีนี้ออกจะเป็นการลบข้อความ รายชื่อติดต่อ และข้อมูลอื่นๆ ทั้งหมดของบัญชีออกจากแท็บเล็ต"</string>
<string name="really_remove_account_message" product="default" msgid="8951224626153163914">"การนำบัญชีนี้ออกจะลบข้อความ รายชื่อติดต่อ และข้อมูลอื่นๆ ทั้งหมดของบัญชีออกจากโทรศัพท์"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"การนำบัญชีนี้ออกจะเป็นการลบข้อความ รายชื่อติดต่อ และข้อมูลอื่นๆ ทั้งหมดออกจากอุปกรณ์!"</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"การนำบัญชีนี้ออกจะเป็นการลบข้อความ รายชื่อติดต่อ และข้อมูลอื่นๆ ทั้งหมดออกจากอุปกรณ์"</string>
<string name="remove_account_failed" msgid="491458185327106966">"ผู้ดูแลระบบไม่อนุญาตให้ทำการเปลี่ยนแปลงนี้"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"ซิงค์ด้วยตนเองไม่ได้"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"รายการนี้ปิดการซิงค์อยู่ หากต้องการเปลี่ยนการตั้งค่า ให้เปิดอินเทอร์เน็ตที่ใช้งานอยู่เบื้องหลังและการซิงค์อัตโนมัติชั่วคราว"</string>
diff --git a/tests/CarDeveloperOptions/res/values-tl/strings.xml b/tests/CarDeveloperOptions/res/values-tl/strings.xml
index 05ecc75..3ad9b48 100644
--- a/tests/CarDeveloperOptions/res/values-tl/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-tl/strings.xml
@@ -2277,9 +2277,9 @@
<string name="battery_tip_smart_battery_title" product="tablet" msgid="203494973250969040">"Patagalin ang baterya ng iyong tablet"</string>
<string name="battery_tip_smart_battery_title" product="device" msgid="7419448992583346364">"Patagalin ang baterya ng iyong device"</string>
<string name="battery_tip_smart_battery_summary" msgid="5344821856478265778">"I-on ang Battery Manager"</string>
- <string name="battery_tip_early_heads_up_title" msgid="707163785378746813">"I-on ang Pangtipid sa Baterya"</string>
+ <string name="battery_tip_early_heads_up_title" msgid="707163785378746813">"I-on ang Pantipid ng Baterya"</string>
<string name="battery_tip_early_heads_up_summary" msgid="4231489566422395156">"Maaaring maubos ang baterya nang mas maaga kaysa sa inaasahan"</string>
- <string name="battery_tip_early_heads_up_done_title" msgid="112550885882648429">"Naka-on ang Pangtipid sa Baterya"</string>
+ <string name="battery_tip_early_heads_up_done_title" msgid="112550885882648429">"Naka-on ang Pantipid ng Baterya"</string>
<string name="battery_tip_early_heads_up_done_summary" msgid="8692257022962771181">"Maaaring limitado ang ilang feature"</string>
<string name="battery_tip_high_usage_title" product="default" msgid="4103005178310487352">"Nagamit ang telepono nang higit sa karaniwan"</string>
<string name="battery_tip_high_usage_title" product="tablet" msgid="1019583260005768965">"Nagamit ang tablet nang higit sa karaniwan"</string>
@@ -2317,9 +2317,9 @@
<string name="battery_tip_unrestrict_app_dialog_message" msgid="8120081438825031335">"Makakagamit ang app na ito ng baterya sa background. Maaaring maubos ang iyong baterya nang mas maaga kaysa sa inaasahan."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="9154938931448151479">"Alisin"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="7331148618292397166">"Kanselahin"</string>
- <string name="battery_tip_dialog_summary_message" product="default" msgid="7244950433272770280">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong telepono ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pangtipid sa Baterya anumang oras kung paubos na ang baterya mo."</string>
- <string name="battery_tip_dialog_summary_message" product="tablet" msgid="1721081030632329647">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong tablet ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pangtipid sa Baterya anumang oras kung paubos na ang baterya mo."</string>
- <string name="battery_tip_dialog_summary_message" product="device" msgid="146872407040848465">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong device ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pangtipid sa Baterya anumang oras kung paubos na ang baterya mo."</string>
+ <string name="battery_tip_dialog_summary_message" product="default" msgid="7244950433272770280">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong telepono ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pantipid ng Baterya anumang oras kung paubos na ang baterya mo."</string>
+ <string name="battery_tip_dialog_summary_message" product="tablet" msgid="1721081030632329647">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong tablet ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pantipid ng Baterya anumang oras kung paubos na ang baterya mo."</string>
+ <string name="battery_tip_dialog_summary_message" product="device" msgid="146872407040848465">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong device ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pantipid ng Baterya anumang oras kung paubos na ang baterya mo."</string>
<string name="smart_battery_manager_title" msgid="5744035036663849515">"Battery Manager"</string>
<string name="smart_battery_title" msgid="4919670408532804351">"Awtomatikong pamahalaan ang mga app"</string>
<string name="smart_battery_summary" msgid="640027046471198174">"Limitahan ang baterya para sa mga app na hindi mo madalas gamitin"</string>
@@ -2446,18 +2446,18 @@
<string name="process_kernel_label" msgid="4175060316414593760">"Android OS"</string>
<string name="process_mediaserver_label" msgid="8591722404282619153">"Mediaserver"</string>
<string name="process_dex2oat_label" msgid="8249082119748556085">"Pag-optimize ng app"</string>
- <string name="battery_saver" msgid="3989710213758938398">"Pangtipid sa Baterya"</string>
+ <string name="battery_saver" msgid="3989710213758938398">"Pantipid ng Baterya"</string>
<string name="battery_saver_auto_title" msgid="4158659069641849952">"Awtomatikong i-on"</string>
<string name="battery_saver_auto_no_schedule" msgid="739814529432092706">"Walang iskedyul"</string>
<string name="battery_saver_auto_routine" msgid="886514412067906980">"Batay sa iyong routine"</string>
<string name="battery_saver_auto_percentage" msgid="5791982309331921556">"Batay sa porsyento"</string>
- <string name="battery_saver_auto_routine_summary" msgid="9182044424547482889">"Mag-o-on ang Pangtipid sa Baterya kung malamang na mauubos ang iyong baterya bago ang susunod mong karaniwang pag-charge"</string>
+ <string name="battery_saver_auto_routine_summary" msgid="9182044424547482889">"Mag-o-on ang Pantipid ng Baterya kung malamang na mauubos ang iyong baterya bago ang susunod mong karaniwang pag-charge"</string>
<string name="battery_saver_auto_percentage_summary" msgid="2036128588460338677">"Mag-o-on sa <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
<string name="battery_saver_schedule_settings_title" msgid="574233428557678128">"Magtakda ng iskedyul"</string>
<string name="battery_saver_sticky_title_new" msgid="5328707297110866082">"I-off kapag puno na ang baterya"</string>
- <string name="battery_saver_sticky_description_new" product="default" msgid="3406582427270935879">"Mao-off ang Pangtipid sa Baterya kapag nasa <xliff:g id="PERCENT">%1$s</xliff:g> na ang iyong telepono"</string>
- <string name="battery_saver_sticky_description_new" product="tablet" msgid="3284967694001857194">"Mao-off ang Pangtipid sa Baterya kapag nasa <xliff:g id="PERCENT">%1$s</xliff:g> na ang iyong tablet"</string>
- <string name="battery_saver_sticky_description_new" product="device" msgid="5056520668081504111">"Mao-off ang Pangtipid sa Baterya kapag nasa <xliff:g id="PERCENT">%1$s</xliff:g> na ang iyong device"</string>
+ <string name="battery_saver_sticky_description_new" product="default" msgid="3406582427270935879">"Mao-off ang Pantipid ng Baterya kapag nasa <xliff:g id="PERCENT">%1$s</xliff:g> na ang iyong telepono"</string>
+ <string name="battery_saver_sticky_description_new" product="tablet" msgid="3284967694001857194">"Mao-off ang Pantipid ng Baterya kapag nasa <xliff:g id="PERCENT">%1$s</xliff:g> na ang iyong tablet"</string>
+ <string name="battery_saver_sticky_description_new" product="device" msgid="5056520668081504111">"Mao-off ang Pantipid ng Baterya kapag nasa <xliff:g id="PERCENT">%1$s</xliff:g> na ang iyong device"</string>
<!-- no translation found for battery_saver_seekbar_title (7607123201469333645) -->
<skip />
<string name="battery_saver_seekbar_title_placeholder" msgid="2321082163892561703">"I-on"</string>
@@ -3127,7 +3127,7 @@
<string name="keywords_touch_vibration" msgid="2081175517528255224">"haptics, mag-vibrate, screen, pagkasensitibo"</string>
<string name="keywords_ring_vibration" msgid="4210509151866460210">"haptics, pag-vibrate, telepono, tawag, pagkasensitibo, pag-ring"</string>
<string name="keywords_notification_vibration" msgid="1077515502086745166">"haptics, pag-vibrate, pagkasensitibo"</string>
- <string name="keywords_battery_saver_sticky" msgid="8733804259716284872">"pangtipid sa baterya, sticky, manatili, pantipid ng baterya, baterya"</string>
+ <string name="keywords_battery_saver_sticky" msgid="8733804259716284872">"pantipid ng baterya, sticky, manatili, pantipid ng baterya, baterya"</string>
<string name="default_sound" msgid="6675629744816442953">"Default na tunog"</string>
<string name="sound_settings_summary" msgid="8467549670633195109">"Nasa <xliff:g id="PERCENTAGE">%1$s</xliff:g> ang volume ng pag-ring"</string>
<string name="sound_dashboard_summary" msgid="5187301919242823508">"Volume, pag-vibrate, Huwag Istorbohin"</string>
@@ -3201,7 +3201,7 @@
<string name="zen_mode_restrict_notifications_mute_footer" msgid="3049522809520549054">"Kapag may dumating na mga notification, hindi tutunog o magva-vibrate ang iyong telepono."</string>
<string name="zen_mode_restrict_notifications_hide" msgid="3296933643539682552">"Walang visual o tunog mula sa mga notification"</string>
<string name="zen_mode_restrict_notifications_hide_summary" msgid="1449301153755270168">"Wala kang makikita o maririnig na notification"</string>
- <string name="zen_mode_restrict_notifications_hide_footer" msgid="7617688597593946765">"Ang iyong telepono ay hindi magpapakita ng mga bago o kasalukuyang notification o magva-vibrate o tutunog para sa mga ito. Tandaang lalabas pa rin ang mahahalagang notification para sa aktibidad ng telepono.\n\nKapag na-off mo ang Huwag Istorbohin, hanapin ang mga nalampasang notification sa pamamagitan ng pag-swipe pababa mula sa itaas ng iyong screen."</string>
+ <string name="zen_mode_restrict_notifications_hide_footer" msgid="7617688597593946765">"Ang iyong telepono ay hindi magpapakita ng mga bago o kasalukuyang notification o magva-vibrate o tutunog para sa mga ito. Tandaang lalabas pa rin ang mahahalagang notification para sa aktibidad ng telepono.\n\nKapag ini-off mo ang Huwag Istorbohin, hanapin ang mga nalampasang notification sa pamamagitan ng pag-swipe pababa mula sa itaas ng iyong screen."</string>
<string name="zen_mode_restrict_notifications_custom" msgid="3167252482570424133">"Custom"</string>
<string name="zen_mode_restrict_notifications_enable_custom" msgid="6376983315529894440">"I-enable ang custom na setting"</string>
<string name="zen_mode_restrict_notifications_disable_custom" msgid="8004212081465043044">"Alisin ang custom na setting"</string>
@@ -3893,7 +3893,7 @@
<string name="condition_zen_title" msgid="2128184708916052585">"Naka-on ang Huwag Istorbohin"</string>
<string name="condition_zen_summary_phone_muted" msgid="4396050395522974654">"Naka-mute ang telepono"</string>
<string name="condition_zen_summary_with_exceptions" msgid="3435216391993785818">"May mga pagbubukod"</string>
- <string name="condition_battery_title" msgid="6704870010912986274">"Naka-on ang Pangtipid sa Baterya"</string>
+ <string name="condition_battery_title" msgid="6704870010912986274">"Naka-on ang Pantipid ng Baterya"</string>
<string name="condition_battery_summary" msgid="1236078243905690620">"Limitado ang mga feature"</string>
<string name="condition_cellular_title" msgid="6605277435894307935">"Naka-off ang mobile data"</string>
<string name="condition_cellular_summary" msgid="3607459310548343777">"Available lang ang Internet sa pamamagitan ng Wi‑Fi"</string>
diff --git a/tests/CarDeveloperOptions/res/values-tr/strings.xml b/tests/CarDeveloperOptions/res/values-tr/strings.xml
index 9471677..0ad0117 100644
--- a/tests/CarDeveloperOptions/res/values-tr/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-tr/strings.xml
@@ -26,7 +26,7 @@
<item quantity="other">Geliştirici olmanıza <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> adım kaldı.</item>
<item quantity="one">Geliştirici olmanıza <xliff:g id="STEP_COUNT_0">%1$d</xliff:g> adım kaldı.</item>
</plurals>
- <string name="show_dev_on" msgid="9075712234786224065">"Artık siz bir geliştiricisiniz!"</string>
+ <string name="show_dev_on" msgid="9075712234786224065">"Artık bir geliştiricisiniz!"</string>
<string name="show_dev_already" msgid="7665948832405148689">"Gerekli değil, siz zaten bir geliştiricisiniz."</string>
<string name="dev_settings_disabled_warning" msgid="3198732189395396721">"Lütfen önce geliştirici seçeneklerini etkinleştirin."</string>
<string name="header_category_wireless_networks" msgid="8968405993937795898">"Kablosuz ve ağlar"</string>
@@ -2491,7 +2491,7 @@
<string name="menu_duration_6h" msgid="6169009210638008417">"6 saat"</string>
<string name="menu_duration_12h" msgid="1435242738163843797">"12 saat"</string>
<string name="menu_duration_1d" msgid="6476370834372352174">"1 gün"</string>
- <string name="menu_show_system" msgid="6315865548558708248">"Sisteme ait olanları göster"</string>
+ <string name="menu_show_system" msgid="6315865548558708248">"Sisteme ait olanlar"</string>
<string name="menu_hide_system" msgid="8457027118873733782">"Sisteme ait olanları gizle"</string>
<string name="menu_show_percentage" msgid="6983272380729890884">"Yüzdeleri göster"</string>
<string name="menu_use_uss" msgid="3765054705208926803">"USS\'yi kullan"</string>
@@ -4155,7 +4155,7 @@
<string name="instant_apps_settings" msgid="879003203555847537">"Hazır Uygulama tercihleri"</string>
<string name="domain_url_section_title" msgid="206403507921518321">"Yüklü uygulamalar"</string>
<string name="automatic_storage_manager_activation_warning" msgid="2630083316417707308">"Depolama alanınız artık depolama yöneticisi tarafından yönetiliyor"</string>
- <string name="account_for_section_header" msgid="5975241715840642563">"<xliff:g id="USER_NAME">%1$s</xliff:g> adlı kullanıcının hesapları"</string>
+ <string name="account_for_section_header" msgid="5975241715840642563">"<xliff:g id="USER_NAME">%1$s</xliff:g> kullanıcı hesapları"</string>
<string name="configure_section_header" msgid="6988981883075615136">"Yapılandırma"</string>
<string name="auto_sync_account_title" msgid="2394463123733529506">"Verileri otomatik senkronize et"</string>
<string name="auto_sync_personal_account_title" msgid="6844465157916100655">"Kişisel verileri otomatik olarak senkronize et"</string>
diff --git a/tests/CarDeveloperOptions/res/values-ur/strings.xml b/tests/CarDeveloperOptions/res/values-ur/strings.xml
index f743212..6108725 100644
--- a/tests/CarDeveloperOptions/res/values-ur/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-ur/strings.xml
@@ -449,9 +449,9 @@
<string name="setup_fingerprint_enroll_skip_title" msgid="763018850721691594">"فنگر پرنٹ کو نظر انداز کریں؟"</string>
<string name="setup_fingerprint_enroll_skip_after_adding_lock_text" msgid="8849928362049018680">"فنگر پرنٹ سیٹ اپ میں صرف ایک یا دو منٹ لگتے ہیں۔ اگر آپ اسے نظر انداز کرتے ہیں، تو آپ بعد میں ترتیبات میں اپنی فنگر پرنٹ شامل کرسکتے ہیں۔"</string>
<string name="lock_screen_intro_skip_title" msgid="5307431665496346914">"اسکرین لاک کو نظر انداز کریں؟"</string>
- <string name="lock_screen_intro_skip_dialog_text_frp" product="tablet" msgid="7553945981266845264">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع، چوری یا دوبارہ ترتیب دئے جانے پر آپ دوسروں کو اس ٹیبلیٹ کے استعمال سے نہیں روک پائیں گے۔"</string>
- <string name="lock_screen_intro_skip_dialog_text_frp" product="device" msgid="1378243257238015603">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع، چوری یا دوبارہ ترتیب دئے جانے پر آپ دوسروں کو اس آلہ کے استعمال سے نہیں روک پائیں گے۔"</string>
- <string name="lock_screen_intro_skip_dialog_text_frp" product="default" msgid="8395540117461339748">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع، چوری یا دوبارہ ترتیب دئے جانے پر آپ دوسروں کو اس فون کے استعمال سے نہیں روک پائیں گے۔"</string>
+ <string name="lock_screen_intro_skip_dialog_text_frp" product="tablet" msgid="7553945981266845264">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع، چوری یا ری سیٹ کیے جانے پر آپ دوسروں کو اس ٹیبلیٹ کے استعمال سے نہیں روک پائیں گے۔"</string>
+ <string name="lock_screen_intro_skip_dialog_text_frp" product="device" msgid="1378243257238015603">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع، چوری یا ری سیٹ کیے جانے پر آپ دوسروں کو اس آلہ کے استعمال سے نہیں روک پائیں گے۔"</string>
+ <string name="lock_screen_intro_skip_dialog_text_frp" product="default" msgid="8395540117461339748">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع، چوری یا ری سیٹ کیے جانے پر آپ دوسروں کو اس فون کے استعمال سے نہیں روک پائیں گے۔"</string>
<string name="lock_screen_intro_skip_dialog_text" product="tablet" msgid="7572334562915795226">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع یا چوری ہوجانے پر آپ دوسروں کو اس ٹیبلیٹ کے استعمال سے نہیں روک پائیں گے۔"</string>
<string name="lock_screen_intro_skip_dialog_text" product="device" msgid="3819285334459763813">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع یا چوری ہو جانے پر آپ دوسروں کو اس آلہ کے استعمال سے نہیں روک پائیں گے۔"</string>
<string name="lock_screen_intro_skip_dialog_text" product="default" msgid="5361573789585652826">"آلہ کے تحفظ کی خصوصیات آن نہیں ہوں گی۔ اس کے ضائع یا چوری ہوجانے پر آپ دوسروں کو اس فون کے استعمال سے نہیں روک پائیں گے۔"</string>
@@ -875,7 +875,7 @@
<string name="wifi_cellular_data_fallback_title" msgid="5067241930716252665">"خودکار طور پر موبائل ڈیٹا پر سوئچ کریں"</string>
<string name="wifi_cellular_data_fallback_summary" msgid="2721467405851519769">"Wi-Fi پر انٹرنیٹ رسائی نہ ہونے کی صورت میں موبائل ڈیٹا استعمال کریں۔ ڈیٹا کے استعمال کے چارجز عائد ہو سکتے ہیں۔"</string>
<string name="wifi_add_network" msgid="4094957940791876640">"نیٹ ورک شامل کریں"</string>
- <string name="wifi_configure_settings_preference_title" msgid="2678534679408777268">"Wi‑Fi کی ترجیحات"</string>
+ <string name="wifi_configure_settings_preference_title" msgid="2678534679408777268">"Wi‑Fi کی ترجیحات"</string>
<string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="5714892572614655675">"Wi‑Fi خود کار طور پر واپس آن ہوگا"</string>
<string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="286904094152909651">"Wi‑Fi خود کار طور پر واپس آن نہیں ہوگا"</string>
<string name="wifi_access_points" msgid="1647976498906871869">"Wi‑Fi نیٹ ورکس"</string>
@@ -1309,8 +1309,8 @@
<string name="pin_failed" msgid="4877356137480446727">"SIM کے PIN کا عمل ناکام ہوگیا!"</string>
<string name="system_update_settings_list_item_title" msgid="1907497454722790033">"سسٹم اپ ڈیٹس"</string>
<string name="system_update_settings_list_item_summary" msgid="3497456690691907873"></string>
- <string name="firmware_version" msgid="547095584029938749">"Android ورژن"</string>
- <string name="security_patch" msgid="483709031051932208">"Android سیکیورٹی پیچ کی سطح"</string>
+ <string name="firmware_version" msgid="547095584029938749">"Android ورژن"</string>
+ <string name="security_patch" msgid="483709031051932208">"Android سیکیورٹی پیچ کا لیول"</string>
<string name="model_info" msgid="1729765474260797594">"ماڈل"</string>
<string name="model_summary" msgid="8781425868254352168">"ماڈل: %1$s"</string>
<string name="hardware_info" msgid="174270144950621815">"ماڈل اور ہارڈ ویئر"</string>
@@ -1566,8 +1566,8 @@
<string name="error_mnc_not23" msgid="6738398924368729180">"MNC فیلڈ میں لازمی طور پر 2 یا 3 ہندسے ہونے چاہئیں۔"</string>
<string name="error_adding_apn_type" msgid="671634520340569678">"کیریئر APNs کی قسم %s کو شامل کرنے کی اجازت نہیں دیتا ہے۔"</string>
<string name="restore_default_apn" msgid="7195266404077471007">"ڈیفالٹ APN ترتیبات بحال ہو رہی ہیں۔"</string>
- <string name="menu_restore" msgid="3799288817317293115">"ڈیفالٹ پر دوبارہ ترتیب دیں"</string>
- <string name="restore_default_apn_completed" msgid="5671734152740058937">"ڈیفالٹ APN ترتیبات کو دوبارہ ترتیب دینے کا عمل مکمل ہو گیا۔"</string>
+ <string name="menu_restore" msgid="3799288817317293115">"ڈیفالٹ پر ری سیٹ کریں"</string>
+ <string name="restore_default_apn_completed" msgid="5671734152740058937">"ڈیفالٹ APN ترتیبات کو ری سیٹ کرنے کا عمل مکمل ہو گیا۔"</string>
<string name="reset_dashboard_title" msgid="7084966342252178530">"ری سیٹ کے اختیارات"</string>
<string name="reset_dashboard_summary" msgid="8778383341461126642">"نیٹ ورک، ایپس، یا آلہ کو ری سیٹ کیا جا سکتا ہے"</string>
<string name="reset_network_title" msgid="8944059136930806211">"Wi-Fi، موبائل اور بلوٹوتھ ری سیٹ کریں"</string>
@@ -1575,12 +1575,12 @@
<string name="reset_esim_title" msgid="7630781767040831893">"ڈاؤن لوڈ کردہ SIMs کو مٹائیں"</string>
<string name="reset_esim_desc" msgid="433226911566802">"متبادل SIMs کو ڈاؤن لوڈ کرنے کے لیے، اپنے کیریئر سے رابطہ کریں۔ اس سے موبائل سروس کا کوئی بھی پلان منسوخ نہیں ہوگا۔"</string>
<string name="reset_network_button_text" msgid="4293271046867912819">"ترتیبات ری سیٹ کریں"</string>
- <string name="reset_network_final_desc" msgid="2463817067048751373">"نیٹ ورک کی سبھی ترتیبات کو دوبارہ ترتیب دیں؟ آپ اس کارروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
+ <string name="reset_network_final_desc" msgid="2463817067048751373">"نیٹ ورک کی سبھی ترتیبات کو ری سیٹ کریں؟ آپ اس کارروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
<string name="reset_network_final_desc_esim" msgid="4676436976372555750">"نیٹ ورک کی سبھی ترتیبات کو ری سیٹ کریں اور ڈاؤن لوڈ کردہ SIMs کو مٹائیں؟ آپ اس کارروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
<string name="reset_network_final_button_text" msgid="345255333127794393">"ترتیبات ری سیٹ کریں"</string>
<string name="reset_network_confirm_title" msgid="2432145031070536008">"ری سیٹ کریں؟"</string>
- <string name="network_reset_not_available" msgid="6146655531868016281">"اس صارف کیلئے نیٹ ورک کو دوبارہ ترتیب دینا دستیاب نہیں ہے"</string>
- <string name="reset_network_complete_toast" msgid="128225929536005495">"نیٹ ورک کی ترتیبات کو دوبارہ ترتیب دیا گیا ہے"</string>
+ <string name="network_reset_not_available" msgid="6146655531868016281">"اس صارف کیلئے نیٹ ورک کو ری سیٹ کرنا دستیاب نہیں ہے"</string>
+ <string name="reset_network_complete_toast" msgid="128225929536005495">"نیٹ ورک کی ترتیبات کو ری سیٹ کر دیا گیا ہے"</string>
<string name="reset_esim_error_title" msgid="4728931209471875632">"SIMs کو نہیں مٹا سکتے"</string>
<string name="reset_esim_error_msg" msgid="4716366079119742235">"کسی خرابی کی وجہ سے ڈاؤن لوڈ کردہ SIMs کو مٹایا نہیں جا سکتا ہے۔\n\nاپنا آلہ دوبارہ شروع کریں اور دوبارہ کوشش کریں۔"</string>
<string name="master_clear_title" msgid="1560712943955904673">"تمام ڈیٹا حذف کریں (فیکٹری ری سیٹ)"</string>
@@ -2245,7 +2245,7 @@
<string name="screen_usage_summary" msgid="263396144684078341">"مکمل چارج کے بعد سے اسکرین آن ہونے کے وقت کی مقدار"</string>
<string name="device_usage_list_summary" msgid="8299017481332816368">"مکمل چارج کے بعد سے آلہ کا استعمال"</string>
<string name="battery_since_unplugged" msgid="6486555910264026856">"پلگ ہٹانے کے بعد سے بیٹری کا استعمال"</string>
- <string name="battery_since_reset" msgid="4747587791838336661">"دوبارہ ترتیب دیے جانے کے بعد سے بیٹری کا استعمال"</string>
+ <string name="battery_since_reset" msgid="4747587791838336661">"ری سیٹ کیے جانے کے بعد سے بیٹری کا استعمال"</string>
<string name="battery_stats_on_battery" msgid="2644055304085279716">"بیٹری پر <xliff:g id="TIME">%1$s</xliff:g>"</string>
<string name="battery_stats_duration" msgid="4867858933068728005">"ان پلگ کیے جانے کے بعد سے <xliff:g id="TIME">%1$s</xliff:g>"</string>
<string name="battery_stats_charging_label" msgid="3156586822576998231">"چارج ہو رہی ہے"</string>
@@ -2673,7 +2673,7 @@
<string name="account_settings_menu_auto_sync_personal" msgid="3235831897309033754">"ذاتی ڈیٹا آٹو سنک کریں"</string>
<string name="account_settings_menu_auto_sync_work" msgid="5721442464286552815">"کام کا ڈیٹا آٹو سنک کریں"</string>
<string name="data_usage_change_cycle" msgid="447761920472170031">"سائیکل تبدیل کریں…"</string>
- <string name="data_usage_pick_cycle_day" msgid="6319750879145917066">"ڈیٹا کے استعمال کو دوبارہ ترتیب دینے کیلئے مہینے کا دن:"</string>
+ <string name="data_usage_pick_cycle_day" msgid="6319750879145917066">"ڈیٹا کے استعمال کو ری سیٹ کرنے کیلئے مہینے کا دن:"</string>
<string name="data_usage_empty" msgid="7981405723435034032">"اس وقفہ میں کسی ایپ نے ڈیٹا استعمال نہيں کیا۔"</string>
<string name="data_usage_label_foreground" msgid="2471091128648754601">"پیش منظر"</string>
<string name="data_usage_label_background" msgid="1618794447370396845">"پس منظر"</string>
@@ -4257,7 +4257,7 @@
<string name="autofill_max_partitions" msgid="125269645910590057">"فی سیشن زیادہ سے زیادہ درخواستیں"</string>
<string name="autofill_max_visible_datasets" msgid="2791081640248423492">"زیادہ سے زیادہ مرئی ڈیٹا سیٹس"</string>
<string name="autofill_reset_developer_options" msgid="7208417230269613101">"ڈیفالٹ اقدار پر دوبارہ ری سیٹ کریں"</string>
- <string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"آٹو فل ڈویلپر کے اختیارات کو دوبارہ ترتیب دے دیا گیا ہے"</string>
+ <string name="autofill_reset_developer_options_complete" msgid="5686061993002179524">"آٹو فل ڈویلپر کے اختیارات کو ری سیٹ کر دیا گیا ہے"</string>
<string name="device_theme" msgid="8992291311481135893">"آلہ کا تھیم"</string>
<string name="default_theme" msgid="5986996377385956138">"ڈیفالٹ"</string>
<string name="show_operator_name_title" msgid="5056163028128447308">"نیٹ ورک کا نام"</string>
diff --git a/tests/CarDeveloperOptions/res/values-uz/strings.xml b/tests/CarDeveloperOptions/res/values-uz/strings.xml
index 3574ac0..0c9b9e2 100644
--- a/tests/CarDeveloperOptions/res/values-uz/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-uz/strings.xml
@@ -874,7 +874,7 @@
<string name="wifi_switch_away_when_unvalidated" msgid="2418577764071293971">"Agar Wi-Fi da internet uzilib qolsa, mobil internetga ulansin."</string>
<string name="wifi_cellular_data_fallback_title" msgid="5067241930716252665">"Mobil internetga avtomatik ulanish"</string>
<string name="wifi_cellular_data_fallback_summary" msgid="2721467405851519769">"Wi-Fi orqali Internet aloqasi yo‘qligida mobil internetdan foydalanish. Sarflangan trafik uchun haq olinishi mumkin."</string>
- <string name="wifi_add_network" msgid="4094957940791876640">"Tarmoq qo‘shish"</string>
+ <string name="wifi_add_network" msgid="4094957940791876640">"Tarmoq kiritish"</string>
<string name="wifi_configure_settings_preference_title" msgid="2678534679408777268">"Wi‑Fi sozlamalari"</string>
<string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="5714892572614655675">"Wi-Fi avtomatik tarzda qayta yoqiladi"</string>
<string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="286904094152909651">"Wi‑Fi avtomatik ulanmaydi"</string>
@@ -2543,7 +2543,7 @@
<string name="credentials_install" product="default" msgid="8997183776710118353">"SD-kartadan o‘rnatish"</string>
<string name="credentials_install_summary" product="nosdcard" msgid="3426661965567059596">"Sertifikatlarni xotira kartasidan o‘rnatish"</string>
<string name="credentials_install_summary" product="default" msgid="4943897416156671633">"Sertifikatlarni SD-kartadan o‘rnatish"</string>
- <string name="credentials_reset" msgid="355080737664731678">"Hisob axborotini tozalash"</string>
+ <string name="credentials_reset" msgid="355080737664731678">"Hisobga oid axborotni tozalash"</string>
<string name="credentials_reset_summary" msgid="7622528359699428555">"Barcha sertifikatlarni o‘chirib tashlash"</string>
<string name="trusted_credentials" msgid="6989242522455395200">"Ishonchli sertifikatlar"</string>
<string name="trusted_credentials_summary" msgid="7411781319056251582">"Ishonchli CA sertifikatlarini chiqarish"</string>
@@ -2647,7 +2647,7 @@
<string name="really_remove_account_title" msgid="4166512362915154319">"Hisob olib tashlansinmi?"</string>
<string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Ushbu hisob bilan bog‘liq barcha xabarlar, kontaktlar va boshqa ma’lumotlar telefondan o‘chib ketadi."</string>
<string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Ushbu hisob bilan bog‘liq barcha xabarlar, kontaktlar va boshqa ma’lumotlar telefondan o‘chib ketadi."</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Ushbu hisob o‘chirilganda unga bog‘liq barcha xabar, kontakt va boshqa ma’lumotlar qurilmadan o‘chib ketadi."</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Bu hisobga tegishli barcha xabarlar, kontaktlar va boshqa maʼlumotlar ushbu qurilmadan oʻchirib tashlanadi!"</string>
<string name="remove_account_failed" msgid="491458185327106966">"Bu o‘zgarishni amalga oshirish uchun administrator ruxsat bermagan"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Qo‘lbola sinxronlanmadi"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Ushbu narsani sinxronlash hozir o‘chirilgan. Bu sozlamani o‘zgartirish uchun vaqtincha fonda trafik yuklashni yoqib, keyin avtomatik sinx-lashga o‘ting."</string>
diff --git a/tests/CarDeveloperOptions/res/values-vi/strings.xml b/tests/CarDeveloperOptions/res/values-vi/strings.xml
index 8ec068b..096f0f1 100644
--- a/tests/CarDeveloperOptions/res/values-vi/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-vi/strings.xml
@@ -1884,7 +1884,7 @@
<string name="system_package" msgid="1824541892695233351">"Không thể cài đặt bản cập nhật hệ thống trên phương tiện bên ngoài."</string>
<string name="move_error_device_admin" msgid="6640501923867066901">"Không thể cài đặt ứng dụng quản trị thiết bị trên phương tiện ngoài"</string>
<string name="force_stop_dlg_title" msgid="8822779487097246675">"Buộc dừng?"</string>
- <string name="force_stop_dlg_text" msgid="7435245769456493398">"Nếu bạn buộc dừng một ứng dụng, ứng dụng đó có thể hoạt động sai."</string>
+ <string name="force_stop_dlg_text" msgid="7435245769456493398">"Nếu bạn buộc dừng một ứng dụng, ứng dụng đó có thể hoạt động không đúng cách."</string>
<string name="app_install_location_title" msgid="5121617802063021720">"Vị trí cài đặt ưa thích"</string>
<string name="app_install_location_summary" msgid="109719780117187797">"Thay đổi vị trí cài đặt ưa thích cho ứng dụng mới"</string>
<string name="app_disable_dlg_positive" msgid="5508828271100168073">"Tắt ứng dụng"</string>
@@ -2238,7 +2238,7 @@
<string name="background_activity_summary_disabled" msgid="457944930942085876">"Ứng dụng không được phép chạy trong nền"</string>
<string name="background_activity_summary_whitelisted" msgid="4713321059375873828">"Không thể hạn chế sử dụng trong nền"</string>
<string name="background_activity_warning_dialog_title" msgid="2170790412855899678">"Giới hạn hoạt động nền?"</string>
- <string name="background_activity_warning_dialog_text" msgid="8242749826732375096">"Nếu bạn giới hạn hoạt động nền cho một ứng dụng, ứng dụng đó có thể hoạt động sai"</string>
+ <string name="background_activity_warning_dialog_text" msgid="8242749826732375096">"Nếu bạn giới hạn hoạt động nền cho một ứng dụng, ứng dụng đó có thể hoạt động không đúng cách"</string>
<string name="background_activity_disabled_dialog_text" msgid="4234598000779459640">"Không thể hạn chế ứng dụng này vì bạn chưa đặt để tối ưu hóa pin.\n\nĐể hạn chế ứng dụng, trước tiên hãy bật tối ưu hóa pin."</string>
<string name="device_screen_usage" msgid="4470485475363132750">"Mức sử dụng màn hình kể từ lần sạc đầy"</string>
<string name="power_usage_list_summary" msgid="4314438658308211057">"Mức sử dụng pin kể từ lần sạc đầy"</string>
@@ -2629,9 +2629,9 @@
<string name="remove_account_label" msgid="5885425720323823387">"Xóa tài khoản"</string>
<string name="header_add_an_account" msgid="8482614556580804956">"Thêm tài khoản"</string>
<string name="really_remove_account_title" msgid="4166512362915154319">"Xóa tài khoản?"</string>
- <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Xóa tài khoản này sẽ xóa tất cả thư, danh bạ và dữ liệu khác khỏi máy tính bảng!"</string>
- <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Xóa tài khoản này sẽ xóa tất cả thư, danh bạ và dữ liệu khác khỏi điện thoại!"</string>
- <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Xóa tài khoản này sẽ xóa tất cả thư, danh bạ và dữ liệu khác khỏi thiết bị!"</string>
+ <string name="really_remove_account_message" product="tablet" msgid="7403843371045856719">"Nếu bạn xóa tài khoản này, tất cả thư, danh bạ và dữ liệu khác có liên quan sẽ bị xóa khỏi máy tính bảng!"</string>
+ <string name="really_remove_account_message" product="default" msgid="8951224626153163914">"Nếu bạn xóa tài khoản này, tất cả thư, danh bạ và dữ liệu khác có liên quan sẽ bị xóa khỏi điện thoại!"</string>
+ <string name="really_remove_account_message" product="device" msgid="3751798556257519916">"Nếu bạn xóa tài khoản này, tất cả thư, danh bạ và dữ liệu khác có liên quan sẽ bị xóa khỏi thiết bị!"</string>
<string name="remove_account_failed" msgid="491458185327106966">"Quản trị viên của bạn không cho phép thực hiện thay đổi này"</string>
<string name="cant_sync_dialog_title" msgid="5483419398223189881">"Không thể đồng bộ hóa theo cách thủ công"</string>
<string name="cant_sync_dialog_message" msgid="3467126947262857534">"Đồng bộ hóa cho mục này hiện đã bị vô hiệu hóa. Để thay đổi cài đặt này, hãy tạm thời bật dữ liệu nền và đồng bộ hóa tự động."</string>
@@ -3173,9 +3173,9 @@
<string name="zen_mode_behavior_settings_title" msgid="423125904296667490">"Ngoại lệ"</string>
<string name="zen_mode_duration_settings_title" msgid="5522668871014735728">"Thời lượng mặc định"</string>
<string name="zen_mode_behavior_allow_title" msgid="2440627647424280842">"Cho phép âm thanh và rung từ"</string>
- <string name="zen_mode_behavior_no_sound" msgid="7290387625018248748">"Không có âm báo"</string>
+ <string name="zen_mode_behavior_no_sound" msgid="7290387625018248748">"Không có âm thanh"</string>
<string name="zen_mode_behavior_total_silence" msgid="371498357539257671">"Hoàn toàn tắt tiếng"</string>
- <string name="zen_mode_behavior_no_sound_except" msgid="8894465423364103198">"Không có âm báo ngoại trừ <xliff:g id="CATEGORIES">%1$s</xliff:g>"</string>
+ <string name="zen_mode_behavior_no_sound_except" msgid="8894465423364103198">"Không có âm thanh ngoại trừ <xliff:g id="CATEGORIES">%1$s</xliff:g>"</string>
<string name="zen_mode_behavior_alarms_only" msgid="8406622989983047562">"Không phát âm thanh nào ngoại trừ báo thức và phương tiện"</string>
<string name="zen_mode_automation_settings_title" msgid="3916960043054489008">"Lịch biểu"</string>
<string name="zen_mode_delete_automatic_rules" msgid="2455264581527305755">"Xóa lịch biểu"</string>
@@ -3337,17 +3337,17 @@
<string name="notification_importance_title" msgid="4131979083408000545">"Hành vi"</string>
<string name="notification_importance_unspecified" msgid="2515778981253707724">"Cho phép âm thanh"</string>
<string name="notification_importance_blocked" msgid="446807935484629222">"Không bao giờ hiển thị thông báo"</string>
- <string name="notification_importance_min" msgid="4622854784474818944">"Hiển thị mà không phát âm báo và thu nhỏ"</string>
- <string name="notification_importance_low" msgid="7609797151662295364">"Hiển thị mà không phát âm báo"</string>
- <string name="notification_importance_default" msgid="4091563759103917166">"Phát âm báo"</string>
- <string name="notification_importance_high" msgid="7973764540402436656">"Phát âm báo và hiển thị trên màn hình"</string>
+ <string name="notification_importance_min" msgid="4622854784474818944">"Hiển thị mà không phát âm thanh và thu nhỏ"</string>
+ <string name="notification_importance_low" msgid="7609797151662295364">"Hiển thị mà không phát âm thanh"</string>
+ <string name="notification_importance_default" msgid="4091563759103917166">"Phát âm thanh"</string>
+ <string name="notification_importance_high" msgid="7973764540402436656">"Phát âm thanh và hiển thị trên màn hình"</string>
<string name="notification_importance_high_silent" msgid="3177662759865661155">"Hiển thị trên màn hình"</string>
<string name="notification_importance_min_title" msgid="705872537330744154">"Thu nhỏ"</string>
<string name="notification_importance_low_title" msgid="2956199021781786232">"Trung bình"</string>
<string name="notification_importance_default_title" msgid="7985549807203332482">"Cao"</string>
<string name="notification_importance_high_title" msgid="7258373094258585858">"Hiển thị trên màn hình"</string>
<string name="notification_block_title" msgid="2570364198866886906">"Chặn"</string>
- <string name="notification_silence_title" msgid="6959637402003838093">"Hiển thị mà không phát âm báo"</string>
+ <string name="notification_silence_title" msgid="6959637402003838093">"Hiển thị mà không phát âm thanh"</string>
<string name="notification_alert_title" msgid="750683027055192648">"Cảnh báo"</string>
<string name="allow_interruption" msgid="3548841026410702850">"Cho phép gián đoạn"</string>
<string name="allow_interruption_summary" msgid="5207637026831135377">"Cho phép ứng dụng phát ra âm thanh, rung và/hoặc hiển thị thông báo trên màn hình"</string>
@@ -3432,7 +3432,7 @@
<string name="app_notification_importance_title" msgid="1902794400671001142">"Mức độ quan trọng"</string>
<string name="notification_show_lights_title" msgid="5381920725933228542">"Nhấp nháy đèn"</string>
<string name="notification_vibrate_title" msgid="8221718258793835282">"Rung"</string>
- <string name="notification_channel_sound_title" msgid="7635366839003304745">"Âm báo"</string>
+ <string name="notification_channel_sound_title" msgid="7635366839003304745">"Âm thanh"</string>
<string name="zen_mode_rule_delete_button" msgid="6763486487220471193">"Xóa"</string>
<string name="zen_mode_rule_rename_button" msgid="1428130397306726792">"Đổi tên"</string>
<string name="zen_mode_rule_name" msgid="8583652780885724670">"Tên lịch biểu"</string>
diff --git a/tests/CarDeveloperOptions/res/values-zh-rCN/strings.xml b/tests/CarDeveloperOptions/res/values-zh-rCN/strings.xml
index b8b96a2..0e42f3d 100644
--- a/tests/CarDeveloperOptions/res/values-zh-rCN/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-zh-rCN/strings.xml
@@ -3432,7 +3432,7 @@
<string name="app_notification_importance_title" msgid="1902794400671001142">"重要程度"</string>
<string name="notification_show_lights_title" msgid="5381920725933228542">"闪烁指示灯"</string>
<string name="notification_vibrate_title" msgid="8221718258793835282">"振动"</string>
- <string name="notification_channel_sound_title" msgid="7635366839003304745">"提示音"</string>
+ <string name="notification_channel_sound_title" msgid="7635366839003304745">"声音"</string>
<string name="zen_mode_rule_delete_button" msgid="6763486487220471193">"删除"</string>
<string name="zen_mode_rule_rename_button" msgid="1428130397306726792">"重命名"</string>
<string name="zen_mode_rule_name" msgid="8583652780885724670">"时间表名称"</string>
@@ -4036,7 +4036,7 @@
<string name="notification_log_details_parcel" msgid="4024970850647594029">"parcel 大小"</string>
<string name="notification_log_details_ashmem" msgid="4272241723105041393">"ashmem"</string>
<string name="notification_log_details_alerted" msgid="1891749888625061319">"已发出通知提醒"</string>
- <string name="notification_log_details_sound" msgid="4028782443557466322">"提示音"</string>
+ <string name="notification_log_details_sound" msgid="4028782443557466322">"声音"</string>
<string name="notification_log_details_vibrate" msgid="8372400602058888072">"振动"</string>
<string name="notification_log_details_vibrate_pattern" msgid="7015554755444260922">"图案"</string>
<string name="notification_log_details_default" msgid="455451833359888182">"默认"</string>
diff --git a/tests/CarDeveloperOptions/res/values-zu/strings.xml b/tests/CarDeveloperOptions/res/values-zu/strings.xml
index 3dd2d12..c213aaa 100644
--- a/tests/CarDeveloperOptions/res/values-zu/strings.xml
+++ b/tests/CarDeveloperOptions/res/values-zu/strings.xml
@@ -113,7 +113,7 @@
<string name="bluetooth_disconnect_all_profiles" product="device" msgid="4707569949253450208">"Idivayisi yakho izonqamuka kusuka ku-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_disconnect_dialog_ok" msgid="4183522987246110145">"Nqamula"</string>
<string name="bluetooth_empty_list_user_restricted" msgid="3616298363281495777">"Awunayo imvume yokushintsha izilungiselelo ze-Bluetooth."</string>
- <string name="bluetooth_pairing_pref_title" msgid="2904954138013884029">"Bhanqa idivayisi entsha"</string>
+ <string name="bluetooth_pairing_pref_title" msgid="2904954138013884029">"Bhangqa idivayisi entsha"</string>
<string name="bluetooth_is_visible_message" msgid="6341088682252805612">"I-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> iyabonakala kumadivayisi aseduzane ngenkathi izilungiselelo ze-Bluetooth zivulekile."</string>
<string name="bluetooth_footer_mac_message" product="default" msgid="335341476746836260">"Ikheli le-Bluetooth lefoni: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_footer_mac_message" product="tablet" msgid="6033609611245782463">"Ikhli le-Bluetooth lethebhulethi: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
@@ -165,7 +165,7 @@
<string name="bluetooth_device_name_summary" msgid="8661066392056595005">"Kubonakala njenge-\"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" kwamanye amadivayisi"</string>
<string name="bluetooth_off_footer" msgid="7658444560543730571">"Vula i-Bluetooth ukuze ixhumeke kwamanye amadivayisi."</string>
<string name="bluetooth_paired_device_title" msgid="8361860197780425286">"Amadivayisi akho"</string>
- <string name="bluetooth_pairing_page_title" msgid="9053463656712597709">"Bhanqa idivayisi entsha"</string>
+ <string name="bluetooth_pairing_page_title" msgid="9053463656712597709">"Bhangqa idivayisi entsha"</string>
<string name="bluetooth_pref_summary" product="tablet" msgid="3601662966604648212">"Vumela ithebhulethi yakho ukuxhumana namadivayisi e-Bluetooth aseduze"</string>
<string name="bluetooth_pref_summary" product="device" msgid="2286727776570956969">"Vumela idivayisi yakho ukuxhumana namadivayisi aseduze e-Bluetooth"</string>
<string name="bluetooth_pref_summary" product="default" msgid="863659221858781186">"Vumela ifoni yakho ukuxhumana namadivayisi aseduze e-Bluetooth"</string>
@@ -729,7 +729,7 @@
<string name="bluetooth_settings" msgid="5228032727293770389">"Bluetooth"</string>
<string name="bluetooth_settings_title" msgid="7261244857456521825">"Bluetooth"</string>
<string name="bluetooth_settings_summary" msgid="1221689092429277887">"Lawula uxhumano, setha igama ledivaysi nokutholakala"</string>
- <string name="bluetooth_pairing_request" msgid="7221745525632573125">"Bhanqa ne-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
+ <string name="bluetooth_pairing_request" msgid="7221745525632573125">"Bhangqa ne-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
<string name="bluetooth_pairing_key_msg" msgid="1139230917419961975">"Ikhodi yokumatanisa ye-Bluetooth"</string>
<string name="bluetooth_enter_passkey_msg" msgid="6205151011298670207">"Thayipha ikhodi yokumatanisa bese ucindezela ku-Buyela noma ku-Enter"</string>
<string name="bluetooth_enable_alphanumeric_pin" msgid="9138308197078115672">"Iphinikhodi iqukethe amaletha namasimbui"</string>
@@ -751,7 +751,7 @@
<string name="bluetooth_preference_paired_dialog_internet_option" msgid="3693599743477470469">"Uxhumo lwe-inthanethi"</string>
<string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="4627309436489645755">"Ikhibhodi"</string>
<string name="bluetooth_preference_paired_dialog_contacts_option" msgid="5290994459307558039">"Oxhumana nabo nomlando wekholi"</string>
- <string name="bluetooth_pairing_dialog_title" msgid="7900515495932064945">"Bhanqa nale divayisi"</string>
+ <string name="bluetooth_pairing_dialog_title" msgid="7900515495932064945">"Bhangqa nale divayisi"</string>
<string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7395493311980018460">"Yabelana ngebhuku lefoni?"</string>
<string name="bluetooth_pairing_dialog_contants_request" msgid="2103132762434487717">"I-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ifuna ukuifnyelela oxhumana nabo nomlando wekholi."</string>
<string name="bluetooth_pairing_dialog_paring_request" msgid="5513953935086446387">"I-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ifuna ukubhanqa ne-Bluetooth. Uma ixhumekile, izokwazi ukufinyelela oxhumana nabo nomlando wekholi."</string>
diff --git a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSubscriptionPreferenceController.java b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSubscriptionPreferenceController.java
index f74cea6..961d003 100644
--- a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSubscriptionPreferenceController.java
+++ b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSubscriptionPreferenceController.java
@@ -25,8 +25,8 @@
import androidx.preference.ListPreference;
import androidx.preference.Preference;
-import com.android.internal.telephony.Phone;
import com.android.car.developeroptions.network.telephony.MobileNetworkUtils;
+import com.android.internal.telephony.Phone;
/**
* Preference controller for "CDMA subscription"
@@ -66,13 +66,14 @@
public boolean onPreferenceChange(Preference preference, Object object) {
final int newMode = Integer.parseInt((String) object);
//TODO(b/117611981): only set it in one place
- if (mTelephonyManager.setCdmaSubscriptionMode(newMode)) {
+ try {
+ mTelephonyManager.setCdmaSubscriptionMode(newMode);
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.CDMA_SUBSCRIPTION_MODE, newMode);
return true;
+ } catch (IllegalStateException e) {
+ return false;
}
-
- return false;
}
@VisibleForTesting
diff --git a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSystemSelectPreferenceController.java b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
index b6d07bf..2b04b1e 100644
--- a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
+++ b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
@@ -61,13 +61,14 @@
public boolean onPreferenceChange(Preference preference, Object object) {
int newMode = Integer.parseInt((String) object);
//TODO(b/117611981): only set it in one place
- if (mTelephonyManager.setCdmaRoamingMode(newMode)) {
+ try {
+ mTelephonyManager.setCdmaRoamingMode(newMode);
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.CDMA_ROAMING_MODE, newMode);
return true;
+ } catch (IllegalStateException e) {
+ return false;
}
-
- return false;
}
private void resetCdmaRoamingModeToDefault() {
diff --git a/tests/CarSecurityPermissionTest/src/com/android/car/admin/CarDevicePolicyManagerPermissionTest.java b/tests/CarSecurityPermissionTest/src/com/android/car/admin/CarDevicePolicyManagerPermissionTest.java
index 381f858..51c1ea3 100644
--- a/tests/CarSecurityPermissionTest/src/com/android/car/admin/CarDevicePolicyManagerPermissionTest.java
+++ b/tests/CarSecurityPermissionTest/src/com/android/car/admin/CarDevicePolicyManagerPermissionTest.java
@@ -66,4 +66,12 @@
assertThat(e.getMessage()).contains(CREATE_USERS);
assertThat(e.getMessage()).contains(MANAGE_USERS);
}
+
+ @Test
+ public void testCreateUserPermission() throws Exception {
+ Exception e = expectThrows(SecurityException.class,
+ () -> mManager.createUser("DaUser", CarDevicePolicyManager.USER_TYPE_REGULAR));
+ assertThat(e.getMessage()).contains(CREATE_USERS);
+ assertThat(e.getMessage()).contains(MANAGE_USERS);
+ }
}
diff --git a/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml b/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
index 849cc98..8ba1553 100644
--- a/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
+++ b/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
@@ -125,6 +125,11 @@
<!-- use for rotary fragment to enable/disable packages related to rotary -->
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
+ <!-- Used on DEVICE POLICY screen to lock screen -->
+ <uses-permission android:name="android.permission.LOCK_DEVICE"/>
+ <!-- Used on DEVICE POLICY screen to reset password -->
+ <uses-permission android:name="android.permission.RESET_PASSWORD"/>
+
<application android:label="@string/app_title"
android:icon="@drawable/ic_launcher">
<uses-library android:name="android.test.runner"/>
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/device_policy.xml b/tests/EmbeddedKitchenSinkApp/res/layout/device_policy.xml
index b7d60ba..bc6fff4 100644
--- a/tests/EmbeddedKitchenSinkApp/res/layout/device_policy.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/layout/device_policy.xml
@@ -34,14 +34,81 @@
android:layout_height="wrap_content" />
<!-- ...and actions on them -->
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal" >
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal" >
<Button
android:id="@+id/remove_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Remove"/>
</LinearLayout>
+
+ <!-- New user section -->
+ <TextView
+ android:layout_marginTop="80dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" android:text="New User"/>
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal" >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" android:text="Name: "/>
+ <EditText
+ android:id="@+id/new_user_name"
+ android:layout_width="150dp"
+ android:layout_height="wrap_content"
+ android:maxLength="25"
+ android:text=""/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" android:text="Is admin? "/>
+ <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:id="@+id/new_user_is_admin"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" android:text="Is guest? "/>
+ <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:id="@+id/new_user_is_guest"/>
+ </LinearLayout>
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal" >
+ <Button
+ android:id="@+id/create_user"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" android:text="Create"/>
+ </LinearLayout>
+
+ <!-- Non user-related actions -->
+ <TextView
+ android:layout_marginTop="80dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Other actions"/>
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal" >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Password"/>
+ <EditText
+ android:id="@+id/password"
+ android:layout_width="150dp"
+ android:layout_height="wrap_content"
+ android:maxLength="10"
+ android:text=""/>
+ <Button
+ android:id="@+id/reset_password"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Reset"/>
+ <Button
+ android:id="@+id/lock_now"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Lock Now"/>
+ </LinearLayout>
</LinearLayout>
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/user.xml b/tests/EmbeddedKitchenSinkApp/res/layout/user.xml
index a938109..d087233 100644
--- a/tests/EmbeddedKitchenSinkApp/res/layout/user.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/layout/user.xml
@@ -55,10 +55,9 @@
android:layout_height="wrap_content" />
<!-- ...and actions on them -->
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal" >
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal" >
<Button
android:id="@+id/switch_user"
android:layout_width="wrap_content"
@@ -81,8 +80,7 @@
android:layout_marginTop="80dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="New User"/>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
+ <LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
@@ -105,8 +103,7 @@
<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/new_user_is_guest"/>
</LinearLayout>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
+ <LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
@@ -123,6 +120,5 @@
android:id="@+id/create_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Create"/>
-
</LinearLayout>
</LinearLayout>
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/admin/DevicePolicyFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/admin/DevicePolicyFragment.java
index c054188..ffdcc2a 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/admin/DevicePolicyFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/admin/DevicePolicyFragment.java
@@ -15,20 +15,26 @@
*/
package com.google.android.car.kitchensink.admin;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.AlertDialog;
+import android.app.admin.DevicePolicyManager;
import android.car.Car;
import android.car.admin.CarDevicePolicyManager;
+import android.car.admin.CreateUserResult;
import android.car.admin.RemoveUserResult;
import android.content.pm.UserInfo;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
+import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.EditText;
import androidx.fragment.app.Fragment;
@@ -45,6 +51,7 @@
private static final String TAG = DevicePolicyFragment.class.getSimpleName();
private UserManager mUserManager;
+ private DevicePolicyManager mDevicePolicyManager;
private CarDevicePolicyManager mCarDevicePolicyManager;
// Current user
@@ -53,7 +60,20 @@
// Existing users
private ExistingUsersView mCurrentUsers;
+ // New user
+ private EditText mNewUserNameText;
+ private CheckBox mNewUserIsAdminCheckBox;
+ private CheckBox mNewUserIsGuestCheckBox;
+ private EditText mNewUserExtraFlagsText;
+ private Button mCreateUserButton;
+
+ // Reset password
+ private EditText mPasswordText;
+ private Button mResetPasswordButton;
+
+ // Other actions
private Button mRemoveUserButton;
+ private Button mLockNowButton;
@Nullable
@Override
@@ -65,6 +85,7 @@
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
mUserManager = UserManager.get(getContext());
+ mDevicePolicyManager = getContext().getSystemService(DevicePolicyManager.class);
Car car = ((KitchenSinkActivity) getHost()).getCar();
mCarDevicePolicyManager = (CarDevicePolicyManager) car
.getCarManager(Car.CAR_DEVICE_POLICY_SERVICE);
@@ -73,7 +94,20 @@
mCurrentUsers = view.findViewById(R.id.current_users);
mRemoveUserButton = view.findViewById(R.id.remove_user);
+ mNewUserNameText = view.findViewById(R.id.new_user_name);
+ mNewUserIsAdminCheckBox = view.findViewById(R.id.new_user_is_admin);
+ mNewUserIsGuestCheckBox = view.findViewById(R.id.new_user_is_guest);
+ mCreateUserButton = view.findViewById(R.id.create_user);
+
mRemoveUserButton.setOnClickListener((v) -> removeUser());
+ mCreateUserButton.setOnClickListener((v) -> createUser());
+
+ mPasswordText = view.findViewById(R.id.password);
+ mResetPasswordButton = view.findViewById(R.id.reset_password);
+ mResetPasswordButton.setOnClickListener((v) -> resetPassword());
+
+ mLockNowButton = view.findViewById(R.id.lock_now);
+ mLockNowButton.setOnClickListener((v) -> lockNow());
updateState();
}
@@ -93,16 +127,62 @@
int userId = mCurrentUsers.getSelectedUserId();
Log.i(TAG, "Remove user: " + userId);
RemoveUserResult result = mCarDevicePolicyManager.removeUser(UserHandle.of(userId));
- updateState();
-
if (result.isSuccess()) {
+ updateState();
showMessage("User %d removed", userId);
} else {
showMessage("Failed to remove user %d: %s", userId, result);
}
}
- private void showMessage(String pattern, Object... args) {
+ private void createUser() {
+ String name = mNewUserNameText.getText().toString();
+ if (TextUtils.isEmpty(name)) {
+ name = null;
+ }
+ // Type is treated as a flag here so we can emulate an invalid value by selecting both.
+ int type = CarDevicePolicyManager.USER_TYPE_REGULAR;
+ boolean isAdmin = mNewUserIsAdminCheckBox.isChecked();
+ if (isAdmin) {
+ type |= CarDevicePolicyManager.USER_TYPE_ADMIN;
+ }
+ boolean isGuest = mNewUserIsGuestCheckBox.isChecked();
+ if (isGuest) {
+ type |= CarDevicePolicyManager.USER_TYPE_GUEST;
+ }
+ CreateUserResult result = mCarDevicePolicyManager.createUser(name, type);
+ if (result.isSuccess()) {
+ showMessage("User crated: %s", result.getUserHandle().getIdentifier());
+ updateState();
+ } else {
+ showMessage("Failed to create user with type %d: %s", type, result);
+ }
+ }
+
+ private void resetPassword() {
+ String password = mPasswordText.getText().toString();
+ // NOTE: on "real" code the password should NEVER be logged in plain text, but it's fine
+ // here (as it's used for testing / development purposes)
+ Log.i(TAG, "Calling resetPassword('" + password + "')...");
+ run(() -> mDevicePolicyManager.resetPassword(password, /* flags= */ 0), "Password reset!");
+ }
+
+ private void lockNow() {
+ Log.i(TAG, "Calling lockNow()...");
+ run(() -> mDevicePolicyManager.lockNow(), "Locked!");
+ }
+
+ private void run(@NonNull Runnable runnable, @NonNull String successMessage) {
+ try {
+ runnable.run();
+ showMessage(successMessage);
+ } catch (RuntimeException e) {
+ Log.e(TAG, "Failed", e);
+ showMessage("failed: " + e);
+ }
+ }
+
+ private void showMessage(@NonNull String pattern, @Nullable Object... args) {
String message = String.format(pattern, args);
Log.v(TAG, "showMessage(): " + message);
new AlertDialog.Builder(getContext()).setMessage(message).show();
diff --git a/tests/OccupantAwareness/Android.bp b/tests/OccupantAwareness/Android.bp
index 2160572..a206eee 100644
--- a/tests/OccupantAwareness/Android.bp
+++ b/tests/OccupantAwareness/Android.bp
@@ -38,7 +38,7 @@
],
static_libs: [
- "android-support-test",
+ "androidx.test.rules",
"truth-prebuilt",
"android.hardware.automotive.occupant_awareness-java",
"android.test.base.stubs",
diff --git a/tests/SampleCustomInputService/AndroidManifest.xml b/tests/SampleCustomInputService/AndroidManifest.xml
index d012ff4..596b0d6 100644
--- a/tests/SampleCustomInputService/AndroidManifest.xml
+++ b/tests/SampleCustomInputService/AndroidManifest.xml
@@ -25,7 +25,9 @@
<!-- The following permissions are required in order to communicate against Car Input API -->
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
- <uses-permission android:name="android.permission.MONITOR_INPUT"/>
+ <!-- This permission is required to register against CarInputManager in order to receive
+ custom input events. -->
+ <uses-permission android:name="android.car.permission.CAR_MONITOR_INPUT"/>
<!-- This permission is required to adjust car audio volume -->
<uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME"/>
diff --git a/tests/SampleCustomInputService/src/com/android/car/custominput/sample/CustomInputEventListener.java b/tests/SampleCustomInputService/src/com/android/car/custominput/sample/CustomInputEventListener.java
index 15bff79..7a45ca5 100644
--- a/tests/SampleCustomInputService/src/com/android/car/custominput/sample/CustomInputEventListener.java
+++ b/tests/SampleCustomInputService/src/com/android/car/custominput/sample/CustomInputEventListener.java
@@ -51,6 +51,7 @@
private final SampleCustomInputService mService;
private final Context mContext;
private final CarAudioManager mCarAudioManager;
+ private final CarOccupantZoneManager mCarOccupantZoneManager;
/** List of defined actions for this reference service implementation */
@IntDef({EventAction.LAUNCH_MAPS_ACTION,
@@ -89,9 +90,11 @@
CustomInputEventListener(
@NonNull Context context,
@NonNull CarAudioManager carAudioManager,
+ @NonNull CarOccupantZoneManager carOccupantZoneManager,
@NonNull SampleCustomInputService service) {
mContext = context;
mCarAudioManager = carAudioManager;
+ mCarOccupantZoneManager = carOccupantZoneManager;
mService = service;
}
@@ -131,11 +134,13 @@
}
}
- private int getDisplayIdForDisplayType(/* unused for now */
- @DisplayTypeEnum int targetDisplayType) {
- // TODO(b/170233532): convert the displayType to displayId using OccupantZoneManager api and
- // add tests. For now, we're just returning the display type.
- return 0; // Hardcoded to return main display id for now.
+ private int getDisplayIdForDisplayType(@DisplayTypeEnum int targetDisplayType) {
+ int displayId = mCarOccupantZoneManager.getDisplayIdForDriver(targetDisplayType);
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ Log.d(TAG, "Resolved display id {" + displayId + "} for display type {"
+ + targetDisplayType + "}");
+ }
+ return displayId;
}
private int getOccupantZoneIdForDisplayId(/* unused for now */ int displayId) {
diff --git a/tests/SampleCustomInputService/src/com/android/car/custominput/sample/SampleCustomInputService.java b/tests/SampleCustomInputService/src/com/android/car/custominput/sample/SampleCustomInputService.java
index 8e4ec76..edd7fe0 100644
--- a/tests/SampleCustomInputService/src/com/android/car/custominput/sample/SampleCustomInputService.java
+++ b/tests/SampleCustomInputService/src/com/android/car/custominput/sample/SampleCustomInputService.java
@@ -96,7 +96,10 @@
new int[]{CarInputManager.INPUT_TYPE_CUSTOM_INPUT_EVENT},
CarInputManager.CAPTURE_REQ_FLAGS_ALLOW_DELAYED_GRANT);
mEventHandler = new CustomInputEventListener(getApplicationContext(),
- (CarAudioManager) mCar.getCarManager(Car.AUDIO_SERVICE), this);
+ (CarAudioManager) mCar.getCarManager(Car.AUDIO_SERVICE),
+ (CarOccupantZoneManager) mCar.getCarManager(
+ Car.CAR_OCCUPANT_ZONE_SERVICE),
+ this);
}
});
}
diff --git a/tests/SampleCustomInputService/tests/src/com/android/car/custominput/sample/CustomInputEventListenerTest.java b/tests/SampleCustomInputService/tests/src/com/android/car/custominput/sample/CustomInputEventListenerTest.java
index 6e4728d..03e5f7f 100644
--- a/tests/SampleCustomInputService/tests/src/com/android/car/custominput/sample/CustomInputEventListenerTest.java
+++ b/tests/SampleCustomInputService/tests/src/com/android/car/custominput/sample/CustomInputEventListenerTest.java
@@ -23,6 +23,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -72,6 +73,7 @@
@Mock private Context mContext;
@Mock private CarAudioManager mCarAudioManager;
+ @Mock private CarOccupantZoneManager mCarOccupantZoneManager;
@Mock private SampleCustomInputService mService;
@Before
@@ -80,7 +82,10 @@
"com.google.android.apps.maps");
when(mContext.getString(R.string.maps_activity_class)).thenReturn(
"com.google.android.maps.MapsActivity");
- mEventHandler = new CustomInputEventListener(mContext, mCarAudioManager, mService);
+ when(mCarOccupantZoneManager.getDisplayIdForDriver(eq(DISPLAY_TYPE_MAIN))).thenReturn(0);
+
+ mEventHandler = new CustomInputEventListener(mContext, mCarAudioManager,
+ mCarOccupantZoneManager, mService);
}
@Test
diff --git a/tests/android_car_api_test/src/android/car/apitest/CarDevicePolicyManagerTest.java b/tests/android_car_api_test/src/android/car/apitest/CarDevicePolicyManagerTest.java
index 2e2fcfd..7f96973 100644
--- a/tests/android_car_api_test/src/android/car/apitest/CarDevicePolicyManagerTest.java
+++ b/tests/android_car_api_test/src/android/car/apitest/CarDevicePolicyManagerTest.java
@@ -19,12 +19,16 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UserIdInt;
import android.car.Car;
import android.car.admin.CarDevicePolicyManager;
+import android.car.admin.CreateUserResult;
import android.car.admin.RemoveUserResult;
import android.car.user.CarUserManager;
import android.car.user.UserCreationResult;
+import android.car.user.UserRemovalResult;
import android.content.pm.UserInfo;
+import android.os.UserHandle;
import android.util.Log;
import org.junit.Before;
@@ -57,7 +61,28 @@
.that(result.isSuccess()).isTrue();
}
- // TODO(b/169779216): move to superclass once more tests use it
+ @Test
+ public void testCreateUser() throws Exception {
+ String name = "CarDevicePolicyManagerTest.testCreateUser";
+ int type = CarDevicePolicyManager.USER_TYPE_REGULAR;
+ Log.d(TAG, "creating new user with name " + name + " and type " + type);
+
+ CreateUserResult result = mManager.createUser(name, type);
+ Log.d(TAG, "result: " + result);
+ UserHandle user = result.getUserHandle();
+
+ try {
+ assertWithMessage("Failed to create user named %s and type %s: %s", name, type,
+ result).that(result.isSuccess()).isTrue();
+ } finally {
+ if (user != null) {
+ removeUser(user.getIdentifier());
+ }
+ }
+ }
+
+ // TODO(b/169779216): move methods below to superclass once more tests use them
+
@NonNull
private UserInfo createUser(@Nullable String name) throws Exception {
Log.d(TAG, "creating user " + name);
@@ -68,4 +93,13 @@
.isTrue();
return result.getUser();
}
+
+ private void removeUser(@UserIdInt int userId) throws Exception {
+ Log.d(TAG, "Removing user " + userId);
+
+ UserRemovalResult result = mCarUserManager.removeUser(userId);
+ Log.d(TAG, "result: " + result);
+ assertWithMessage("Could not remove user %s: %s", userId, result).that(result.isSuccess())
+ .isTrue();
+ }
}
diff --git a/tests/carservice_test/AndroidManifest.xml b/tests/carservice_test/AndroidManifest.xml
index 198292b..6040c5b 100644
--- a/tests/carservice_test/AndroidManifest.xml
+++ b/tests/carservice_test/AndroidManifest.xml
@@ -28,6 +28,7 @@
<uses-permission android:name="android.car.permission.CONTROL_APP_BLOCKING"/>
<uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME"/>
<uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_SETTINGS"/>
+ <uses-permission android:name="android.car.permission.CAR_MONITOR_INPUT"/>
<uses-permission android:name="android.car.permission.STORAGE_MONITORING"/>
<uses-permission android:name="android.car.permission.READ_CAR_OCCUPANT_AWARENESS_STATE"/>
diff --git a/tests/carservice_unit_test/src/android/car/admin/CarDevicePolicyManagerUnitTest.java b/tests/carservice_unit_test/src/android/car/admin/CarDevicePolicyManagerUnitTest.java
index e8a10e7..1314275 100644
--- a/tests/carservice_unit_test/src/android/car/admin/CarDevicePolicyManagerUnitTest.java
+++ b/tests/carservice_unit_test/src/android/car/admin/CarDevicePolicyManagerUnitTest.java
@@ -25,7 +25,10 @@
import android.car.Car;
import android.car.test.mocks.AbstractExtendedMockitoTestCase;
+import android.car.test.util.UserTestingHelper.UserInfoBuilder;
+import android.car.user.UserCreationResult;
import android.car.user.UserRemovalResult;
+import android.content.pm.UserInfo;
import android.os.RemoteException;
import android.os.UserHandle;
@@ -55,6 +58,7 @@
RemoveUserResult result = mMgr.removeUser(UserHandle.of(100));
+ assertThat(result.isSuccess()).isTrue();
assertThat(result.getStatus()).isEqualTo(RemoveUserResult.STATUS_SUCCESS);
}
@@ -65,6 +69,7 @@
RemoveUserResult result = mMgr.removeUser(UserHandle.of(100));
+ assertThat(result.isSuccess()).isFalse();
assertThat(result.getStatus()).isEqualTo(RemoveUserResult.STATUS_FAILURE_GENERIC);
}
@@ -72,4 +77,30 @@
public void testRemoveUser_nullUser() {
assertThrows(NullPointerException.class, () -> mMgr.removeUser(null));
}
+
+ @Test
+ public void testCreateUser_success() throws Exception {
+ UserInfo user = new UserInfoBuilder(100).build();
+ int status = UserCreationResult.STATUS_SUCCESSFUL;
+ when(mService.createUser("TheDude", 100))
+ .thenReturn(new UserCreationResult(status, user, /* errorMessage= */ null));
+
+ CreateUserResult result = mMgr.createUser("TheDude", 100);
+
+ assertThat(result.isSuccess()).isTrue();
+ assertThat(result.getStatus()).isEqualTo(CreateUserResult.STATUS_SUCCESS);
+ assertThat(result.getUserHandle().getIdentifier()).isEqualTo(100);
+ }
+
+ @Test
+ public void testCreateUser_remoteException() throws Exception {
+ doThrow(new RemoteException("D'OH!")).when(mService).createUser("TheDude", 100);
+ mockHandleRemoteExceptionFromCarServiceWithDefaultValue(mCar);
+
+ CreateUserResult result = mMgr.createUser("TheDude", 100);
+
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(CreateUserResult.STATUS_FAILURE_GENERIC);
+ assertThat(result.getUserHandle()).isNull();
+ }
}
diff --git a/tests/carservice_unit_test/src/android/car/admin/CreateUserResultTest.java b/tests/carservice_unit_test/src/android/car/admin/CreateUserResultTest.java
new file mode 100644
index 0000000..ba602aa
--- /dev/null
+++ b/tests/carservice_unit_test/src/android/car/admin/CreateUserResultTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+package android.car.admin;
+
+import static android.car.test.util.UserTestingHelper.UserInfoBuilder;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.car.user.UserCreationResult;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+
+import org.junit.Test;
+
+public final class CreateUserResultTest {
+
+ @Test
+ public void testNullConstructor() {
+ CreateUserResult result = new CreateUserResult(null);
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(RemoveUserResult.STATUS_FAILURE_GENERIC);
+ assertThat(result.getUserHandle()).isNull();
+ }
+
+ @Test
+ public void testSuccess() {
+ UserInfo user = new UserInfoBuilder(100).build();
+
+ CreateUserResult result = new CreateUserResult(
+ new UserCreationResult(UserCreationResult.STATUS_SUCCESSFUL, user,
+ /* errorMessage= */ null));
+
+ assertThat(result.isSuccess()).isTrue();
+ assertThat(result.getStatus()).isEqualTo(RemoveUserResult.STATUS_SUCCESS);
+ assertThat(result.getUserHandle().getIdentifier()).isEqualTo(100);
+ }
+
+ @Test
+ public void testFailure_nullUserInfo() {
+ CreateUserResult result = new CreateUserResult(
+ new UserCreationResult(UserCreationResult.STATUS_SUCCESSFUL));
+
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(RemoveUserResult.STATUS_FAILURE_GENERIC);
+ assertThat(result.getUserHandle()).isNull();
+ }
+
+ @Test
+ public void testFailure_nullUserHandle() {
+ @SuppressWarnings("deprecation")
+ UserInfo user = new UserInfo() {
+ @Override
+ public UserHandle getUserHandle() {
+ return null;
+ }
+ };
+ CreateUserResult result = new CreateUserResult(
+ new UserCreationResult(UserCreationResult.STATUS_SUCCESSFUL, user,
+ /* errorMessage= */ null));
+
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(RemoveUserResult.STATUS_FAILURE_GENERIC);
+ assertThat(result.getUserHandle()).isNull();
+ }
+
+ @Test
+ public void testFailure() {
+ failureTest(UserCreationResult.STATUS_SUCCESSFUL, CreateUserResult.STATUS_FAILURE_GENERIC);
+ failureTest(UserCreationResult.STATUS_ANDROID_FAILURE,
+ CreateUserResult.STATUS_FAILURE_GENERIC);
+ failureTest(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE,
+ CreateUserResult.STATUS_FAILURE_GENERIC);
+ failureTest(UserCreationResult.STATUS_INVALID_REQUEST,
+ CreateUserResult.STATUS_FAILURE_INVALID_ARGUMENTS);
+ }
+
+ private void failureTest(int userCreationStatus, int removeUserStatus) {
+ CreateUserResult result = new CreateUserResult(new UserCreationResult(userCreationStatus));
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(removeUserStatus);
+ assertThat(result.getUserHandle()).isNull();
+ }
+}
diff --git a/tests/carservice_unit_test/src/android/car/admin/RemoveUserResultTest.java b/tests/carservice_unit_test/src/android/car/admin/RemoveUserResultTest.java
index 3980856..5232393 100644
--- a/tests/carservice_unit_test/src/android/car/admin/RemoveUserResultTest.java
+++ b/tests/carservice_unit_test/src/android/car/admin/RemoveUserResultTest.java
@@ -31,27 +31,34 @@
}
@Test
- public void testConversion() {
- conversionTest(/* isSuccess= */ true,
- UserRemovalResult.STATUS_SUCCESSFUL,
+ public void testSuccess() {
+ successTest(UserRemovalResult.STATUS_SUCCESSFUL,
RemoveUserResult.STATUS_SUCCESS);
- conversionTest(/* isSuccess= */ true,
- UserRemovalResult.STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED,
+ successTest(UserRemovalResult.STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED,
RemoveUserResult.STATUS_SUCCESS_LAST_ADMIN_REMOVED);
- conversionTest(/* isSuccess= */ false,
- UserRemovalResult.STATUS_TARGET_USER_IS_CURRENT_USER,
+ }
+
+ private void successTest(int userRemovalStatus, int removeUserStatus) {
+ RemoveUserResult result = new RemoveUserResult(new UserRemovalResult(userRemovalStatus));
+ assertThat(result.isSuccess()).isTrue();
+ assertThat(result.getStatus()).isEqualTo(removeUserStatus);
+ }
+
+ @Test
+ public void testFailure() {
+ failureTest(UserRemovalResult.STATUS_TARGET_USER_IS_CURRENT_USER,
RemoveUserResult.STATUS_FAILURE_TARGET_USER_IS_CURRENT_USER);
- conversionTest(/* isSuccess= */ false,
- UserRemovalResult.STATUS_USER_DOES_NOT_EXIST,
+ failureTest(UserRemovalResult.STATUS_USER_DOES_NOT_EXIST,
RemoveUserResult.STATUS_FAILURE_USER_DOES_NOT_EXIST);
- conversionTest(/* isSuccess= */ false,
- UserRemovalResult.STATUS_ANDROID_FAILURE,
+ failureTest(UserRemovalResult.STATUS_INVALID_REQUEST,
+ RemoveUserResult.STATUS_FAILURE_INVALID_ARGUMENTS);
+ failureTest(UserRemovalResult.STATUS_ANDROID_FAILURE,
RemoveUserResult.STATUS_FAILURE_GENERIC);
}
- private void conversionTest(boolean isSuccess, int userRemovalStatus, int removeUserStatus) {
+ private void failureTest(int userRemovalStatus, int removeUserStatus) {
RemoveUserResult result = new RemoveUserResult(new UserRemovalResult(userRemovalStatus));
- assertThat(result.isSuccess()).isEqualTo(isSuccess);
+ assertThat(result.isSuccess()).isFalse();
assertThat(result.getStatus()).isEqualTo(removeUserStatus);
}
}
diff --git a/tests/carservice_unit_test/src/com/android/car/CarOccupantZoneServiceTest.java b/tests/carservice_unit_test/src/com/android/car/CarOccupantZoneServiceTest.java
index 3b8a724..2b647aa 100644
--- a/tests/carservice_unit_test/src/com/android/car/CarOccupantZoneServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/CarOccupantZoneServiceTest.java
@@ -806,6 +806,33 @@
}
@Test
+ public void testManagerGetDisplayIdForDriver_driverDisplays() {
+ mService.init();
+
+ // Driver displays
+ assertThat(mManager.getDisplayIdForDriver(
+ CarOccupantZoneManager.DISPLAY_TYPE_MAIN)).isEqualTo(mDisplay0.getDisplayId());
+ assertThat(mManager.getDisplayIdForDriver(
+ CarOccupantZoneManager.DISPLAY_TYPE_INSTRUMENT_CLUSTER)).isEqualTo(
+ mDisplay1.getDisplayId());
+ }
+
+ @Test
+ public void testManagerGetDisplayIdForDriver_nonDriverDisplays() {
+ mService.init();
+
+ // Non driver displays
+ assertThat(mManager.getDisplayIdForDriver(
+ CarOccupantZoneManager.DISPLAY_TYPE_UNKNOWN)).isEqualTo(Display.INVALID_DISPLAY);
+ assertThat(mManager.getDisplayIdForDriver(
+ CarOccupantZoneManager.DISPLAY_TYPE_INPUT)).isEqualTo(Display.INVALID_DISPLAY);
+ assertThat(mManager.getDisplayIdForDriver(
+ CarOccupantZoneManager.DISPLAY_TYPE_HUD)).isEqualTo(Display.INVALID_DISPLAY);
+ assertThat(mManager.getDisplayIdForDriver(
+ CarOccupantZoneManager.DISPLAY_TYPE_AUXILIARY)).isEqualTo(Display.INVALID_DISPLAY);
+ }
+
+ @Test
public void testManagerGetDisplayType() {
mService.init();
diff --git a/tests/carservice_unit_test/src/com/android/car/admin/CarDevicePolicyServiceTest.java b/tests/carservice_unit_test/src/com/android/car/admin/CarDevicePolicyServiceTest.java
index 759e9cf..a7ec56e 100644
--- a/tests/carservice_unit_test/src/com/android/car/admin/CarDevicePolicyServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/admin/CarDevicePolicyServiceTest.java
@@ -15,11 +15,26 @@
*/
package com.android.car.admin;
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
+import android.annotation.NonNull;
+import android.car.admin.CarDevicePolicyManager;
import android.car.test.mocks.AbstractExtendedMockitoTestCase;
+import android.car.user.UserCreationResult;
+import android.content.pm.UserInfo;
+import android.content.pm.UserInfo.UserInfoFlag;
+import android.os.SystemClock;
+import android.os.UserManager;
+import android.util.Log;
import com.android.car.user.CarUserService;
+import com.android.internal.infra.AndroidFuture;
import org.junit.Before;
import org.junit.Test;
@@ -27,6 +42,10 @@
public final class CarDevicePolicyServiceTest extends AbstractExtendedMockitoTestCase {
+ private static final String TAG = CarDevicePolicyServiceTest.class.getSimpleName();
+
+ private static final int TIMEOUT_MS = 100;
+
@Mock
private CarUserService mCarUserService;
@@ -34,7 +53,7 @@
@Before
public void setFixtures() {
- mService = new CarDevicePolicyService(mCarUserService);
+ mService = new CarDevicePolicyService(mCarUserService, /* futureTimeoutMs= */ TIMEOUT_MS);
}
@Test
@@ -43,4 +62,75 @@
verify(mCarUserService).removeUser(42, /* hasCallerRestrictions= */ true);
}
+
+ @Test
+ public void testCreateUser_failure_invalidTypes() {
+ invalidCreateUserTypeTest(CarDevicePolicyManager.FIRST_USER_TYPE - 1);
+ invalidCreateUserTypeTest(CarDevicePolicyManager.LAST_USER_TYPE + 1);
+ }
+
+ private void invalidCreateUserTypeTest(@CarDevicePolicyManager.UserType int type) {
+ UserCreationResult result = mService.createUser("name", type);
+
+ assertThat(result).isNotNull();
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_INVALID_REQUEST);
+ assertThat(result.getUser()).isNull();
+ }
+
+ @Test
+ public void testCreateUser_ok_normalUser() {
+ createUserOkTest(/* userInfoFlags=*/ 0, CarDevicePolicyManager.USER_TYPE_REGULAR,
+ UserManager.USER_TYPE_FULL_SECONDARY);
+ }
+
+ @Test
+ public void testCreateUser_ok_admin() {
+ createUserOkTest(UserInfo.FLAG_ADMIN, CarDevicePolicyManager.USER_TYPE_ADMIN,
+ UserManager.USER_TYPE_FULL_SECONDARY);
+ }
+
+ @Test
+ public void testCreateUser_ok_guest() {
+ createUserOkTest(/* userInfoFlags=*/ 0, CarDevicePolicyManager.USER_TYPE_GUEST,
+ UserManager.USER_TYPE_FULL_GUEST);
+ }
+
+ private void createUserOkTest(@UserInfoFlag int flags,
+ @CarDevicePolicyManager.UserType int carDpmUserType, @NonNull String userType) {
+ UserCreationResult result = new UserCreationResult(UserCreationResult.STATUS_SUCCESSFUL);
+ doAnswer((inv) -> {
+ Log.d(TAG, "returning " + result + " for user " + userType + " and flags " + flags);
+ @SuppressWarnings("unchecked")
+ AndroidFuture<UserCreationResult> receiver = (AndroidFuture<UserCreationResult>) inv
+ .getArguments()[4];
+ receiver.complete(result);
+ return null;
+ }).when(mCarUserService).createUser(eq("name"), eq(userType), eq(flags),
+ /* timeoutMs= */ anyInt(), /* receiver= */ any());
+
+ UserCreationResult actualResult = mService.createUser("name", carDpmUserType);
+
+ assertThat(actualResult).isSameInstanceAs(result);
+ }
+
+ @Test
+ public void testCreateUser_timeout() {
+ doAnswer((inv) -> {
+ int sleep = TIMEOUT_MS + 1_000;
+ Log.d(TAG, "sleeping " + sleep + "ms so AndroidFuture times out");
+ SystemClock.sleep(sleep);
+ Log.d(TAG, "wokkkkke up!!");
+ return null;
+ }).when(mCarUserService).createUser(eq("name"), eq(UserManager.USER_TYPE_FULL_SECONDARY),
+ /* flags= */ eq(0), /* timeoutMs= */ anyInt(), /* receiver= */ any());
+
+ UserCreationResult actualResult = mService.createUser("name", /* flags= */ 0);
+
+ assertThat(actualResult).isNotNull();
+ assertThat(actualResult.isSuccess()).isFalse();
+ assertThat(actualResult.getStatus())
+ .isEqualTo(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE);
+ assertThat(actualResult.getUser()).isNull();
+ }
}
diff --git a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlFactoryUnitTest.java b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlFactoryUnitTest.java
index b47aa10..eed5ae6 100644
--- a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlFactoryUnitTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlFactoryUnitTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package audio.hal;
+package com.android.car.audio.hal;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
@@ -23,6 +23,7 @@
import static org.testng.Assert.assertThrows;
import android.car.test.mocks.AbstractExtendedMockitoTestCase;
+import android.os.IBinder;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -40,6 +41,9 @@
private static final String TAG = AudioControlFactoryUnitTest.class.getSimpleName();
@Mock
+ IBinder mBinder;
+
+ @Mock
android.hardware.automotive.audiocontrol.V2_0.IAudioControl mIAudioControlV2;
@Mock
@@ -47,32 +51,53 @@
@Override
protected void onSessionBuilder(CustomMockitoSessionBuilder session) {
- session.spyStatic(AudioControlWrapperV2.class).spyStatic(AudioControlWrapperV1.class);
+ session.spyStatic(AudioControlWrapperAidl.class)
+ .spyStatic(AudioControlWrapperV2.class)
+ .spyStatic(AudioControlWrapperV1.class);
+ }
+
+ @Test
+ public void newAudioControl_forAudioControlWrapperAIDL_returnsInstance() {
+ doReturn(mBinder).when(AudioControlWrapperAidl::getService);
+ doReturn(null).when(AudioControlWrapperV1::getService);
+ doReturn(null).when(AudioControlWrapperV2::getService);
+
+ AudioControlWrapper wrapper = AudioControlFactory.newAudioControl();
+
+ assertThat(wrapper).isNotNull();
+ assertThat(wrapper).isInstanceOf(AudioControlWrapperAidl.class);
}
@Test
public void newAudioControl_forAudioControlWrapperV2_returnsInstance() {
- doReturn(null).when(() -> AudioControlWrapperV1.getService());
- doReturn(mIAudioControlV2).when(() -> AudioControlWrapperV2.getService());
+ doReturn(null).when(AudioControlWrapperAidl::getService);
+ doReturn(null).when(AudioControlWrapperV1::getService);
+ doReturn(mIAudioControlV2).when(AudioControlWrapperV2::getService);
AudioControlWrapper wrapper = AudioControlFactory.newAudioControl();
+
assertThat(wrapper).isNotNull();
+ assertThat(wrapper).isInstanceOf(AudioControlWrapperV2.class);
}
@Test
public void newAudioControl_forAudioControlWrapperV1_returnsInstance() {
- doReturn(mIAudioControlV1).when(() -> AudioControlWrapperV1.getService());
- doReturn(null).when(() -> AudioControlWrapperV2.getService());
+ doReturn(null).when(AudioControlWrapperAidl::getService);
+ doReturn(mIAudioControlV1).when(AudioControlWrapperV1::getService);
+ doReturn(null).when(AudioControlWrapperV2::getService);
AudioControlWrapper wrapper = AudioControlFactory.newAudioControl();
+
assertThat(wrapper).isNotNull();
+ assertThat(wrapper).isInstanceOf(AudioControlWrapperV1.class);
}
@Test
public void newAudioControl_forNullAudioControlWrappers_fails() {
- doReturn(null).when(() -> AudioControlWrapperV1.getService());
- doReturn(null).when(() -> AudioControlWrapperV2.getService());
+ doReturn(null).when(AudioControlWrapperAidl::getService);
+ doReturn(null).when(AudioControlWrapperV1::getService);
+ doReturn(null).when(AudioControlWrapperV2::getService);
- assertThrows(IllegalStateException.class, () -> AudioControlFactory.newAudioControl());
+ assertThrows(IllegalStateException.class, AudioControlFactory::newAudioControl);
}
}
diff --git a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperAidlTest.java b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperAidlTest.java
new file mode 100644
index 0000000..4715cab
--- /dev/null
+++ b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperAidlTest.java
@@ -0,0 +1,166 @@
+/*
+ * 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.
+ */
+
+package com.android.car.audio.hal;
+
+import static android.os.IBinder.DeathRecipient;
+
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.car.test.mocks.AbstractExtendedMockitoTestCase;
+import android.hardware.automotive.audiocontrol.IAudioControl;
+import android.hardware.automotive.audiocontrol.IFocusListener;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.os.IBinder;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.car.audio.hal.AudioControlWrapper.AudioControlDeathRecipient;
+import com.android.dx.mockito.inline.extended.ExtendedMockito;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+
+import audio.policy.configuration.V7_0.AudioUsage;
+
+@RunWith(AndroidJUnit4.class)
+public final class AudioControlWrapperAidlTest extends AbstractExtendedMockitoTestCase {
+ private static final String TAG = AudioControlWrapperAidlTest.class.getSimpleName();
+ private static final float FADE_VALUE = 5;
+ private static final float BALANCE_VALUE = 6;
+ private static final int USAGE = AudioAttributes.USAGE_MEDIA;
+ private static final String USAGE_NAME = AudioUsage.AUDIO_USAGE_MEDIA.toString();
+ private static final int ZONE_ID = 2;
+ private static final int FOCUS_GAIN = AudioManager.AUDIOFOCUS_GAIN;
+
+ @Mock
+ IBinder mBinder;
+
+ @Mock
+ IAudioControl mAudioControl;
+
+ @Mock
+ AudioControlDeathRecipient mDeathRecipient;
+
+ private AudioControlWrapperAidl mAudioControlWrapperAidl;
+
+ @Override
+ protected void onSessionBuilder(CustomMockitoSessionBuilder session) {
+ session.spyStatic(AudioControlWrapperAidl.class);
+ }
+
+ @Before
+ public void setUp() {
+ when(mBinder.queryLocalInterface(anyString())).thenReturn(mAudioControl);
+ doReturn(mBinder).when(AudioControlWrapperAidl::getService);
+ mAudioControlWrapperAidl = new AudioControlWrapperAidl(mBinder);
+ }
+
+ @Test
+ public void setFadeTowardFront_succeeds() throws Exception {
+ mAudioControlWrapperAidl.setFadeTowardFront(FADE_VALUE);
+
+ verify(mAudioControl).setFadeTowardFront(FADE_VALUE);
+ }
+
+ @Test
+ public void setBalanceTowardRight_succeeds() throws Exception {
+ mAudioControlWrapperAidl.setBalanceTowardRight(BALANCE_VALUE);
+
+ verify(mAudioControl).setBalanceTowardRight(BALANCE_VALUE);
+ }
+
+ @Test
+ public void supportsHalAudioFocus_returnsTrue() {
+ assertThat(mAudioControlWrapperAidl.supportsHalAudioFocus()).isTrue();
+ }
+
+ @Test
+ public void registerFocusListener_succeeds() throws Exception {
+ HalFocusListener mockListener = mock(HalFocusListener.class);
+ mAudioControlWrapperAidl.registerFocusListener(mockListener);
+
+ verify(mAudioControl).registerFocusListener(any(IFocusListener.class));
+ }
+
+ @Test
+ public void onAudioFocusChange_succeeds() throws Exception {
+ mAudioControlWrapperAidl.onAudioFocusChange(USAGE, ZONE_ID, FOCUS_GAIN);
+
+ verify(mAudioControl).onAudioFocusChange(USAGE_NAME, ZONE_ID, FOCUS_GAIN);
+ }
+
+ @Test
+ public void linkToDeath_callsBinder() throws Exception {
+ mAudioControlWrapperAidl.linkToDeath(null);
+
+ verify(mBinder).linkToDeath(any(DeathRecipient.class), eq(0));
+ }
+
+ @Test
+ public void binderDied_fetchesNewBinder() throws Exception {
+ mAudioControlWrapperAidl.linkToDeath(null);
+
+ ArgumentCaptor<DeathRecipient> captor = ArgumentCaptor.forClass(DeathRecipient.class);
+ verify(mBinder).linkToDeath(captor.capture(), eq(0));
+ IBinder.DeathRecipient deathRecipient = captor.getValue();
+
+ deathRecipient.binderDied();
+
+ ExtendedMockito.verify(() -> AudioControlWrapperAidl.getService());
+ }
+
+ @Test
+ public void binderDied_relinksToDeath() throws Exception {
+ mAudioControlWrapperAidl.linkToDeath(null);
+
+ ArgumentCaptor<DeathRecipient> captor = ArgumentCaptor.forClass(DeathRecipient.class);
+ verify(mBinder).linkToDeath(captor.capture(), eq(0));
+ IBinder.DeathRecipient deathRecipient = captor.getValue();
+
+ deathRecipient.binderDied();
+
+ verify(mBinder, times(2)).linkToDeath(any(DeathRecipient.class), eq(0));
+ }
+
+ @Test
+ public void binderDied_callsDeathRecipient() throws Exception {
+ mAudioControlWrapperAidl.linkToDeath(mDeathRecipient);
+
+ ArgumentCaptor<DeathRecipient> captor = ArgumentCaptor.forClass(
+ IBinder.DeathRecipient.class);
+ verify(mBinder).linkToDeath(captor.capture(), eq(0));
+ IBinder.DeathRecipient deathRecipient = captor.getValue();
+
+ deathRecipient.binderDied();
+
+ verify(mDeathRecipient).serviceDied();
+ }
+}
diff --git a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV1Test.java b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV1Test.java
index c559d89..1c87103 100644
--- a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV1Test.java
+++ b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV1Test.java
@@ -24,7 +24,6 @@
import static org.testng.Assert.assertThrows;
import android.hardware.automotive.audiocontrol.V1_0.IAudioControl;
-import android.hardware.automotive.audiocontrol.V2_0.IFocusListener;
import android.media.AudioAttributes;
import android.media.AudioManager;
@@ -88,7 +87,7 @@
@Test
public void registerFocusListener_throws() {
AudioControlWrapperV1 audioControlWrapperV1 = new AudioControlWrapperV1(mAudioControlV1);
- IFocusListener mockListener = mock(IFocusListener.class);
+ HalFocusListener mockListener = mock(HalFocusListener.class);
assertThrows(UnsupportedOperationException.class,
() -> audioControlWrapperV1.registerFocusListener(mockListener));
@@ -97,7 +96,7 @@
@Test
public void unregisterFocusListener_throws() {
AudioControlWrapperV1 audioControlWrapperV1 = new AudioControlWrapperV1(mAudioControlV1);
- IFocusListener mockListener = mock(IFocusListener.class);
+ HalFocusListener mockListener = mock(HalFocusListener.class);
assertThrows(UnsupportedOperationException.class,
() -> audioControlWrapperV1.unregisterFocusListener());
diff --git a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV2Test.java b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV2Test.java
index a57b68d..80d566a 100644
--- a/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV2Test.java
+++ b/tests/carservice_unit_test/src/com/android/car/audio/hal/AudioControlWrapperV2Test.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -41,7 +42,6 @@
public class AudioControlWrapperV2Test {
private static final float FADE_VALUE = 5;
private static final float BALANCE_VALUE = 6;
- private static final int CONTEXT_NUMBER = 3;
private static final int USAGE = AudioAttributes.USAGE_MEDIA;
private static final int ZONE_ID = 2;
private static final int FOCUS_GAIN = AudioManager.AUDIOFOCUS_GAIN;
@@ -78,17 +78,19 @@
@Test
public void registerFocusListener_succeeds() throws Exception {
AudioControlWrapperV2 audioControlWrapperV2 = new AudioControlWrapperV2(mAudioControlV2);
- IFocusListener mockListener = mock(IFocusListener.class);
+ HalFocusListener mockListener = mock(HalFocusListener.class);
+
audioControlWrapperV2.registerFocusListener(mockListener);
- verify(mAudioControlV2).registerFocusListener(mockListener);
+ verify(mAudioControlV2).registerFocusListener(any(IFocusListener.class));
}
@Test
public void unregisterFocusListener_closesHandle() throws Exception {
- IFocusListener mockListener = mock(IFocusListener.class);
+ HalFocusListener mockListener = mock(HalFocusListener.class);
ICloseHandle mockCloseHandle = mock(ICloseHandle.class);
- when(mAudioControlV2.registerFocusListener(mockListener)).thenReturn(mockCloseHandle);
+ when(mAudioControlV2.registerFocusListener(any(IFocusListener.class)))
+ .thenReturn(mockCloseHandle);
AudioControlWrapperV2 audioControlWrapperV2 = new AudioControlWrapperV2(mAudioControlV2);
audioControlWrapperV2.registerFocusListener(mockListener);
diff --git a/tests/carservice_unit_test/src/com/android/car/user/CarUserManagerUnitTest.java b/tests/carservice_unit_test/src/com/android/car/user/CarUserManagerUnitTest.java
index 64faa9a..351feff 100644
--- a/tests/carservice_unit_test/src/com/android/car/user/CarUserManagerUnitTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/user/CarUserManagerUnitTest.java
@@ -51,6 +51,9 @@
import android.content.Context;
import android.content.pm.UserInfo;
import android.content.pm.UserInfo.UserInfoFlag;
+import android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationSetValue;
+import android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType;
+import android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationValue;
import android.os.RemoteException;
import android.os.UserManager;
import android.provider.Settings;
@@ -86,6 +89,43 @@
}
@Test
+ public void testUserIdentificationAssociationType() {
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_TYPE_KEY_FOB)
+ .isEqualTo(UserIdentificationAssociationType.KEY_FOB);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_1)
+ .isEqualTo(UserIdentificationAssociationType.CUSTOM_1);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_2)
+ .isEqualTo(UserIdentificationAssociationType.CUSTOM_2);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_3)
+ .isEqualTo(UserIdentificationAssociationType.CUSTOM_3);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_TYPE_CUSTOM_4)
+ .isEqualTo(UserIdentificationAssociationType.CUSTOM_4);
+ }
+
+ @Test
+ public void testUserIdentificationAssociationSetValue() {
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_ASSOCIATE_CURRENT_USER)
+ .isEqualTo(UserIdentificationAssociationSetValue.ASSOCIATE_CURRENT_USER);
+ assertThat(
+ CarUserManager.USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_DISASSOCIATE_CURRENT_USER)
+ .isEqualTo(UserIdentificationAssociationSetValue.DISASSOCIATE_CURRENT_USER);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_SET_VALUE_DISASSOCIATE_ALL_USERS)
+ .isEqualTo(UserIdentificationAssociationSetValue.DISASSOCIATE_ALL_USERS);
+ }
+
+ @Test
+ public void testUserIdentificationAssociationValue() {
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_VALUE_UNKNOWN)
+ .isEqualTo(UserIdentificationAssociationValue.UNKNOWN);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_VALUE_ASSOCIATE_CURRENT_USER)
+ .isEqualTo(UserIdentificationAssociationValue.ASSOCIATED_CURRENT_USER);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_VALUE_ASSOCIATED_ANOTHER_USER)
+ .isEqualTo(UserIdentificationAssociationValue.ASSOCIATED_ANOTHER_USER);
+ assertThat(CarUserManager.USER_IDENTIFICATION_ASSOCIATION_VALUE_NOT_ASSOCIATED_ANY_USER)
+ .isEqualTo(UserIdentificationAssociationValue.NOT_ASSOCIATED_ANY_USER);
+ }
+
+ @Test
public void testIsValidUser_headlessSystemUser() {
mockIsHeadlessSystemUserMode(true);
setExistingUsers(USER_SYSTEM);
@@ -196,7 +236,7 @@
@Test
public void testSwitchUser_remoteException() throws Exception {
- expectServiceSwitchUserFails(11);
+ expectServiceSwitchUserFails(11, new RemoteException("D'OH!"));
mockHandleRemoteExceptionFromCarServiceWithDefaultValue(mCar);
AsyncFuture<UserSwitchResult> future = mMgr.switchUser(11);
@@ -208,6 +248,18 @@
}
@Test
+ public void testSwitchUser_runtimeException() throws Exception {
+ expectServiceSwitchUserFails(11, new RuntimeException("D'OH!"));
+
+ AsyncFuture<UserSwitchResult> future = mMgr.switchUser(11);
+
+ assertThat(future).isNotNull();
+ UserSwitchResult result = getResult(future);
+ assertThat(result.getStatus()).isEqualTo(UserSwitchResult.STATUS_HAL_INTERNAL_FAILURE);
+ assertThat(result.getErrorMessage()).isNull();
+ }
+
+ @Test
public void testRemoveUser_success() throws Exception {
int status = UserRemovalResult.STATUS_SUCCESSFUL;
when(mService.removeUser(100)).thenReturn(new UserRemovalResult(status));
@@ -228,6 +280,15 @@
}
@Test
+ public void testRemoveUser_runtimeException() throws Exception {
+ doThrow(new RuntimeException("D'OH!")).when(mService).removeUser(100);
+
+ UserRemovalResult result = mMgr.removeUser(100);
+
+ assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_ANDROID_FAILURE);
+ }
+
+ @Test
public void testSetSwitchUserUICallback_success() throws Exception {
UserSwitchUiCallback callback = (u)-> { };
@@ -278,6 +339,21 @@
}
@Test
+ public void testCreateUser_withType_runtimeException() throws Exception {
+ doThrow(new RuntimeException("D'OH!")).when(mService).createUser(eq("dude"), eq("sweet"),
+ eq(42), anyInt(), notNull());
+
+ AsyncFuture<UserCreationResult> future = mMgr.createUser("dude", "sweet", 42);
+
+ assertThat(future).isNotNull();
+ UserCreationResult result = getResult(future);
+ assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE);
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getErrorMessage()).isNull();
+ assertThat(result.getUser()).isNull();
+ }
+
+ @Test
public void testCreateUser_success() throws Exception {
expectServiceCreateUserSucceeds("dude", UserManager.USER_TYPE_FULL_SECONDARY, 42,
UserCreationResult.STATUS_SUCCESSFUL, 108);
@@ -369,7 +445,25 @@
.thenThrow(new RemoteException("D'OH!"));
mockHandleRemoteExceptionFromCarServiceWithDefaultValue(mCar);
- assertThat(mMgr.getUserIdentificationAssociation(types)).isNull();
+ UserIdentificationAssociationResponse response =
+ mMgr.getUserIdentificationAssociation(types);
+
+ assertThat(response).isNotNull();
+ assertThat(response.isSuccess()).isFalse();
+ }
+
+ @Test
+ public void testGetUserIdentificationAssociation_runtimeException() throws Exception {
+ int[] types = new int[] {1};
+ when(mService.getUserIdentificationAssociation(types))
+ .thenThrow(new RuntimeException("D'OH!"));
+ mockHandleRemoteExceptionFromCarServiceWithDefaultValue(mCar);
+
+ UserIdentificationAssociationResponse response =
+ mMgr.getUserIdentificationAssociation(types);
+
+ assertThat(response).isNotNull();
+ assertThat(response.isSuccess()).isFalse();
}
@Test
@@ -434,6 +528,24 @@
}
@Test
+ public void testSetUserIdentificationAssociation_runtimeException() throws Exception {
+ int[] types = new int[] {1};
+ int[] values = new int[] {2};
+ doThrow(new RuntimeException("D'OH!")).when(mService)
+ .setUserIdentificationAssociation(anyInt(), same(types), same(values), notNull());
+ mockHandleRemoteExceptionFromCarServiceWithDefaultValue(mCar);
+
+ AsyncFuture<UserIdentificationAssociationResponse> future =
+ mMgr.setUserIdentificationAssociation(types, values);
+
+ assertThat(future).isNotNull();
+ UserIdentificationAssociationResponse result = getResult(future);
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getValues()).isNull();
+ assertThat(result.getErrorMessage()).isNull();
+ }
+
+ @Test
public void testSetUserIdentificationAssociation_ok() throws Exception {
int[] types = new int[] { 1, 2, 3 };
int[] values = new int[] { 10, 20, 30 };
@@ -476,6 +588,13 @@
assertThat(mMgr.isUserHalUserAssociationSupported()).isFalse();
}
+ @Test
+ public void testIsUserHalUserAssociation_runtimeException() throws Exception {
+ doThrow(new RuntimeException("D'OH!")).when(mService).isUserHalUserAssociationSupported();
+
+ assertThat(mMgr.isUserHalUserAssociationSupported()).isFalse();
+ }
+
private void expectServiceSwitchUserSucceeds(@UserIdInt int userId,
@UserSwitchResult.Status int status, @Nullable String errorMessage)
throws RemoteException {
@@ -488,9 +607,8 @@
}).when(mService).switchUser(eq(userId), anyInt(), notNull());
}
- private void expectServiceSwitchUserFails(@UserIdInt int userId) throws RemoteException {
- doThrow(new RemoteException("D'OH!")).when(mService)
- .switchUser(eq(userId), anyInt(), notNull());
+ private void expectServiceSwitchUserFails(@UserIdInt int userId, Exception e) throws Exception {
+ doThrow(e).when(mService).switchUser(eq(userId), anyInt(), notNull());
}
private void expectServiceCreateUserSucceeds(@Nullable String name,
diff --git a/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java b/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java
index 961a9a3..32ed106 100644
--- a/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/user/CarUserServiceTest.java
@@ -151,6 +151,9 @@
private static final int NON_EXISTING_USER = 55; // must not be on mExistingUsers
+ private static final boolean HAS_CALLER_RESTRICTIONS = true;
+ private static final boolean NO_CALLER_RESTRICTIONS = false;
+
@Mock private Context mMockContext;
@Mock private Context mApplicationContext;
@Mock private LocationManager mLocationManager;
@@ -172,7 +175,6 @@
private CarUserService mCarUserService;
private boolean mUser0TaskExecuted;
- private FakeCarOccupantZoneService mFakeCarOccupantZoneService;
private final AndroidFuture<UserSwitchResult> mUserSwitchFuture = new AndroidFuture<>();
private final AndroidFuture<UserCreationResult> mUserCreationFuture = new AndroidFuture<>();
@@ -236,7 +238,9 @@
mCarUserService = newCarUserService(/* switchGuestUserBeforeGoingSleep= */ false);
- mFakeCarOccupantZoneService = new FakeCarOccupantZoneService(mCarUserService);
+ // TODO(b/172262561): refactor this call, which is not assigning the service to anything
+ // (but without it some tests fail due to NPE).
+ new FakeCarOccupantZoneService(mCarUserService);
}
private BroadcastReceiver initService() {
@@ -279,7 +283,7 @@
spy.removeUser(42);
- verify(spy).removeUser(42, /* hasCallerRestrictions= */ false);
+ verify(spy).removeUser(42, NO_CALLER_RESTRICTIONS);
}
@Test
@@ -753,7 +757,7 @@
mockCurrentUser(mAdminUser);
UserRemovalResult result = mCarUserService.removeUser(mAdminUser.id,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus())
.isEqualTo(UserRemovalResult.STATUS_TARGET_USER_IS_CURRENT_USER);
@@ -762,7 +766,7 @@
@Test
public void testRemoveUser_userNotExist() throws Exception {
UserRemovalResult result = mCarUserService.removeUser(15,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus())
.isEqualTo(UserRemovalResult.STATUS_USER_DOES_NOT_EXIST);
@@ -778,7 +782,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(mAdminUser.id,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus())
.isEqualTo(UserRemovalResult.STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED);
@@ -795,7 +799,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_SUCCESSFUL);
assertHalRemove(currentUser, removeUser);
@@ -809,7 +813,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_SUCCESSFUL);
assertHalRemove(currentUser, removeUser);
@@ -823,7 +827,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_SUCCESSFUL);
verify(mUserHal, never()).removeUser(any());
@@ -836,7 +840,7 @@
// No need to mock um.removeUser as it returns false by default
UserRemovalResult result = mCarUserService.removeUser(targetUserId,
- /* hasCallerRestrictions= */ false);
+ NO_CALLER_RESTRICTIONS);
assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_ANDROID_FAILURE);
}
@@ -850,7 +854,7 @@
mockRemoveUser(removeUser.id);
assertThrows(SecurityException.class, () -> mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ true));
+ HAS_CALLER_RESTRICTIONS));
}
@Test
@@ -862,7 +866,7 @@
mockRemoveUser(removeUser.id);
assertThrows(SecurityException.class, () -> mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ true));
+ HAS_CALLER_RESTRICTIONS));
}
@Test
@@ -874,7 +878,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ true);
+ HAS_CALLER_RESTRICTIONS);
// TODO(b/155913815): return STATUS_SUCCESSFUL_SET_EPHEMERAL instead
assertThat(result.getStatus())
@@ -891,7 +895,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ true);
+ HAS_CALLER_RESTRICTIONS);
assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_SUCCESSFUL);
assertHalRemove(currentUser, removeUser);
@@ -906,7 +910,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ true);
+ HAS_CALLER_RESTRICTIONS);
assertThat(result.getStatus()).isEqualTo(UserRemovalResult.STATUS_SUCCESSFUL);
assertHalRemove(currentUser, removeUser);
@@ -921,7 +925,7 @@
mockRemoveUser(removeUser.id);
UserRemovalResult result = mCarUserService.removeUser(removeUser.id,
- /* hasCallerRestrictions= */ true);
+ HAS_CALLER_RESTRICTIONS);
// TODO(b/155913815): return STATUS_SUCCESSFUL_SET_EPHEMERAL instead
assertThat(result.getStatus())
@@ -1364,13 +1368,15 @@
@Test
public void testCreateUser_nullType() throws Exception {
assertThrows(NullPointerException.class, () -> mCarUserService
- .createUser("dude", null, 108, mAsyncCallTimeoutMs, mUserCreationFuture));
+ .createUser("dude", null, 108, mAsyncCallTimeoutMs, mUserCreationFuture,
+ NO_CALLER_RESTRICTIONS));
}
@Test
public void testCreateUser_nullReceiver() throws Exception {
assertThrows(NullPointerException.class, () -> mCarUserService
- .createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs, null));
+ .createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs, null,
+ NO_CALLER_RESTRICTIONS));
}
@Test
@@ -1378,7 +1384,7 @@
// No need to mock um.createUser() to return null
mCarUserService.createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs,
- mUserCreationFuture);
+ mUserCreationFuture, NO_CALLER_RESTRICTIONS);
UserCreationResult result = getUserCreationResult();
assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_ANDROID_FAILURE);
@@ -1395,7 +1401,7 @@
new RuntimeException("D'OH!"));
mCarUserService.createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs,
- mUserCreationFuture);
+ mUserCreationFuture, NO_CALLER_RESTRICTIONS);
UserCreationResult result = getUserCreationResult();
assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_ANDROID_FAILURE);
@@ -1413,7 +1419,7 @@
mockRemoveUser(42);
mCarUserService.createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs,
- mUserCreationFuture);
+ mUserCreationFuture, NO_CALLER_RESTRICTIONS);
UserCreationResult result = getUserCreationResult();
assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE);
@@ -1430,7 +1436,7 @@
mockRemoveUser(42);
mCarUserService.createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs,
- mUserCreationFuture);
+ mUserCreationFuture, NO_CALLER_RESTRICTIONS);
UserCreationResult result = getUserCreationResult();
assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_HAL_FAILURE);
@@ -1448,7 +1454,7 @@
mockRemoveUser(42);
mCarUserService.createUser("dude", "TypeONegative", 108, mAsyncCallTimeoutMs,
- mUserCreationFuture);
+ mUserCreationFuture, NO_CALLER_RESTRICTIONS);
UserCreationResult result = getUserCreationResult();
assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE);
@@ -1468,7 +1474,8 @@
UserInfo.FLAG_EPHEMERAL, userId);
mCarUserService.createUser("dude", UserManager.USER_TYPE_FULL_GUEST,
- UserInfo.FLAG_EPHEMERAL, mAsyncCallTimeoutMs, mUserCreationFuture);
+ UserInfo.FLAG_EPHEMERAL, mAsyncCallTimeoutMs, mUserCreationFuture,
+ NO_CALLER_RESTRICTIONS);
UserCreationResult result = getUserCreationResult();
assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_SUCCESSFUL);
@@ -1486,7 +1493,8 @@
mockHalCreateUser(HalCallback.STATUS_OK, CreateUserStatus.SUCCESS);
mCarUserService.createUser("dude", UserManager.USER_TYPE_FULL_GUEST,
- UserInfo.FLAG_EPHEMERAL, mAsyncCallTimeoutMs, mUserCreationFuture);
+ UserInfo.FLAG_EPHEMERAL, mAsyncCallTimeoutMs, mUserCreationFuture,
+ NO_CALLER_RESTRICTIONS);
// Assert request
CreateUserRequest request = requestCaptor.getValue();
@@ -1521,7 +1529,8 @@
mockHalCreateUser(HalCallback.STATUS_OK, CreateUserStatus.SUCCESS);
mCarUserService.createUser(nullName, UserManager.USER_TYPE_FULL_GUEST,
- UserInfo.FLAG_EPHEMERAL, mAsyncCallTimeoutMs, mUserCreationFuture);
+ UserInfo.FLAG_EPHEMERAL, mAsyncCallTimeoutMs, mUserCreationFuture,
+ NO_CALLER_RESTRICTIONS);
// Assert request
CreateUserRequest request = requestCaptor.getValue();
@@ -1547,6 +1556,75 @@
}
@Test
+ public void testCreateUser_binderMethod() {
+ CarUserService spy = spy(mCarUserService);
+ AndroidFuture<UserCreationResult> receiver = new AndroidFuture<>();
+ int flags = 42;
+ int timeoutMs = 108;
+
+ spy.createUser("name", "type", flags, timeoutMs, receiver);
+
+ verify(spy).createUser("name", "type", flags, timeoutMs, receiver,
+ NO_CALLER_RESTRICTIONS);
+ }
+
+ @Test
+ public void testCreateUserWithRestrictions_nonAdminCreatingAdmin() throws Exception {
+ UserInfo currentUser = mRegularUser;
+ mockExistingUsersAndCurrentUser(currentUser);
+ mockGetCallingUserHandle(currentUser.id);
+
+ mCarUserService.createUser("name", UserManager.USER_TYPE_FULL_SECONDARY,
+ UserInfo.FLAG_ADMIN, mAsyncCallTimeoutMs,
+ mUserCreationFuture, HAS_CALLER_RESTRICTIONS);
+ assertInvalidArgumentsFailure();
+ }
+
+ private void assertInvalidArgumentsFailure() throws Exception {
+ UserCreationResult result = getUserCreationResult();
+ assertThat(result).isNotNull();
+ assertThat(result.isSuccess()).isFalse();
+ assertThat(result.getStatus()).isEqualTo(UserCreationResult.STATUS_INVALID_REQUEST);
+ assertThat(result.getUser()).isNull();
+ }
+
+ @Test
+ public void testCreateUserWithRestrictions_invalidTypes() throws Exception {
+ createUserWithRestrictionsInvalidTypes(UserManager.USER_TYPE_FULL_DEMO);
+ createUserWithRestrictionsInvalidTypes(UserManager.USER_TYPE_FULL_RESTRICTED);
+ createUserWithRestrictionsInvalidTypes(UserManager.USER_TYPE_FULL_SYSTEM);
+ createUserWithRestrictionsInvalidTypes(UserManager.USER_TYPE_PROFILE_MANAGED);
+ createUserWithRestrictionsInvalidTypes(UserManager.USER_TYPE_SYSTEM_HEADLESS);
+ }
+
+
+ private void createUserWithRestrictionsInvalidTypes(@NonNull String type) throws Exception {
+ mCarUserService.createUser("name", type, /* flags= */ 0, mAsyncCallTimeoutMs,
+ mUserCreationFuture, HAS_CALLER_RESTRICTIONS);
+ assertInvalidArgumentsFailure();
+ }
+
+ @Test
+ public void testCreateUserWithRestrictions_invalidFlags() throws Exception {
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_DEMO);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_DISABLED);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_EPHEMERAL);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_FULL);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_INITIALIZED);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_MANAGED_PROFILE);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_PRIMARY);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_QUIET_MODE);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_RESTRICTED);
+ createUserWithRestrictionsInvalidTypes(UserInfo.FLAG_SYSTEM);
+ }
+
+ private void createUserWithRestrictionsInvalidTypes(int flags) throws Exception {
+ mCarUserService.createUser("name", UserManager.USER_TYPE_FULL_SECONDARY, flags,
+ mAsyncCallTimeoutMs, mUserCreationFuture, HAS_CALLER_RESTRICTIONS);
+ assertInvalidArgumentsFailure();
+ }
+
+ @Test
public void testIsHalSupported() throws Exception {
when(mUserHal.isSupported()).thenReturn(true);
assertThat(mCarUserService.isUserHalSupported()).isTrue();
diff --git a/tests/carservice_unit_test/src/com/android/car/user/UserCreationResultTest.java b/tests/carservice_unit_test/src/com/android/car/user/UserCreationResultTest.java
index 7aba561..ad19652 100644
--- a/tests/carservice_unit_test/src/com/android/car/user/UserCreationResultTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/user/UserCreationResultTest.java
@@ -15,6 +15,11 @@
*/
package com.android.car.user;
+import static android.car.user.UserCreationResult.STATUS_ANDROID_FAILURE;
+import static android.car.user.UserCreationResult.STATUS_HAL_FAILURE;
+import static android.car.user.UserCreationResult.STATUS_HAL_INTERNAL_FAILURE;
+import static android.car.user.UserCreationResult.STATUS_SUCCESSFUL;
+
import static com.google.common.truth.Truth.assertThat;
import android.car.user.UserCreationResult;
@@ -25,14 +30,15 @@
@Test
public void testIsSuccess() {
- assertThat(new UserCreationResult(UserCreationResult.STATUS_SUCCESSFUL, null, null)
- .isSuccess()).isTrue();
- assertThat(new UserCreationResult(UserCreationResult.STATUS_HAL_FAILURE, null, null)
- .isSuccess()).isFalse();
- assertThat(
- new UserCreationResult(UserCreationResult.STATUS_HAL_INTERNAL_FAILURE, null, null)
- .isSuccess()).isFalse();
- assertThat(new UserCreationResult(UserCreationResult.STATUS_ANDROID_FAILURE, null, null)
- .isSuccess()).isFalse();
+ assertThat(new UserCreationResult(STATUS_SUCCESSFUL).isSuccess()).isTrue();
+ assertThat(new UserCreationResult(STATUS_SUCCESSFUL, null, null).isSuccess()).isTrue();
+ assertThat(new UserCreationResult(STATUS_HAL_FAILURE, null, null).isSuccess()).isFalse();
+ assertThat(new UserCreationResult(STATUS_HAL_FAILURE).isSuccess()).isFalse();
+ assertThat(new UserCreationResult(STATUS_HAL_INTERNAL_FAILURE, null, null).isSuccess())
+ .isFalse();
+ assertThat(new UserCreationResult(STATUS_HAL_INTERNAL_FAILURE).isSuccess()).isFalse();
+ assertThat(new UserCreationResult(STATUS_ANDROID_FAILURE, null, null).isSuccess())
+ .isFalse();
+ assertThat(new UserCreationResult(STATUS_ANDROID_FAILURE).isSuccess()).isFalse();
}
}
diff --git a/tools/perf/app-launch-test/app_launch_perf_test.sh b/tools/perf/app-launch-test/app_launch_perf_test.sh
index df9ffea..1c44020 100755
--- a/tools/perf/app-launch-test/app_launch_perf_test.sh
+++ b/tools/perf/app-launch-test/app_launch_perf_test.sh
@@ -73,7 +73,7 @@
-e class 'android.platform.test.scenario.dial.OpenAppMicrobenchmark,android.platform.test.scenario.googleplay.OpenAppMicrobenchmark,android.platform.test.scenario.maps.OpenAppMicrobenchmark,android.platform.test.scenario.radio.OpenAppMicrobenchmark,android.platform.test.scenario.settings.OpenAppMicrobenchmark'\
-e favor-shell-commands true -e log false -e suite-timeout_msec 36000000\
-e durationMs 30000 -e press-home $2 -e newRunListenerMode true\
- -e timeout_msec 300000 -e drop-cache $3 -e kill-app $4 android.platform.test.scenario/android.support.test.runner.AndroidJUnitRunner"
+ -e timeout_msec 300000 -e drop-cache $3 -e kill-app $4 android.platform.test.scenario/androidx.test.runner.AndroidJUnitRunner"
# Example output from ${cmd}
#
# INSTRUMENTATION_STATUS: class=android.platform.test.scenario.maps.OpenAppMicrobenchmark