Merge "Import translations. DO NOT MERGE"
diff --git a/Android.mk b/Android.mk
index c22bc73..0c5051c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -259,6 +259,7 @@
core/java/com/android/internal/policy/IKeyguardExitCallback.aidl \
core/java/com/android/internal/policy/IKeyguardService.aidl \
core/java/com/android/internal/os/IDropBoxManagerService.aidl \
+ core/java/com/android/internal/os/IParcelFileDescriptorFactory.aidl \
core/java/com/android/internal/os/IResultReceiver.aidl \
core/java/com/android/internal/statusbar/IStatusBar.aidl \
core/java/com/android/internal/statusbar/IStatusBarService.aidl \
diff --git a/core/java/android/app/FragmentTransaction.java b/core/java/android/app/FragmentTransaction.java
index b6ea3c3..0adc835 100644
--- a/core/java/android/app/FragmentTransaction.java
+++ b/core/java/android/app/FragmentTransaction.java
@@ -109,7 +109,7 @@
public abstract FragmentTransaction detach(Fragment fragment);
/**
- * Re-attach a fragment after it had previously been deatched from
+ * Re-attach a fragment after it had previously been detached from
* the UI with {@link #detach(Fragment)}. This
* causes its view hierarchy to be re-created, attached to the UI,
* and displayed.
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 3717ba3..49b1d10 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -1343,7 +1343,7 @@
public static final int WIPE_EXTERNAL_STORAGE = 0x0001;
/**
- * Ask the user date be wiped. This will cause the device to reboot,
+ * Ask the user data be wiped. This will cause the device to reboot,
* erasing all user data while next booting up. External storage such
* as SD cards will be also erased if the flag {@link #WIPE_EXTERNAL_STORAGE}
* is set.
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 319559a..bb47124 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -227,9 +227,56 @@
}
/**
+ * Lightweight parsed details about a single package.
+ */
+ public static class PackageLite {
+ public final String packageName;
+ public final int versionCode;
+ public final int installLocation;
+ public final VerifierInfo[] verifiers;
+
+ /** Names of any split APKs, ordered by parsed splitName */
+ public final String[] splitNames;
+
+ /**
+ * Path where this package was found on disk. For monolithic packages
+ * this is path to single base APK file; for cluster packages this is
+ * path to the cluster directory.
+ */
+ public final String codePath;
+
+ /** Path of base APK */
+ public final String baseCodePath;
+ /** Paths of any split APKs, ordered by parsed splitName */
+ public final String[] splitCodePaths;
+
+ private PackageLite(String codePath, ApkLite baseApk, String[] splitNames,
+ String[] splitCodePaths) {
+ this.packageName = baseApk.packageName;
+ this.versionCode = baseApk.versionCode;
+ this.installLocation = baseApk.installLocation;
+ this.verifiers = baseApk.verifiers;
+ this.splitNames = splitNames;
+ this.codePath = codePath;
+ this.baseCodePath = baseApk.codePath;
+ this.splitCodePaths = splitCodePaths;
+ }
+
+ public List<String> getAllCodePaths() {
+ ArrayList<String> paths = new ArrayList<>();
+ paths.add(baseCodePath);
+ if (!ArrayUtils.isEmpty(splitCodePaths)) {
+ Collections.addAll(paths, splitCodePaths);
+ }
+ return paths;
+ }
+ }
+
+ /**
* Lightweight parsed details about a single APK file.
*/
public static class ApkLite {
+ public final String codePath;
public final String packageName;
public final String splitName;
public final int versionCode;
@@ -237,8 +284,9 @@
public final VerifierInfo[] verifiers;
public final Signature[] signatures;
- public ApkLite(String packageName, String splitName, int versionCode,
+ public ApkLite(String codePath, String packageName, String splitName, int versionCode,
int installLocation, List<VerifierInfo> verifiers, Signature[] signatures) {
+ this.codePath = codePath;
this.packageName = packageName;
this.splitName = splitName;
this.versionCode = versionCode;
@@ -279,12 +327,8 @@
mMetrics = metrics;
}
- public static final boolean isPackageFilename(File file) {
- return isPackageFilename(file.getName());
- }
-
- public static final boolean isPackageFilename(String name) {
- return name.endsWith(".apk");
+ public static final boolean isApkFile(File file) {
+ return file.isFile() && file.getName().endsWith(".apk");
}
/*
@@ -543,17 +587,25 @@
}
}
- /**
- * Parse all APKs contained in the given directory, treating them as a
- * single package. This also performs sanity checking, such as requiring
- * identical package name and version codes, a single base APK, and unique
- * split names.
- * <p>
- * Note that this <em>does not</em> perform signature verification; that
- * must be done separately in {@link #collectCertificates(Package, int)}.
- */
- public Package parseClusterPackage(File apkDir, int flags) throws PackageParserException {
- final File[] files = apkDir.listFiles();
+ public static PackageLite parsePackageLite(File packageFile, int flags)
+ throws PackageParserException {
+ if (packageFile.isDirectory()) {
+ return parseClusterPackageLite(packageFile, flags);
+ } else {
+ return parseMonolithicPackageLite(packageFile, flags);
+ }
+ }
+
+ private static PackageLite parseMonolithicPackageLite(File packageFile, int flags)
+ throws PackageParserException {
+ final ApkLite baseApk = parseApkLite(packageFile, flags);
+ final String packagePath = packageFile.getAbsolutePath();
+ return new PackageLite(packagePath, baseApk, null, null);
+ }
+
+ private static PackageLite parseClusterPackageLite(File packageDir, int flags)
+ throws PackageParserException {
+ final File[] files = packageDir.listFiles();
if (ArrayUtils.isEmpty(files)) {
throw new PackageParserException(INSTALL_PARSE_FAILED_NOT_APK,
"No packages found in split");
@@ -562,10 +614,10 @@
String packageName = null;
int versionCode = 0;
- final ArrayMap<String, File> apks = new ArrayMap<>();
+ final ArrayMap<String, ApkLite> apks = new ArrayMap<>();
for (File file : files) {
- if (file.isFile() && isPackageFilename(file)) {
- final ApkLite lite = parseApkLite(file, 0);
+ if (isApkFile(file)) {
+ final ApkLite lite = parseApkLite(file, flags);
// Assert that all package names and version codes are
// consistent with the first one we encounter.
@@ -586,7 +638,7 @@
}
// Assert that each split is defined only once
- if (apks.put(lite.splitName, file) != null) {
+ if (apks.put(lite.splitName, lite) != null) {
throw new PackageParserException(INSTALL_PARSE_FAILED_BAD_MANIFEST,
"Split name " + lite.splitName
+ " defined more than once; most recent was " + file);
@@ -594,29 +646,71 @@
}
}
- final File baseFile = apks.remove(null);
- if (baseFile == null) {
+ final ApkLite baseApk = apks.remove(null);
+ if (baseApk == null) {
throw new PackageParserException(INSTALL_PARSE_FAILED_BAD_MANIFEST,
- "Missing base APK in " + apkDir);
- }
-
- final Package pkg = parseBaseApk(baseFile, flags);
- if (pkg == null) {
- throw new PackageParserException(INSTALL_PARSE_FAILED_NOT_APK,
- "Failed to parse base APK: " + baseFile);
+ "Missing base APK in " + packageDir);
}
// Always apply deterministic ordering based on splitName
final int size = apks.size();
- final String[] splitNames = apks.keySet().toArray(new String[size]);
- Arrays.sort(splitNames, sSplitNameComparator);
- for (String splitName : splitNames) {
- final File splitFile = apks.get(splitName);
- parseSplitApk(pkg, splitFile, splitName, flags);
+ String[] splitNames = null;
+ String[] splitCodePaths = null;
+ if (size > 0) {
+ splitNames = new String[size];
+ splitCodePaths = new String[size];
+
+ splitNames = apks.keySet().toArray(splitNames);
+ Arrays.sort(splitNames, sSplitNameComparator);
+
+ for (int i = 0; i < size; i++) {
+ splitCodePaths[i] = apks.get(splitNames[i]).codePath;
+ }
}
- pkg.codePath = apkDir.getAbsolutePath();
+ final String codePath = packageDir.getAbsolutePath();
+ return new PackageLite(codePath, baseApk, splitNames, splitCodePaths);
+ }
+
+ public Package parsePackage(File packageFile, int flags) throws PackageParserException {
+ if (packageFile.isDirectory()) {
+ return parseClusterPackage(packageFile, flags);
+ } else {
+ return parseMonolithicPackage(packageFile, flags);
+ }
+ }
+
+ /**
+ * Parse all APKs contained in the given directory, treating them as a
+ * single package. This also performs sanity checking, such as requiring
+ * identical package name and version codes, a single base APK, and unique
+ * split names.
+ * <p>
+ * Note that this <em>does not</em> perform signature verification; that
+ * must be done separately in {@link #collectCertificates(Package, int)}.
+ */
+ private Package parseClusterPackage(File packageDir, int flags) throws PackageParserException {
+ final PackageLite lite = parseClusterPackageLite(packageDir, 0);
+
+ final File baseApk = new File(lite.baseCodePath);
+ final Package pkg = parseBaseApk(baseApk, flags);
+ if (pkg == null) {
+ throw new PackageParserException(INSTALL_PARSE_FAILED_NOT_APK,
+ "Failed to parse base APK: " + baseApk);
+ }
+
+ if (!ArrayUtils.isEmpty(lite.splitNames)) {
+ pkg.splitNames = lite.splitNames;
+ pkg.splitCodePaths = lite.splitCodePaths;
+
+ for (String splitCodePath : lite.splitCodePaths) {
+ final File splitApk = new File(splitCodePath);
+ parseSplitApk(pkg, splitApk, flags);
+ }
+ }
+
+ pkg.codePath = packageDir.getAbsolutePath();
return pkg;
}
@@ -648,8 +742,7 @@
mParseError = PackageManager.INSTALL_PARSE_FAILED_NOT_APK;
return null;
}
- if (!isPackageFilename(apkFile.getName())
- && (flags&PARSE_MUST_BE_APK) != 0) {
+ if (!isApkFile(apkFile) && (flags & PARSE_MUST_BE_APK) != 0) {
if ((flags&PARSE_IS_SYSTEM) == 0) {
// We expect to have non-.apk files in the system dir,
// so don't warn about them.
@@ -732,16 +825,11 @@
return pkg;
}
- private void parseSplitApk(Package pkg, File apkFile, String splitName, int flags)
- throws PackageParserException {
+ private void parseSplitApk(Package pkg, File apkFile, int flags) throws PackageParserException {
final String splitCodePath = apkFile.getAbsolutePath();
mArchiveSourcePath = apkFile.getAbsolutePath();
// TODO: expand split APK parsing
- // TODO: extract splitName during parse
- pkg.splitNames = ArrayUtils.appendElement(String.class, pkg.splitNames, splitName);
- pkg.splitCodePaths = ArrayUtils.appendElement(String.class, pkg.splitCodePaths,
- splitCodePath);
}
/**
@@ -935,7 +1023,7 @@
}
final AttributeSet attrs = parser;
- return parseApkLite(res, parser, attrs, flags, signatures);
+ return parseApkLite(apkPath, res, parser, attrs, flags, signatures);
} catch (XmlPullParserException | IOException | RuntimeException e) {
throw new PackageParserException(INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION,
@@ -1016,7 +1104,7 @@
(splitName != null) ? splitName.intern() : splitName);
}
- private static ApkLite parseApkLite(Resources res, XmlPullParser parser,
+ private static ApkLite parseApkLite(String codePath, Resources res, XmlPullParser parser,
AttributeSet attrs, int flags, Signature[] signatures) throws IOException,
XmlPullParserException, PackageParserException {
final Pair<String, String> packageSplit = parsePackageSplitNames(parser, attrs, flags);
@@ -1058,7 +1146,7 @@
}
}
- return new ApkLite(packageSplit.first, packageSplit.second, versionCode,
+ return new ApkLite(codePath, packageSplit.first, packageSplit.second, versionCode,
installLocation, verifiers, signatures);
}
diff --git a/core/java/android/hardware/ConsumerIrManager.java b/core/java/android/hardware/ConsumerIrManager.java
index 77087814..6d29212 100644
--- a/core/java/android/hardware/ConsumerIrManager.java
+++ b/core/java/android/hardware/ConsumerIrManager.java
@@ -65,7 +65,7 @@
}
/**
- * Tansmit and infrared pattern
+ * Transmit an infrared pattern
* <p>
* This method is synchronous; when it returns the pattern has
* been transmitted. Only patterns shorter than 2 seconds will
diff --git a/core/java/android/os/FileUtils.java b/core/java/android/os/FileUtils.java
index d5d5eb8..4c34d46 100644
--- a/core/java/android/os/FileUtils.java
+++ b/core/java/android/os/FileUtils.java
@@ -392,7 +392,10 @@
if (file.isDirectory()) {
success &= deleteContents(file);
}
- success &= file.delete();
+ if (!file.delete()) {
+ Log.w(TAG, "Failed to delete " + file);
+ success = false;
+ }
}
}
return success;
diff --git a/core/java/android/os/Message.java b/core/java/android/os/Message.java
index 5389144..1a5811c 100644
--- a/core/java/android/os/Message.java
+++ b/core/java/android/os/Message.java
@@ -387,7 +387,7 @@
}
/**
- * Sets a Bundle of arbitrary data values. Use arg1 and arg1 members
+ * Sets a Bundle of arbitrary data values. Use arg1 and arg2 members
* as a lower cost way to send a few simple integer values, if you can.
* @see #getData()
* @see #peekData()
diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java
index 4ca5863..326d1dd 100644
--- a/core/java/android/view/ViewPropertyAnimator.java
+++ b/core/java/android/view/ViewPropertyAnimator.java
@@ -325,8 +325,8 @@
*/
public ViewPropertyAnimator setStartDelay(long startDelay) {
if (startDelay < 0) {
- throw new IllegalArgumentException("Animators cannot have negative duration: " +
- startDelay);
+ throw new IllegalArgumentException("Animators cannot have negative start " +
+ "delay: " + startDelay);
}
mStartDelaySet = true;
mStartDelay = startDelay;
diff --git a/core/java/com/android/internal/app/IMediaContainerService.aidl b/core/java/com/android/internal/app/IMediaContainerService.aidl
index 3cd0417..7a3ffdf 100644
--- a/core/java/com/android/internal/app/IMediaContainerService.aidl
+++ b/core/java/com/android/internal/app/IMediaContainerService.aidl
@@ -16,17 +16,15 @@
package com.android.internal.app;
-import android.os.ParcelFileDescriptor;
-import android.content.pm.ContainerEncryptionParams;
+import com.android.internal.os.IParcelFileDescriptorFactory;
import android.content.pm.PackageInfoLite;
import android.content.res.ObbInfo;
interface IMediaContainerService {
- String copyResourceToContainer(String packagePath, String containerId, String key,
- String resFileName, String publicResFileName, boolean isExternal,
- boolean isForwardLocked, String abiOverride);
- int copyResource(String packagePath, in ContainerEncryptionParams encryptionParams,
- in ParcelFileDescriptor outStream);
+ String copyPackageToContainer(String packagePath, String containerId, String key,
+ boolean isExternal, boolean isForwardLocked, String abiOverride);
+ int copyPackage(String packagePath, in IParcelFileDescriptorFactory target);
+
PackageInfoLite getMinimalPackageInfo(String packagePath, int flags, long threshold,
String abiOverride);
boolean checkInternalFreeStorage(String packagePath, boolean isForwardLocked, long threshold);
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 9d42738..edbe9f4 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -16,7 +16,9 @@
package com.android.internal.app;
+import android.app.Activity;
import android.os.AsyncTask;
+import android.widget.GridView;
import com.android.internal.R;
import com.android.internal.content.PackageMonitor;
@@ -62,16 +64,16 @@
* which there is more than one matching activity, allowing the user to decide
* which to go to. It is not normally used directly by application developers.
*/
-public class ResolverActivity extends AlertActivity implements AdapterView.OnItemClickListener {
+public class ResolverActivity extends Activity implements AdapterView.OnItemClickListener {
private static final String TAG = "ResolverActivity";
- private static final boolean DEBUG = false;
+ private static final boolean DEBUG = true;
private int mLaunchedFromUid;
private ResolveListAdapter mAdapter;
private PackageManager mPm;
private boolean mAlwaysUseOption;
private boolean mShowExtended;
- private ListView mListView;
+ private GridView mGridView;
private Button mAlwaysButton;
private Button mOnceButton;
private int mIconDpi;
@@ -120,7 +122,7 @@
protected void onCreate(Bundle savedInstanceState, Intent intent,
CharSequence title, Intent[] initialIntents, List<ResolveInfo> rList,
boolean alwaysUseOption) {
- setTheme(R.style.Theme_DeviceDefault_Light_Dialog_Alert);
+ setTheme(R.style.Theme_DeviceDefault_Resolver);
super.onCreate(savedInstanceState);
try {
mLaunchedFromUid = ActivityManagerNative.getDefault().getLaunchedFromUid(
@@ -132,10 +134,6 @@
mAlwaysUseOption = alwaysUseOption;
mMaxColumns = getResources().getInteger(R.integer.config_maxResolverActivityColumns);
- AlertController.AlertParams ap = mAlertParams;
-
- ap.mTitle = title;
-
mPackageMonitor.register(this, getMainLooper(), false);
mRegistered = true;
@@ -151,15 +149,17 @@
finish();
return;
} else if (count > 1) {
- ap.mView = getLayoutInflater().inflate(R.layout.resolver_list, null);
- mListView = (ListView) ap.mView.findViewById(R.id.resolver_list);
- mListView.setAdapter(mAdapter);
- mListView.setOnItemClickListener(this);
- mListView.setOnItemLongClickListener(new ItemLongClickListener());
+ setContentView(R.layout.resolver_list);
+ mGridView = (GridView) findViewById(R.id.resolver_list);
+ mGridView.setAdapter(mAdapter);
+ mGridView.setOnItemClickListener(this);
+ mGridView.setOnItemLongClickListener(new ItemLongClickListener());
if (alwaysUseOption) {
- mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
+ mGridView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
+
+ resizeGrid();
} else if (count == 1) {
startActivity(mAdapter.intentForPosition(0));
mPackageMonitor.unregister();
@@ -167,10 +167,19 @@
finish();
return;
} else {
- ap.mMessage = getResources().getText(R.string.noApplications);
+ setContentView(R.layout.resolver_list);
+
+ final TextView empty = (TextView) findViewById(R.id.empty);
+ empty.setVisibility(View.VISIBLE);
+
+ mGridView = (GridView) findViewById(R.id.resolver_list);
+ mGridView.setVisibility(View.GONE);
}
- setupAlert();
+ final TextView titleView = (TextView) findViewById(R.id.title);
+ if (titleView != null) {
+ titleView.setText(title);
+ }
if (alwaysUseOption) {
final ViewGroup buttonLayout = (ViewGroup) findViewById(R.id.button_bar);
@@ -184,12 +193,23 @@
// Set the initial highlight if there was a preferred or last used choice
final int initialHighlight = mAdapter.getInitialHighlight();
if (initialHighlight >= 0) {
- mListView.setItemChecked(initialHighlight, true);
+ mGridView.setItemChecked(initialHighlight, true);
onItemClick(null, null, initialHighlight, 0); // Other entries are not used
}
}
}
+ void resizeGrid() {
+ final int itemCount = mAdapter.getCount();
+ mGridView.setNumColumns(Math.min(itemCount, mMaxColumns));
+ }
+
+ void dismiss() {
+ if (!isFinishing()) {
+ finish();
+ }
+ }
+
Drawable getIcon(Resources res, int resId) {
Drawable result;
try {
@@ -258,26 +278,26 @@
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if (mAlwaysUseOption) {
- final int checkedPos = mListView.getCheckedItemPosition();
+ final int checkedPos = mGridView.getCheckedItemPosition();
final boolean hasValidSelection = checkedPos != ListView.INVALID_POSITION;
mLastSelected = checkedPos;
setAlwaysButtonEnabled(hasValidSelection, checkedPos);
mOnceButton.setEnabled(hasValidSelection);
if (hasValidSelection) {
- mListView.setSelection(checkedPos);
+ mGridView.setSelection(checkedPos);
}
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- final int checkedPos = mListView.getCheckedItemPosition();
+ final int checkedPos = mGridView.getCheckedItemPosition();
final boolean hasValidSelection = checkedPos != ListView.INVALID_POSITION;
if (mAlwaysUseOption && (!hasValidSelection || mLastSelected != checkedPos)) {
setAlwaysButtonEnabled(hasValidSelection, checkedPos);
mOnceButton.setEnabled(hasValidSelection);
if (hasValidSelection) {
- mListView.smoothScrollToPosition(checkedPos);
+ mGridView.smoothScrollToPosition(checkedPos);
}
mLastSelected = checkedPos;
} else {
@@ -298,7 +318,7 @@
public void onButtonClick(View v) {
final int id = v.getId();
- startSelected(mListView.getCheckedItemPosition(), id == R.id.button_always);
+ startSelected(mGridView.getCheckedItemPosition(), id == R.id.button_always);
dismiss();
}
@@ -462,7 +482,7 @@
mInitialIntents = initialIntents;
mBaseResolveList = rList;
mLaunchedFromUid = launchedFromUid;
- mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ mInflater = LayoutInflater.from(context);
mList = new ArrayList<DisplayResolveInfo>();
rebuildList();
}
@@ -475,6 +495,8 @@
if (newItemCount == 0) {
// We no longer have any items... just finish the activity.
finish();
+ } else if (newItemCount != oldItemCount) {
+ resizeGrid();
}
}
diff --git a/core/java/com/android/internal/content/NativeLibraryHelper.java b/core/java/com/android/internal/content/NativeLibraryHelper.java
index 832829d..b4352f8 100644
--- a/core/java/com/android/internal/content/NativeLibraryHelper.java
+++ b/core/java/com/android/internal/content/NativeLibraryHelper.java
@@ -16,12 +16,22 @@
package com.android.internal.content;
+import static android.content.pm.PackageManager.INSTALL_FAILED_NO_MATCHING_ABIS;
+import static android.content.pm.PackageManager.INSTALL_SUCCEEDED;
+import static android.content.pm.PackageManager.NO_NATIVE_LIBRARIES;
+
import android.content.pm.PackageManager;
+import android.content.pm.PackageParser;
+import android.content.pm.PackageParser.PackageLite;
+import android.content.pm.PackageParser.PackageParserException;
import android.util.Slog;
+import dalvik.system.CloseGuard;
+
import java.io.Closeable;
import java.io.File;
import java.io.IOException;
+import java.util.List;
/**
* Native libraries helper.
@@ -34,41 +44,75 @@
private static final boolean DEBUG_NATIVE = false;
/**
- * A handle to an opened APK. Used as input to the various NativeLibraryHelper
- * methods. Allows us to scan and parse the APK exactly once instead of doing
- * it multiple times.
+ * A handle to an opened package, consisting of one or more APKs. Used as
+ * input to the various NativeLibraryHelper methods. Allows us to scan and
+ * parse the APKs exactly once instead of doing it multiple times.
*
* @hide
*/
- public static class ApkHandle implements Closeable {
- final String apkPath;
- final long apkHandle;
+ public static class Handle implements Closeable {
+ private final CloseGuard mGuard = CloseGuard.get();
+ private volatile boolean mClosed;
- public static ApkHandle create(String path) throws IOException {
- final long handle = nativeOpenApk(path);
- if (handle == 0) {
- throw new IOException("Unable to open APK: " + path);
+ final long[] apkHandles;
+
+ public static Handle create(File packageFile) throws IOException {
+ try {
+ final PackageLite lite = PackageParser.parsePackageLite(packageFile, 0);
+ return create(lite);
+ } catch (PackageParserException e) {
+ throw new IOException("Failed to parse package: " + packageFile, e);
+ }
+ }
+
+ public static Handle create(PackageLite lite) throws IOException {
+ final List<String> codePaths = lite.getAllCodePaths();
+ final int size = codePaths.size();
+ final long[] apkHandles = new long[size];
+ for (int i = 0; i < size; i++) {
+ final String path = codePaths.get(i);
+ apkHandles[i] = nativeOpenApk(path);
+ if (apkHandles[i] == 0) {
+ // Unwind everything we've opened so far
+ for (int j = 0; j < i; j++) {
+ nativeClose(apkHandles[j]);
+ }
+ throw new IOException("Unable to open APK: " + path);
+ }
}
- return new ApkHandle(path, handle);
+ return new Handle(apkHandles);
}
- public static ApkHandle create(File path) throws IOException {
- return create(path.getAbsolutePath());
- }
-
- private ApkHandle(String apkPath, long apkHandle) {
- this.apkPath = apkPath;
- this.apkHandle = apkHandle;
+ Handle(long[] apkHandles) {
+ this.apkHandles = apkHandles;
+ mGuard.open("close");
}
@Override
public void close() {
- nativeClose(apkHandle);
+ for (long apkHandle : apkHandles) {
+ nativeClose(apkHandle);
+ }
+ mGuard.close();
+ mClosed = true;
+ }
+
+ @Override
+ protected void finalize() throws Throwable {
+ if (mGuard != null) {
+ mGuard.warnIfOpen();
+ }
+ try {
+ if (!mClosed) {
+ close();
+ }
+ } finally {
+ super.finalize();
+ }
}
}
-
private static native long nativeOpenApk(String path);
private static native void nativeClose(long handle);
@@ -79,8 +123,12 @@
*
* @return size of all native binary files in bytes
*/
- public static long sumNativeBinariesLI(ApkHandle handle, String abi) {
- return nativeSumNativeBinaries(handle.apkHandle, abi);
+ public static long sumNativeBinariesLI(Handle handle, String abi) {
+ long sum = 0;
+ for (long apkHandle : handle.apkHandles) {
+ sum += nativeSumNativeBinaries(apkHandle, abi);
+ }
+ return sum;
}
private native static int nativeCopyNativeBinaries(long handle,
@@ -94,9 +142,15 @@
* @return {@link PackageManager#INSTALL_SUCCEEDED} if successful or another
* error code from that class if not
*/
- public static int copyNativeBinariesIfNeededLI(ApkHandle handle, File sharedLibraryDir,
+ public static int copyNativeBinariesIfNeededLI(Handle handle, File sharedLibraryDir,
String abi) {
- return nativeCopyNativeBinaries(handle.apkHandle, sharedLibraryDir.getPath(), abi);
+ for (long apkHandle : handle.apkHandles) {
+ int res = nativeCopyNativeBinaries(apkHandle, sharedLibraryDir.getPath(), abi);
+ if (res != INSTALL_SUCCEEDED) {
+ return res;
+ }
+ }
+ return INSTALL_SUCCEEDED;
}
/**
@@ -106,8 +160,29 @@
* APK doesn't contain any native code, and
* {@link PackageManager#INSTALL_FAILED_NO_MATCHING_ABIS} if none of the ABIs match.
*/
- public static int findSupportedAbi(ApkHandle handle, String[] supportedAbis) {
- return nativeFindSupportedAbi(handle.apkHandle, supportedAbis);
+ public static int findSupportedAbi(Handle handle, String[] supportedAbis) {
+ int finalRes = NO_NATIVE_LIBRARIES;
+ for (long apkHandle : handle.apkHandles) {
+ final int res = nativeFindSupportedAbi(apkHandle, supportedAbis);
+ if (res == NO_NATIVE_LIBRARIES) {
+ // No native code, keep looking through all APKs.
+ } else if (res == INSTALL_FAILED_NO_MATCHING_ABIS) {
+ // Found some native code, but no ABI match; update our final
+ // result if we haven't found other valid code.
+ if (finalRes < 0) {
+ finalRes = INSTALL_FAILED_NO_MATCHING_ABIS;
+ }
+ } else if (res >= 0) {
+ // Found valid native code, track the best ABI match
+ if (finalRes < 0 || res < finalRes) {
+ finalRes = res;
+ }
+ } else {
+ // Unexpected error; bail
+ return res;
+ }
+ }
+ return finalRes;
}
private native static int nativeFindSupportedAbi(long handle, String[] supportedAbis);
@@ -156,13 +231,16 @@
// We don't care about the other return values for now.
private static final int BITCODE_PRESENT = 1;
- public static boolean hasRenderscriptBitcode(ApkHandle handle) throws IOException {
- final int returnVal = hasRenderscriptBitcode(handle.apkHandle);
- if (returnVal < 0) {
- throw new IOException("Error scanning APK, code: " + returnVal);
+ public static boolean hasRenderscriptBitcode(Handle handle) throws IOException {
+ for (long apkHandle : handle.apkHandles) {
+ final int res = hasRenderscriptBitcode(apkHandle);
+ if (res < 0) {
+ throw new IOException("Error scanning APK, code: " + res);
+ } else if (res == BITCODE_PRESENT) {
+ return true;
+ }
}
-
- return (returnVal == BITCODE_PRESENT);
+ return false;
}
private static native int hasRenderscriptBitcode(long apkHandle);
diff --git a/core/java/com/android/internal/content/PackageHelper.java b/core/java/com/android/internal/content/PackageHelper.java
index 1a4835b..eff6684 100644
--- a/core/java/com/android/internal/content/PackageHelper.java
+++ b/core/java/com/android/internal/content/PackageHelper.java
@@ -207,7 +207,10 @@
return false;
}
- public static int extractPublicFiles(String packagePath, File publicZipFile)
+ /**
+ * Extract public files for the single given APK.
+ */
+ public static int extractPublicFiles(String apkPath, File publicZipFile)
throws IOException {
final FileOutputStream fstr;
final ZipOutputStream publicZipOutStream;
@@ -223,7 +226,7 @@
int size = 0;
try {
- final ZipFile privateZip = new ZipFile(packagePath);
+ final ZipFile privateZip = new ZipFile(apkPath);
try {
// Copy manifest, resources.arsc and res directory to public zip
for (final ZipEntry zipEntry : Collections.list(privateZip.entries())) {
diff --git a/core/java/com/android/internal/os/IParcelFileDescriptorFactory.aidl b/core/java/com/android/internal/os/IParcelFileDescriptorFactory.aidl
new file mode 100644
index 0000000..c9dcd06
--- /dev/null
+++ b/core/java/com/android/internal/os/IParcelFileDescriptorFactory.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2014 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.internal.os;
+
+import android.os.ParcelFileDescriptor;
+
+/** {@hide} */
+interface IParcelFileDescriptorFactory {
+ // NOTE: implementors should carefully sanitize the incoming name
+ // using something like FileUtils.isValidExtFilename()
+ ParcelFileDescriptor open(String name, int mode);
+}
diff --git a/core/res/res/layout/resolve_list_item.xml b/core/res/res/layout/resolve_list_item.xml
index 281541b..75b0c3d 100644
--- a/core/res/res/layout/resolve_list_item.xml
+++ b/core/res/res/layout/resolve_list_item.xml
@@ -18,9 +18,11 @@
*/
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
+ android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="match_parent"
+ android:paddingTop="4dp"
+ android:paddingBottom="4dp"
android:background="?attr/activatedBackgroundIndicator">
<!-- Activity icon when presenting dialog
@@ -28,28 +30,31 @@
<ImageView android:id="@+id/icon"
android:layout_width="0dp"
android:layout_height="0dp"
- android:layout_marginStart="12dp"
- android:padding="4dp"
+ android:layout_gravity="center"
+ android:layout_margin="4dp"
android:scaleType="fitCenter" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:gravity="start|center_vertical"
+ android:gravity="center"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:layout_gravity="start|center_vertical"
- android:layout_marginStart="12dp">
+ android:layout_gravity="center">
<!-- Activity name -->
<TextView android:id="@android:id/text1"
- android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:gravity="center"
+ android:minLines="2"
android:maxLines="2" />
<!-- Extended activity info to distinguish between duplicate activity names -->
<TextView android:id="@android:id/text2"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:gravity="center"
+ android:minLines="2"
android:maxLines="2"
android:paddingTop="4dip" />
</LinearLayout>
diff --git a/core/res/res/layout/resolver_list.xml b/core/res/res/layout/resolver_list.xml
index f88ced1..40bae71 100644
--- a/core/res/res/layout/resolver_list.xml
+++ b/core/res/res/layout/resolver_list.xml
@@ -20,20 +20,43 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:divider="?android:attr/dividerHorizontal"
- android:showDividers="middle"
- android:dividerPadding="0dip">
+ >
+ <Space android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
- <FrameLayout android:layout_width="match_parent"
+ <!-- TODO Drawer-thing -->
+ <LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1">
+ android:layout_weight="1"
+ android:orientation="vertical"
+ android:paddingLeft="32dp"
+ android:paddingRight="32dp"
+ android:background="@color/white"
+ android:elevation="8dp">
- <ListView
+ <TextView android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="?android:attr/listPreferredItemHeight"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:gravity="start|center_vertical" />
+
+ <GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:id="@+id/resolver_list" />
+ android:id="@+id/resolver_list"
+ android:numColumns="4"
+ android:columnWidth="128dp"
+ android:clipToPadding="false"
+ android:scrollbarStyle="outsideOverlay" />
- </FrameLayout>
+ <TextView android:id="@+id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/noApplications"
+ android:visibility="gone" />
+
+ </LinearLayout>
<LinearLayout
android:id="@+id/button_bar"
@@ -41,32 +64,39 @@
style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:gravity="end"
android:orientation="horizontal"
android:layoutDirection="locale"
- android:measureWithLargestChild="true">
+ android:measureWithLargestChild="true"
+ android:background="@color/white"
+ android:elevation="8dp">
+ <Button android:id="@+id/button_once"
+ android:layout_width="wrap_content"
+ android:layout_gravity="start"
+ android:maxLines="2"
+ style="?android:attr/buttonBarButtonStyle"
+ android:textSize="14sp"
+ android:minHeight="@dimen/alert_dialog_button_bar_height"
+ android:layout_height="wrap_content"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:enabled="false"
+ android:text="@string/activity_resolver_use_once"
+ android:onClick="onButtonClick" />
<Button android:id="@+id/button_always"
android:layout_width="wrap_content"
android:layout_gravity="end"
- android:layout_weight="1"
android:maxLines="2"
android:minHeight="@dimen/alert_dialog_button_bar_height"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
style="?android:attr/buttonBarButtonStyle"
+ android:textColor="@color/material_blue_500"
android:textSize="14sp"
android:layout_height="wrap_content"
android:enabled="false"
android:text="@string/activity_resolver_use_always"
android:onClick="onButtonClick" />
- <Button android:id="@+id/button_once"
- android:layout_width="wrap_content"
- android:layout_gravity="start"
- android:layout_weight="1"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle"
- android:textSize="14sp"
- android:minHeight="@dimen/alert_dialog_button_bar_height"
- android:layout_height="wrap_content"
- android:enabled="false"
- android:text="@string/activity_resolver_use_once"
- android:onClick="onButtonClick" />
</LinearLayout>
+
</LinearLayout>
\ No newline at end of file
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 383dee4..7f8fe4d 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -1312,7 +1312,7 @@
<!-- Maximum number of grid columns permitted in the ResolverActivity
used for picking activities to handle an intent. -->
- <integer name="config_maxResolverActivityColumns">2</integer>
+ <integer name="config_maxResolverActivityColumns">3</integer>
<!-- Array of OEM specific USB mode override config.
OEM can override a certain USB mode depending on ro.bootmode.
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 236f99f..4d12c36 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -1502,7 +1502,7 @@
<string name="permlab_accessLocationExtraCommands">access extra location provider commands</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permdesc_accessLocationExtraCommands">Allows the app to access
- extra location provider commands. This may allow the app to to interfere
+ extra location provider commands. This may allow the app to interfere
with the operation of the GPS or other location sources.</string>
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 5fea729..8cc84cf 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1896,6 +1896,7 @@
<java-symbol type="color" name="timepicker_default_numbers_background_color_material" />
<java-symbol type="style" name="TextAppearance.Material.TimePicker.TimeLabel" />
<java-symbol type="attr" name="seekBarPreferenceStyle" />
+ <java-symbol type="style" name="Theme.DeviceDefault.Resolver" />
<java-symbol type="bool" name="skipHoldBeforeMerge" />
<java-symbol type="bool" name="useImsAlwaysForEmergencyCall" />
diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml
index 8e83e48..1a99f8c 100644
--- a/core/res/res/values/themes_device_defaults.xml
+++ b/core/res/res/values/themes_device_defaults.xml
@@ -560,4 +560,15 @@
<!-- DeviceDefault theme for a window that should look like the Settings app. -->
<style name="Theme.DeviceDefault.Settings" parent="Theme.Material.Settings" />
+ <!-- Theme used for the intent picker activity. -->
+ <style name="Theme.DeviceDefault.Resolver" parent="Theme.Material.Light">
+ <item name="windowIsTranslucent">true</item>
+ <item name="windowNoTitle">true</item>
+ <item name="windowBackground">@color/transparent</item>
+ <item name="statusBarColor">@color/black</item>
+ <item name="navigationBarColor">@color/black</item>
+ <item name="windowContentOverlay">@null</item>
+ <item name="colorControlActivated">?attr/colorControlHighlight</item>
+ </style>
+
</resources>
diff --git a/docs/html/guide/topics/connectivity/nfc/nfc.jd b/docs/html/guide/topics/connectivity/nfc/nfc.jd
index 5011872..19ce4d7 100644
--- a/docs/html/guide/topics/connectivity/nfc/nfc.jd
+++ b/docs/html/guide/topics/connectivity/nfc/nfc.jd
@@ -477,7 +477,7 @@
<li>{@link android.nfc.NfcAdapter#EXTRA_TAG} (required): A {@link android.nfc.Tag} object
representing the scanned tag.</li>
<li>{@link android.nfc.NfcAdapter#EXTRA_NDEF_MESSAGES} (optional): An array of NDEF messages
-parsed from the tag. This extra is mandatory on {@link android.nfc.NfcAdapter#ACTION_NDEF_DISCOVERED
+parsed from the tag. This extra is mandatory on {@link android.nfc.NfcAdapter#ACTION_NDEF_DISCOVERED}
intents.</li>
<li>{@link android.nfc.NfcAdapter#EXTRA_ID} (optional): The low-level ID of the tag.</li></ul>
diff --git a/docs/html/guide/topics/manifest/application-element.jd b/docs/html/guide/topics/manifest/application-element.jd
index 28deed9..33f6bce 100644
--- a/docs/html/guide/topics/manifest/application-element.jd
+++ b/docs/html/guide/topics/manifest/application-element.jd
@@ -81,7 +81,7 @@
</p></dd>
-<dt><a name="allowbackup"></a>{@code android:allowbackup}</dt>
+<dt><a name="allowbackup"></a>{@code android:allowBackup}</dt>
<dd>Whether to allow the application to participate in the backup
and restore infrastructure. If this attribute is set to false, no backup
or restore of the application will ever be performed, even by a full-system
diff --git a/docs/html/guide/topics/ui/layout/relative.jd b/docs/html/guide/topics/ui/layout/relative.jd
index 69f5c0a..4354d7f 100644
--- a/docs/html/guide/topics/ui/layout/relative.jd
+++ b/docs/html/guide/topics/ui/layout/relative.jd
@@ -20,7 +20,7 @@
<p>{@link android.widget.RelativeLayout} is a view group that displays child views in relative
positions. The position of each view can be specified as relative to sibling elements (such as to
the left-of or below another view) or in positions relative to the parent {@link
-android.widget.RelativeLayout} area (such as aligned to the bottom, left of center).</p>
+android.widget.RelativeLayout} area (such as aligned to the bottom, left or center).</p>
<img src="{@docRoot}images/ui/relativelayout.png" alt="" />
diff --git a/graphics/java/android/graphics/BitmapFactory.java b/graphics/java/android/graphics/BitmapFactory.java
index bc20ea5..eda1a5d 100644
--- a/graphics/java/android/graphics/BitmapFactory.java
+++ b/graphics/java/android/graphics/BitmapFactory.java
@@ -487,7 +487,7 @@
/**
* Synonym for {@link #decodeResource(Resources, int, android.graphics.BitmapFactory.Options)}
- * will null Options.
+ * with null Options.
*
* @param res The resources object containing the image data
* @param id The resource id of the image data
diff --git a/graphics/java/android/graphics/PathMeasure.java b/graphics/java/android/graphics/PathMeasure.java
index ba2228c..7cc9765 100644
--- a/graphics/java/android/graphics/PathMeasure.java
+++ b/graphics/java/android/graphics/PathMeasure.java
@@ -35,7 +35,7 @@
/**
* Create a PathMeasure object associated with the specified path object
- * (already created and specified). The meansure object can now return the
+ * (already created and specified). The measure object can now return the
* path's length, and the position and tangent of any position along the
* path.
*
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 36778aa..4502a5b 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -1648,7 +1648,7 @@
}
if (!intent.isTargetedToPackage()) {
IllegalArgumentException e = new IllegalArgumentException(
- "pending intent msut be targeted to package");
+ "pending intent must be targeted to package");
if (mContext.getApplicationInfo().targetSdkVersion > Build.VERSION_CODES.JELLY_BEAN) {
throw e;
} else {
diff --git a/packages/BackupRestoreConfirmation/res/values-bn-rBD/strings.xml b/packages/BackupRestoreConfirmation/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..3df7c4d
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-bn-rBD/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"সম্পূর্ণ ব্যাকআপ"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"সম্পূর্ণ পুনরুদ্ধার"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"একটি সংযুক্ত ডেস্কটপ কম্পিউটার থেকে সমস্ত ডেটার সম্পূর্ণ ব্যাকআপ নেওয়ার অনুরোধ করা হয়েছে৷ আপনি কি এটি করার অনুমতি দিতে চান?\n\nযদি আপনি নিজের থেকে এই ব্যাকআপ নেওয়ার অনুরোধ না করে থাকেন, তবে এটি প্রক্রিয়াটিতে অনুমতি প্রদান করবেন না৷"</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"আমার ডেটার ব্যাকআপ রাখুন"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"ব্যাক আপ করবেন না"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"একটি সংযুক্ত ডেস্কটপ কম্পিউটার থেকে সমস্ত ডেটার সম্পূর্ণ ব্যাকআপ নেওয়ার অনুরোধ করা হয়েছে৷ আপনি কি এটি করার অনুমতি দিতে চান?\n\nযদি আপনি নিজের থেকে এই ব্যাকআপ নেওয়ার অনুরোধ না করে থাকেন, তবে এই প্রক্রিয়াটিতে অনুমতি প্রদান করবেন না৷ এটি বর্তমানে ডিভাইসটিতে থাকা সমস্ত ডেটাকে প্রতিস্থাপন করবে!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"আমার ডেটা পুনরুদ্ধার করুন"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"পুনরুদ্ধার করবেন না"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"দয়া করে নীচে আপনার বর্তমান ব্যাকআপের পাসওয়ার্ড দিন:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"দয়া করে নীচে আপনার ডিভাইসের এনক্রিপশান পাসওয়ার্ড লিখুন৷"</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"দয়া করে নীচে আপানার ডিভাইসের এনক্রিপশান পাসওয়ার্ড লিখুন৷ এছাড়াও ব্যাকআপ সংরক্ষণাগার এনক্রিপ্ট করতে এটি ব্যবহার করা হবে৷"</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"সম্পূর্ণ ব্যাকআপ ডেটা এনক্রিপ্ট করতে দয়া করে একটি পাসওয়ার্ড লিখুন৷ যদি এটি খালি রেখে দেওয়া হয় তবে আপনার বর্তমান ব্যাকআপ পাসওয়ার্ডটি ব্যবহার করা হবে:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"আপনি যদি সম্পূর্ণ ব্যাকআপ ডেটা এনক্রিপ্ট করতে চান তাহলে নীচে একটি পাসওয়ার্ড লিখুন:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"যদি পুনরুদ্ধার করা ডেটা এনক্রিপ্ট করা থাকে, তবে দয়া করে নীচে পাসওয়ার্ডটি লিখুন:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"ব্যাকআপ নেওয়া শুরু হয়েছে..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"ব্যাকআপ নেওয়া সম্পূর্ণ হয়েছে"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"পুনরুদ্ধার করা শুরু হচ্ছে..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"পুনরুদ্ধার করা শেষ হয়েছে"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"ক্রিয়াকলাপের সময় শেষ হয়েছে"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-eu-rES/strings.xml b/packages/BackupRestoreConfirmation/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..a563524
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-eu-rES/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"Babeskopia osoa"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"Leheneratze osoa"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"Datu guztien babeskopia egitea eta konektatutako ordenagailu batean gordetzea eskatu da. Horretarako baimena eman nahi duzu?\n\nEz baduzu babeskopia egitea zeuk eskatu, ez eman eragiketarekin jarraitzeko baimena."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"Egin datuen babeskopia"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"Ez egin babeskopia"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"Konektatutako ordenagailu bateko datu guztiak leheneratzeko eskatu da. Horretarako baimena eman nahi duzu?\n\nEz baduzu leheneratzea zeuk eskatu, ez eman eragiketarekin jarraitzeko baimena. Eragiketa gauzatzen bada, gailuan dituzun datu guztiak ordeztuko dira!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"Leheneratu datuak"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"Ez leheneratu"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"Idatzi babeskopien uneko pasahitza behean:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"Idatzi behean gailua enkriptatzeko pasahitza."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Idatzi gailua enkriptatzeko pasahitza behean. Babeskopiaren artxiboa enkriptatzeko ere erabiliko da."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"Idatzi babeskopia osoaren datuak enkriptatzeko erabili nahi duzun pasahitza. Eremua hutsik uzten baduzu, babeskopien uneko pasahitza erabiliko da:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"Babeskopia osoko datuak enkriptatu nahi badituzu, idatzi pasahitza behean:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"Leheneratze-datuak enkriptatuta badaude, idatzi pasahitza behean:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"Babeskopia egiten hasten…"</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"Babeskopia egin da"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"Leheneratzen hasten…"</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"Leheneratu da"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"Eragiketak denbora-muga gainditu du"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-gl-rES/strings.xml b/packages/BackupRestoreConfirmation/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..18beb0f
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-gl-rES/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"Copia de seguranza completa"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"Restauración completa"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"Solicitouse unha copia de seguranza completa de todos os datos nun ordenador de escritorio conectado. Queres permitir esta operación?\n\nSe non a solicitaches ti, non permitas que se realice."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"Realizar unha copia de seguranza dos meus datos"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"Non realizar copia de seguranza"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"Solicitouse unha restauración de todos os datos desde un ordenador de escritorio conectado. Queres permitir esta operación?\n\nSe non o solicitaches ti, non permitas que se realice. Substituiranse todos os datos que conteña o dispositivo."</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"Restaurar os meus datos"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"Non restaurar"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"Insire o contrasinal de copia de seguranza actual a continuación:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"Insire o contrasinal de encriptación do teu dispositivo a continuación."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Insire o contrasinal de encriptación do dispositivo a continuación. Tamén se usará para encriptar o arquivo de copia de seguranza."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"Insire un contrasinal para encriptar os datos da copia de seguranza completa. Se queda en branco este campo, usarase o contrasinal de copia de seguranza actual."</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"Se queres encriptar os datos da copia de seguranza completa, insire un contrasinal a continuación:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"Se os datos de restauración están encriptados, insire o contrasinal a continuación:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"Iniciando copia de seguranza..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"A copia de seguranza rematou"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"Iniciando restauración..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"A restauración rematou"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"A operación superou o tempo de espera"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-kn-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..71c60f7
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-kn-rIN/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"ಸಂಪೂರ್ಣ ಬ್ಯಾಕಪ್"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"ಸಂಪೂರ್ಣ ಮರುಸ್ಥಾಪನೆ"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"ಸಂಪರ್ಕಗೊಂಡಿರುವ ಡೆಸ್ಕ್ಟಾಪ್ ಕಂಪ್ಯೂಟರ್ಗೆ ಎಲ್ಲಾ ಡೇಟಾದ ಸಂಪೂರ್ಣ ಬ್ಯಾಕಪ್ ಮಾಡಲು ವಿನಂತಿಸಲಾಗಿದೆ. ಇದಕ್ಕೆ ನೀವು ಅವಕಾಶ ಮಾಡಿಕೊಡುವಿರಾ? \n\nನೀವಾಗಿಯೇ ಬ್ಯಾಕಪ್ ಮಾಡಿಕೊಳ್ಳಲು ವಿನಂತಿಸಿಲ್ಲವಾದರೆ, ಕಾರ್ಯಾಚರಣೆ ಮುಂದುವರಿಯಲು ಅನುಮತಿಸಬೇಡಿ."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"ನನ್ನ ಡೇಟಾವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡು"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"ಬ್ಯಾಕ್ ಅಪ್ ಮಾಡದಿರು"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"ಸಂಪರ್ಕಗೊಂಡಿರುವ ಡೆಸ್ಕ್ಟಾಪ್ ಕಂಪ್ಯೂಟರ್ನಿಂದ ಎಲ್ಲಾ ಡೇಟಾದ ಸಂಪೂರ್ಣ ಮರುಸ್ಥಾಪನೆಗೆ ವಿನಂತಿಸಿಕೊಳ್ಳಲಾಗಿದೆ. ಇದಕ್ಕೆ ನೀವು ಅವಕಾಶ ಮಾಡಿಕೊಡುವಿರಾ? \n\nನೀವಾಗಿಯೇ ಮರುಸ್ಥಾಪಿಸಿಕೊಳ್ಳಲು ನೀವು ವಿನಂತಿಸಿಲ್ಲವಾದರೆ, ಕಾರ್ಯಾಚರಣೆ ಮುಂದುವರಿಯಲು ಅನುಮತಿಸಬೇಡಿ. ಇದು ಪ್ರಸ್ತುತ ಸಾಧನದಲ್ಲಿರುವ ಯಾವುದೇ ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸಬಲ್ಲದು!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"ನನ್ನ ಡೇಟಾವನ್ನು ಮರುಸಂಗ್ರಹಿಸು"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"ಮರುಸಂಗ್ರಹಿಸದಿರು"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"ದಯವಿಟ್ಟು ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಬ್ಯಾಕಪ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಕೆಳಗೆ ನಮೂದಿಸಿ:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸಾಧನದ ಎನ್ಕ್ರಿಪ್ಷನ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಕೆಳಗೆ ನಮೂದಿಸಿ."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"ದಯವಿಟ್ಟು ಕೆಳಗೆ ನಿಮ್ಮ ಸಾಧನದ ಎನ್ಕ್ರಿಪ್ಶನ್ ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ. ಇದನ್ನು ಬ್ಯಾಕಪ್ ಆರ್ಕೈವ್ ಅನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"ಸಂಪೂರ್ಣ ಬ್ಯಾಕಪ್ ಡೇಟಾವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ. ಇದನ್ನು ಖಾಲಿಯಾಗಿಯೇ ಬಿಟ್ಟರೆ, ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಬ್ಯಾಕಪ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"ನೀವು ಸಂಪೂರ್ಣ ಬ್ಯಾಕಪ್ ಡೇಟಾವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಯಸಿದರೆ, ಕಳಗೆ ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"ಮರುಸ್ಥಾಪಿಸಲಾದ ಡೇಟಾವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದ್ದರೆ, ದಯವಿಟ್ಟು ಪಾಸ್ವರ್ಡ್ ಕೆಳಗೆ ನಮೂದಿಸಿ:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"ಬ್ಯಾಕಪ್ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"ಬ್ಯಾಕಪ್ ಪೂರ್ಣಗೊಂಡಿದೆ"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"ಮರುಸ್ಥಾಪನೆ ಪ್ರಾರಂಭಗೊಂಡಿದೆ..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"ಮರುಸ್ಥಾಪನೆ ಅಂತ್ಯಗೊಂಡಿದೆ"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"ಕಾರ್ಯಾಚರಣೆ ಸಮಯ ಮೀರಿದೆ"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-ml-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..be4335b
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-ml-rIN/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"പൂർണ്ണ ബാക്കപ്പ്"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"പൂർണ്ണമായി പുനഃസ്ഥാപിക്കൽ"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"കണക്റ്റുചെയ്ത ഡെസ്ക്ടോപ്പ് കമ്പ്യൂട്ടറിലേക്കുള്ള എല്ലാ ഡാറ്റയുടെയും പൂർണ്ണ ബാക്കപ്പ് ആവശ്യപ്പെട്ടു. ഇത് സംഭവിക്കാൻ അനുവദിക്കണോ?\n\nനിങ്ങൾ സ്വയം ബാക്കപ്പുചെയ്യാൻ ആവശ്യപ്പെട്ടില്ലെങ്കിൽ, ഈ പ്രവർത്തനം തുടരാൻ അനുവദിക്കരുത്."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"എന്റെ ഡാറ്റ ബാക്കപ്പുചെയ്യുക"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"ബാക്കപ്പ് ചെയ്യരുത്"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"കണക്റ്റുചെയ്ത ഡെസ്ക്ടോപ്പ് കമ്പ്യൂട്ടറിലേക്കുള്ള എല്ലാ ഡാറ്റയുടെയും പൂർണ്ണ ബാക്കപ്പ് ആവശ്യപ്പെട്ടു. ഇത് സംഭവിക്കാൻ അനുവദിക്കണോ?\n\nനിങ്ങൾ സ്വയം ബാക്കപ്പുചെയ്യാൻ ആവശ്യപ്പെട്ടില്ലെങ്കിൽ, ഈ പ്രവർത്തനം തുടരാൻ അനുവദിക്കരുത്. ഇത് ഉപകരണത്തിൽ നിലവിലുള്ള എല്ലാ ഡാറ്റയേയും മാറ്റി പകരം വയ്ക്കും!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"എന്റെ ഡാറ്റ പുനഃസ്ഥാപിക്കുക"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"പുനഃസ്ഥാപിക്കരുത്"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"നിങ്ങളുടെ നിലവിലെ ബാക്കപ്പ് പാസ്വേഡ് താഴെ നൽകുക:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"താഴെ നിങ്ങളുടെ ഉപകരണ എൻക്രിപ്ഷൻ പാസ്വേഡ് നൽകുക."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"നിങ്ങളുടെ ഉപകരണ എൻക്രിപ്ഷൻ പാസ്വേഡ് ചുവടെ നൽകുക. ബാക്കപ്പ് ആർക്കൈവ് എൻക്രിപ്റ്റുചെയ്യാനും ഇത് ഉപയോഗിക്കുന്നു."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"പൂർണ്ണ ബാക്കപ്പ് ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യുന്നതിനായി ഉപയോഗിക്കാൻ ഒരു പാസ്വേഡ് നൽകുക. ഇത് ശൂന്യമായി വിടുകയാണെങ്കിൽ, നിങ്ങളുടെ നിലവിലെ ബാക്കപ്പ് പാസ്വേഡ് ഉപയോഗിക്കും:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"പൂർണ്ണ ബാക്കപ്പ് ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യണമെങ്കിൽ, ചുവടെ ഒരു പാസ്വേഡ് നൽകുക:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"പുനഃസ്ഥാപിച്ച ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ, പാസ്വേഡ് ചുവടെ നൽകുക:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"ബാക്കപ്പ് ആരംഭിക്കുന്നു..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"ബാക്കപ്പ് പൂർത്തിയായി"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"പുനഃസ്ഥാപിക്കൽ ആരംഭിക്കുന്നു..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"പുനഃസ്ഥാപിക്കൽ അവസാനിച്ചു"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"പ്രവർത്തനം കാലഹരണപ്പെട്ടു"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-mr-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..8b49007
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-mr-rIN/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"पूर्ण बॅकअप"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"पूर्ण पुनर्संचयन"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"कनेक्ट केलेल्या डेस्कटॉप संगणकावरील सर्व डेटाच्या पूर्ण बॅकअपची विनंती केली गेली आहे. आपण असे होण्यासाठी अनुमती देऊ इच्छिता?\n\nआपण स्वत: बॅकअपची विनंती केली नसल्यास, कार्य पुढे सुरु राहण्यास अनुमती देऊ नका."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"माझ्या डेटाचा बॅकअप घ्या"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"बॅकअप घेऊ नका"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"कनेक्ट केलेल्या डेस्कटॉप संगणकावरील सर्व डेटाच्या पूर्ण पुनर्संचयनाची विनंती केली गेली आहे. आपण असे होण्यासाठी अनुमती देऊ इच्छिता?\n\nआपण स्वत: पुनर्संचयनाची विनंती केली नसल्यास, कार्य पुढे सुरु राहण्यास अनुमती देऊ नका. हे आपल्या डिव्हाइसवरील कोणत्याही वर्तमान डेटास पुनर्स्थित करेल!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"माझा डेटा पुनर्संचयित करा"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"पुनर्संचयित करू नका"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"कृपया आपला वर्तमान बॅकअप संकेतशब्द खाली प्रविष्ट करा:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"कृपया आपला डिव्हाइस कूटबद्धीकरण संकेतशब्द खाली प्रविष्ट करा."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"कृपया आपला डिव्हाइस कूटबद्धीकरण संकेतशब्द खाली प्रविष्ट करा. हा बॅकअप संग्रह कूटबद्ध करण्यासाठी देखील वापरला जाईल."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"कृपया पूर्ण बॅकअप डेटा कूटबद्ध करण्यासाठी वापरण्याकरिता संकेतशब्द प्रविष्ट करा. हे रिक्त सोडल्यास, आपला वर्तमान बॅकअप संकेतशब्द वापरला जाईल:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"आपण पूर्ण बॅकअप डेटा कूटबद्ध करू इच्छित असल्यास, खालील संकेतशब्द प्रविष्ट करा:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"पुनर्संचयित डेटा कूटबद्ध केला असल्यास, कृपया संकेतशब्द खाली प्रविष्ट करा:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"बॅकअप सुरू होत आहे..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"बॅकअप समाप्त झाले"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"पुनर्संचयन सुरू होत आहे..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"पुनर्संचयन समाप्त झाले"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"कार्य कालबाह्य झाले"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..c5dde9a
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-ta-rIN/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"முழு காப்புப் பிரதி"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"முழுமையாக மீட்டமை"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"இணைக்கப்பட்ட டெஸ்க்டாப் கணினியில் உள்ள எல்லா தரவையும் காப்புப் பிரதி எடுக்க கோரப்பட்டுள்ளது. இதை நீங்கள் அனுமதிக்கிறீர்களா?\n\nநீங்கள் காப்புப் பிரதியெடுக்க கோரவில்லையெனில், செயல்பாட்டை அனுமதிக்க வேண்டாம்."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"எனது தரவைக் காப்புப் பிரதி எடு"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"காப்புப் பிரதி எடுக்க வேண்டாம்"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"இணைக்கப்பட்ட டெஸ்க்டாப் கணினியில் உள்ள எல்லா தரவையும் முழுமையாக மீட்டமைக்க கோரப்பட்டுள்ளது. இதை நீங்கள் அனுமதிக்கிறீர்களா?\n\nநீங்கள் மீட்டமைக்க கோரவில்லையெனில், செயல்பாட்டை அனுமதிக்க வேண்டாம். தற்போது சாதனத்தில் உள்ள எல்லா தரவையும் இது மாற்றிவிடும்!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"எனது தரவை மீட்டமை"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"மீட்டமைக்க வேண்டாம்"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"உங்கள் நடப்புக் காப்புப் பிரதி கடவுச்சொலைக் கீழே உள்ளிடவும்:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"உங்கள் சாதன முறைமையாக்கல் கடவுச்சொல்லைக் கீழே உள்ளிடவும்."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"உங்கள் சாதன முறைமையாக்கல் கடவுச்சொல்லைக் கீழே உள்ளிடவும். இது காப்புப் பிரதி இயக்ககத்தை முறைமையாக்கவும் பயன்படுத்தப்படும்."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"காப்புப் பிரதி எடுக்கப்பட்ட முழு தரவையும் முறைமையாக்க கடவுச்சொல்லை உள்ளிடவும். இதைக் காலியாக விட்டால், உங்கள் தற்போதைய காப்புப் பிரதி கடவுச்சொல் பயன்படுத்தப்படும்:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"காப்புப் பிரதி எடுக்கப்பட்ட முழு தரவையும் முறைமையாக்க விரும்பினால், கடவுச்சொல்லை உள்ளிடவும்:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"மீட்டமைக்கப்பட்ட தரவு முறைமையாக்கப்பட்டிருந்தால், கீழே கடவுச்சொல்லை உள்ளிடவும்:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"காப்புப் பிரதி எடுக்க தொடங்குகிறது..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"காப்புப் பிரதி எடுப்பது முடிந்தது"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"மீட்டமைவு தொடங்குகிறது..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"மீட்டமைவு முடிந்தது"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"செயல்பாட்டின் நேரம் கடந்தது"</string>
+</resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-te-rIN/strings.xml b/packages/BackupRestoreConfirmation/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..781c3ae
--- /dev/null
+++ b/packages/BackupRestoreConfirmation/res/values-te-rIN/strings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="backup_confirm_title" msgid="827563724209303345">"పూర్తి బ్యాకప్"</string>
+ <string name="restore_confirm_title" msgid="5469365809567486602">"పూర్తి పునరుద్ధరణ"</string>
+ <string name="backup_confirm_text" msgid="1878021282758896593">"కనెక్ట్ చేసిన డెస్క్టాప్ కంప్యూటర్లో మొత్తం డేటాను పూర్తిగా బ్యాకప్ చేయాలని అభ్యర్థన అందింది. మీరు ఇలా చేయడానికి అనుమతించాలనుకుంటున్నారా?\n\nబ్యాకప్ను మీరు అభ్యర్థించి ఉండకపోతే, ఆ చర్య చేయడానికి అనుమతించవద్దు."</string>
+ <string name="allow_backup_button_label" msgid="4217228747769644068">"నా డేటాను బ్యాకప్ చేయి"</string>
+ <string name="deny_backup_button_label" msgid="6009119115581097708">"బ్యాకప్ చేయవద్దు"</string>
+ <string name="restore_confirm_text" msgid="7499866728030461776">"కనెక్ట్ చేసిన డెస్క్టాప్ కంప్యూటర్ నుండి మొత్తం డేటాను పూర్తిగా పునరుద్ధరించాలని అభ్యర్థన అందింది. మీరు ఇలా చేయడానికి అనుమతించాలనుకుంటున్నారా?\n\nపునరుద్ధరణను మీరు అభ్యర్థించి ఉండకపోతే, ఆ చర్య చేయడానికి అనుమతించవద్దు. దీని వల్ల ప్రస్తుతం పరికరంలో ఉన్న డేటా ఏదైనా భర్తీ చేయబడుతుంది!"</string>
+ <string name="allow_restore_button_label" msgid="3081286752277127827">"నా డేటాను పునరుద్ధరించు"</string>
+ <string name="deny_restore_button_label" msgid="1724367334453104378">"పునరుద్ధరించవద్దు"</string>
+ <string name="current_password_text" msgid="8268189555578298067">"దయచేసి దిగువ మీ ప్రస్తుత బ్యాకప్ పాస్వర్డ్ను నమోదు చేయండి:"</string>
+ <string name="device_encryption_restore_text" msgid="1570864916855208992">"దయచేసి దిగువ మీ పరికర గుప్తీకరణ పాస్వర్డ్ను నమోదు చేయండి."</string>
+ <string name="device_encryption_backup_text" msgid="5866590762672844664">"దయచేసి దిగువ మీ పరికర గుప్తీకరణ పాస్వర్డ్ను నమోదు చేయండి. ఇది బ్యాకప్ ఆర్కైవ్ను గుప్తీకరించడానికి కూడా ఉపయోగించబడుతుంది."</string>
+ <string name="backup_enc_password_text" msgid="4981585714795233099">"దయచేసి పూర్తి బ్యాకప్ డేటాను గుప్తీకరించడం కోసం ఉపయోగించడానికి పాస్వర్డ్ను నమోదు చేయండి. దీన్ని ఖాళీగా వదిలిపెడితే, మీ ప్రస్తుత బ్యాకప్ పాస్వర్డ్ ఉపయోగించబడుతుంది:"</string>
+ <string name="backup_enc_password_optional" msgid="1350137345907579306">"మీరు పూర్తి బ్యాకప్ డేటాను గుప్తీకరించాలని కోరుకుంటున్నట్లయితే, దిగువ పాస్వర్డ్ను నమోదు చేయండి:"</string>
+ <string name="restore_enc_password_text" msgid="6140898525580710823">"పునరుద్ధరణ డేటా గుప్తీకరించబడుంటే, దయచేసి దిగువ పాస్వర్డ్ను నమోదు చేయండి:"</string>
+ <string name="toast_backup_started" msgid="550354281452756121">"బ్యాకప్ ప్రారంభమవుతోంది..."</string>
+ <string name="toast_backup_ended" msgid="3818080769548726424">"బ్యాకప్ పూర్తయింది"</string>
+ <string name="toast_restore_started" msgid="7881679218971277385">"పునరుద్ధరణ ప్రారంభమవుతోంది..."</string>
+ <string name="toast_restore_ended" msgid="1764041639199696132">"పునరుద్ధరణ పూర్తయింది"</string>
+ <string name="toast_timeout" msgid="5276598587087626877">"చర్య సమయం ముగిసింది"</string>
+</resources>
diff --git a/packages/DefaultContainerService/AndroidManifest.xml b/packages/DefaultContainerService/AndroidManifest.xml
index 57c87e4..14777a9 100644
--- a/packages/DefaultContainerService/AndroidManifest.xml
+++ b/packages/DefaultContainerService/AndroidManifest.xml
@@ -1,7 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.defcontainer" coreApp="true">
- <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
- <uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS"/>
<uses-permission android:name="android.permission.ASEC_ACCESS"/>
<uses-permission android:name="android.permission.ASEC_CREATE"/>
<uses-permission android:name="android.permission.ASEC_DESTROY"/>
diff --git a/packages/DefaultContainerService/res/values-bn-rBD/strings.xml b/packages/DefaultContainerService/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..23b197f
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-bn-rBD/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"প্যাকেজ অ্যাক্সেস সাহায়ক"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-eu-rES/strings.xml b/packages/DefaultContainerService/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..4df24e1
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-eu-rES/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"Paketeak atzitzeko laguntzailea"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-gl-rES/strings.xml b/packages/DefaultContainerService/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..c1ae018
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-gl-rES/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"Asistente acceso paquetes"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-kn-rIN/strings.xml b/packages/DefaultContainerService/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..13af0cc
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-kn-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"ಪ್ಯಾಕೇಜ್ ಪ್ರವೇಶದ ಸಹಾಯಕ"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-ml-rIN/strings.xml b/packages/DefaultContainerService/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..7bb450f
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-ml-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"പാക്കേജ് ആക്സസ്സ് സഹായി"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-mr-rIN/strings.xml b/packages/DefaultContainerService/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..898a378
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-mr-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"पॅकेज प्रवेश मदतनीस"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-ta-rIN/strings.xml b/packages/DefaultContainerService/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..a7ba82d
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-ta-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"தொகுப்பு அணுகலுக்கான உதவி"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-te-rIN/strings.xml b/packages/DefaultContainerService/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..58671ea
--- /dev/null
+++ b/packages/DefaultContainerService/res/values-te-rIN/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="service_name" msgid="4841491635055379553">"ప్యాకేజీ ప్రాప్యత సహాయకం"</string>
+</resources>
diff --git a/packages/DefaultContainerService/res/values-zh-rCN/strings.xml b/packages/DefaultContainerService/res/values-zh-rCN/strings.xml
index cb117a2..2bcc6b7 100644
--- a/packages/DefaultContainerService/res/values-zh-rCN/strings.xml
+++ b/packages/DefaultContainerService/res/values-zh-rCN/strings.xml
@@ -20,5 +20,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="service_name" msgid="4841491635055379553">"应用包访问权限帮助程序"</string>
+ <string name="service_name" msgid="4841491635055379553">"软件包权限帮助程序"</string>
</resources>
diff --git a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
index 74ff3b1..7a21b92 100644
--- a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
+++ b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
@@ -18,15 +18,13 @@
import android.app.IntentService;
import android.content.Intent;
-import android.content.pm.ContainerEncryptionParams;
import android.content.pm.IPackageManager;
-import android.content.pm.LimitedLengthInputStream;
-import android.content.pm.MacAuthenticatedInputStream;
import android.content.pm.PackageCleanItem;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInfoLite;
import android.content.pm.PackageManager;
import android.content.pm.PackageParser;
+import android.content.pm.PackageParser.PackageLite;
import android.content.pm.PackageParser.PackageParserException;
import android.content.res.ObbInfo;
import android.content.res.ObbScanner;
@@ -48,36 +46,25 @@
import com.android.internal.app.IMediaContainerService;
import com.android.internal.content.NativeLibraryHelper;
-import com.android.internal.content.NativeLibraryHelper.ApkHandle;
import com.android.internal.content.PackageHelper;
+import com.android.internal.os.IParcelFileDescriptorFactory;
+import com.android.internal.util.ArrayUtils;
import libcore.io.IoUtils;
import libcore.io.Streams;
-import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.security.DigestException;
-import java.security.GeneralSecurityException;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import javax.crypto.Cipher;
-import javax.crypto.CipherInputStream;
-import javax.crypto.Mac;
-import javax.crypto.NoSuchPaddingException;
-
-/*
- * This service copies a downloaded apk to a file passed in as
- * a ParcelFileDescriptor or to a newly created container specified
- * by parameters. The DownloadManager gives access to this process
- * based on its uid. This process also needs the ACCESS_DOWNLOAD_MANAGER
- * permission to access apks downloaded via the download manager.
+/**
+ * Service that offers to inspect and copy files that may reside on removable
+ * storage. This is designed to prevent the system process from holding onto
+ * open files that cause the kernel to kill it when the underlying device is
+ * removed.
*/
public class DefaultContainerService extends IntentService {
private static final String TAG = "DefContainer";
@@ -85,25 +72,26 @@
private static final String LIB_DIR_NAME = "lib";
+ // TODO: migrate native code unpacking to always be a derivative work
+
private IMediaContainerService.Stub mBinder = new IMediaContainerService.Stub() {
/**
- * Creates a new container and copies resource there.
- * @param packageURI the uri of resource to be copied. Can be either
- * a content uri or a file uri
- * @param cid the id of the secure container that should
- * be used for creating a secure container into which the resource
- * will be copied.
- * @param key Refers to key used for encrypting the secure container
- * @param resFileName Name of the target resource file(relative to newly
- * created secure container)
- * @return Returns the new cache path where the resource has been copied into
+ * Creates a new container and copies package there.
*
+ * @param packagePath absolute path to the package to be copied. Can be
+ * a single monolithic APK file or a cluster directory
+ * containing one or more APKs.
+ * @param containerId the id of the secure container that should be used
+ * for creating a secure container into which the resource
+ * will be copied.
+ * @param key Refers to key used for encrypting the secure container
+ * @return Returns the new cache path where the resource has been copied
+ * into
*/
@Override
- public String copyResourceToContainer(final String packagePath, final String cid,
- final String key, final String resFileName, final String publicResFileName,
+ public String copyPackageToContainer(String packagePath, String containerId, String key,
boolean isExternal, boolean isForwardLocked, String abiOverride) {
- if (packagePath == null || cid == null) {
+ if (packagePath == null || containerId == null) {
return null;
}
@@ -116,13 +104,16 @@
}
}
- ApkHandle handle = null;
+ PackageLite pkg = null;
+ NativeLibraryHelper.Handle handle = null;
try {
- handle = ApkHandle.create(packagePath);
- return copyResourceInner(packagePath, cid, key, resFileName, publicResFileName,
- isExternal, isForwardLocked, handle, abiOverride);
- } catch (IOException ioe) {
- Slog.w(TAG, "Problem opening APK: " + packagePath);
+ final File packageFile = new File(packagePath);
+ pkg = PackageParser.parsePackageLite(packageFile, 0);
+ handle = NativeLibraryHelper.Handle.create(pkg);
+ return copyPackageToContainerInner(pkg, handle, containerId, key, isExternal,
+ isForwardLocked, abiOverride);
+ } catch (PackageParserException | IOException e) {
+ Slog.w(TAG, "Failed to parse package at " + packagePath);
return null;
} finally {
IoUtils.closeQuietly(handle);
@@ -130,52 +121,37 @@
}
/**
- * Copy specified resource to output stream
+ * Copy package to the target location.
*
- * @param packageURI the uri of resource to be copied. Should be a file
- * uri
- * @param encryptionParams parameters describing the encryption used for
- * this file
- * @param outStream Remote file descriptor to be used for copying
+ * @param packagePath absolute path to the package to be copied. Can be
+ * a single monolithic APK file or a cluster directory
+ * containing one or more APKs.
* @return returns status code according to those in
* {@link PackageManager}
*/
@Override
- public int copyResource(final String packagePath,
- ContainerEncryptionParams encryptionParams, ParcelFileDescriptor outStream) {
- if (packagePath == null || outStream == null) {
+ public int copyPackage(String packagePath, IParcelFileDescriptorFactory target) {
+ if (packagePath == null || target == null) {
return PackageManager.INSTALL_FAILED_INVALID_URI;
}
- ParcelFileDescriptor.AutoCloseOutputStream autoOut
- = new ParcelFileDescriptor.AutoCloseOutputStream(outStream);
-
+ PackageLite pkg = null;
try {
- copyFile(packagePath, autoOut, encryptionParams);
- return PackageManager.INSTALL_SUCCEEDED;
- } catch (FileNotFoundException e) {
- Slog.e(TAG, "Could not copy URI " + packagePath.toString() + " FNF: "
- + e.getMessage());
- return PackageManager.INSTALL_FAILED_INVALID_URI;
- } catch (IOException e) {
- Slog.e(TAG, "Could not copy URI " + packagePath.toString() + " IO: "
- + e.getMessage());
+ final File packageFile = new File(packagePath);
+ pkg = PackageParser.parsePackageLite(packageFile, 0);
+ return copyPackageInner(pkg, target);
+ } catch (PackageParserException | IOException | RemoteException e) {
+ Slog.w(TAG, "Failed to copy package at " + packagePath + ": " + e);
return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
- } catch (DigestException e) {
- Slog.e(TAG, "Could not copy URI " + packagePath.toString() + " Security: "
- + e.getMessage());
- return PackageManager.INSTALL_FAILED_INVALID_APK;
- } finally {
- IoUtils.closeQuietly(autoOut);
}
}
/**
- * Determine the recommended install location for package
- * specified by file uri location.
+ * Parse given package and return minimal details.
*
- * @return Returns PackageInfoLite object containing
- * the package info and recommended app location.
+ * @param packagePath absolute path to the package to be copied. Can be
+ * a single monolithic APK file or a cluster directory
+ * containing one or more APKs.
*/
@Override
public PackageInfoLite getMinimalPackageInfo(final String packagePath, int flags,
@@ -188,14 +164,14 @@
return ret;
}
- final File apkFile = new File(packagePath);
- final PackageParser.ApkLite pkg;
+ final File packageFile = new File(packagePath);
+ final PackageParser.PackageLite pkg;
try {
- pkg = PackageParser.parseApkLite(apkFile, 0);
+ pkg = PackageParser.parsePackageLite(packageFile, 0);
} catch (PackageParserException e) {
- Slog.w(TAG, "Failed to parse package");
+ Slog.w(TAG, "Failed to parse package at " + packagePath);
- if (!apkFile.exists()) {
+ if (!packageFile.exists()) {
ret.recommendedInstallLocation = PackageHelper.RECOMMEND_FAILED_INVALID_URI;
} else {
ret.recommendedInstallLocation = PackageHelper.RECOMMEND_FAILED_INVALID_APK;
@@ -208,32 +184,51 @@
ret.versionCode = pkg.versionCode;
ret.installLocation = pkg.installLocation;
ret.verifiers = pkg.verifiers;
-
- ret.recommendedInstallLocation = recommendAppInstallLocation(pkg.installLocation,
- packagePath, flags, threshold, abiOverride);
+ ret.recommendedInstallLocation = recommendAppInstallLocation(pkg, flags, threshold,
+ abiOverride);
return ret;
}
+ /**
+ * Determine if package will fit on internal storage.
+ *
+ * @param packagePath absolute path to the package to be copied. Can be
+ * a single monolithic APK file or a cluster directory
+ * containing one or more APKs.
+ */
@Override
public boolean checkInternalFreeStorage(String packagePath, boolean isForwardLocked,
long threshold) throws RemoteException {
- final File apkFile = new File(packagePath);
+ final File packageFile = new File(packagePath);
+ final PackageParser.PackageLite pkg;
try {
- return isUnderInternalThreshold(apkFile, isForwardLocked, threshold);
- } catch (IOException e) {
- return true;
+ pkg = PackageParser.parsePackageLite(packageFile, 0);
+ return isUnderInternalThreshold(pkg, isForwardLocked, threshold);
+ } catch (PackageParserException | IOException e) {
+ Slog.w(TAG, "Failed to parse package at " + packagePath);
+ return false;
}
}
+ /**
+ * Determine if package will fit on external storage.
+ *
+ * @param packagePath absolute path to the package to be copied. Can be
+ * a single monolithic APK file or a cluster directory
+ * containing one or more APKs.
+ */
@Override
public boolean checkExternalFreeStorage(String packagePath, boolean isForwardLocked,
String abiOverride) throws RemoteException {
- final File apkFile = new File(packagePath);
+ final File packageFile = new File(packagePath);
+ final PackageParser.PackageLite pkg;
try {
- return isUnderExternalThreshold(apkFile, isForwardLocked, abiOverride);
- } catch (IOException e) {
- return true;
+ pkg = PackageParser.parsePackageLite(packageFile, 0);
+ return isUnderExternalThreshold(pkg, isForwardLocked, abiOverride);
+ } catch (PackageParserException | IOException e) {
+ Slog.w(TAG, "Failed to parse package at " + packagePath);
+ return false;
}
}
@@ -284,13 +279,22 @@
}
}
+ /**
+ * Calculate estimated footprint of given package post-installation.
+ *
+ * @param packagePath absolute path to the package to be copied. Can be
+ * a single monolithic APK file or a cluster directory
+ * containing one or more APKs.
+ */
@Override
public long calculateInstalledSize(String packagePath, boolean isForwardLocked,
String abiOverride) throws RemoteException {
final File packageFile = new File(packagePath);
+ final PackageParser.PackageLite pkg;
try {
- return calculateContainerSize(packageFile, isForwardLocked, abiOverride) * 1024 * 1024;
- } catch (IOException e) {
+ pkg = PackageParser.parsePackageLite(packageFile, 0);
+ return calculateContainerSize(pkg, isForwardLocked, abiOverride) * 1024 * 1024;
+ } catch (PackageParserException | IOException e) {
/*
* Okay, something failed, so let's just estimate it to be 2x
* the file size. Note this will be 0 if the file doesn't exist.
@@ -342,16 +346,25 @@
}
path.delete();
}
-
+
+ @Override
public IBinder onBind(Intent intent) {
return mBinder;
}
- private String copyResourceInner(String packagePath, String newCid, String key, String resFileName,
- String publicResFileName, boolean isExternal, boolean isForwardLocked,
- ApkHandle handle, String abiOverride) {
+ private String copyPackageToContainerInner(PackageLite pkg, NativeLibraryHelper.Handle handle,
+ String newCid, String key, boolean isExternal, boolean isForwardLocked,
+ String abiOverride) {
+ // TODO: extend to support copying all split APKs
+ if (!ArrayUtils.isEmpty(pkg.splitNames)) {
+ throw new UnsupportedOperationException("Copying split APKs not yet supported");
+ }
+
+ final String resFileName = "pkg.apk";
+ final String publicResFileName = "res.zip";
+
// The .apk file
- String codePath = packagePath;
+ String codePath = pkg.baseCodePath;
File codeFile = new File(codePath);
String[] abiList = Build.SUPPORTED_ABIS;
@@ -369,12 +382,12 @@
}
}
- final int abi = NativeLibraryHelper.findSupportedAbi(handle, abiList);
+ final int abiIndex = NativeLibraryHelper.findSupportedAbi(handle, abiList);
// Calculate size of container needed to hold base APK.
final int sizeMb;
try {
- sizeMb = calculateContainerSize(handle, codeFile, abi, isForwardLocked);
+ sizeMb = calculateContainerSize(pkg, handle, isForwardLocked, abiIndex);
} catch (IOException e) {
Slog.w(TAG, "Problem when trying to copy " + codeFile.getPath());
return null;
@@ -438,11 +451,11 @@
final File sharedLibraryDir = new File(newCachePath, LIB_DIR_NAME);
if (sharedLibraryDir.mkdir()) {
int ret = PackageManager.INSTALL_SUCCEEDED;
- if (abi >= 0) {
+ if (abiIndex >= 0) {
ret = NativeLibraryHelper.copyNativeBinariesIfNeededLI(handle,
- sharedLibraryDir, abiList[abi]);
- } else if (abi != PackageManager.NO_NATIVE_LIBRARIES) {
- ret = abi;
+ sharedLibraryDir, abiList[abiIndex]);
+ } else if (abiIndex != PackageManager.NO_NATIVE_LIBRARIES) {
+ ret = abiIndex;
}
if (ret != PackageManager.INSTALL_SUCCEEDED) {
@@ -484,195 +497,32 @@
return newCachePath;
}
- private static void copyToFile(InputStream inputStream, OutputStream out) throws IOException {
- byte[] buffer = new byte[16384];
- int bytesRead;
- while ((bytesRead = inputStream.read(buffer)) >= 0) {
- out.write(buffer, 0, bytesRead);
+ private int copyPackageInner(PackageLite pkg, IParcelFileDescriptorFactory target)
+ throws IOException, RemoteException {
+ // TODO: extend to support copying all split APKs
+ if (!ArrayUtils.isEmpty(pkg.splitNames)) {
+ throw new UnsupportedOperationException("Copying split APKs not yet supported");
}
- }
- private void copyFile(String packagePath, OutputStream outStream,
- ContainerEncryptionParams encryptionParams) throws FileNotFoundException, IOException,
- DigestException {
- InputStream inStream = null;
+ InputStream in = null;
+ OutputStream out = null;
try {
- final InputStream is = new FileInputStream(new File(packagePath));
- inStream = new BufferedInputStream(is);
-
- /*
- * If this resource is encrypted, get the decrypted stream version
- * of it.
- */
- ApkContainer container = new ApkContainer(inStream, encryptionParams);
-
- try {
- /*
- * We copy the source package file to a temp file and then
- * rename it to the destination file in order to eliminate a
- * window where the package directory scanner notices the new
- * package file but it's not completely copied yet.
- */
- copyToFile(container.getInputStream(), outStream);
-
- if (!container.isAuthenticated()) {
- throw new DigestException();
- }
- } catch (GeneralSecurityException e) {
- throw new DigestException("A problem occured copying the file.");
- }
+ in = new FileInputStream(pkg.baseCodePath);
+ out = new ParcelFileDescriptor.AutoCloseOutputStream(
+ target.open(null, ParcelFileDescriptor.MODE_READ_WRITE));
+ Streams.copy(in, out);
+ return PackageManager.INSTALL_SUCCEEDED;
} finally {
- IoUtils.closeQuietly(inStream);
+ IoUtils.closeQuietly(out);
+ IoUtils.closeQuietly(in);
}
}
- private static class ApkContainer {
- private static final int MAX_AUTHENTICATED_DATA_SIZE = 16384;
-
- private final InputStream mInStream;
-
- private MacAuthenticatedInputStream mAuthenticatedStream;
-
- private byte[] mTag;
-
- public ApkContainer(InputStream inStream, ContainerEncryptionParams encryptionParams)
- throws IOException {
- if (encryptionParams == null) {
- mInStream = inStream;
- } else {
- mInStream = getDecryptedStream(inStream, encryptionParams);
- mTag = encryptionParams.getMacTag();
- }
- }
-
- public boolean isAuthenticated() {
- if (mAuthenticatedStream == null) {
- return true;
- }
-
- return mAuthenticatedStream.isTagEqual(mTag);
- }
-
- private Mac getMacInstance(ContainerEncryptionParams encryptionParams) throws IOException {
- final Mac m;
- try {
- final String macAlgo = encryptionParams.getMacAlgorithm();
-
- if (macAlgo != null) {
- m = Mac.getInstance(macAlgo);
- m.init(encryptionParams.getMacKey(), encryptionParams.getMacSpec());
- } else {
- m = null;
- }
-
- return m;
- } catch (NoSuchAlgorithmException e) {
- throw new IOException(e);
- } catch (InvalidKeyException e) {
- throw new IOException(e);
- } catch (InvalidAlgorithmParameterException e) {
- throw new IOException(e);
- }
- }
-
- public InputStream getInputStream() {
- return mInStream;
- }
-
- private InputStream getDecryptedStream(InputStream inStream,
- ContainerEncryptionParams encryptionParams) throws IOException {
- final Cipher c;
- try {
- c = Cipher.getInstance(encryptionParams.getEncryptionAlgorithm());
- c.init(Cipher.DECRYPT_MODE, encryptionParams.getEncryptionKey(),
- encryptionParams.getEncryptionSpec());
- } catch (NoSuchAlgorithmException e) {
- throw new IOException(e);
- } catch (NoSuchPaddingException e) {
- throw new IOException(e);
- } catch (InvalidKeyException e) {
- throw new IOException(e);
- } catch (InvalidAlgorithmParameterException e) {
- throw new IOException(e);
- }
-
- final long encStart = encryptionParams.getEncryptedDataStart();
- final long end = encryptionParams.getDataEnd();
- if (end < encStart) {
- throw new IOException("end <= encStart");
- }
-
- final Mac mac = getMacInstance(encryptionParams);
- if (mac != null) {
- final long macStart = encryptionParams.getAuthenticatedDataStart();
- if (macStart >= Integer.MAX_VALUE) {
- throw new IOException("macStart >= Integer.MAX_VALUE");
- }
-
- final long furtherOffset;
- if (macStart >= 0 && encStart >= 0 && macStart < encStart) {
- /*
- * If there is authenticated data at the beginning, read
- * that into our MAC first.
- */
- final long authenticatedLengthLong = encStart - macStart;
- if (authenticatedLengthLong > MAX_AUTHENTICATED_DATA_SIZE) {
- throw new IOException("authenticated data is too long");
- }
- final int authenticatedLength = (int) authenticatedLengthLong;
-
- final byte[] authenticatedData = new byte[(int) authenticatedLength];
-
- Streams.readFully(inStream, authenticatedData, (int) macStart,
- authenticatedLength);
- mac.update(authenticatedData, 0, authenticatedLength);
-
- furtherOffset = 0;
- } else {
- /*
- * No authenticated data at the beginning. Just skip the
- * required number of bytes to the beginning of the stream.
- */
- if (encStart > 0) {
- furtherOffset = encStart;
- } else {
- furtherOffset = 0;
- }
- }
-
- /*
- * If there is data at the end of the stream we want to ignore,
- * wrap this in a LimitedLengthInputStream.
- */
- if (furtherOffset >= 0 && end > furtherOffset) {
- inStream = new LimitedLengthInputStream(inStream, furtherOffset, end - encStart);
- } else if (furtherOffset > 0) {
- inStream.skip(furtherOffset);
- }
-
- mAuthenticatedStream = new MacAuthenticatedInputStream(inStream, mac);
-
- inStream = mAuthenticatedStream;
- } else {
- if (encStart >= 0) {
- if (end > encStart) {
- inStream = new LimitedLengthInputStream(inStream, encStart, end - encStart);
- } else {
- inStream.skip(encStart);
- }
- }
- }
-
- return new CipherInputStream(inStream, c);
- }
-
- }
-
private static final int PREFER_INTERNAL = 1;
private static final int PREFER_EXTERNAL = 2;
- private int recommendAppInstallLocation(int installLocation, String archiveFilePath, int flags,
- long threshold, String abiOverride) {
+ private int recommendAppInstallLocation(PackageLite pkg, int flags, long threshold,
+ String abiOverride) {
int prefer;
boolean checkBoth = false;
@@ -691,14 +541,14 @@
}
/* No install flags. Check for manifest option. */
- if (installLocation == PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY) {
+ if (pkg.installLocation == PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY) {
prefer = PREFER_INTERNAL;
break check_inner;
- } else if (installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL) {
+ } else if (pkg.installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL) {
prefer = PREFER_EXTERNAL;
checkBoth = true;
break check_inner;
- } else if (installLocation == PackageInfo.INSTALL_LOCATION_AUTO) {
+ } else if (pkg.installLocation == PackageInfo.INSTALL_LOCATION_AUTO) {
// We default to preferring internal storage.
prefer = PREFER_INTERNAL;
checkBoth = true;
@@ -727,12 +577,10 @@
final boolean emulated = Environment.isExternalStorageEmulated();
- final File apkFile = new File(archiveFilePath);
-
boolean fitsOnInternal = false;
if (checkBoth || prefer == PREFER_INTERNAL) {
try {
- fitsOnInternal = isUnderInternalThreshold(apkFile, isForwardLocked, threshold);
+ fitsOnInternal = isUnderInternalThreshold(pkg, isForwardLocked, threshold);
} catch (IOException e) {
return PackageHelper.RECOMMEND_FAILED_INVALID_URI;
}
@@ -741,7 +589,7 @@
boolean fitsOnSd = false;
if (!emulated && (checkBoth || prefer == PREFER_EXTERNAL)) {
try {
- fitsOnSd = isUnderExternalThreshold(apkFile, isForwardLocked, abiOverride);
+ fitsOnSd = isUnderExternalThreshold(pkg, isForwardLocked, abiOverride);
} catch (IOException e) {
return PackageHelper.RECOMMEND_FAILED_INVALID_URI;
}
@@ -781,44 +629,39 @@
/**
* Measure a file to see if it fits within the free space threshold.
*
- * @param apkFile file to check
* @param threshold byte threshold to compare against
* @return true if file fits under threshold
* @throws FileNotFoundException when APK does not exist
*/
- private boolean isUnderInternalThreshold(File apkFile, boolean isForwardLocked, long threshold)
- throws IOException {
- long size = apkFile.length();
- if (size == 0 && !apkFile.exists()) {
- throw new FileNotFoundException();
+ private boolean isUnderInternalThreshold(PackageLite pkg, boolean isForwardLocked,
+ long threshold) throws IOException {
+ long sizeBytes = 0;
+ for (String codePath : pkg.getAllCodePaths()) {
+ sizeBytes += new File(codePath).length();
+
+ if (isForwardLocked) {
+ sizeBytes += PackageHelper.extractPublicFiles(codePath, null);
+ }
}
- if (isForwardLocked) {
- size += PackageHelper.extractPublicFiles(apkFile.getAbsolutePath(), null);
- }
-
- final StatFs internalStats = new StatFs(Environment.getDataDirectory().getPath());
- final long availInternalSize = (long) internalStats.getAvailableBlocks()
- * (long) internalStats.getBlockSize();
-
- return (availInternalSize - size) > threshold;
+ final StatFs stat = new StatFs(Environment.getDataDirectory().getPath());
+ final long availBytes = stat.getAvailableBytes();
+ return (availBytes - sizeBytes) > threshold;
}
-
/**
* Measure a file to see if it fits in the external free space.
*
- * @param apkFile file to check
* @return true if file fits
* @throws IOException when file does not exist
*/
- private boolean isUnderExternalThreshold(File apkFile, boolean isForwardLocked, String abiOverride)
- throws IOException {
+ private boolean isUnderExternalThreshold(PackageLite pkg, boolean isForwardLocked,
+ String abiOverride) throws IOException {
if (Environment.isExternalStorageEmulated()) {
return false;
}
- final int sizeMb = calculateContainerSize(apkFile, isForwardLocked, abiOverride);
+ final int sizeMb = calculateContainerSize(pkg, isForwardLocked, abiOverride);
final int availSdMb;
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
@@ -832,45 +675,44 @@
return availSdMb > sizeMb;
}
- private int calculateContainerSize(File apkFile, boolean forwardLocked,
- String abiOverride) throws IOException {
- ApkHandle handle = null;
+ private int calculateContainerSize(PackageLite pkg, boolean isForwardLocked, String abiOverride)
+ throws IOException {
+ NativeLibraryHelper.Handle handle = null;
try {
- handle = ApkHandle.create(apkFile);
+ handle = NativeLibraryHelper.Handle.create(pkg);
final int abi = NativeLibraryHelper.findSupportedAbi(handle,
(abiOverride != null) ? new String[] { abiOverride } : Build.SUPPORTED_ABIS);
- return calculateContainerSize(handle, apkFile, abi, forwardLocked);
+ return calculateContainerSize(pkg, handle, isForwardLocked, abi);
} finally {
IoUtils.closeQuietly(handle);
}
}
/**
- * Calculate the container size for an APK. Takes into account the
+ * Calculate the container size for a package.
*
- * @param apkFile file from which to calculate size
* @return size in megabytes (2^20 bytes)
* @throws IOException when there is a problem reading the file
*/
- private int calculateContainerSize(NativeLibraryHelper.ApkHandle apkHandle,
- File apkFile, int abiIndex, boolean forwardLocked) throws IOException {
- // Calculate size of container needed to hold base APK.
- long sizeBytes = apkFile.length();
- if (sizeBytes == 0 && !apkFile.exists()) {
- throw new FileNotFoundException();
+ private int calculateContainerSize(PackageLite pkg, NativeLibraryHelper.Handle handle,
+ boolean isForwardLocked, int abiIndex) throws IOException {
+ // Calculate size of container needed to hold APKs.
+ long sizeBytes = 0;
+ for (String codePath : pkg.getAllCodePaths()) {
+ sizeBytes += new File(codePath).length();
+
+ if (isForwardLocked) {
+ sizeBytes += PackageHelper.extractPublicFiles(codePath, null);
+ }
}
// Check all the native files that need to be copied and add that to the
// container size.
if (abiIndex >= 0) {
- sizeBytes += NativeLibraryHelper.sumNativeBinariesLI(apkHandle,
+ sizeBytes += NativeLibraryHelper.sumNativeBinariesLI(handle,
Build.SUPPORTED_ABIS[abiIndex]);
}
- if (forwardLocked) {
- sizeBytes += PackageHelper.extractPublicFiles(apkFile.getPath(), null);
- }
-
int sizeMb = (int) (sizeBytes >> 20);
if ((sizeBytes - (sizeMb * 1024 * 1024)) > 0) {
sizeMb++;
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 65ac2b1..cbd8227 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Keer kleure om"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Kleurregstellingmodus"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Meer instellings"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Klaar"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Gekoppel"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"USB-verbinding"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Warmkol"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Kennisgewings"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flitslig"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Geen onlangse programme nie"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Programinligting"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"soek"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 8bed997..00514d6 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"ቀለማትን ግልብጥ"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"የቀለም እርማት ሁነታ"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"ተጨማሪ ቅንብሮች"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"ተከናውኗል"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"ተገናኝቷል"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"በማገናኘት ላይ"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"መገናኛ ነጥብ"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"ማሳወቂያዎች"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"የባትሪ ብርሃን"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"ምንም የቅርብ ጊዜ መተግበሪያዎች የሉም"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"የመተግበሪያ መረጃ"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ፈልግ"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 2a3bcfb..e59ea7c 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"قلب الألوان"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"وضع تصحيح الألوان"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"المزيد من الإعدادات"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"تم"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"متصل"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"النطاق"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"نقطة اتصال"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"الإشعارات"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"الفلاش"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"ليست هناك تطبيقات حديثة"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"معلومات التطبيق"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"بحث"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 5f777b4..60ecc57 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Обръщане на цветовете"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Режим на коригиране на цветовете"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Още настройки"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Готово"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Установена е връзка"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Тетъринг"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Точка за достъп"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Известия"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Светкавица"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Няма скорошни приложения"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Информация за приложението"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"търсене"</string>
diff --git a/packages/SystemUI/res/values-bn-rBD-land/strings.xml b/packages/SystemUI/res/values-bn-rBD-land/strings.xml
new file mode 100644
index 0000000..ac873fa
--- /dev/null
+++ b/packages/SystemUI/res/values-bn-rBD-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"এখন ভূদৃশ্য সজ্জাতে স্ক্রীণ লক করা হয়েছে৷"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..10ffd30
--- /dev/null
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"সিস্টেম UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"সাফ করুন"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"তালিকা থেকে সরান"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"অ্যাপ্লিকেশানের তথ্য"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"কোনো সাম্প্রতিক অ্যাপ্লিকেশান নেই"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"সাম্প্রতিক অ্যাপ্লিকেশানগুলি খারিজ করুন"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"১টি সাম্প্রতিক অ্যাপ্লিকেশান"</item>
+ <item quantity="other" msgid="1040784359794890744">"%dটি সাম্প্রতিক অ্যাপ্লিকেশান"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"কোনো বিজ্ঞপ্তি নেই"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"চলতে-থাকা"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"বিজ্ঞপ্তিগুলি"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"ব্যাটারি কম"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> অবশিষ্ট রয়েছে"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"<xliff:g id="NUMBER">%d%%</xliff:g> অবশিষ্ট। ব্যাটারি সেভার চালু আছে।"</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB চার্জিং সমর্থিত নয়৷\nকেবলমাত্র সরবহারকৃত চার্জার ব্যবহার করুন৷"</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB চার্জিং সমর্থিত নয়।"</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"শুধুমাত্র সরবরাহকৃত চার্জার ব্যবহার করুন।"</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"সেটিংস"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"ব্যাটারি সেভার শুরু করুন?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"আরম্ভ"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"ব্যাটারি সেভার শুরু করুন"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"ব্যাটারি জীবন উন্নত করার ক্ষেত্রে সাহায্যের জন্য, ব্যাটারি সেভার আপনার ডিভাইসের কর্মক্ষমতা হ্রাস করবে।\n \n আপনার ডিভাইস প্লাগ ইন করা হলে ব্যাটারি সেভার অক্ষম হবে।"</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"সেটিংস"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"বিমান মোড"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"স্বতঃ-ঘূর্ণায়মান স্ক্রীণ"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"নিঃশব্দ করুন"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"স্বতঃ"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"বিজ্ঞপ্তিগুলি"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth টিথার করা হয়েছে"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ইনপুট পদ্ধতিগুলি সেট আপ করুন"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ফিজিক্যাল কীবোর্ড"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"এই <xliff:g id="APPLICATION">%1$s</xliff:g> অ্যাপ্লিকেশানটিকে কি USB ডিভাইস অ্যাক্সেস করা মঞ্জুরি দেবেন?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"এই <xliff:g id="APPLICATION">%1$s</xliff:g> অ্যাপ্লিকেশানটিকে কি USB যন্ত্রাংশ অ্যাক্সেস করার মঞ্জুরি দেবেন?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"যখন এই USB ডিভাইসটি সংযুক্ত থাকে তখন কি <xliff:g id="ACTIVITY">%1$s</xliff:g> খুলবেন?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"যখন এই USB যন্ত্রাংশটি সংযুক্ত থাকে তখন কি <xliff:g id="ACTIVITY">%1$s</xliff:g> খুলবেন?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ইনস্টল থাকা কোনো অ্যাপ্লিকেশান এই USB যন্ত্রাংশের সাথে কাজ করে না৷ <xliff:g id="URL">%1$s</xliff:g> এ এই যন্ত্রাংশের সম্পর্কে আরো জানুন৷"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB যন্ত্রাংশ"</string>
+ <string name="label_view" msgid="6304565553218192990">"দেখুন"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"এই USB ডিভাইসের জন্য এটি ডিফল্টরুপে ব্যবহার করুন"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"এই USB আনুষঙ্গিকের জন্য এটি ডিফল্টরুপে ব্যবহার করুন"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB ডিবাগিং মঞ্জুর করবেন?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"কম্পিউটারের RSA কী আঙ্গুলের ছাপ হল:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"এই কম্পিউটার থেকে সর্বদা অনুমতি দিন"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"স্ক্রীণ পূরণ করতে জুম করুন"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"পূর্ণ স্ক্রীণে প্রসারিত করুন"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"স্ক্রীনশট সংরক্ষণ করা হচ্ছে..."</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"স্ক্রীনশট সংরক্ষণ করা হচ্ছে..."</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"স্ক্রীনশট সংরক্ষণ করা হচ্ছে৷"</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"স্ক্রীনশট নেওয়া হযেছে৷"</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"আপনার স্ক্রীনশট দেখতে স্পর্শ করুন৷"</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"স্ক্রীনশট নেওয়া যায়নি৷"</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"স্ক্রীনশট সংরক্ষণ করা যায়নি৷ সঞ্চয়স্থান ব্যবহারে থাকতে পারে৷"</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB ফাইল স্থানান্তরের বিকল্পগুলি"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"একটি মিডিয়া প্লেয়ার হিসাবে মাউন্ট করুন (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"একটি ক্যামেরা হিসাবে মাউন্ট করুন (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac এর জন্য Android এর ফাইল স্তানান্তর অ্যাপ্লিকেশান ইনস্টল করুন"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"ফিরুন"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"হোম"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"মেনু"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"সাম্প্রতিক অ্যাপ্লিকেশানগুলি"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"অনুসন্ধান করুন"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"ক্যামেরা"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"ফোন"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ইনপুট পদ্ধতির বোতাম পরিবর্তন করুন৷"</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"সামঞ্জস্যের জুম বোতাম৷"</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ছোট থেকে বৃহৎ স্ক্রীণে জুম করুন৷"</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth সংযুক্ত হয়েছে৷"</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth সংযোগ বিচ্ছিন্ন হয়েছে৷"</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"কোনো ব্যাটারি নেই৷"</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"এক দন্ড ব্যাটারি রয়েছে৷"</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"দুই দন্ড ব্যাটারি রয়েছে৷"</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"তিন দন্ড ব্যাটারি রয়েছে৷"</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"ব্যাটারি পূর্ণ রয়েছে৷"</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"কোনো ফোনের সংকেত নেই৷"</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"এক দন্ড ফোনের সংকেত রয়েছে৷"</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"দুই দন্ড ফোনের সংকেত রয়েছে৷"</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"তিন দন্ড ফোনের সংকেত রয়েছে৷"</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"ফোনের সংকেত পূর্ণ রয়েছে৷"</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"কোনো ডেটা নেই৷"</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"এক দন্ড ডেটার সংকেত৷"</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"দুই দন্ড ডেটার সংকেত রয়েছে৷"</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"তিন দন্ড ডেটার সংকেত৷"</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"পূর্ণ ডেটার সংকেত রয়েছে৷"</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi বন্ধ৷"</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi এর সংযোগ বিচ্ছিন্ন হয়েছে৷"</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi এ একটি দণ্ড৷"</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi এ দুইটি দণ্ড৷"</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi এ তিনটি দণ্ড৷"</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi এ সম্পূর্ণ সিগন্যাল৷"</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX অনুপলব্ধ৷"</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX এ একটি দণ্ড৷"</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX এ দুইটি দণ্ড৷"</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX এ তিনটি দণ্ড৷"</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX এ সম্পূর্ণ সিগন্যাল৷"</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"কোনো সিগন্যাল নেই৷"</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"সংযুক্ত নয়৷"</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"কোনো দণ্ড নেই৷"</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"একটি দণ্ড৷"</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"দুইটি দণ্ড৷"</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"তিনটি দণ্ড৷"</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"সম্পূর্ণ সিগন্যাল৷"</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"চালু৷"</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"বন্ধ৷"</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"সংযুক্ত৷"</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"সংযুক্ত হচ্ছে৷"</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"১ X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"রোমিং"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"কোনো SIM নেই৷"</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth টিথারিং৷"</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"বিমান মোড৷"</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"<xliff:g id="NUMBER">%d</xliff:g> শতাংশ ব্যাটারি রয়েছে৷"</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"সিস্টেম সেটিংস৷"</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"বিজ্ঞপ্তিগুলি৷"</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"বিজ্ঞপ্তি সাফ করুন৷"</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS সক্ষম করা হয়েছে৷"</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS অর্জন করা হচ্ছে৷"</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"টেলি টাইপরাইটার সক্ষম করা আছে৷"</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"রিং বাজার সাথে স্পন্দিত করুন৷"</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"রিং বাজানো বন্ধ করুন৷"</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> খারিজ করা হয়েছে৷"</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"বিজ্ঞপ্তি খারিজ করা হয়েছে৷"</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"বিজ্ঞপ্তি শেড৷"</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"দ্রুত সেটিংস৷"</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"সাম্প্রতিক অ্যাপ্লিকেশানগুলি৷"</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"ব্যবহারকারী <xliff:g id="USER">%s</xliff:g>৷"</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>৷ <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"মোবাইল <xliff:g id="SIGNAL">%1$s</xliff:g>৷ <xliff:g id="TYPE">%2$s</xliff:g>৷ <xliff:g id="NETWORK">%3$s</xliff:g>৷"</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"ব্যাটারি <xliff:g id="STATE">%s</xliff:g>৷"</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"বিমান মোড <xliff:g id="STATE">%s</xliff:g>৷"</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetooth <xliff:g id="STATE">%s</xliff:g>৷"</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"অবস্থান <xliff:g id="STATE">%s</xliff:g>৷"</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g> এ অ্যালার্ম সেট করা হয়েছে৷"</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"প্যানেল বন্ধ করুন"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"বেশি সময়"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"কম সময়"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G ডেটা অক্ষম করা হয়েছে"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G ডেটা অক্ষম করা হয়েছে"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"মোবাইল ডেটা অক্ষম করা হয়েছে"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"ডেটা অক্ষম করা হয়েছে"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"আপনি নির্দিষ্ট ডেটা ব্যবহারের সীমায় পৌঁছে গেছেন৷\n\nযদি আপনি ডেটা পুনরায় সক্ষম করেন, তবে অপারেটর আপনাকে তার জন্য চার্জ করতে পারে৷"</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"পুনঃ-সক্ষমিত ডেটা"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"কোনো ইন্টারনেট সংযোগ নেই"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi সংযুক্ত হয়েছে"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS এর জন্য অনুসন্ধান করা হচ্ছে"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"GPS এর দ্বারা সেট করা অবস্থান"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"অবস্থান অনুরোধ সক্রিয় রয়েছে"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"সমস্ত বিজ্ঞপ্তি সাফ করুন৷"</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"অ্যাপ্লিকেশানের তথ্য"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"স্ক্রীন স্বয়ংক্রিয়ভাবে ঘুরে যাবে৷"</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"ভূদৃশ্য সজ্জাতে স্ক্রীন লক করা আছে৷"</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"প্রতিকৃতি সজ্জাতে স্ক্রীন লক করা আছে৷"</string>
+ <string name="dessert_case" msgid="1295161776223959221">"ডেজার্ট কেস"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"দিবাস্বপ্ন"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"ইথারনেট"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"বিমান মোড"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"চার্জ হচ্ছে, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"চার্জ হয়েছে"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> টি ডিভাইস)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth বন্ধ"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"উজ্জ্বলতা"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"স্বতঃ ঘূর্ণায়মান"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"ঘূর্ণন লক করা হয়েছে"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"প্রতিকৃতি"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"ভূদৃশ্য"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"ইনপুট পদ্ধতি"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"অবস্থান"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"অবস্থান বন্ধ করা আছে"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"মিডিয়া ডিভাইস"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"শুধুমাত্র জরুরি কল"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"সেটিংস"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"সময়"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"আমাকে"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"সংযুক্ত নয়"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"কোনো নেটওয়ার্ক নেই"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi বন্ধ"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"স্ক্রীন কাস্ট করুন"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"উজ্জ্বলতা"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"স্বয়ং"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"বিপরীত কোনো রং দিন"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"রঙ সংশোধন মোড"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"আরো সেটিংস"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"সম্পন্ন হয়েছে"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"সংযুক্ত হয়েছে"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"টেদারিং"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"হটস্পট"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"বিজ্ঞপ্তিগুলি"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ফ্ল্যাশলাইট"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"কোনো সাম্প্রতিক অ্যাপ্লিকেশান নেই"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"অ্যাপ্লিকেশানের তথ্য"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"অনুসন্ধান"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"চার্জ হয়েছে"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"চার্জ হচ্ছে"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"পূর্ণ হতে <xliff:g id="CHARGING_TIME">%s</xliff:g> সময় লাগবে"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"চার্জ হচ্ছে না"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"নেটওয়ার্ক নিরীক্ষণ\nকরা হতে পারে"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"অনুসন্ধান করুন"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য উপরের দিকে স্লাইড করুন৷"</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> এর জন্য বাম দিকে স্লাইড করুন৷"</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"বিরক্ত করবেন না"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"নিচে অপেক্ষাকৃত কম জরুরী বিজ্ঞপ্তিগুলি"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"খোলার জন্য আবার আলতো চাপুন"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"আনলক করতে উপরের দিকে সোয়াইপ করুন"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ফোনের জন্য ডানদিকে সোয়াইপ করুন"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"ক্যামেরার জন্য ডানদিকে সোয়াইপ করুন"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"আপনার দ্বারা এটি বন্ধ করা পর্যন্ত"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"চার্জ হচ্ছে (পূর্ণ হতে <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> সময় বাকি)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"অতিথি"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ অতিথি"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"এক মিনিটের জন্য"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d মিনিটের জন্য"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"এক ঘন্টার জন্য"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d ঘন্টার জন্য"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"ব্যাটারি সেভার চালু রয়েছে"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"ডিভাইসের কর্মক্ষমতা কমে যাবে।"</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"ব্যাটারি সেভার সেটিংস খুলুন"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 469b950..5409df5 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverteix els colors"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mode de correcció de color"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Més opcions"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Fet"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Connectat"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Ancoratge a xarxa"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Zona Wi-Fi"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificacions"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Llanterna"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"No hi ha aplicacions recents."</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informació de l\'aplicació"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 2d10a51..5b055f3 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Převrátit barvy"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Režim korekce barev"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Další nastavení"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Hotovo"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Připojeno"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Sdílení datového připojení"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Oznámení"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Svítilna"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Žádné nedávné aplikace"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informace o aplikaci"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"vyhledat"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 16b12d0..760ae05 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Byt om på farver"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Farvekorrigeringstilstand"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Flere indstillinger"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Udført"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Tilsluttet"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Netdeling"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Underretninger"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lommelygte"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Der er ingen seneste apps"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Oplysninger om applikationen"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"søg"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 79c7b25..9df283b 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Farben umkehren"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Farbkorrekturmodus"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Weitere Einstellungen"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Fertig"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Verbunden"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Benachrichtigungen"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Taschenlampe"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Keine neuen Apps"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"App-Info"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"Suche"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 54a1dca..60d8225 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Αντιστροφή χρωμάτων"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Λειτουργία διόρθωσης χρώματος"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Περισσότερες ρυθμίσεις"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Τέλος"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Συνδέθηκε"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Πρόσδεση"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Σημείο πρόσβασης Wi-Fi"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Ειδοποιήσεις"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Φακός"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Καμία πρόσφατη εφαρμογή"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Πληροφορίες εφαρμογής"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"αναζήτηση"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 0852fa9..94a4592 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invert colours"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Colour correction mode"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"More settings"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Finished"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Connected"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notifications"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flashlight"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"No recent apps"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"search"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index 0852fa9..94a4592 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invert colours"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Colour correction mode"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"More settings"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Finished"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Connected"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notifications"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flashlight"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"No recent apps"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"search"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index ef89f37..2a8848f 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invertir colores"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de corrección de color"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Más configuraciones"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Listo"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Conectado"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Anclaje a red"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Zona"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificaciones"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Linterna"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"No hay aplicaciones recientes."</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Información de la aplicación"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 7118322..b2ac0fd 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invertir colores"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de corrección de color"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Más opciones"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Listo"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Conectado"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Anclaje a red"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Zona Wi-Fi"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificaciones"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Linterna"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"No hay aplicaciones recientes"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Información de la aplicación"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index 7968f320..98a27ca 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Vaheta värve"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Värviparandusrežiim"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Rohkem seadeid"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Valmis"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Ühendatud"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Jagamine"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Leviala"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Märguanded"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Taskulamp"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Hiljutisi rakendusi pole"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Rakenduste teave"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"otsing"</string>
diff --git a/packages/SystemUI/res/values-eu-rES-land/strings.xml b/packages/SystemUI/res/values-eu-rES-land/strings.xml
new file mode 100644
index 0000000..c8640c7
--- /dev/null
+++ b/packages/SystemUI/res/values-eu-rES-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"Pantaila horizontalki blokeatuta dago."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..4fc8e17
--- /dev/null
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"Sistemaren interfazea"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Garbitu"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Kendu zerrendatik"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Aplikazioaren informazioa"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Ez dago azkenaldian erabilitako aplikaziorik"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"Baztertu azken aplikazioak"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"Aplikazio bat duela gutxi"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d aplikazio duela gutxi"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ez dago jakinarazpenik"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Abian"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Jakinarazpenak"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"Bateria agortzen ari da"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> geratzen da"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"Bateriaren <xliff:g id="NUMBER">%d%%</xliff:g> geratzen da. Bateria aurrezlea aktibatu da."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"Ez da USB bidez kargatzea onartzen.\nErabili hornitu zaizun kargagailua soilik."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"Ez da USB bidez kargatzea onartzen."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"Erabili jatorrizko kargagailua soilik."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"Ezarpenak"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"Bateria aurrezlea aktibatu nahi duzu?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"Hasi"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"Aktibatu bateria aurrezlea"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"Bateria aurrezleak gailuaren funtzionamendua erregulatzen du, energiaren kontsumoa murriztuta bateriak gehiago iraun dezan.\n\nGailua kargagailura konektatzen duzunean Bateria aurrezlea desaktibatu egingo da."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"Ezarpenak"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"Hegaldi modua"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Biratu pantaila automatikoki"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"DESAKTIBATU AUDIOA"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"Jakinarazpenak"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetootha konektatu da"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfiguratu idazketa-metodoak"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Teklatu fisikoa"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikazioari USB gailua atzitzeko baimena eman nahi diozu?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"USB osagarria atzitzeko baimena eman nahi diozu <xliff:g id="APPLICATION">%1$s</xliff:g> aplikazioari?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"USB gailu hau konektatuta dagoenean <xliff:g id="ACTIVITY">%1$s</xliff:g> ireki nahi duzu?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"USB osagarri hau konektatuta dagoenean <xliff:g id="ACTIVITY">%1$s</xliff:g> ireki nahi duzu?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Instalatutako aplikazioek ez dute USB osagarri honekin funtzionatzen. Lortu informazio gehiago osagarriari buruz hemen: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB osagarria"</string>
+ <string name="label_view" msgid="6304565553218192990">"Ikusi"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"Erabili lehenetsi gisa USB gailu honetarako"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"Erabili modu lehenetsian USB osagarri honetarako"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB arazketa onartu?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"Ordenagailuaren RSA gakoaren hatz-marka hau da:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"Onartu beti ordenagailu honetatik"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"Handiagotu pantaila betetzeko"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"Luzatu pantaila betetzeko"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"Pantaila-argazkia gordetzen…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"Pantaila-argazkia gordetzen…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"Pantaila-argazkia gordetzen ari da."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"Pantaila-argazkia atera da."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"Pantaila-argazkia ikusteko, ukitu ezazu."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"Ezin izan da pantaila-argazkia atera."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"Ezin izan da pantaila-argazkia gorde. Baliteke memoria erabiltzen aritzea."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB fitxategiak transferitzeko aukerak"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"Muntatu multimedia-erreproduzigailu gisa (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"Muntatu kamera gisa (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalatu Mac sistemarako Android File Transfer aplikazioa"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"Atzera"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"Hasiera"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"Menua"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"Azken aplikazioak"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"Bilatu"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefonoa"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Idazketa-metodoa aldatzeko botoia."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Zoom-bateragarritasunaren botoia."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Handiagotu pantaila txikia."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetootha konektatuta."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetootha deskonektatuta."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"Ez dago bateriarik."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"Bateriak barra bat du."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Bateriak bi barra ditu."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Bateriak hiru barra ditu."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"Bateria beteta dago."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"Ez dago telefono-zenbakirik."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Telefono-seinaleak barra bat du."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Telefono-seinaleak bi barra ditu."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Telefono-seinaleak hiru barra ditu."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"Telefono-seinale osoa."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"Ez dago daturik."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"Datu-seinaleak barra bat du."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Datu-seinaleak bi barra ditu."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"Datu-seinaleak hiru barra ditu."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Datu-seinale osoa."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wi-Fi konexioa desaktibatuta dago."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wi-Fi konexioa desaktibatu da."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wi-Fi sarearen barra bat."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wi-Fi sarearen bi barra."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wi-Fi sarearen hiru barra."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wi-Fi sarearen seinalea osoa."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX gabe."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX sarearen barra bat."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX sarearen bi barra."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX sarearen hiru barra."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX sarearen seinalea osoa."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"Ez dago seinalerik."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"Konektatu gabe."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"Barrarik ez."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"Barra bat."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"Bi barra."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"Hiru barra."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"Seinalea osoa."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"Aktibatuta."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"Desaktibatuta."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"Konektatuta."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"Konektatzen."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Ibiltaritza"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi konexioa"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"Ez dago SIM txartelik."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Konexioa partekatzea (Bluetooth)"</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"Hegaldi-modua"</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"Bateriaren karga: <xliff:g id="NUMBER">%d</xliff:g>."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"Sistemaren ezarpenak."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"Jakinarazpenak."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"Garbitu jakinarazpena."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS aktibatuta."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS seinalea lortzen."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter gaituta."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Tonu-jotzailea dardara moduan."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Tonu-jotzailea isilik."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> baztertu da."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"Jakinarazpena baztertu da."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"Jakinarazpenen panela."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Ezarpen bizkorrak."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"Azken aplikazioak."</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"<xliff:g id="USER">%s</xliff:g> erabiltzailea."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"Datu mugikorrak: <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"Bateria <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"Hegaldi modua <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetootha <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"Uneko kokapena <xliff:g id="STATE">%s</xliff:g> da."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Alarmaren ordua: <xliff:g id="TIME">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"Itxi panela"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"Denbora gehiagoz"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"Denbora gutxiagoz"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G datuak desgaituta daude"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G datuak desgaituta daude"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Datu mugikorrak desgaituta daude"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Datuak desgaituta daude"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Zehaztuta duzun datuen erabilera-mugara iritsi zara.\n\nDatuak berriro gaitzen badituzu, baliteke operadoreak horregatik kobratzea."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Gaitu berriro datuak"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ez duzu Interneteko konexiorik"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi konektatuta"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS seinalearen bila"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"Kokapena GPS bidez ezarri da"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"Aplikazioen kokapen-eskaerak aktibo daude"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"Garbitu jakinarazpen guztiak."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"Aplikazioaren informazioa"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Pantaila automatikoki biratuko da."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"Pantaila horizontalki blokeatuta dago."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"Pantaila bertikalki blokeatuta dago."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"Postreen kutxa"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Hegaldi modua"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"Kargatzen: <xliff:g id="PERCENT">%%</xliff:g> <xliff:g id="NUMBER">%d</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"Kargatuta"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetootha"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetootha (<xliff:g id="NUMBER">%d</xliff:g> gailu)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetootha desaktibatuta"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Distira"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Biratze automatikoa"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Biratzea blokeatuta"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Bertikala"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Horizontala"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"Idazketa-metodoa"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"Kokapena"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Kokapena desaktibatuta"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Multimedia-gailua"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Larrialdi-deiak soilik"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Ezarpenak"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"Ordua"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"Ni"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi konexioa"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Konektatu gabe"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Ez dago sarerik"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi konexioa desaktibatuta"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"Igorri pantailako edukia"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Distira"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMATIKOA"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Alderantzikatu koloreak"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"Koloreen zuzenketa modua"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"Ezarpen gehiago"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Eginda"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Konektatuta"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Konexioa partekatzea"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Sare publikoa"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Jakinarazpenak"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Linterna"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"Ez dago azkenaldian erabilitako aplikaziorik"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Aplikazioaren informazioa"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"bilatu"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Kargatuta"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"Kargatzen"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> falta zaizkio guztiz kargatzeko"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"Ez da kargatzen ari"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Baliteke sarea\nkontrolatuta egotea"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"Bilatu"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"Lerratu gora hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"Lerratu ezkerrera hau egiteko: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"Ez molestatu"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"Horren premiazkoak ez diren jakinarazpenak daude behean"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"Irekitzeko, ukitu berriro"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"Desblokeatzeko, pasatu hatza gorantz"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"Telefonoa irekitzeko, pasatu hatza eskuinera."</string>
+ <string name="camera_hint" msgid="5241441720959174226">"Kamera irekitzeko, pasatu hatza ezkerrera."</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"Zuk desaktibatu arte"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Kargatzen (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> guztiz kargatu arte)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"Gonbidatua"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ Gonbidatua"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"Minutu batez"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d minutuz"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"Ordubetez"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d orduz"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"Bateria aurrezlea aktibatuta dago"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"Gailuaren funtzioak murrizten dira, energia gutxiago kontsumi dezan."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"Ireki bateria aurrezlearen ezarpenak"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index e39564b..f5f86a3 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"برگردان رنگها"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"حالت تصحیح رنگ"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"تنظیمات بیشتر"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"انجام شد"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"متصل"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"اتصال به اینترنت با تلفن همراه"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"نقطه اتصال"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"اعلانها"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"چراغ قوه"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"هیچ برنامه جدیدی موجود نیست"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"اطلاعات برنامه"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"جستجو"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 96f61dd..4827ed1 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -215,9 +215,13 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Käänteiset värit"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Värinkorjaustila"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Lisäasetukset"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Valmis"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Yhdistetty"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Jaettu yhteys"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Ilmoitukset"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"Ei viimeaikaisia sovelluksia"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Sovellustiedot"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"haku"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index ff192de..a776981 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverser les couleurs"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mode de correction des couleurs"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Plus de paramètres"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Terminé"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Connecté"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Partage de connexion"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Point d\'accès sans fil"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notifications"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lampe de poche"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Aucune application récente"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Détails de l\'application"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"rechercher"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index f0a1592..4254503 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverser les couleurs"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mode de correction des couleurs"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Plus de paramètres"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"OK"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Connecté"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Partage de connexion"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Point d\'accès"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notifications"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lampe de poche"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Aucune application récente"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informations sur l\'application"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"rechercher"</string>
diff --git a/packages/SystemUI/res/values-gl-rES-land/strings.xml b/packages/SystemUI/res/values-gl-rES-land/strings.xml
new file mode 100644
index 0000000..f0b7507
--- /dev/null
+++ b/packages/SystemUI/res/values-gl-rES-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"Agora a pantalla está bloqueada en orientación horizontal."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..1825010
--- /dev/null
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"IU sistema"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Borrar"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Quitar da lista"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Información da aplicación"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Ningunha aplicación recente"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"Rexeitar aplicacións recentes"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"1 aplicación recente"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d aplicacións recentes"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Non hai notificacións"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"En curso"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificacións"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"Queda pouca batería"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> restante"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"Queda un <xliff:g id="NUMBER">%d%%</xliff:g>. O aforrador de batería está activado."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"Non compatible coa carga por USB.\nUtiliza só o cargador proporcionado."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"Non se admite a carga mediante USB."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"Utiliza soamente o cargador fornecido."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"Configuración"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"Iniciar aforrador de batería?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"Iniciar"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"Iniciar o aforrador de batería"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"Para axudar a mellorar a duración da batería, o aforrador de batería reducirá o rendemento do dispositivo.\n\nO aforrador de batería desactivarase cando enchufes o dispositivo."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"Configuración"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"Modo avión"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Xirar pantalla automaticamente"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"APAGAR"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificacións"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ancorado"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configurar métodos de entrada"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Teclado físico"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Queres permitir que a aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda ao dispositivo USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Queres permitir que a aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda ao accesorio USB?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Queres abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> cando este dispositivo USB estea conectado?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Queres abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> cando este accesorio USB estea conectado?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Ningunha aplicación instalada funciona co accesorio USB. Máis información: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"Accesorio USB"</string>
+ <string name="label_view" msgid="6304565553218192990">"Ver"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"Usar de forma predeterminada para dispositivo USB"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"Usar de forma predeterminada para este accesorio USB"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"Permitir a depuración de erros de USB?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"A identificación dixital da clave de RSA do ordenador é:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"Permitir sempre desde este ordenador"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"Ampliar ata ocupar todo"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"Estirar ata ocupar todo"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"Gardando captura de pantalla…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"Gardando captura de pantalla…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"Estase gardando a captura de pantalla."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"Captura de pantalla gardada."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"Toca para ver a captura de pantalla."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"Non se puido facer a captura de pantalla."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"Non se puido gardar a captura de pantalla. É posible que o almacenamento estea en uso."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"Opcións de transferencia USB"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"Inserir como reprodutor multimedia (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"Inserir como cámara (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalar Android File Transfer para Mac"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"Volver"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"Inicio"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"Menú"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"Aplicacións recentes"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"Buscar"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"Cámara"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"Teléfono"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Cambiar o botón do método de entrada."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botón de zoom de compatibilidade"</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de compatibilidade co tamaño da pantalla."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth conectado"</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth desconectado"</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"Sen batería"</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"Unha barra de batería"</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"Dúas barras de batería"</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"Tres barras de batería"</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"Batería cargada"</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"Sen teléfono"</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"Unha barra de cobertura"</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"Dúas barras de cobertura"</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"Tres barras de cobertura"</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"Cobertura ao máximo"</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"Sen datos"</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"Unha barra de sinal de datos"</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"Sinal de datos: dúas barras"</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tres barras de sinal de datos"</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"Sinal de datos: completo"</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi desactivada"</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi desconectada"</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Unha barra de wifi"</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Dúas barras de wifi"</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Tres barras de wifi"</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Sinal completo de wifi"</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"Non hai WiMAX."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"Unha barra de WiMAX"</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"Dúas barras de WiMAX"</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"Tres barras de WiMAX"</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"Sinal completo de WiMAX"</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"Sen sinal"</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"Non conectada"</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"Ningunha barra"</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"Unha barra"</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"Dúas barras"</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"Tres barras"</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"Sinal completo"</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"Activada"</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"Desactivada"</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"Conectado"</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"Conectando."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerancia"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"Sen SIM"</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ancoraxe de Bluetooth."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avión"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for accessibility_battery_level (7451474187113371965) -->
+ <skip />
+ <string name="accessibility_settings_button" msgid="799583911231893380">"Configuración do sistema"</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"Notificacións"</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"Eliminar notificación."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS activado"</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Obtendo GPS."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter activado"</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Timbre en vibración"</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Timbre silenciado"</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"Rexeitouse <xliff:g id="APP">%s</xliff:g>."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"Notificación rexeitada"</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"Sombra de notificación"</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Configuración rápida"</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"Aplicacións recentes"</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"Usuario <xliff:g id="USER">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"Móbil <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"Batería <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"Modo avión <xliff:g id="STATE">%s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetooth <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"Localización <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Alarma definida para as <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"Pecha o panel"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"Máis tempo"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"Menos tempo"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Datos 2G-3G activados"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datos 4G activados"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Datos móbiles desactivados"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Datos desactivados"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Alcanzouse o límite de uso de datos especificado.\n\nSe se volven activar os datos, é posible que o operador aplique custos adicionais."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Volver activar os datos"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sen Internet"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi conectada"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"Buscando GPS"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"Localización establecida polo GPS"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"Solicitudes de localización activas"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"Eliminar todas as notificacións."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"Información da aplicación"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"A pantalla xirará automaticamente."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"A pantalla está bloqueada en orientación horizontal."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"A pantalla está bloqueada en orientación vertical."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"Caixa de sobremesa"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"Protector pantalla"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modo avión"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"Cargando, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"Cargada"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> dispositivos)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desactivado"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Brillo"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Rotación automática"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Rotación bloqueada"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Vertical"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Horizontal"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"Método de entrada"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"Localización"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Localización desactivada"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Dispositivo multimedia"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Só chamadas de emerxencia"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Configuración"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"Hora"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"Eu"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wifi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Non conectada"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Non hai rede"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wifi desactivada"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"Pantalla de emisión"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brillo"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTOMÁTICO"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverter cores"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de corrección de cor"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"Máis opcións"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Listo"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Conectado"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Ancoraxe á rede"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Zona wifi"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificacións"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lanterna"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"Ningunha aplicación recente"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Información da aplicación"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Cargada"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"Cargando"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> para completar a carga"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"Non está cargando"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"É posible que se\nsupervise a rede"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"Buscar"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"Pasa o dedo cara arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"Pasa o dedo cara a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"Non molestar"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"Notificacións menos urxentes abaixo"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"Toca de novo para abrir"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"Pasa o dedo cara arriba para desbloquear"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"Pasa o dedo cara á dereita para acceder ao teléfono"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"Pasa o dedo cara á esquerda para abrir a cámara"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"Ata que desactives isto"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Cargando (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para finalizar a carga)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"Convidado"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ Convidado"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"Durante un minuto"</item>
+ <item quantity="other" msgid="6924190729213550991">"Durante %d minutos"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"Durante unha hora"</item>
+ <item quantity="other" msgid="5408537517529822157">"Durante %d horas"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"O aforrador de batería está activado"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"Reduciuse o rendemento do dispositivo."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"Abrir a configuración do aforrador de batería"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 70d5413..0b6ec13 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"रंग उलटें"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"रंग सुधार मोड"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"और सेटिंग"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"पूर्ण"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"कनेक्ट है"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"टेदरिंग"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"हॉटस्पॉट"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"सूचनाएं"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"फ़्लैशलाइट"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"कोई हाल ही का ऐप्स नहीं"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"एप्लिकेशन जानकारी"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"खोज"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 034328d..f9ce6d0 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Preokreni boje"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Način korekcije boje"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Više postavki"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Dijeljenje veze"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Žarišna točka"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Obavijesti"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Bljeskalica"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Nema nedavnih aplikacija"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacije o aplikaciji"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"pretraži"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index e8d7257..eb4c893 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Színek invertálása"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Színjavítás mód"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"További beállítások"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Kész"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Csatlakoztatva"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Megosztás"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Értesítések"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Zseblámpa"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Nincsenek nemrég használt alkalmazások"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Az alkalmazás adatai"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"keresés"</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index e7234ac8..32fa748 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Շրջել գույները"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Գույների կարգավորման ռեժիմ"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Հավելյալ կարգավորումներ"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Պատրաստ է"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Կապակցված է"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Միացում"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Թեժ կետ"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Ծանուցումներ"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Լապտեր"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Նոր հավելվածներ չկան"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Հավելվածի մասին"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"որոնել"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 66b2ce5..5ef3bda 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inversi warna"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mode koreksi warna"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Setelan lainnya"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Menambatkan"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Pemberitahuan"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lampu senter"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Tidak ada aplikasi terkini"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Info Aplikasi"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"telusuri"</string>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index 994ba55..23d7037 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Umsnúa litum"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Litaleiðrétting"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Fleiri stillingar"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tjóðrun"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Heitur reitur"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Tilkynningar"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Vasaljós"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Engin nýleg forrit"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Forritsupplýsingar"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"leita"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 3a09f20..efc88e0 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverti colori"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modalità di correzione del colore"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Altre impostazioni"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Fine"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Connesso"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notifiche"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flashlight"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Nessuna app recente"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informazioni sull\'applicazione"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 629f3ac..143bdd7 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"הפוך צבעים"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"מצב תיקון צבע"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"הגדרות נוספות"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"בוצע"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"מחובר"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"שיתוף אינטרנט בין ניידים"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"נקודה לשיתוף אינטרנט"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"הודעות"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"פנס"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"אין אפליקציות אחרונות"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"מידע על האפליקציה"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"חפש"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 113023a..fc77238 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -217,9 +217,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"色を反転"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"色補正モード"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"詳細設定"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"テザリング"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"アクセスポイント"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"通知"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ライト"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"最近使ったアプリはありません"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"アプリ情報"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"検索"</string>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index bbcec3f..19e5fa5 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -215,9 +215,15 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"ფერების შებრუნება"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"ფერთა კორექციის რეჟიმი"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"დამატებითი პარამეტრები"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"მოდემის რეჟიმი"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"წვდომის წერტილი"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"შეტყობინებები"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"ბოლო აპები არ არის"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"აპლიკაციის შესახებ"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ძიება"</string>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index 38d14ea..7b2c61d 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Түстерді инверсиялау"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Түсті жөндеу режимі"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Қосымша параметрлер"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Тетеринг"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Хот-спот"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Хабарландырулар"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Қалта шам"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Жақындағы қолданбалар жоқ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Қолданба туралы ақпарат"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"іздеу"</string>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 43382d4..8270801 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"ដាក់បញ្ច្រាសពណ៌"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"របៀបកែពណ៌"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"ការកំណត់ច្រើនទៀត"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"រួចរាល់"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"បានភ្ជាប់"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"ការភ្ជាប់"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ហតស្ប៉ត"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"ការជូនដំណឹង"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ពិល"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"មិនមានកម្មវិធីថ្មីៗ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ព័ត៌មានកម្មវិធី"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ស្វែងរក"</string>
diff --git a/packages/SystemUI/res/values-kn-rIN-land/strings.xml b/packages/SystemUI/res/values-kn-rIN-land/strings.xml
new file mode 100644
index 0000000..640389f
--- /dev/null
+++ b/packages/SystemUI/res/values-kn-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"ಪರದೆಯು ಇದೀಗ ಲ್ಯಾಂಡ್ಸ್ಕೇಪ್ ಒರಿಯಂಟೇಶನ್ನಲ್ಲಿ ಲಾಕ್ ಆಗಿದೆ."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..75bf5fc
--- /dev/null
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"ಸಿಸ್ಟಂ UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"ತೆರವುಮಾಡು"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"ಪಟ್ಟಿಯಿಂದ ತೆಗೆದುಹಾಕು"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"ಯಾವುದೇ ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಲ್ಲ"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ವಜಾಗೊಳಿಸು"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"1 ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ಯಾವುದೇ ಅಧಿಸೂಚನೆಗಳಿಲ್ಲ"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"ಅಧಿಸೂಚನೆಗಳು"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"ಬ್ಯಾಟರಿ ಕಡಿಮೆ ಇದೆ"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> ಉಳಿದಿದೆ"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"<xliff:g id="NUMBER">%d%%</xliff:g> ಉಳಿದಿದೆ. ಬ್ಯಾಟರಿ ರಕ್ಷಕ ಆನ್ ಆಗಿದೆ."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB ಚಾರ್ಜಿಂಗ್ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ.\nಒದಗಿಸಿರುವ ಚಾರ್ಜರ್ ಮಾತ್ರ ಬಳಸಿ."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB ಚಾರ್ಜಿಂಗ್ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"ಒದಗಿಸಿರುವ ಚಾರ್ಜರ್ ಮಾತ್ರ ಬಳಸಿ."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"ಬ್ಯಾಟರಿ ರಕ್ಷಕ ಪ್ರಾರಂಭಿಸುವುದೇ?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"ಪ್ರಾರಂಭಿಸು"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"ಬ್ಯಾಟರಿ ರಕ್ಷಕವನ್ನು ಪ್ರಾರಂಭಿಸಿ"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ಸುಧಾರಿಸಲು, ಬ್ಯಾಟರಿ ರಕ್ಷಕ ನಿಮ್ಮ ಸಾಧನದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಡಿಮೆಗೊಳಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಪ್ಲಗ್ ಇನ್ ಮಾಡಿದಾಗ ಬ್ಯಾಟರಿ ರಕ್ಷಕ ನಿಷ್ಕ್ರಿಯಗೊಳ್ಳುತ್ತದೆ."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"ಪರದೆಯನ್ನು ಸ್ವಯಂ-ತಿರುಗಿಸಿ"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"ಮ್ಯೂಟ್"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"ಸ್ವಯಂ"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"ಅಧಿಸೂಚನೆಗಳು"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ವ್ಯಾಪ್ತಿ ತಲುಪಿದೆ"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ಇನ್ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಹೊಂದಿಸು"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"USB ಸಾಧನವನ್ನು ಪ್ರವೇಶಿಸಲು <xliff:g id="APPLICATION">%1$s</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುವುದೇ?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"USB ಪರಿಕರವನ್ನು ಪ್ರವೇಶಿಸಲು <xliff:g id="APPLICATION">%1$s</xliff:g> ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುವುದೇ?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"ಈ USB ಸಾಧನ ಸಂಪರ್ಕಗೊಂಡಿರುವಾಗ <xliff:g id="ACTIVITY">%1$s</xliff:g> ತೆರೆಯುವುದೇ?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"USB ಪರಿಕರವು ಸಂಪರ್ಕಗೊಂಡಿರುವಾಗ <xliff:g id="ACTIVITY">%1$s</xliff:g> ತೆರೆಯುವುದೇ?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ಆಪ್ಗಳು USB ಪರಿಕರದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಆ ಬಗ್ಗೆ <xliff:g id="URL">%1$s</xliff:g> ನಲ್ಲಿ ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB ಪರಿಕರ"</string>
+ <string name="label_view" msgid="6304565553218192990">"ವೀಕ್ಷಿಸು"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"ಈ USB ಪರಿಕರಕ್ಕಾಗಿ ಡೀಫಾಲ್ಟ್ ಆಗಿ ಬಳಸಿ"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"ಈ USB ಪರಿಕರಕ್ಕಾಗಿ ಡೀಫಾಲ್ಟ್ ಆಗಿ ಬಳಸಿ"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"ಕಂಪ್ಯೂಟರ್ನ RSA ಕೀ ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಹೀಗಿದೆ :\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"ಈ ಕಂಪ್ಯೂಟರ್ನಿಂದ ಯಾವಾಗಲೂ ಅನುಮತಿಸಿ"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"ಪರದೆ ತುಂಬಿಸಲು ಝೂಮ್ ಮಾಡು"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"ಪರದೆ ತುಂಬಿಸಲು ವಿಸ್ತಾರಗೊಳಿಸು"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ಉಳಿಸಲಾಗುತ್ತಿದೆ."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ಸೆರೆಹಿಡಿಯಲಾಗಿದೆ."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ಶಾಟ್ ವೀಕ್ಷಿಸಲು ಸ್ಪರ್ಶಿಸಿ."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ಸೆರೆಹಿಡಿಯಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ಉಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಸಂಗ್ರಹಣೆಯು ಬಳಕೆಯಲ್ಲಿರಬಹುದು."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB ಫೈಲ್ ವರ್ಗಾವಣೆ ಆಯ್ಕೆಗಳು"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"ಮೀಡಿಯಾ ಪ್ಲೇಯರ್ ರೂಪದಲ್ಲಿ ಅಳವಡಿಸಿ (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"ಕ್ಯಾಮರಾ ರೂಪದಲ್ಲಿ ಅಳವಡಿಸಿ (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac ಗಾಗಿ Android ಫೈಲ್ ವರ್ಗಾವಣೆ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಿ"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"ಹಿಂದೆ"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"ಮುಖಪುಟ"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"ಮೆನು"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳು"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"ಹುಡುಕು"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"ಕ್ಯಾಮರಾ"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"ಫೋನ್"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ಇನ್ಪುಟ್ ವಿಧಾನ ಬದಲಿಸು ಬಟನ್."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ಹೊಂದಾಣಿಕೆಯ ಝೂಮ್ ಬಟನ್."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ಚಿಕ್ಕ ಪರದೆಯಿಂದ ದೊಡ್ಡ ಪರದೆಗೆ ಝೂಮ್ ಮಾಡು."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth ಸಂಪರ್ಕಗೊಂಡಿದೆ."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"ಬ್ಯಾಟರಿ ಇಲ್ಲ."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"ಬ್ಯಾಟರಿ ಒಂದು ಪಟ್ಟಿ."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"ಬ್ಯಾಟರಿ ಎರಡು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"ಬ್ಯಾಟರಿ ಮೂರು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"ಬ್ಯಾಟರಿ ಭರ್ತಿಯಾಗಿದೆ."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"ಯಾವುದೇ ಫೋನ್ ಇಲ್ಲ."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"ಪೋನ್ ಒಂದು ಪಟ್ಟಿ."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"ಫೋನ್ ಎರಡು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"ಫೋನ್ ಮೂರು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"ಫೋನ್ ಸಂಕೇತ ಪೂರ್ತಿ ಇದೆ."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"ಯಾವುದೇ ಡೇಟಾ ಇಲ್ಲ."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"ಡೇಟಾ ಒಂದು ಪಟ್ಟಿ."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"ಡೇಟಾ ಎರಡು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"ಡೇಟಾ ಮೂರು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"ಡೇಟಾ ಸಂಕೇತ ತುಂಬಿದೆ."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi ಆಫ್."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi ಒಂದು ಪಟ್ಟಿ."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi ಎರಡು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi ಮೂರು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi ಸಿಗ್ನಲ್ ಪೂರ್ತಿ ಇದೆ."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX ಸಂಕೇತವಿಲ್ಲ."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX ಒಂದು ಪಟ್ಟಿ."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX ಎರಡು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX ಮೂರು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX ಸಿಗ್ನಲ್ ಪೂರ್ತಿ ಇದೆ."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"ಸಂಕೇತವಿಲ್ಲ."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"ಸಂಪರ್ಕಗೊಂಡಿಲ್ಲ."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"ಶೂನ್ಯ ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"ಒಂದು ಪಟ್ಟಿ."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"ಎರಡು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"ಮೂರು ಪಟ್ಟಿಗಳು."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"ಸಂಕೇತ ಪೂರ್ತಿಯಿದೆ."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"ಆನ್."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"ಆಫ್."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"ಸಂಪರ್ಕಗೊಂಡಿದೆ."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತಿದೆ."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ರೋಮಿಂಗ್"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"ಎಡ್ಜ್"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"ಯಾವುದೇ SIM ಇಲ್ಲ."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth ಟೆಥರಿಂಗ್."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"ಏರೋಪ್ಲೇನ್ ಮೋಡ್"</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"ಬ್ಯಾಟರಿ <xliff:g id="NUMBER">%d</xliff:g> ಪ್ರತಿಶತ."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"ಸಿಸ್ಟಂ ಸೆಟ್ಟಿಂಗ್ಗಳು."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"ಅಧಿಸೂಚನೆಗಳು."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"ಅಧಿಸೂಚನೆ ತೆರವುಗೊಳಿಸು."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS ಸಕ್ರಿಯವಾಗಿದೆ."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS ಸ್ವಾಧೀನ."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"ಟೆಲಿಟೈಪ್ರೈಟರ್ ಸಕ್ರಿಯವಾಗಿದೆ."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"ರಿಂಗರ್ ಕಂಪನ."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"ರಿಂಗರ್ ಶಾಂತ."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> ವಜಾಗೊಳಿಸಲಾಗಿದೆ."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"ಅಧಿಸೂಚನೆ ವಜಾಗೊಂಡಿದೆ."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"ಅಧಿಸೂಚನೆಯ ಛಾಯೆ."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳು."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳು."</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"ಬಳಕೆದಾರ <xliff:g id="USER">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"ಮೊಬೈಲ್ <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"ಬ್ಯಾಟರಿ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"ಬ್ಲೂಟೂತ್ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"ಸ್ಥಾನ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g> ಗಂಟೆಗೆ ಅಲಾರಾಂ ಹೊಂದಿಸಲಾಗಿದೆ."</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"ಫಲಕವನ್ನು ಮುಚ್ಚು"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"ಹೆಚ್ಚು ಸಮಯ"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"ಕಡಿಮೆ ಸಮಯ"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G ಡೇಟಾ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G ಡೇಟಾ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"ಮೊಬೈಲ್ ಡೇಟಾ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"ಡೇಟಾ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿರುವ ಡೇಟಾ ಬಳಕೆಯ ಮಿತಿಯನ್ನು ತಲುಪಿರುವಿರಿ.\n\nನೀವು ಡೇಟಾವನ್ನು ಮರು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಆಪರೇಟರ್ ನಿಮಗೆ ಶುಲ್ಕ ವಿಧಿಸಬಹುದು."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"ಡೇಟಾ ಮರುಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿಲ್ಲ"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS ಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"ಸ್ಥಾನವನ್ನು GPS ಮೂಲಕ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"ಸ್ಥಾನ ವಿನಂತಿಗಳು ಸಕ್ರಿಯವಾಗಿವೆ"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"ಎಲ್ಲಾ ಅಧಿಸೂಚನೆಗಳನ್ನು ತೆರವುಗೊಳಿಸು."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"ಪರದೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತಿರುಗುತ್ತದೆ."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"ಪರದೆಯನ್ನು ಲ್ಯಾಂಡ್ಸ್ಕೇಪ್ ಓರಿಯಂಟೇಶನ್ನಲ್ಲಿ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"ಪರದೆಯನ್ನು ಪೋಟ್ರೇಟ್ ಓರಿಯಂಟೇಶನ್ನಲ್ಲಿ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"ಡೆಸರ್ಟ್ ಕೇಸ್"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"ಡೇಡ್ರೀಮ್"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"ಇಥರ್ನೆಟ್"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"ಚಾರ್ಜ್ ಆಗಿದೆ"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ಬ್ಲೂಟೂತ್"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ಬ್ಲೂಟೂತ್ (<xliff:g id="NUMBER">%d</xliff:g> ಸಾಧನಗಳು)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ಬ್ಲೂಟೂತ್ ಆಫ್"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"ಪ್ರಕಾಶಮಾನ"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"ಸ್ವಯಂ-ತಿರುಗುವಿಕೆ"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"ತಿರುಗುವಿಕೆ ಲಾಕ್ ಆಗಿದೆ"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"ಪೋಟ್ರೇಟ್"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"ಲ್ಯಾಂಡ್ಸ್ಕೇಪ್"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"ಇನ್ಪುಟ್ ವಿಧಾನ"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"ಸ್ಥಾನ"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"ಸ್ಥಾನ ಆಫ್ ಆಗಿದೆ"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"ಮಾಧ್ಯಮ ಸಾಧನ"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"ತುರ್ತು ಕರೆಗಳು ಮಾತ್ರ"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"ಸಮಯ"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"ನಾನು"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"ಸಂಪರ್ಕಗೊಂಡಿಲ್ಲ"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"ನೆಟ್ವರ್ಕ್ ಇಲ್ಲ"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ಆಫ್"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"ಬಿತ್ತರದ ಪರದೆ"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ಪ್ರಕಾಶಮಾನ"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"ಸ್ವಯಂ"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"ಬಣ್ಣಗಳನ್ನು ಬದಲಾಯಿಸಿ"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"ಬಣ್ಣ ತಿದ್ದುಪಡಿ ಮೋಡ್"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"ಹೆಚ್ಚಿನ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"ಮುಗಿದಿದೆ"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"ಟೆಥರಿಂಗ್"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ಹಾಟ್ಸ್ಪಾಟ್"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"ಅಧಿಸೂಚನೆಗಳು"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ಫ್ಲಾಶ್ಲೈಟ್"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"ಯಾವುದೇ ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಲ್ಲ"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"ಹುಡುಕಾಟ"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ಚಾರ್ಜ್ ಆಗಿದೆ"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> ಪೂರ್ಣಗೊಳ್ಳುವವರೆಗೆ"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"ಚಾರ್ಜ್ ಆಗುತ್ತಿಲ್ಲ"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"ನೆಟ್ವರ್ಕ್\n ವೀಕ್ಷಿಸಬಹುದಾಗಿರುತ್ತದೆ"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"ಹುಡುಕಿ"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಮೇಲಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ಗಾಗಿ ಎಡಕ್ಕೆ ಸ್ಲೈಡ್ ಮಾಡಿ."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"ಕೆಳಗೆ ಕಡಿಮೆ ಅವಸರದ ಅಧಿಸೂಚನೆಗಳು"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"ತೆರೆಯಲು ಮತ್ತೆ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"ಅನ್ಲಾಕ್ ಮಾಡಲು ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ಫೋನ್ಗಾಗಿ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"ಕ್ಯಾಮರಾಗಾಗಿ ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"ನೀವಿದನ್ನು ಆಫ್ ಮಾಡುವವರೆಗೆ"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ ( ಪೂರ್ತಿ ಆಗುವವರೆಗೆ <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"ಅತಿಥಿ"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ ಅತಿಥಿ"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"ಒಂದು ನಿಮಿಷದವರೆಗೆ"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d ನಿಮಿಷಗಳವರೆಗೆ"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"ಒಂದು ಗಂಟೆಯವರೆಗೆ"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d ಗಂಟೆಗಳವರೆಗೆ"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"ಬ್ಯಾಟರಿ ರಕ್ಷಕ ಆನ್ ಆಗಿದೆ"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"ಸಾಧನದ ಕಾರ್ಯಕ್ಷಮತೆ ಕಡಿಮೆಯಾಗಿದೆ."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"ಬ್ಯಾಟರಿ ರಕ್ಷಕದ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ತೆರೆಯಿರಿ"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index fa40aa5..d3ae241 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -217,9 +217,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"색상 반전"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"색상 보정 모드"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"설정 더보기"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"테더링"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"핫스팟"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"알림"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"손전등"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"최근에 사용한 앱 없음"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"애플리케이션 정보"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"검색"</string>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index 1307e82..e21172a 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -241,9 +241,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Түстөрдү аңтаруу"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Түстү тууралоо абалы"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Дагы жөндөөлөр"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Тетеринг"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Туташуу чекити"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Эскертмелер"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Кол чырак"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Акыркы колдонмолор жок"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Колдонмо жөнүндө маалымат"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"издөө"</string>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index fb3e278..29e4597 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"ສະລັບສີ"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"ໂໝດການແກ້ໄຂສີ"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"ແລ້ວໆ"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"ເຊື່ອມຕໍ່ແລ້ວ"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"ການປ່ອນສັນຍານ"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ຮັອດສະປອດ"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"ການແຈ້ງເຕືອນ"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ໄຟສາຍ"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"ບໍ່ມີແອັບຯທີ່ຫາກໍໃຊ້"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ຂໍ້ມູນແອັບພລິເຄຊັນ"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ຊອກຫາ"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 792087c..60b806b 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Pakeisti spalvas"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Spalvų taisymo režimas"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Daugiau nustatymų"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Atlikta"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Prijungtas"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Susiejimas"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Viešosios interneto prieigos taškas"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Pranešimai"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flashlight"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Nėra naujausių programų"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Programos informacija"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"paieška"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 34f6919..e6f28a8 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invertēt krāsas"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Krāsu korekcijas režīms"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Vairāk iestatījumu"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Gatavs"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Pievienota"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Piesaiste"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Tīklājs"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Paziņojumi"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Zibspuldze"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Nav nesen izmantotu lietotņu"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informācija par lietojumprogrammu"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"Meklēt"</string>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index 2d0309b..4cfe062 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Преврти ги боите"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Режим за корекција на боја"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Повеќе поставки"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Готово"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Поврзано"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Поврзување"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Точка на пристап"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Известувања"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Светилка"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Нема неодамнешни апликации"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Информации за апликацијата"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"пребарај"</string>
diff --git a/packages/SystemUI/res/values-ml-rIN-land/strings.xml b/packages/SystemUI/res/values-ml-rIN-land/strings.xml
new file mode 100644
index 0000000..97338ee
--- /dev/null
+++ b/packages/SystemUI/res/values-ml-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"ലാൻഡ്സ്കേപ്പ് ഓറിയന്റേഷനിൽ സ്ക്രീൻ ലോക്കുചെയ്തു."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..2df6867
--- /dev/null
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"സിസ്റ്റം UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"മായ്ക്കുക"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"ലിസ്റ്റിൽ നിന്നും നീക്കംചെയ്യുക"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"അപ്ലിക്കേഷൻ വിവരം"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"സമീപകാല അപ്ലിക്കേഷനുകളൊന്നുമില്ല"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"സമീപകാല അപ്ലിക്കേഷനുകൾ നിരസിക്കുക"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"ഒരു സമീപകാല അപ്ലിക്കേഷൻ"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d സമീപകാല അപ്ലിക്കേഷനുകൾ"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"അറിയിപ്പുകൾ ഒന്നുമില്ല"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"നടന്നുകൊണ്ടിരിക്കുന്നവ"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"അറിയിപ്പുകൾ"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"ബാറ്ററി നില കുറവാണ്"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> ശേഷിക്കുന്നു"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"<xliff:g id="NUMBER">%d%%</xliff:g> ശേഷിക്കുന്നു. ബാറ്ററി സേവർ ഓണാണ്."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB ചാർജ്ജുചെയ്യൽ പിന്തുണയ്ക്കുന്നില്ല.\nഅതിന്റെ അനുബന്ധ ചാർജ്ജർ മാത്രം ഉപയോഗിക്കുക."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB ചാർജ്ജുചെയ്യൽ പിന്തുണച്ചില്ല."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"വിതരണം ചെയ്ത ചാർജ്ജർ മാത്രം ഉപയോഗിക്കുക."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"ക്രമീകരണങ്ങൾ"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"ബാറ്ററി സേവർ ആരംഭിക്കണോ?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"ആരംഭിക്കുക"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"ബാറ്ററി സേവർ ആരംഭിക്കുക"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"ബാറ്ററി ആയുസ്സ് മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നതിന്, നിങ്ങളുടെ ഉപകരണത്തിന്റെ പ്രകടനത്തെ ബാറ്ററി സേവർ കുറയ്ക്കും.\n\nനിങ്ങളുടെ ഉപകരണം പ്ലഗ് ഇൻ ചെയ്തിരിക്കുമ്പോൾ ബാറ്ററി സേവർ അത് പ്രവർത്തനരഹിതമാക്കും."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"ക്രമീകരണങ്ങൾ"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"വിമാന മോഡ്"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"സ്ക്രീൻ യാന്ത്രികമായി തിരിക്കുക"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"മ്യൂട്ടുചെയ്യുക"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"യാന്ത്രികം"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"അറിയിപ്പുകൾ"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ടെതർ ചെയ്തു"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ടൈപ്പുചെയ്യൽ രീതികൾ സജ്ജീകരിക്കുക"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"ഭൗതിക കീബോർഡ്"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"USB ഉപകരണം ആക്സസ്സ് ചെയ്യാൻ <xliff:g id="APPLICATION">%1$s</xliff:g> എന്ന അപ്ളിക്കേഷനെ അനുവദിക്കണോ?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"USB ആക്സസ്സറി ആക്സസ്സുചെയ്യാൻ <xliff:g id="APPLICATION">%1$s</xliff:g> എന്ന അപ്ലിക്കേഷനെ അനുവദിക്കണോ?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"ഈ USB ഉപകരണം കണക്റ്റുചെയ്തിരിക്കുമ്പോൾ <xliff:g id="ACTIVITY">%1$s</xliff:g> തുറക്കണോ?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"ഈ USB ആക്സസ്സറി കണക്റ്റുചെയ്തിരിക്കുമ്പോൾ <xliff:g id="ACTIVITY">%1$s</xliff:g> തുറക്കണോ?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ഈ USB ആക്സസ്സറിയിൽ ഇൻസ്റ്റാളുചെയ്തവയൊന്നും പ്രവർത്തിക്കുന്നില്ല. <xliff:g id="URL">%1$s</xliff:g>-ൽ ഇതേക്കുറിച്ച് കൂടുതലറിയുക"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB ആക്സസ്സറി"</string>
+ <string name="label_view" msgid="6304565553218192990">"കാണുക"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"ഈ USB ഉപകരണത്തിനായി സ്ഥിരമായി ഉപയോഗിക്കുക"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"ഈ USB ആക്സസ്സറിക്കായി സ്ഥിരമായി ഉപയോഗിക്കുക"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB ഡീബഗ്ഗിംഗ് അനുവദിക്കണോ?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"ഈ കമ്പ്യൂട്ടറിന്റെ RSA കീ ഫിംഗർപ്രിന്റ് ഇതാണ്:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"ഈ കമ്പ്യൂട്ടറിൽ നിന്ന് എല്ലായ്പ്പോഴും അനുവദിക്കുക"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"സ്ക്രീനിൽ ഉൾക്കൊള്ളിക്കാൻ സൂം ചെയ്യുക"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"സ്ക്രീനിൽ ഉൾക്കൊള്ളിക്കാൻ വലിച്ചുനീട്ടുക"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"സ്ക്രീൻഷോട്ട് സംരക്ഷിക്കുന്നു..."</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"സ്ക്രീൻഷോട്ട് സംരക്ഷിക്കുന്നു..."</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"സ്ക്രീൻഷോട്ട് സംരക്ഷിക്കുന്നു."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"സ്ക്രീൻഷോട്ട് എടുത്തു."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"നിങ്ങളുടെ സ്ക്രീൻഷോട്ട് കാണാനായി സ്പർശിക്കുക."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"സ്ക്രീൻഷോട്ട് എടുക്കാൻ കഴിഞ്ഞില്ല."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"സ്ക്രീൻഷോട്ട് സംരക്ഷിക്കാൻ കഴിഞ്ഞില്ല. സംഭരണം ഉപയോഗത്തിലായിരിക്കാം."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB ഫയൽ കൈമാറൽ ഓപ്ഷനുകൾ"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"ഒരു മീഡിയ പ്ലേയറായി (MTP) മൗണ്ടുചെയ്യുക"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"ഒരു ക്യാമറയായി (PTP) മൗണ്ടുചെയ്യുക"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac-നായുള്ള Android ഫയൽ കൈമാറൽ അപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"മടങ്ങുക"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"ഹോം"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"മെനു"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"സമീപകാല അപ്ലിക്കേഷനുകൾ"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"തിരയൽ"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"ക്യാമറ"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"ഫോണ്"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ടൈപ്പുചെയ്യൽ രീതി ബട്ടൺ മാറുക."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"അനുയോജ്യതാ സൂം ബട്ടൺ."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ചെറുതിൽ നിന്ന് വലിയ സ്ക്രീനിലേക്ക് സൂം ചെയ്യുക."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth കണക്റ്റുചെയ്തു."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth വിച്ഛേദിച്ചു."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"ബാറ്ററിയില്ല."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"ബാറ്ററി ഒരു ബാർ."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"ബാറ്ററി രണ്ട് ബാർ."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"ബാറ്ററി മൂന്ന് ബാർ."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"ബാറ്ററി നിറഞ്ഞു."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"ഫോൺ സിഗ്നൽ ഒന്നുമില്ല."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"ഫോണിൽ ഒരു ബാർ."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"ഫോണിൽ രണ്ട് ബാർ."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"ഫോണിൽ മൂന്ന് ബാർ."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"ഫോൺ സിഗ്നൽ പൂർണ്ണമാണ്."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"ഡാറ്റാ സിഗ്നൽ ഒന്നുമില്ല."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"ഡാറ്റ ഒരു ബാർ."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"ഡാറ്റ രണ്ട് ബാറുകൾ."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"ഡാറ്റ മൂന്ന് ബാർ."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"ഡാറ്റ സിഗ്നൽ പൂർണ്ണമാണ്."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi ഓഫാണ്."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi വിച്ഛേദിച്ചു."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi ഒരു ബാർ."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi രണ്ട് ബാറുകൾ."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi മൂന്ന് ബാറുകൾ."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi മികച്ച സിഗ്നൽ."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX ഇല്ല."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX ഒരു ബാർ."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX രണ്ട് ബാറുകൾ."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX മൂന്ന് ബാറുകൾ."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX മികച്ച സിഗ്നൽ."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"സിഗ്നൽ ഇല്ല."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"കണക്റ്റുചെയ്തിട്ടില്ല."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"ബാറുകളൊന്നുമില്ല."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"ഒരു ബാർ."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"രണ്ട് ബാറുകൾ."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"മൂന്ന് ബാറുകൾ."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"മികച്ച സിഗ്നൽ."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"ഓണാണ്."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"ഓഫാണ്."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"കണക്റ്റുചെയ്തു."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"കണക്റ്റുചെയ്യുന്നു."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"റോമിംഗ്"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"SIM ഇല്ല."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth ടെതറിംഗ്."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"വിമാന മോഡ്."</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"ബാറ്ററി <xliff:g id="NUMBER">%d</xliff:g> ശതമാനം."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"സിസ്റ്റം ക്രമീകരണങ്ങൾ."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"അറിയിപ്പുകൾ."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"വിവരം മായ്ക്കുക."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS പ്രവർത്തനക്ഷമമായി."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS നേടുന്നു."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter പ്രവർത്തനക്ഷമമാണ്."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"റിംഗർ വൈബ്രേറ്റ് ചെയ്യുന്നു."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"റിംഗർ നിശ്ശബ്ദമാണ്."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> നിരസിച്ചു."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"അറിയിപ്പ് നിരസിച്ചു."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"അറിയിപ്പ് ഷെയ്ഡ്."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"ദ്രുത ക്രമീകരണങ്ങൾ."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"സമീപകാല അപ്ലിക്കേഷനുകൾ."</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"ഉപയോക്താവ് <xliff:g id="USER">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"മൊബൈൽ <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"ബാറ്ററി <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"വിമാന മോഡ് <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetooth <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"ലൊക്കേഷൻ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g>-ന് അലാറം സജ്ജീകരിച്ചു."</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"പാനൽ അടയ്ക്കുക"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"കൂടുതൽ സമയം"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"കുറഞ്ഞ സമയം"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G ഡാറ്റ പ്രവർത്തനരഹിതമാക്കി"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G ഡാറ്റ പ്രവർത്തനരഹിതമാക്കി"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"മൊബൈൽ ഡാറ്റ പ്രവർത്തനരഹിതമാക്കി"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"ഡാറ്റ പ്രവർത്തനരഹിതമാക്കി"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"നിങ്ങളുടെ നിശ്ചിത ഡാറ്റ ഉപയോഗ പരിധിയിൽ എത്തിച്ചേർന്നു.\n\nനിങ്ങൾക്ക് വീണ്ടും പ്രവർത്തനക്ഷമമാക്കണമെന്നുണ്ടെങ്കിൽ, ഓപ്പറേറ്റർ നിങ്ങളിൽ നിന്നും നിരക്കീടാക്കാൻ ഇടയുണ്ട്."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"ഡാറ്റ വീണ്ടും പ്രവർത്തനക്ഷമമാക്കുക"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"ഇന്റർനെറ്റ് കണക്ഷൻ ഇല്ല"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi കണക്റ്റുചെയ്തു"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS-നായി തിരയുന്നു"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"ലൊക്കേഷൻ സജ്ജീകരിച്ചത് GPS ആണ്"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"ലൊക്കേഷൻ അഭ്യർത്ഥനകൾ സജീവമാണ്"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"എല്ലാ വിവരങ്ങളും മായ്ക്കുക."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"അപ്ലിക്കേഷൻ വിവരം"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"സ്ക്രീൻ യാന്ത്രികമായി തിരിയും."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"സ്ക്രീൻ ലാൻഡ്സ്കേപ്പ് ഓറിയന്റേഷനിൽ ലോക്കുചെയ്തു."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"സ്ക്രീൻ പോർട്രെയ്റ്റ് ഓറിയന്റേഷനിൽ ലോക്കുചെയ്തു."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"ഡെസേർട്ട് കെയ്സ്"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"ഡേഡ്രീം"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"ഇതർനെറ്റ്"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"വിമാന മോഡ്"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"ചാർജ്ജുചെയ്യുന്നു, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"ചാർജ്ജുചെയ്തു"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> ഉപകരണങ്ങൾ)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth ഓഫുചെയ്യുക"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"തെളിച്ചം"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"യാന്ത്രിക റൊട്ടേറ്റ്"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"റൊട്ടേഷൻ ലോക്കുചെയ്തു"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"പോർട്രെയ്റ്റ്"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"ലാൻഡ്സ്കേപ്പ്"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"ടൈപ്പുചെയ്യൽ രീതി"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"ലൊക്കേഷൻ"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"ലൊക്കേഷൻ ഓഫാണ്"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"മീഡിയ ഉപകരണം"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"അടിയന്തിര കോളുകൾ മാത്രം"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"ക്രമീകരണങ്ങൾ"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"സമയം"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"ഞാന്"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"കണക്റ്റുചെയ്തിട്ടില്ല"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"നെറ്റ്വർക്ക് ഒന്നുമില്ല"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ഓഫുചെയ്യുക"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"കാസ്റ്റ് സ്ക്രീൻ"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"തെളിച്ചം"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"യാന്ത്രികം"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"വിപരീത വർണ്ണങ്ങൾ"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"വർണ്ണം ശരിയാക്കൽ മോഡ്"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"കൂടുതൽ ക്രമീകരണങ്ങൾ"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"പൂർത്തിയാക്കി"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"കണക്റ്റുചെയ്തു"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"ടെതറിംഗ്"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ഹോട്ട്സ്പോട്ട്"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"അറിയിപ്പുകൾ"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ഫ്ലാഷ്ലൈറ്റ്"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"അടുത്തിടെയുള്ള അപ്ലിക്കേഷനുകളൊന്നുമില്ല"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"അപ്ലിക്കേഷൻ വിവരം"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"തിരയുക"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ചാർജ്ജുചെയ്തു"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"ചാർജ്ജുചെയ്യുന്നു"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"പൂർണ്ണമായും ചാർജ്ജാകുന്നതിന്, <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"ചാർജ്ജുചെയ്യുന്നില്ല"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"നെറ്റ്വർക്ക്\nനിരീക്ഷിക്കപ്പെടാം"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"തിരയൽ"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി മുകളിലേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> എന്നതിനായി ഇടത്തേയ്ക്ക് സ്ലൈഡുചെയ്യുക."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"ശല്ല്യപ്പെടുത്തരുത്"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"ആവശ്യം കുറഞ്ഞ അറിയിപ്പുകൾ ചുവടെ നൽകിയിരിക്കുന്നു"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"തുറക്കുന്നതിന് വീണ്ടും ടാപ്പുചെയ്യുക"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"അൺലോക്കുചെയ്യുന്നതിന് മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ഫോണിനായി വലതുവശത്ത് സ്വൈപ്പുചെയ്യുക"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"ക്യാമറയ്ക്കായി ഇടതുവശത്ത് സ്വൈപ്പുചെയ്യുക"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"നിങ്ങൾ ഇത് ഓഫാക്കും വരെ"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ചാർജ്ജുചെയ്യുന്നു (പൂർണ്ണമാകുന്നതിന്, <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"അതിഥി"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ അതിഥി"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"ഒരു മിനിറ്റ് ദൈർഘ്യം"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d മിനിറ്റ് ദൈർഘ്യം"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"ഒരു മണിക്കൂർ ദൈർഘ്യം"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d മണിക്കൂർ ദൈർഘ്യം"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"ബാറ്ററി സേവർ ഓണാണ്"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"ഉപകരണത്തിന്റെ പ്രകടനം കുറച്ചു."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"ബാറ്ററി സേവർ ക്രമീകരണങ്ങൾ തുറക്കുക"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index 13ca7d0..7104bc7 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Өнгийг урвуулах"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Өнгө залруулах горим"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Өөр тохиргоо"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Модем болгох"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Сүлжээний цэг"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Мэдэгдэл"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Гар чийдэн"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Сүүлд ашигласан апп байхгүй"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Аппликешны мэдээлэл"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"хайх"</string>
diff --git a/packages/SystemUI/res/values-mr-rIN-land/strings.xml b/packages/SystemUI/res/values-mr-rIN-land/strings.xml
new file mode 100644
index 0000000..fd3ba77
--- /dev/null
+++ b/packages/SystemUI/res/values-mr-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"स्क्रीन आता भूदृश्य अभिमुखतेत लॉक केली आहे."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..3489f1e
--- /dev/null
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"सिस्टम UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"साफ करा"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"सूचीमधून काढा"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"अॅप माहिती"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"कोणतेही अलीकडील अॅप्स नाहीत"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"अलीकडील अॅप्स डिसमिस करा"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"1 अलीकडील अॅप"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d अलीकडील अॅप्स"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"सूचना नाहीत"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"सुरु असलेले"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"सूचना"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"बॅटरी कमी आहे"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> शिल्लक"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"<xliff:g id="NUMBER">%d%%</xliff:g> उर्वरित. बॅटरी बचतकर्ता चालू आहे."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB चार्जिंग समर्थित नाही.\nफक्त पुरवठा केलेले चार्जर वापरा."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB चार्जिंग समर्थित नाही."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"केवळ पुरविलेले चार्जर वापरा."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"सेटिंग्ज"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"बॅटरी बचतकर्ता प्रारंभ करायचा?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"प्रारंभ करा"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"बॅटरी बचतकर्ता प्रारंभ करा"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"बॅटरी आयुष्य सुधारण्यात मदत करण्यासाठी, बॅटरी बचतकर्ता आपल्या डिव्हाइसचे कार्यप्रदर्शन कमी करेल. \n \n आपले डिव्हाइस प्लग इन केलेले असते तेव्हा बॅटरी बचतकर्ता अक्षम केला जाईल."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"सेटिंग्ज"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"विमान मोड"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"स्वयं-फिरणारी स्क्रीन"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"नि:शब्द करा"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"स्वयं"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"सूचना"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth टिथर केले"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"इनपुट पद्धती सेट करा"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"वास्तविक कीबोर्ड"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"USB डिव्हाइसवर प्रवेश करण्यासाठी <xliff:g id="APPLICATION">%1$s</xliff:g> अॅप ला अनुमती द्यायची?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"अॅप <xliff:g id="APPLICATION">%1$s</xliff:g> ला USB उपसाधनात प्रवेश करण्याची अनुमती द्यायची?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"हे USB डिव्हाइस कनेक्ट केलेले असते तेव्हा <xliff:g id="ACTIVITY">%1$s</xliff:g> उघडायचे?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"हे USB उपसाधन कनेक्ट केलेले असते तेव्हा <xliff:g id="ACTIVITY">%1$s</xliff:g> उघडायचे?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"स्थापित केलेले अॅप्स या USB उपसाधनासह कार्य करत नाहीत. <xliff:g id="URL">%1$s</xliff:g> येथे या उपसाधनाविषयी अधिक जाणून घ्या"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB उपसाधन"</string>
+ <string name="label_view" msgid="6304565553218192990">"पहा"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"या USB डिव्हाइससाठी डीफॉल्टनुसार वापरा"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"या USB उपसाधनासाठी डीफॉल्टनुसार वापरा"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB डीबग करण्यास अनुमती द्यायची?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"संगणकाची RSA की फिंगरप्रिंट ही आहे:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"या संगणकावरून नेहमी अनुमती द्या"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"स्क्रीन भरण्यासाठी झूम करा"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"स्क्रीन भरण्यासाठी ताणा"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"स्क्रीनशॉट जतन करत आहे…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"स्क्रीनशॉट जतन करत आहे…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"स्क्रीनशॉट जतन केला जात आहे."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"स्क्रीनशॉट कॅप्चर केला."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"आपला स्क्रीनशॉट पाहण्यासाठी स्पर्श करा."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"स्क्रीनशॉट कॅप्चर करू शकलो नाही."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"स्क्रीनशॉट जतन करू शकलो नाही. संचयन वापरात असू शकते."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB फाईल स्थानांतरण पर्याय"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"मीडिया प्लेअर म्हणून माउंट करा (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"कॅमेरा म्हणून माउंट करा (PTP)"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac साठी Android फाईल स्थानांतर अॅप स्थापित करा"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"परत"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"मुख्यपृष्ठ"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"मेनू"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"अलीकडील अॅप्स"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"शोधा"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"कॅमेरा"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"फोन"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"इनपुट पद्धत स्विच करा बटण."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"सुसंगतता झूम बटण."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"लहानपासून मोठ्या स्क्रीनवर झूम करा."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth कनेक्ट केले."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth डिस्कनेक्ट केले."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"बॅटरी नाही."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"बॅटरी एक बार."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"बॅटरी दोन बार."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"बॅटरी तीन बार."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"बॅटरी पूर्ण भरली."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"कोणताही फोन नाही."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"फोन एक बार."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"फोन दोन बार."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"फोन तीन बार."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"फोन सिग्नल पूर्ण."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"कोणताही डेटा नाही."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"डेटा एक बार."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"डेटा दोन बार."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"डेटा तीन बार."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"डेटा सिग्नल पूर्ण."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"WiFi बंद."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"WIFI डिस्कनेक्ट झाले."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"WiFi एक बार."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"WiFi दोन बार."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"WiFi तीन बार."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"WiFi सिग्नल पूर्ण."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX नाही."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX एक बार."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX दोन बार."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX तीन बार."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX सिग्नल पूर्ण."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"सिग्नल नाही."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"कनेक्ट केले नाही."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"शून्य बार."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"एक बार."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"दोन बार."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"तीन बार."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"सिग्नल पूर्ण."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"चालू."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"बंद."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"कनेक्ट केले."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"कनेक्ट करीत आहे."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिंग"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"सिम नाही."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth टिथरिंग."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"विमान मोड."</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"बॅटरी <xliff:g id="NUMBER">%d</xliff:g> टक्के."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"सिस्टम सेटिंग्ज."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"सूचना."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"सूचना साफ करा."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS सक्षम केले."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS प्राप्त करीत आहे."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter सक्षम केले."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"रिंगर कंपन."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"रिंगर मूक."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> डिसमिस केला."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"सूचना डिसमिस केल्या."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"सूचना शेड."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"द्रुत सेटिंग्ज."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"अलीकडील अॅप्स."</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"वापरकर्ता <xliff:g id="USER">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"मोबाईल <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"बॅटरी <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"विमान मोड <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetooth <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"स्थान <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g> साठी अलार्म सेट केला."</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"पॅनेल बंद करा"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"अधिक वेळ"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"कमी वेळ"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G डेटा अक्षम केला"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G डेटा अक्षम केला"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"मोबाईल डेटा अक्षम केला"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"डेटा अक्षम केला"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"आपण निर्दिष्ट केलेल्या डेटा वापर मर्यादेवर पोहचला आहात.\n\nआपण डेटा पुन्हा-सक्षम केल्यास, आपल्याला ऑपरेटरद्वारे शुल्क आकारले जाऊ शकते."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"डेटा पुन्हा-सक्षम करा"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"इंटरनेट कनेक्शन नाही"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi कनेक्ट केले"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS शोधत आहे"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"GPS द्वारे स्थान सेट केले"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"स्थान विनंत्या सक्रिय"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"सर्व सूचना साफ करा."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"अॅप माहिती"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"स्क्रीन स्वयंचलितपणे फिरेल."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"भूदृश्य अभिमुखतेमध्ये स्क्रीन लॉक केली आहे."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"पोर्ट्रेट अभिमुखतेमध्ये स्क्रीन लॉक केली आहे."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"मिष्ठान्न प्रकरण"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"डेड्रीम"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"इथरनेट"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"विमान मोड"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"चार्ज होत आहे, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"चार्ज झाली"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> डिव्हाइसेस)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth बंद"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"चमक"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"स्वयं-फिरवा"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"फिरविणे लॉक केले"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"पोर्ट्रेट"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"भूदृश्य"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"इनपुट पद्धत"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"स्थान"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"स्थान बंद"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"मीडिया डिव्हाइस"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"फक्त आणीबाणीचे कॉल"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"सेटिंग्ज"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"वेळ"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"मी"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"कनेक्ट केले नाही"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"नेटवर्क नाही"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi बंद"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"स्क्रीन कास्ट करा"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"चमक"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"स्वयंचलित"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"रंगांचा क्रम उलटा लावा"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"रंग सुधारणा मोड"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"अधिक सेटिंग्ज"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"पूर्ण झाले"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"कनेक्ट केलेले"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"टेदरिंग"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"हॉटस्पॉट"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"सूचना"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"फ्लॅशलाइट"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"कोणतेही अलीकडील अॅप्स नाहीत"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"अनुप्रयोग माहिती"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"शोधा"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"चार्ज झाली"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"चार्ज होत आहे"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> पूर्ण होईपर्यंत"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"चार्ज होत नाही"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"नेटवर्कचे परीक्षण\nकेले जाऊ शकते"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"शोध"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी वर स्लाइड करा."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> साठी डावीकडे स्लाइड करा."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"व्यत्यय आणू नका"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"खाली कमी तातडीच्या सूचना"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"उघडण्यासाठी पुन्हा टॅप करा"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"अनलॉक करण्यासाठी स्वाइप करा"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"फोन साठी उजवीकडे स्वाइप करा"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"कॅमेर्यासाठी डावीकडे स्वाइप करा"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"आपण हे बंद करेपर्यंत"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण होईपर्यंत) चार्ज होत आहे"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"अतिथी"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ अतिथी"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"एक मिनिटासाठी"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d मिनिटांसाठी"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"एका तासासाठी"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d तासांसाठी"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"बॅटरी बचतकर्ता चालू आहे"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"डिव्हाइस कार्यप्रदर्शन कमी झाले आहे."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"बॅटरी बचतकर्ता सेटिंग्ज उघडा"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index 9496d3e..30940cd 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -215,9 +215,15 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Terbalikkan warna"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mod pembetulan warna"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Lagi tetapan"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Penambatan"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Tempat liputan"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Pemberitahuan"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"Tiada apl terbaharu"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Maklumat Aplikasi"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"cari"</string>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index fae8344..44ca417 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -213,9 +213,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"အရောင်များကို ပြောင်းပြန် လုပ်ပစ်ရန်"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"အရောင် မှန်ကန်စေခြင်း အခြေအနေ"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"နောက်ထပ် ဆက်တင်များ"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"လုပ်ပြီး"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"ချိတ်ဆက်ထား"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"တွဲချီပေးခြင်း"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ဟော့စပေါ့"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"အကြောင်းကြားချက်များ"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ဖလက်ရှမီး"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"မကြာမီတုန်းက appများ မရှိ"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"အပလီကေးရှင်း အင်ဖို"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ရှာဖွေရန်"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 04ef76b..93a3848 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverter farger"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modus for fargekorrigering"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Flere innstillinger"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Ferdig"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Tilkoblet"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tilknytning"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Wi-Fi-sone"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Varsler"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lommelykt"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Ingen nylige apper"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformasjon"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"Søk"</string>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index a5f946f..fc39109 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -215,9 +215,13 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"रंग उल्टाउनुहोस्"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"रङ्ग सुधार मोड"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"थप सेटिङहरू"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"भयो"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"जोडिएको"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"टेदर गर्दै"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"हटस्पट"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"अधिसूचनाहरू"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"कुनै वर्तमान अनुप्रयोगहरू छैनन्"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"अनुप्रयोग जानकारी"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"खोजी गर्नुहोस्"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 9dbe35c..9f08914 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Kleuren omkeren"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modus voor kleurcorrectie"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Meer instellingen"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Gereed"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Verbonden"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Meldingen"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Zaklamp"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Geen recente apps"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"App-informatie"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"zoeken"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index d0e82b4..8d8b9f7 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Odwróć kolory"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Tryb korekcji kolorów"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Więcej ustawień"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Gotowe"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Połączono"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Powiązanie"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Punkt dostępu"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Powiadomienia"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Latarka"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Brak ostatnio uruchomionych aplikacji"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacje o aplikacji"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"szukaj"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 441a45d..ee93d43 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverter cores"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de correção de cor"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Mais definições"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Concluído"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Ligado"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Associação"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Zona Wi-Fi"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificações"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Lanterna"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Nenhuma aplicação recente"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações da aplicação"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"pesquisar"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 36654bc..f915002 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -217,9 +217,15 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inverter cores"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de correção de cor"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Mais configurações"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Ponto de acesso"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificações"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"Nenhum app recente"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações do aplicativo"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"pesquisar"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 94c9bd3..342b49d 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -215,9 +215,13 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Inversați culori"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mod de corectare a culorilor"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Mai multe setări"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Terminat"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Conectat"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Notificări"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"Nicio aplicație recentă"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informații despre aplicație"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"căutare"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index d0af456..310edc6 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -217,9 +217,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Инвертировать"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Коррекция цвета"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Дополнительные настройки"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Режим модема"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Точка доступа"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Уведомления"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Фонарик"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Ничего не найдено."</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Сведения о приложении"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"поиск"</string>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index 326a6e0..ae1065b 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -215,9 +215,13 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"වර්ණ යටිකුරු කරන්න"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"වර්ණ නිවැරදි කිරීමේ ප්රකාරය"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"තව සැකසීම්"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"නිමයි"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"සම්බන්ධිත"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"ටෙදරින්"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"හොට්ස්පොට්"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"දැනුම්දීම්"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"මෑත යෙදුම් නැත"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"යෙදුම් තොරතුරු"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"සෙවීම"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 6883150..7d06196 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -217,9 +217,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invertovať farby"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Režim korekcie farieb"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Ďalšie nastavenia"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Hotovo"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Pripojené"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Zdieľanie dátového pripojenia"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Upozornenia"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Baterka"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Žiadne nedávne aplikácie"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Informácie o aplikácii"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"hľadať"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index a2de922..438286d 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Obrni barve"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Način popravljanja barv"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Več nastavitev"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Končano"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Povezava je vzpostavljena"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Internet prek mobilne naprave"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Dostopna točka"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Obvestila"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Svetilka"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Ni nedavnih aplikacij"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Podatki o aplikaciji"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"iskanje"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index f378de0..5a06a52 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Обрни боје"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Режим корекције боје"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Још подешавања"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Повезивање"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Хотспот"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Обавештења"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Лампа"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Нема недавних апликација"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Информације о апликацији"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"претражи"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 50b62e1..365d7ba 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Invertera färger"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Färgkorrigeringsläge"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Fler inställningar"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Klart"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Ansluten"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Internetdelning"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Trådlös surfzon"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Aviseringar"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Ficklampa"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Inga aktiva appar"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformation"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"sök"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 33f16c4..942c332 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -213,9 +213,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Pindua rangi"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Hali ya kusahihisha rangi"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Mipangilio zaidi"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Imemaliza"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Imeunganishwa"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Kusambaza mtandao"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Mtandao-hewa"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Arifa"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Kurunzi"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Hakuna programu za karibuni"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Maelezo ya Programu"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"tafuta"</string>
diff --git a/packages/SystemUI/res/values-ta-rIN-land/strings.xml b/packages/SystemUI/res/values-ta-rIN-land/strings.xml
new file mode 100644
index 0000000..6ad7229
--- /dev/null
+++ b/packages/SystemUI/res/values-ta-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"தற்போது திரை நிலைபரப்பு திசையமைப்பில் பூட்டப்பட்டுள்ளது."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..1f20d67
--- /dev/null
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"UI அமைப்பு"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"அழி"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"பட்டியலில் இருந்து அகற்று"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"பயன்பாட்டுத் தகவல்"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"சமீபத்திய பயன்பாடுகள் எதுவுமில்லை"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"சமீபத்திய பயன்பாடுகளை நிராகரி"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"1 சமீபத்திய பயன்பாடு"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d சமீபத்திய பயன்பாடுகள்"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"அறிவிப்புகள் இல்லை"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"செயலில் இருக்கும்"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"அறிவிப்புகள்"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"பேட்டரி குறைவு"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> மீதமுள்ளது"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"<xliff:g id="NUMBER">%d%%</xliff:g> உள்ளது. பேட்டரி சேமிப்பான் இயக்கத்தில் உள்ளது."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB மூலம் சார்ஜ் செய்வது ஆதரிக்கப்படவில்லை.\nவழங்கப்பட்ட சார்ஜரை மட்டும் பயன்படுத்தவும்."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB சார்ஜிங் ஆதரிக்கப்படவில்லை."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"வழங்கப்பட்ட சார்ஜரை மட்டும் பயன்படுத்துக."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"அமைப்புகள்"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"பேட்டரி சேமிப்பானைத் தொடங்கவா?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"தொடங்கு"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"பேட்டரி சேமிப்பானைத் தொடங்கு"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"பேட்டரியின் ஆயுட்காலத்தை அதிகரிக்க, பேட்டரி சேமிப்பான் சாதனத்தின் செயல்திறனைக் குறைக்கும்.\n\nசாதனம் சாதனம் சார்ஜ் ஆகும் போது, பேட்டரி சேமிப்பான் முடக்கப்படும்."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"அமைப்புகள்"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"விமானப் பயன்முறை"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"திரையைத் தானாகச் சுழற்று"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"முடக்கு"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"தானியங்கு"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"அறிவிப்புகள்"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth இணைக்கப்பட்டது"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"உள்ளீட்டு முறைகளை அமை"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"கைமுறை விசைப்பலகை"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"USB சாதனத்தை அணுக <xliff:g id="APPLICATION">%1$s</xliff:g> பயன்பாட்டை அனுமதிக்கவா?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"USB இன் துணைக்கருவியை அணுக <xliff:g id="APPLICATION">%1$s</xliff:g> பயன்பாட்டை அனுமதிக்கவா?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"இந்த USB சாதனம் இணைக்கப்பட்டுள்ளபோது <xliff:g id="ACTIVITY">%1$s</xliff:g> ஐத் திறக்கவா?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"இந்த USB துணைக்கருவி இணைக்கப்பட்டுள்ளபோது <xliff:g id="ACTIVITY">%1$s</xliff:g> ஐத் திறக்கவா?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"நிறுவிய பயன்பாடுகள் எதுவும், USB துணைக்கருவியுடன் இயங்காது. <xliff:g id="URL">%1$s</xliff:g> இல் துணைக்கருவி குறித்து மேலும் அறிக"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB துணைக்கருவி"</string>
+ <string name="label_view" msgid="6304565553218192990">"காட்சி"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"இந்த USB சாதனத்திற்கு இயல்பாகப் பயன்படுத்து"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"USB துணைக்கருவிக்கு இயல்பாகப் பயன்படுத்து"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB பிழைத்திருத்தத்தை அனுமதிக்கவா?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"பின்வருவது கணினியின் RSA விசை கைரேகையாகும்:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"இந்தக் கணினியிலிருந்து எப்போதும் அனுமதி"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"திரையை நிரப்ப அளவை மாற்று"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"திரையை நிரப்ப இழு"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"ஸ்க்ரீன் ஷாட்டைச் சேமிக்கிறது…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"ஸ்க்ரீன் ஷாட்டைச் சேமிக்கிறது…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"ஸ்க்ரீன் ஷாட் சேமிக்கப்படுகிறது."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"ஸ்கிரீன் ஷாட் எடுக்கப்பட்டது."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"உங்கள் ஸ்க்ரீன் ஷாட்டைப் பார்க்க தொடவும்."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"ஸ்க்ரீன் ஷாட்டை எடுக்க முடியவில்லை."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"ஸ்கீர்ன் ஷாட்டைச் சேமிக்க முடியவில்லை. சேமிப்பிடம் பயன்பாட்டில் இருக்கலாம்."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB கோப்பு இடமாற்ற விருப்பங்கள்"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"(MTP) மீடியா பிளேயராக ஏற்று"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"(PTP) கேமராவாக ஏற்று"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac க்கான Android கோப்பு இடமாற்ற பயன்பாட்டை நிறுவு"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"பின்செல்"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"முகப்பு"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"மெனு"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"சமீபத்திய பயன்பாடுகள்"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"தேடு"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"கேமரா"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"மொபைல்"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"உள்ளீட்டு முறையை மாற்றும் பொத்தான்."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"பொருந்துமாறு அளவை மாற்றும் பொத்தான்."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"சிறியதிலிருந்து பெரிய திரைக்கு அளவை மாற்றும்."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth இணைக்கப்பட்டது."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Bluetooth துண்டிக்கப்பட்டது."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"பேட்டரி சக்தி இல்லை."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"பேட்டரி சக்தி ஒரு பார் அளவில் உள்ளது."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"பேட்டரி சக்தி இரண்டு பார் அளவில் உள்ளது."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"பேட்டரி சக்தி மூன்று பார் அளவில் உள்ளது."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"பேட்டரி முழுமையாக உள்ளது."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"சிக்னல் இல்லை."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"சிக்னல் ஒரு கோட்டில் உள்ளது."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"சிக்னல் இரண்டு கோட்டில் உள்ளது."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"சிக்னல் மூன்று கோட்டில் உள்ளது."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"சிக்னல் முழுமையாக உள்ளது."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"தரவு சிக்னல் இல்லை."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"தரவு சிக்னல் ஒரு கோட்டில் உள்ளது."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"தரவின் சிக்னல் இரண்டு கோடு வரை உள்ளது."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"தரவு சிக்னல் மூன்று கோட்டில் உள்ளது."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"தரவு சிக்னல் முழுமையாக உள்ளது."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi முடக்கப்பட்டது."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi துண்டிக்கப்பட்டது."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi ஒரு கோடு."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi இரண்டு கோடுகள்."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi மூன்று கோடுகள்."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi சிக்னல் முழுமையாக உள்ளது."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX இல்லை."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX ஒரு கோடு."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX இரண்டு கோடுகள்."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX மூன்று கோடுகள்."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX சிக்னல் முழுமையாக உள்ளது."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"சிக்னல் இல்லை."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"இணைக்கப்படவில்லை."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"கோடுகள் இல்லை."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"ஒரு கோடு."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"இரண்டு கோடுகள்."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"மூன்று கோடுகள்."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"சிக்னல் முழுமையாக உள்ளது."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"இயக்கப்பட்டுள்ளது."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"முடக்கப்பட்டுள்ளது."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"இணைக்கப்பட்டது."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"இணைக்கிறது."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ரோமிங்"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"SIM இல்லை."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth இணைப்பு முறை."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"விமானப் பயன்முறை."</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"பேட்டரி சக்தி <xliff:g id="NUMBER">%d</xliff:g> சதவிகிதம் உள்ளது."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"கணினி அமைப்புகள்."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"அறிவிப்புகள்."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"அறிவிப்பை அழி."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS இயக்கப்பட்டது."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS பெறப்படுகிறது."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter இயக்கப்பட்டது."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"ரிங்கர் அதிர்வு."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"ரிங்கர் நிசப்தம்."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> விலக்கப்பட்டது."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"அறிவிப்பு நிராகரிக்கப்பட்டது."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"அறிவிப்பு விவரம்."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"உடனடி அமைப்புகள்."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"சமீபத்திய பயன்பாடுகள்."</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"பயனர் <xliff:g id="USER">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"மொபைல் <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"பேட்டரி <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"விமானப் பயன்முறை <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetooth <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"இருப்பிடம் <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g> மணிக்கு அலாரம் அமைக்கப்பட்டது."</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"பேனலை மூடு"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"நேரத்தை அதிகரி"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"நேரத்தைக் குறை"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G தரவு முடக்கப்பட்டது"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G தரவு முடக்கப்பட்டது"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"மொபைல் தரவு முடக்கப்பட்டது"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"தரவு முடக்கப்பட்டது"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"குறிப்பிட்டத் தரவு பயன்பாட்டு வரம்பை அடைந்துவிட்டீர்கள்.\n\nநீங்கள் தரவை மீண்டும் இயக்கினால், ஆபரேட்டரால் கட்டணம் விதிக்கப்படலாம்."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"தரவை மீண்டும் இயக்கு"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"இணைய இணைப்பு இல்லை"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi இணைக்கப்பட்டது"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS ஐத் தேடுகிறது"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"GPS அமைத்த இருப்பிடம்"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"இருப்பிடக் கோரிக்கைகள் இயக்கப்பட்டன"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"எல்லா அறிவிப்புகளையும் அழி."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"பயன்பாட்டுத் தகவல்"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"திரை தானாகச் சுழலும்."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"நிலத்தோற்ற திசையமைப்பில் திரைப் பூட்டப்பட்டுள்ளது."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"உருவப்பட திசையமைப்பில் திசை பூட்டப்பட்டுள்ளது."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"இனிப்பு வடிவங்கள்"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"முழுநேர இயக்கம்"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"ஈதர்நெட்"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"விமானப் பயன்முறை"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"சார்ஜ் ஏற்றுகிறது, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"சார்ஜ் செய்யப்பட்டது"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> சாதனங்கள்)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth ஐ முடக்கு"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"ஒளிர்வு"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"தானாகச் சுழற்று"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"சுழற்சி பூட்டப்பட்டது"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"நீளமாக"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"அகலமாக"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"உள்ளீட்டு முறை"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"இருப்பிடம்"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"இருப்பிடத்தை முடக்கு"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"மீடியா சாதனம்"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"அவசரகால அழைப்புகள் மட்டும்"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"அமைப்புகள்"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"நேரம்"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"நான்"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"இணைக்கப்படவில்லை"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"நெட்வொர்க் இல்லை"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ஐ முடக்கு"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"திரையை அனுப்பு"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ஒளிர்வு"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"தானியங்கு"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"வண்ணங்களை மாற்று"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"வண்ணத்தைச் சரிப்படுத்தும் முறை"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"மேலும் அமைப்புகள்"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"முடிந்தது"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"இணைக்கப்பட்டது"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"இணைப்பு முறை"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ஹாட்ஸ்பாட்"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"அறிவிப்புகள்"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ஃபிளாஷ்லைட்"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"சமீபத்திய பயன்பாடுகள் எதுவுமில்லை"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"பயன்பாட்டு தகவல்"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"தேடு"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"சார்ஜ் செய்யப்பட்டது"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"சார்ஜாகிறது"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"முழுவதும் சார்ஜாக <xliff:g id="CHARGING_TIME">%s</xliff:g> ஆகும்"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"சார்ஜ் ஏறவில்லை"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"பிணையம்\nகண்காணிக்கப்படலாம்"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"தேடு"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்கு மேலாக இழுக்கவும்."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> க்கு இடதுபக்கமாக இழுக்கவும்."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"தொந்தரவு செய்ய வேண்டாம்"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"அவசர நிலைக் குறைவான அறிவிப்புகள் கீழே உள்ளன"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"திறக்க, மீண்டும் தட்டவும்"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"திறக்க, மேலே ஸ்வைப் செய்யவும்"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ஃபோனுக்கு, வலப்புறம் ஸ்வைப் செய்க"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"கேமராவிற்கு இடப்புறம் ஸ்வைப் செய்க"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"இதை முடக்கும்வரை"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"சார்ஜாகிறது (முழு சார்ஜிற்கு <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ஆகும்)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"அழைக்கப்பட்டவர்"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ அழைக்கப்பட்டவர்"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"ஒரு நிமிடம்"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d நிமிடங்கள்"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"ஒரு மணி நேரம்"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d மணிநேரம்"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"பேட்டரி சேமிப்பான் இயக்கத்தில் உள்ளது"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"சாதன செயல்திறன் குறைக்கப்பட்டது."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"பேட்டரி சேமிப்பான் அமைப்புகளைத் திற"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-te-rIN-land/strings.xml b/packages/SystemUI/res/values-te-rIN-land/strings.xml
new file mode 100644
index 0000000..cc9de13
--- /dev/null
+++ b/packages/SystemUI/res/values-te-rIN-land/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2010, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="toast_rotation_locked" msgid="7609673011431556092">"స్క్రీన్ ఇప్పుడు ల్యాండ్స్కేప్ దృగ్విన్యాసంలో లాక్ చేయబడింది."</string>
+</resources>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..d83c0a1
--- /dev/null
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7164937344850004466">"సిస్టమ్ UI"</string>
+ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"క్లియర్ చేయండి"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"జాబితా నుండి తీసివేయండి"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"అనువర్తన సమాచారం"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"ఇటీవలి అనువర్తనాలు లేవు"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"ఇటీవలి అనువర్తనాలను తీసివేయండి"</string>
+ <plurals name="status_bar_accessibility_recent_apps">
+ <item quantity="one" msgid="5854176083865845541">"1 ఇటీవలి అనువర్తనం"</item>
+ <item quantity="other" msgid="1040784359794890744">"%d ఇటీవలి అనువర్తనాలు"</item>
+ </plurals>
+ <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"నోటిఫికేషన్లు లేవు"</string>
+ <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"కొనసాగుతున్నవి"</string>
+ <string name="status_bar_latest_events_title" msgid="6594767438577593172">"నోటిఫికేషన్లు"</string>
+ <string name="battery_low_title" msgid="6456385927409742437">"బ్యాటరీ తక్కువగా ఉంది"</string>
+ <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> మిగిలి ఉంది"</string>
+ <string name="battery_low_percent_format_saver_started" msgid="6534746636002666456">"<xliff:g id="NUMBER">%d%%</xliff:g> మిగిలి ఉంది. బ్యాటరీ సేవర్ ఆన్లో ఉంది."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"USB ఛార్జింగ్కు మద్దతు లేదు.\nఅందించిన ఛార్జర్ను మాత్రమే ఉపయోగించండి."</string>
+ <string name="invalid_charger_title" msgid="3515740382572798460">"USB ఛార్జింగ్కి మద్దతు లేదు."</string>
+ <string name="invalid_charger_text" msgid="5474997287953892710">"అందించిన ఛార్జర్ను మాత్రమే ఉపయోగించండి."</string>
+ <string name="battery_low_why" msgid="4553600287639198111">"సెట్టింగ్లు"</string>
+ <string name="battery_saver_confirmation_title" msgid="5987726159603849352">"బ్యాటరీ సేవర్ను ప్రారంభించాలా?"</string>
+ <string name="battery_saver_confirmation_ok" msgid="7283108887345688413">"ప్రారంభించు"</string>
+ <string name="battery_saver_start_action" msgid="7245333922937402896">"బ్యాటరీ సేవర్ను ప్రారంభించు"</string>
+ <string name="battery_saver_confirmation_text" msgid="8417584516834617662">"బ్యాటరీ జీవిత కాలం పెంచడంలో సహాయపడటానికి, బ్యాటరీ సేవర్ మీ పరికరం పనితీరును తగ్గిస్తుంది.\n\nమీ పరికరాన్ని ప్లగిన్ చేసినప్పుడు బ్యాటరీ సేవర్ నిలిపివేయబడుతుంది."</string>
+ <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"సెట్టింగ్లు"</string>
+ <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string>
+ <string name="status_bar_settings_airplane" msgid="4879879698500955300">"ఎయిర్ప్లేన్ మోడ్"</string>
+ <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"స్క్రీన్ను స్వయంచాలకంగా తిప్పండి"</string>
+ <string name="status_bar_settings_mute_label" msgid="554682549917429396">"మ్యూట్"</string>
+ <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"స్వయంచాలకం"</string>
+ <string name="status_bar_settings_notifications" msgid="397146176280905137">"నోటిఫికేషన్లు"</string>
+ <string name="bluetooth_tethered" msgid="7094101612161133267">"బ్లూటూత్ టీథర్ చేయబడింది"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ఇన్పుట్ పద్ధతులను సెటప్ చేయండి"</string>
+ <string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"భౌతిక కీబోర్డ్"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"USB పరికరాన్ని ప్రాప్యత చేయడానికి అనువర్తనాన్ని <xliff:g id="APPLICATION">%1$s</xliff:g> అనుమతించాలా?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"USB ఉపకరణాన్ని ప్రాప్యత చేయడానికి అనువర్తనం <xliff:g id="APPLICATION">%1$s</xliff:g>ను అనుమతించాలా?"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"ఈ USB పరికరం కనెక్ట్ చేయబడినప్పుడు <xliff:g id="ACTIVITY">%1$s</xliff:g>ని తెరవాలా?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"ఈ USB ఉపకరణం కనెక్ట్ చేయబడినప్పుడు <xliff:g id="ACTIVITY">%1$s</xliff:g>ని తెరవాలా?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ఈ USB ఉపకరణంతో ఇన్స్టాల్ చేయబడిన అనువర్తనాలు ఏవీ పని చేయవు. ఈ ఉపకరణం గురించి <xliff:g id="URL">%1$s</xliff:g>లో మరింత తెలుసుకోండి"</string>
+ <string name="title_usb_accessory" msgid="4966265263465181372">"USB ఉపకరణం"</string>
+ <string name="label_view" msgid="6304565553218192990">"వీక్షించండి"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"ఈ USB పరికరానికి డిఫాల్ట్గా ఉపయోగించండి"</string>
+ <string name="always_use_accessory" msgid="1210954576979621596">"ఈ USB ఉపకరణానికి డిఫాల్ట్గా ఉపయోగించండి"</string>
+ <string name="usb_debugging_title" msgid="4513918393387141949">"USB డీబగ్గింగ్ను అనుమతించాలా?"</string>
+ <string name="usb_debugging_message" msgid="2220143855912376496">"ఇది కంప్యూటర్ యొక్క RSA కీ వేలిముద్ర:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
+ <string name="usb_debugging_always" msgid="303335496705863070">"ఈ కంప్యూటర్ నుండి ఎల్లప్పుడూ అనుమతించు"</string>
+ <string name="compat_mode_on" msgid="6623839244840638213">"స్క్రీన్కు నింపేలా జూమ్ చేయండి"</string>
+ <string name="compat_mode_off" msgid="4434467572461327898">"స్క్రీన్కు నింపేలా విస్తరించండి"</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"స్క్రీన్షాట్ను సేవ్ చేస్తోంది…"</string>
+ <string name="screenshot_saving_title" msgid="8242282144535555697">"స్క్రీన్షాట్ను సేవ్ చేస్తోంది…"</string>
+ <string name="screenshot_saving_text" msgid="2419718443411738818">"స్క్రీన్షాట్ సేవ్ చేయబడుతోంది."</string>
+ <string name="screenshot_saved_title" msgid="6461865960961414961">"స్క్రీన్షాట్ క్యాప్చర్ చేయబడింది."</string>
+ <string name="screenshot_saved_text" msgid="1152839647677558815">"మీ స్క్రీన్షాట్ను వీక్షించడానికి తాకండి."</string>
+ <string name="screenshot_failed_title" msgid="705781116746922771">"స్క్రీన్షాట్ను క్యాప్చర్ చేయడం సాధ్యపడలేదు."</string>
+ <string name="screenshot_failed_text" msgid="8134011269572415402">"స్క్రీన్షాట్ను సేవ్ చేయడం సాధ్యపడలేదు. నిల్వ ఉపయోగంలో ఉండవచ్చు."</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"USB ఫైల్ బదిలీ ఎంపికలు"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"మీడియా ప్లేయర్గా (MTP) మౌంట్ చేయి"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"కెమెరాగా (PTP) మౌంట్ చేయి"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Macకు Android ఫైల్ బదిలీ అను. ఇన్స్టాల్ చేయండి"</string>
+ <string name="accessibility_back" msgid="567011538994429120">"వెనుకకు"</string>
+ <string name="accessibility_home" msgid="8217216074895377641">"హోమ్"</string>
+ <string name="accessibility_menu" msgid="316839303324695949">"మెను"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"ఇటీవలి అనువర్తనాలు"</string>
+ <string name="accessibility_search_light" msgid="1103867596330271848">"శోధించు"</string>
+ <string name="accessibility_camera_button" msgid="8064671582820358152">"కెమెరా"</string>
+ <string name="accessibility_phone_button" msgid="6738112589538563574">"ఫోన్"</string>
+ <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ఇన్పుట్ పద్ధతి మార్చే బటన్."</string>
+ <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"అనుకూలత జూమ్ బటన్."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"చిన్న స్క్రీన్ నుండి పెద్దదానికి జూమ్ చేయండి."</string>
+ <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"బ్లూటూత్ కనెక్ట్ చేయబడింది."</string>
+ <string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"బ్లూటూత్ డిస్కనెక్ట్ చేయబడింది."</string>
+ <string name="accessibility_no_battery" msgid="358343022352820946">"బ్యాటరీ లేదు."</string>
+ <string name="accessibility_battery_one_bar" msgid="7774887721891057523">"బ్యాటరీ ఒక బారు."</string>
+ <string name="accessibility_battery_two_bars" msgid="8500650438735009973">"బ్యాటరీ రెండు బార్లు."</string>
+ <string name="accessibility_battery_three_bars" msgid="2302983330865040446">"బ్యాటరీ మూడు బార్లు."</string>
+ <string name="accessibility_battery_full" msgid="8909122401720158582">"బ్యాటరీ నిండింది."</string>
+ <string name="accessibility_no_phone" msgid="4894708937052611281">"ఫోన్ లేదు."</string>
+ <string name="accessibility_phone_one_bar" msgid="687699278132664115">"ఫోన్ ఒక బారు."</string>
+ <string name="accessibility_phone_two_bars" msgid="8384905382804815201">"ఫోన్ రెండు బార్లు."</string>
+ <string name="accessibility_phone_three_bars" msgid="8521904843919971885">"ఫోన్ మూడు బార్లు."</string>
+ <string name="accessibility_phone_signal_full" msgid="6471834868580757898">"ఫోన్ సిగ్నల్ పూర్తిగా ఉంది."</string>
+ <string name="accessibility_no_data" msgid="4791966295096867555">"డేటా లేదు."</string>
+ <string name="accessibility_data_one_bar" msgid="1415625833238273628">"డేటా ఒక బారు."</string>
+ <string name="accessibility_data_two_bars" msgid="6166018492360432091">"డేటా రెండు బార్లు."</string>
+ <string name="accessibility_data_three_bars" msgid="9167670452395038520">"డేటా మూడు బార్లు."</string>
+ <string name="accessibility_data_signal_full" msgid="2708384608124519369">"డేటా సిగ్నల్ సంపూర్ణంగా ఉంది."</string>
+ <string name="accessibility_wifi_off" msgid="3177380296697933627">"Wifi ఆఫ్లో ఉంది."</string>
+ <string name="accessibility_no_wifi" msgid="1425476551827924474">"Wifi డిస్కనెక్ట్ చేయబడింది."</string>
+ <string name="accessibility_wifi_one_bar" msgid="7735893178010724377">"Wifi ఒక బార్ కలిగి ఉంది."</string>
+ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi రెండు బార్లు కలిగి ఉంది."</string>
+ <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi మూడు బార్లు కలిగి ఉంది."</string>
+ <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi సిగ్నల్ పూర్తిగా ఉంది."</string>
+ <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX లేదు."</string>
+ <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX ఒక బార్ కలిగి ఉంది."</string>
+ <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX రెండు బార్లు కలిగి ఉంది."</string>
+ <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX మూడు బార్లు కలిగి ఉంది."</string>
+ <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX సిగ్నల్ పూర్తిగా ఉంది."</string>
+ <string name="accessibility_no_signal" msgid="7064645320782585167">"సిగ్నల్ లేదు."</string>
+ <string name="accessibility_not_connected" msgid="6395326276213402883">"కనెక్ట్ చేయబడలేదు."</string>
+ <string name="accessibility_zero_bars" msgid="3806060224467027887">"సున్నా బార్లు."</string>
+ <string name="accessibility_one_bar" msgid="1685730113192081895">"ఒక బార్."</string>
+ <string name="accessibility_two_bars" msgid="6437363648385206679">"రెండు బార్లు కలిగి ఉంది."</string>
+ <string name="accessibility_three_bars" msgid="2648241415119396648">"మూడు బార్లు కలిగి ఉంది."</string>
+ <string name="accessibility_signal_full" msgid="9122922886519676839">"సిగ్నల్ పూర్తిగా ఉంది."</string>
+ <string name="accessibility_desc_on" msgid="2385254693624345265">"ఆన్లో ఉంది."</string>
+ <string name="accessibility_desc_off" msgid="6475508157786853157">"ఆఫ్లో ఉంది."</string>
+ <string name="accessibility_desc_connected" msgid="8366256693719499665">"కనెక్ట్ చేయబడింది."</string>
+ <string name="accessibility_desc_connecting" msgid="3812924520316280149">"కనెక్ట్ అవుతోంది."</string>
+ <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
+ <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string>
+ <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string>
+ <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
+ <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
+ <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+ <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
+ <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
+ <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"రోమింగ్"</string>
+ <string name="accessibility_data_connection_edge" msgid="4477457051631979278">"ఎడ్జ్"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
+ <string name="accessibility_no_sim" msgid="8274017118472455155">"SIM లేదు."</string>
+ <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"బ్లూటూత్ టెథెరింగ్."</string>
+ <string name="accessibility_airplane_mode" msgid="834748999790763092">"ఎయిర్ప్లేన్ మోడ్."</string>
+ <string name="accessibility_battery_level" msgid="7451474187113371965">"బ్యాటరీ <xliff:g id="NUMBER">%d</xliff:g> శాతం."</string>
+ <string name="accessibility_settings_button" msgid="799583911231893380">"సిస్టమ్ సెట్టింగ్లు."</string>
+ <string name="accessibility_notifications_button" msgid="4498000369779421892">"నోటిఫికేషన్లు."</string>
+ <string name="accessibility_remove_notification" msgid="3603099514902182350">"నోటిఫికేషన్ను క్లియర్ చేయండి."</string>
+ <string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS ప్రారంభించబడింది."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPSని పొందడం."</string>
+ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"టెలిటైప్రైటర్ ప్రారంభించబడింది."</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"రింగర్ వైబ్రేట్లో ఉంది."</string>
+ <string name="accessibility_ringer_silent" msgid="9061243307939135383">"రింగర్ నిశ్శబ్దంలో ఉంది."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> తీసివేయబడింది."</string>
+ <string name="accessibility_notification_dismissed" msgid="854211387186306927">"నోటిఫికేషన్ తీసివేయబడింది."</string>
+ <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"నోటిఫికేషన్ షేడ్."</string>
+ <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"శీఘ్ర సెట్టింగ్లు."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"ఇటీవలి అనువర్తనాలు."</string>
+ <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"వినియోగదారు <xliff:g id="USER">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
+ <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"మొబైల్ <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"బ్యాటరీ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"ఎయిర్ప్లేన్ మోడ్ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"బ్లూటూత్ <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_location" msgid="4577282329866813100">"స్థానం <xliff:g id="STATE">%s</xliff:g>."</string>
+ <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"<xliff:g id="TIME">%s</xliff:g>కి అలారం సెట్ చేయబడింది."</string>
+ <string name="accessibility_quick_settings_close" msgid="2571790856136835943">"ప్యానెల్ని మూసివేయి"</string>
+ <string name="accessibility_quick_settings_more_time" msgid="5778794273488176726">"ఎక్కువ సమయం"</string>
+ <string name="accessibility_quick_settings_less_time" msgid="101026945195230084">"తక్కువ సమయం"</string>
+ <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G డేటా నిలిపివేయబడింది"</string>
+ <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G డేటా నిలిపివేయబడింది"</string>
+ <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"మొబైల్ డేటా నిలిపివేయబడింది"</string>
+ <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"డేటా నిలిపివేయబడింది"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"మీరు నిర్దిష్ట డేటా వినియోగ పరిమితిని చేరుకున్నారు.\n\nమీరు డేటాను మళ్లీ ప్రారంభిస్తే, మీకు ఆపరేటర్ ఛార్జీ విధించవచ్చు."</string>
+ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"డేటాను మళ్లీ ప్రారంభించండి"</string>
+ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"ఇంటర్నెట్ కనెక్షన్ లేదు"</string>
+ <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi కనెక్ట్ చేయబడింది"</string>
+ <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS కోసం శోధిస్తోంది"</string>
+ <string name="gps_notification_found_text" msgid="4619274244146446464">"స్థానం GPS ద్వారా సెట్ చేయబడింది"</string>
+ <string name="accessibility_location_active" msgid="2427290146138169014">"స్థాన అభ్యర్థనలు సక్రియంగా ఉన్నాయి"</string>
+ <string name="accessibility_clear_all" msgid="5235938559247164925">"అన్ని నోటిఫికేషన్లను క్లియర్ చేయండి."</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"అనువర్తన సమాచారం"</string>
+ <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"స్క్రీన్ స్వయంచాలకంగా తిప్పబడుతుంది."</string>
+ <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"స్క్రీన్ ల్యాండ్స్కేప్ దృగ్విన్యాసంలో లాక్ చేయబడుతుంది."</string>
+ <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"స్క్రీన్ పోర్ట్రెయిట్ దృగ్విన్యాసంలో లాక్ చేయబడుతుంది."</string>
+ <string name="dessert_case" msgid="1295161776223959221">"డెజర్ట్ కేస్"</string>
+ <string name="start_dreams" msgid="7219575858348719790">"డేడ్రీమ్"</string>
+ <string name="ethernet_label" msgid="7967563676324087464">"ఈథర్నెట్"</string>
+ <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ఎయిర్ప్లేన్ మోడ్"</string>
+ <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"ఛార్జ్ చేయబడుతోంది, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"ఛార్జ్ చేయబడింది"</string>
+ <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"బ్లూటూత్"</string>
+ <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"బ్లూటూత్ (<xliff:g id="NUMBER">%d</xliff:g> పరికరాలు)"</string>
+ <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"బ్లూటూత్ ఆఫ్లో ఉంది"</string>
+ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"ప్రకాశం"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"స్వయంచాలకంగా తిప్పడం"</string>
+ <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"తిప్పడం లాక్ చేయబడింది"</string>
+ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"పోర్ట్రెయిట్"</string>
+ <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"ల్యాండ్స్కేప్"</string>
+ <string name="quick_settings_ime_label" msgid="7073463064369468429">"ఇన్పుట్ పద్ధతి"</string>
+ <string name="quick_settings_location_label" msgid="5011327048748762257">"స్థానం"</string>
+ <string name="quick_settings_location_off_label" msgid="7464544086507331459">"స్థానం ఆఫ్లో ఉంది"</string>
+ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"ప్రసార మాధ్యమ పరికరం"</string>
+ <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string>
+ <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"అత్యవసర కాల్లు మాత్రమే"</string>
+ <string name="quick_settings_settings_label" msgid="5326556592578065401">"సెట్టింగ్లు"</string>
+ <string name="quick_settings_time_label" msgid="4635969182239736408">"సమయం"</string>
+ <string name="quick_settings_user_label" msgid="5238995632130897840">"నేను"</string>
+ <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
+ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"కనెక్ట్ చేయబడలేదు"</string>
+ <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"నెట్వర్క్ లేదు"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi ఆఫ్లో ఉంది"</string>
+ <string name="quick_settings_remote_display_no_connection_label" msgid="7482103121002965053">"ప్రసార స్క్రీన్"</string>
+ <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"ప్రకాశం"</string>
+ <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"స్వయంచాలకం"</string>
+ <string name="quick_settings_inversion_label" msgid="8790919884718619648">"రంగులను తారుమారు చేయి"</string>
+ <string name="quick_settings_color_space_label" msgid="853443689745584770">"రంగు సవరణ మోడ్"</string>
+ <string name="quick_settings_more_settings" msgid="326112621462813682">"మరిన్ని సెట్టింగ్లు"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"పూర్తయింది"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"కనెక్ట్ చేయబడినది"</string>
+ <string name="quick_settings_tethering_label" msgid="7153452060448575549">"టీథరింగ్"</string>
+ <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"హాట్స్పాట్"</string>
+ <string name="quick_settings_notifications_label" msgid="4818156442169154523">"నోటిఫికేషన్లు"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ఫ్లాష్లైట్"</string>
+ <string name="recents_empty_message" msgid="7883614615463619450">"ఇటీవలి అనువర్తనాలు ఏవీ లేవు"</string>
+ <string name="recents_app_info_button_label" msgid="2890317189376000030">"అనువర్తన సమాచారం"</string>
+ <string name="recents_search_bar_label" msgid="8074997400187836677">"శోధించు"</string>
+ <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ఛార్జ్ చేయబడింది"</string>
+ <string name="expanded_header_battery_charging" msgid="205623198487189724">"ఛార్జ్ అవుతోంది"</string>
+ <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"పూర్తిగా నిండటానికి <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string>
+ <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"ఛార్జ్ కావడం లేదు"</string>
+ <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"నెట్వర్క్\nపర్యవేక్షించబడవచ్చు"</string>
+ <string name="description_target_search" msgid="3091587249776033139">"శోధించండి"</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం పైకి స్లైడ్ చేయండి."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> కోసం ఎడమవైపుకు స్లైడ్ చేయండి."</string>
+ <string name="zen_mode_title" msgid="8793432092004749188">"అంతరాయం కలిగించవద్దు"</string>
+ <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
+ <string name="speed_bump_explanation" msgid="1288875699658819755">"తక్కువ అత్యవసర నోటిఫికేషన్లు దిగువన"</string>
+ <string name="notification_tap_again" msgid="7590196980943943842">"తెరవడానికి మళ్లీ నొక్కండి"</string>
+ <string name="keyguard_unlock" msgid="8043466894212841998">"అన్లాక్ చేయడానికి ఎగువకు స్వైప్ చేయండి"</string>
+ <string name="phone_hint" msgid="3101468054914424646">"ఫోన్ కోసం కుడివైపుకి స్వైప్ చేయండి"</string>
+ <string name="camera_hint" msgid="5241441720959174226">"కెమెరా కోసం ఎడమవైపుకి స్వైప్ చేయండి"</string>
+ <string name="zen_mode_forever" msgid="7420011936770086993">"మీరు దీన్ని ఆఫ్ చేసే వరకు"</string>
+ <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ఛార్జ్ అవుతోంది (పూర్తిగా నిండటానికి <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
+ <string name="guest_nickname" msgid="8059989128963789678">"అతిథి"</string>
+ <string name="guest_new_guest" msgid="4259024453643879653">"+ అతిథి"</string>
+ <plurals name="zen_mode_duration_minutes">
+ <item quantity="one" msgid="9040808414992812341">"ఒక నిమిషానికి"</item>
+ <item quantity="other" msgid="6924190729213550991">"%d నిమిషాలకి"</item>
+ </plurals>
+ <plurals name="zen_mode_duration_hours">
+ <item quantity="one" msgid="3480040795582254384">"ఒక గంటకు"</item>
+ <item quantity="other" msgid="5408537517529822157">"%d గంటలకు"</item>
+ </plurals>
+ <string name="battery_saver_notification_title" msgid="237918726750955859">"బ్యాటర్ సేవర్ ఆన్ చేయబడింది"</string>
+ <string name="battery_saver_notification_text" msgid="7796554871101546872">"పరికరం పనితీరు తగ్గించబడింది."</string>
+ <string name="battery_saver_notification_action_text" msgid="7546297220816993504">"బ్యాటరీ సేవర్ సెట్టింగ్లను తెరువు"</string>
+</resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index ce9a98e..20c4bf4 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -21,7 +21,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7164937344850004466">"ส่วนติดต่อผู้ใช้ของระบบ"</string>
<string name="status_bar_clear_all_button" msgid="7774721344716731603">"ล้างข้อมูล"</string>
- <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"ลบจากรายการ"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"นำออกจากรายการ"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"ข้อมูลแอปพลิเคชัน"</string>
<string name="status_bar_no_recent_apps" msgid="6576392951053994640">"ไม่มีแอปพลิเคชันล่าสุด"</string>
<string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"ปิดแอปพลิเคชันล่าสุด"</string>
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"สลับสี"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"โหมดการแก้ไขสี"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"การตั้งค่าเพิ่มเติม"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"การปล่อยสัญญาณ"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ฮอตสปอต"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"การแจ้งเตือน"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"ไฟฉาย"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"ไม่มีแอปล่าสุด"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ข้อมูลแอปพลิเคชัน"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ค้นหา"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 1cdeec6..d56ae72 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"I-invert ang mga kulay"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Mode ng pagtatama ng kulay"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Marami pang setting"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Nagte-tether"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Mga Notification"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Flashlight"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Walang kamakailang mga app"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Impormasyon ng Application"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"maghanap"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 0daca74..e20b7d7 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Renkleri çevir"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Renk düzeltme modu"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Diğer ayarlar"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Tethering"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Bildirimler"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Fener"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Yakın zamanda kullanılan uygulama yok"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Uygulama Bilgileri"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ara"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index e26bc37..80c7543 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Інвертувати кольори"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Режим коригування кольору"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Більше налаштувань"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Готово"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Під’єднано"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Режим модема"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Точка доступу"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Сповіщення"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Світловий сигнал"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Немає останніх додатків"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Інформація про додаток"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"пошук"</string>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index c3c202d..4bbbc5f 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"رنگ تبدیل کریں"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"رنگ کی اصلاح کی وضع"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"مزید ترتیبات"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"مربوط کرنا"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"ہاٹ اسپاٹ"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"اطلاعات"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"فلیش لائٹ"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"کوئی حالیہ ایپس نہیں ہیں"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"ایپلیکیشن کی معلومات"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"تلاش کریں"</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index e444882..463ff9f 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Ranglarni almashtirish"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Rangni to‘g‘rilash usuli"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Boshqa sozlamalar"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Modem rejimi"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Ulanish nuqtasi"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Bildirishnomalar"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Fonar"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"So‘nggi foydalanilgan ilovalar yo‘q"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ilova haqida ma’lumot"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"qidirish"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 28649e7..34cb82e 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -215,9 +215,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Đảo ngược màu"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Chế độ hiệu chỉnh màu sắc"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Cài đặt khác"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Đang dùng làm điểm truy cập Internet"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Điểm phát sóng"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Thông báo"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"Đèn nháy"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Không có ứng dụng nào gần đây"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Thông tin ứng dụng"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"tìm kiếm"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index e98e58d..a5bbde1 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -217,9 +217,15 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"反色"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"颜色校正模式"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"更多设置"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"网络共享"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"热点"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"通知"</string>
+ <!-- no translation found for quick_settings_flashlight_label (2133093497691661546) -->
+ <skip />
<string name="recents_empty_message" msgid="7883614615463619450">"最近没有用过任何应用"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"应用信息"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"搜索"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index ed44945..30ff7c4 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -217,9 +217,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"反轉顏色"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"色彩校準模式"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"更多設定"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"網路共用"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"熱點"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"通知"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"閃光燈"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"沒有最近使用的應用程式"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程式資料"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index be5ada4..bf5caae 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -217,9 +217,14 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"反轉顏色"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"色彩校正模式"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"更多設定"</string>
+ <!-- no translation found for quick_settings_done (3402999958839153376) -->
+ <skip />
+ <!-- no translation found for quick_settings_connected (1722253542984847487) -->
+ <skip />
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"網路共用"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"無線基地台"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"通知"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"閃光燈"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"沒有最近使用的應用程式"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程式資訊"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 1dedda0..e82909f 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -215,9 +215,12 @@
<string name="quick_settings_inversion_label" msgid="8790919884718619648">"Faka imibala"</string>
<string name="quick_settings_color_space_label" msgid="853443689745584770">"Imodi yokulungisa umbala"</string>
<string name="quick_settings_more_settings" msgid="326112621462813682">"Izilungiselelo eziningi"</string>
+ <string name="quick_settings_done" msgid="3402999958839153376">"Kwenziwe"</string>
+ <string name="quick_settings_connected" msgid="1722253542984847487">"Ixhunyiwe"</string>
<string name="quick_settings_tethering_label" msgid="7153452060448575549">"Ukusebenzisa njengemodemu"</string>
<string name="quick_settings_hotspot_label" msgid="6046917934974004879">"I-Hotspot"</string>
<string name="quick_settings_notifications_label" msgid="4818156442169154523">"Izaziso"</string>
+ <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"I-Flashlight"</string>
<string name="recents_empty_message" msgid="7883614615463619450">"Azikho izinhlelo zokusebenza zakamuva"</string>
<string name="recents_app_info_button_label" msgid="2890317189376000030">"Ulwazi lohlelo lokusebenza"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"sesha"</string>
diff --git a/packages/VpnDialogs/res/values-bn-rBD/strings.xml b/packages/VpnDialogs/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..32eed55
--- /dev/null
+++ b/packages/VpnDialogs/res/values-bn-rBD/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"<xliff:g id="APP">%s</xliff:g> একটি VPN সংযোগ স্থাপনের চেষ্টা করছে৷"</string>
+ <string name="warning" msgid="5470743576660160079">"চালিয়ে যাওয়ার মাধ্যমে, আপনি অ্যাপ্লিকেশানটিকে সমস্ত নেটওয়ার্ক ট্রাফিক বিচ্ছিন্ন করার অনুমতি প্রদান করছেন৷ "<b>"যদি আপনি অ্যাপ্লিকেশানটিকে বিশ্বাস না করেন তবে স্বীকার করবেন না৷"</b>" অন্যথায় আপনার ডেটা একটি ক্ষতিকারক সফ্টওয়্যারের দ্বারা কোনো বাজে লোকের হাতে চলে যাওয়ার ঝুঁকি থেকে যায়৷"</string>
+ <string name="accept" msgid="2889226408765810173">"আমি এই অ্যাপ্লিকেশানটিকে বিশ্বাস করি৷"</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN সংযুক্ত হয়েছে"</string>
+ <string name="configure" msgid="4905518375574791375">"কনফিগার করুন"</string>
+ <string name="disconnect" msgid="971412338304200056">"সংযোগ বিচ্ছিন্ন করুন"</string>
+ <string name="session" msgid="6470628549473641030">"অধিবেশন:"</string>
+ <string name="duration" msgid="3584782459928719435">"সময়কাল:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"পাঠানো হয়েছে:"</string>
+ <string name="data_received" msgid="4062776929376067820">"গৃহিত ডেটার পরিমান:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> বাইট / <xliff:g id="NUMBER_1">%2$s</xliff:g> প্যাকেট"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-eu-rES/strings.xml b/packages/VpnDialogs/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..b697391
--- /dev/null
+++ b/packages/VpnDialogs/res/values-eu-rES/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"<xliff:g id="APP">%s</xliff:g> aplikazioak VPN konexioa sortu nahi du."</string>
+ <string name="warning" msgid="5470743576660160079">"Aurrera jarraitzen baduzu, aplikazioari sareko trafiko guztia atzemateko baimena emango diozu. "<b>"EZ onartu aplikazioa fidagarria ez bada."</b>" Bestela, datuak programa gaizto baten eskuetan jartzeko arriskua duzu."</string>
+ <string name="accept" msgid="2889226408765810173">"Aplikazioa fidagarria da."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN sarera konektatuta dago"</string>
+ <string name="configure" msgid="4905518375574791375">"Konfiguratu"</string>
+ <string name="disconnect" msgid="971412338304200056">"Deskonektatu"</string>
+ <string name="session" msgid="6470628549473641030">"Saioa:"</string>
+ <string name="duration" msgid="3584782459928719435">"Iraupena:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"Bidalita:"</string>
+ <string name="data_received" msgid="4062776929376067820">"Jasota:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> byte / <xliff:g id="NUMBER_1">%2$s</xliff:g> pakete"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-gl-rES/strings.xml b/packages/VpnDialogs/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..078aeb6
--- /dev/null
+++ b/packages/VpnDialogs/res/values-gl-rES/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"<xliff:g id="APP">%s</xliff:g> tenta crear unha conexión VPN."</string>
+ <string name="warning" msgid="5470743576660160079">"Se continúas, concederaslle permiso á aplicación para interceptar todo o tráfico de rede. "<b>"NON aceptes a menos que confíes na aplicación."</b>" Do contrario, arríscaste a que os teus datos queden expostos a software malicioso."</string>
+ <string name="accept" msgid="2889226408765810173">"Confío nesta aplicación."</string>
+ <string name="legacy_title" msgid="192936250066580964">"A VPN está conectada"</string>
+ <string name="configure" msgid="4905518375574791375">"Configurar"</string>
+ <string name="disconnect" msgid="971412338304200056">"Desconectar"</string>
+ <string name="session" msgid="6470628549473641030">"Sesión:"</string>
+ <string name="duration" msgid="3584782459928719435">"Duración:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"Datos enviados:"</string>
+ <string name="data_received" msgid="4062776929376067820">"Recibido:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> bytes / <xliff:g id="NUMBER_1">%2$s</xliff:g> paquetes"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-kn-rIN/strings.xml b/packages/VpnDialogs/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..5793176
--- /dev/null
+++ b/packages/VpnDialogs/res/values-kn-rIN/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"VPN ಸಂಪರ್ಕವನ್ನು ರಚಿಸಲು <xliff:g id="APP">%s</xliff:g> ಪ್ರಯತ್ನಿಸಿದೆ."</string>
+ <string name="warning" msgid="5470743576660160079">"ಮುಂದುವರಿಸುವುದರ ಮೂಲಕ, ಎಲ್ಲಾ ನೆಟ್ವರ್ಟ್ ದಟ್ಟಣೆಯನ್ನು ಪ್ರತಿಬಂಧಿಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ನೀವು ಅನುಮತಿಯನ್ನು ನೀಡುತ್ತಿರುವಿರಿ. "<b>"ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಂಬದ ಹೊರತು ಸಮ್ಮತಿಸಬೇಡಿ."</b>" ಇಲ್ಲದಿದ್ದರೆ, ದೋಷಪೂರಿತ ಸಾಫ್ಟ್ವೇರ್ನಿಂದ ನಿಮ್ಮ ಡೇಟಾಗೆ ಧಕ್ಕೆಯುಂಟಾಗುವ ಅಪಾಯಕ್ಕೆ ಒಳಗಾಗುತ್ತೀರಿ."</string>
+ <string name="accept" msgid="2889226408765810173">"ನನಗೆ ಈ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ನಂಬಿಕೆಯಿದೆ."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string>
+ <string name="configure" msgid="4905518375574791375">"ಕಾನ್ಫಿಗರ್ ಮಾಡು"</string>
+ <string name="disconnect" msgid="971412338304200056">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು"</string>
+ <string name="session" msgid="6470628549473641030">"ಸೆಷನ್:"</string>
+ <string name="duration" msgid="3584782459928719435">"ಅವಧಿ:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"ಕಳುಹಿಸಲಾಗಿದೆ:"</string>
+ <string name="data_received" msgid="4062776929376067820">"ಸ್ವೀಕರಿಸಲಾಗಿದೆ:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> ಬೈಟ್ಗಳು / <xliff:g id="NUMBER_1">%2$s</xliff:g> ಪ್ಯಾಕೆಟ್ಗಳು"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-ml-rIN/strings.xml b/packages/VpnDialogs/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..e1d9e23
--- /dev/null
+++ b/packages/VpnDialogs/res/values-ml-rIN/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"<xliff:g id="APP">%s</xliff:g>, ഒരു VPN കണക്ഷൻ സൃഷ്ടിക്കാൻ ശ്രമിക്കുന്നു."</string>
+ <string name="warning" msgid="5470743576660160079">"തുടരുന്നതിലൂടെ, നിങ്ങൾ അപ്ലിക്കേഷന് എല്ലാ നെറ്റ്വർക്ക് ട്രാഫിക്കും തടസ്സപ്പെടുത്താനുള്ള അനുമതി നൽകുന്നു. "<b>"അപ്ലിക്കേഷനെ വിശ്വസിക്കുന്നില്ലെങ്കിൽ അംഗീകരിക്കരുത്."</b>" അല്ലെങ്കിൽ, ഒരു ക്ഷുദ്രകരമായ സോഫ്റ്റ്വെയർ നിങ്ങളുടെ ഡാറ്റ അപഹരിക്കുന്നതിനുള്ള അപകടസാധ്യതയിലൂടെ നിങ്ങൾ കടന്നുപോകാനിടയുണ്ട്."</string>
+ <string name="accept" msgid="2889226408765810173">"ഞാൻ ഈ അപ്ലിക്കേഷനെ വിശ്വസിക്കുന്നു."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN കണക്റ്റുചെയ്തു"</string>
+ <string name="configure" msgid="4905518375574791375">"കോൺഫിഗർ ചെയ്യുക"</string>
+ <string name="disconnect" msgid="971412338304200056">"വിച്ഛേദിക്കുക"</string>
+ <string name="session" msgid="6470628549473641030">"സെഷൻ:"</string>
+ <string name="duration" msgid="3584782459928719435">"സമയദൈര്ഘ്യം:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"അയച്ചത്:"</string>
+ <string name="data_received" msgid="4062776929376067820">"ലഭിച്ചത്:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> ബൈറ്റുകൾ / <xliff:g id="NUMBER_1">%2$s</xliff:g> പാക്കറ്റുകൾ"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-mr-rIN/strings.xml b/packages/VpnDialogs/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..f78747b
--- /dev/null
+++ b/packages/VpnDialogs/res/values-mr-rIN/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"<xliff:g id="APP">%s</xliff:g> VPN कनेक्शन तयार करण्याचा प्रयत्न करतो."</string>
+ <string name="warning" msgid="5470743576660160079">"पुढे सुरु ठेवून, आपण अनुप्रयोगाला सर्व नेटवर्क रहदारी खंडित करण्याची परवानगी देता."<b>"आपला अनुप्रयोगावर विश्वास नसल्यास स्वीकार करू नका."</b>" अन्यथा, आपण दुर्भावनापूर्ण सॉफ्टवेअरद्वारे आपल्या डेटाची तडजोड झाल्याची जोखीम चालवाल."</string>
+ <string name="accept" msgid="2889226408765810173">"माझा या अनुप्रयोगावर विश्वास आहे."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN कनेक्ट केले"</string>
+ <string name="configure" msgid="4905518375574791375">"कॉन्फिगर करा"</string>
+ <string name="disconnect" msgid="971412338304200056">"डिस्कनेक्ट करा"</string>
+ <string name="session" msgid="6470628549473641030">"सत्र:"</string>
+ <string name="duration" msgid="3584782459928719435">"कालावधी:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"प्रेषित:"</string>
+ <string name="data_received" msgid="4062776929376067820">"प्राप्त झाले:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> बाइट / <xliff:g id="NUMBER_1">%2$s</xliff:g> पॅकेट"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-ta-rIN/strings.xml b/packages/VpnDialogs/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..b8d32be
--- /dev/null
+++ b/packages/VpnDialogs/res/values-ta-rIN/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"VPN இணைப்பை உருவாக்க <xliff:g id="APP">%s</xliff:g> முயற்சிக்கிறது."</string>
+ <string name="warning" msgid="5470743576660160079">"தொடர்வதன்மூலம், எல்லா நெட்வொர்க் ட்ராஃபிக்கையும் இடைமறிக்க பயன்பாட்டிற்கு அனுமதியளிக்கிறீர்கள். "<b>"நீங்கள் பயன்பாட்டை நம்பினால் ஒழிய இதை ஒப்புக்கொள்ள வேண்டாம்."</b>" இல்லையெனில், தீங்குவிளைவிக்கும் மென்பொருள் மூலம் உங்களின் தரவை திருட வாய்ப்பளிக்கிறீர்கள்."</string>
+ <string name="accept" msgid="2889226408765810173">"இந்தப் பயன்பாட்டை நம்புகிறேன்."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN இணைக்கப்பட்டது"</string>
+ <string name="configure" msgid="4905518375574791375">"உள்ளமை"</string>
+ <string name="disconnect" msgid="971412338304200056">"தொடர்பைத் துண்டி"</string>
+ <string name="session" msgid="6470628549473641030">"அமர்வு:"</string>
+ <string name="duration" msgid="3584782459928719435">"காலஅளவு:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"அனுப்பியது:"</string>
+ <string name="data_received" msgid="4062776929376067820">"பெறப்பட்டது:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> பைட்கள் / <xliff:g id="NUMBER_1">%2$s</xliff:g> தொகுப்பு"</string>
+</resources>
diff --git a/packages/VpnDialogs/res/values-te-rIN/strings.xml b/packages/VpnDialogs/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..3b178d2
--- /dev/null
+++ b/packages/VpnDialogs/res/values-te-rIN/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="prompt" msgid="8359175999006833462">"VPN కనెక్షన్ను రూపొందించడానికి <xliff:g id="APP">%s</xliff:g> ప్రయత్నిస్తోంది."</string>
+ <string name="warning" msgid="5470743576660160079">"కొనసాగడం ద్వారా, మీరు నెట్వర్క్ ట్రాఫిక్ మొత్తాన్ని అడ్డగించడానికి అనువర్తనానికి అనుమతి ఇస్తున్నారు. "<b>"మీరు అనువర్తనాన్ని విశ్వసిస్తే మినహా ఆమోదించవద్దు."</b>" లేకపోతే, మీరు హానికరమైన సాఫ్ట్వేర్ ద్వారా మీ డేటా రాజీపడే ప్రమాదాన్ని ఎదుర్కొంటారు."</string>
+ <string name="accept" msgid="2889226408765810173">"నేను ఈ అనువర్తనాన్ని విశ్వసిస్తున్నాను."</string>
+ <string name="legacy_title" msgid="192936250066580964">"VPN కనెక్ట్ చేయబడింది"</string>
+ <string name="configure" msgid="4905518375574791375">"కాన్ఫిగర్ చేయి"</string>
+ <string name="disconnect" msgid="971412338304200056">"డిస్కనెక్ట్ చేయి"</string>
+ <string name="session" msgid="6470628549473641030">"సెషన్:"</string>
+ <string name="duration" msgid="3584782459928719435">"వ్యవధి:"</string>
+ <string name="data_transmitted" msgid="7988167672982199061">"పంపినది:"</string>
+ <string name="data_received" msgid="4062776929376067820">"స్వీకరించినది:"</string>
+ <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> బైట్లు / <xliff:g id="NUMBER_1">%2$s</xliff:g> ప్యాకెట్లు"</string>
+</resources>
diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java
index 11e546f..c011cf9 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java
@@ -20,7 +20,6 @@
import static android.content.pm.PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
import static android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK;
import static android.content.pm.PackageManager.INSTALL_FAILED_PACKAGE_CHANGED;
-import static android.content.pm.PackageManager.INSTALL_SUCCEEDED;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageInstallObserver2;
@@ -31,7 +30,6 @@
import android.content.pm.PackageParser.ApkLite;
import android.content.pm.PackageParser.PackageParserException;
import android.content.pm.Signature;
-import android.os.Build;
import android.os.Bundle;
import android.os.FileBridge;
import android.os.FileUtils;
@@ -40,7 +38,6 @@
import android.os.Message;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
-import android.os.SELinux;
import android.os.UserHandle;
import android.system.ErrnoException;
import android.system.OsConstants;
@@ -48,11 +45,9 @@
import android.util.ArraySet;
import android.util.Slog;
-import com.android.internal.content.NativeLibraryHelper;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.Preconditions;
-import libcore.io.IoUtils;
import libcore.io.Libcore;
import java.io.File;
@@ -110,7 +105,6 @@
private Signature[] mSignatures;
private boolean mMutationsAllowed;
- private boolean mVerifierConfirmed;
private boolean mPermissionsConfirmed;
private boolean mInvalid;
@@ -238,21 +232,12 @@
Preconditions.checkNotNull(mPackageName);
Preconditions.checkNotNull(mSignatures);
- if (!mVerifierConfirmed) {
- // TODO: async communication with verifier
- // when they confirm, we'll kick off another install() pass
- mVerifierConfirmed = true;
- }
-
if (!mPermissionsConfirmed) {
// TODO: async confirm permissions with user
// when they confirm, we'll kick off another install() pass
mPermissionsConfirmed = true;
}
- // Unpack any native libraries contained in this session
- unpackNativeLibraries();
-
// Inherit any packages and native libraries from existing install that
// haven't been overridden.
if (!params.fullInstall) {
@@ -425,58 +410,6 @@
}
}
- private void unpackNativeLibraries() throws InstallFailedException {
- final File libDir = new File(sessionDir, "lib");
-
- if (!libDir.mkdir()) {
- throw new InstallFailedException(INSTALL_FAILED_INTERNAL_ERROR,
- "Failed to create " + libDir);
- }
-
- try {
- Libcore.os.chmod(libDir.getAbsolutePath(), 0755);
- } catch (ErrnoException e) {
- throw new InstallFailedException(INSTALL_FAILED_INTERNAL_ERROR,
- "Failed to prepare " + libDir + ": " + e);
- }
-
- if (!SELinux.restorecon(libDir)) {
- throw new InstallFailedException(INSTALL_FAILED_INTERNAL_ERROR,
- "Failed to set context on " + libDir);
- }
-
- // Unpack all native libraries under stage
- final File[] files = sessionDir.listFiles();
- if (ArrayUtils.isEmpty(files)) {
- throw new InstallFailedException(INSTALL_FAILED_INVALID_APK, "No packages staged");
- }
-
- for (File file : files) {
- NativeLibraryHelper.ApkHandle handle = null;
- try {
- handle = NativeLibraryHelper.ApkHandle.create(file);
- final int abiIndex = NativeLibraryHelper.findSupportedAbi(handle,
- Build.SUPPORTED_ABIS);
- if (abiIndex >= 0) {
- int copyRet = NativeLibraryHelper.copyNativeBinariesIfNeededLI(handle, libDir,
- Build.SUPPORTED_ABIS[abiIndex]);
- if (copyRet != INSTALL_SUCCEEDED) {
- throw new InstallFailedException(copyRet,
- "Failed to copy native libraries for " + file);
- }
- } else if (abiIndex != PackageManager.NO_NATIVE_LIBRARIES) {
- throw new InstallFailedException(abiIndex,
- "Failed to copy native libraries for " + file);
- }
- } catch (IOException ioe) {
- throw new InstallFailedException(INSTALL_FAILED_INTERNAL_ERROR,
- "Failed to create handle for " + file);
- } finally {
- IoUtils.closeQuietly(handle);
- }
- }
- }
-
@Override
public void destroy() {
try {
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 91f119d..7a8eb58 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -24,9 +24,14 @@
import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;
import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
-import static android.content.pm.PackageParser.isPackageFilename;
+import static android.content.pm.PackageManager.INSTALL_EXTERNAL;
+import static android.content.pm.PackageManager.INSTALL_FORWARD_LOCK;
+import static android.content.pm.PackageParser.isApkFile;
import static android.os.Process.PACKAGE_INFO_GID;
import static android.os.Process.SYSTEM_UID;
+import static android.system.OsConstants.O_CREAT;
+import static android.system.OsConstants.O_EXCL;
+import static android.system.OsConstants.O_RDWR;
import static android.system.OsConstants.S_IRGRP;
import static android.system.OsConstants.S_IROTH;
import static android.system.OsConstants.S_IRWXU;
@@ -38,12 +43,13 @@
import static com.android.internal.util.ArrayUtils.removeInt;
import android.util.ArrayMap;
+
import com.android.internal.R;
import com.android.internal.app.IMediaContainerService;
import com.android.internal.app.ResolverActivity;
import com.android.internal.content.NativeLibraryHelper;
-import com.android.internal.content.NativeLibraryHelper.ApkHandle;
import com.android.internal.content.PackageHelper;
+import com.android.internal.os.IParcelFileDescriptorFactory;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.FastXmlSerializer;
@@ -193,6 +199,7 @@
import dalvik.system.VMRuntime;
import libcore.io.IoUtils;
+import libcore.io.Libcore;
/**
* Keep track of all those .apks everywhere.
@@ -1148,18 +1155,18 @@
if ((state != null) && !state.timeoutExtended()) {
final InstallArgs args = state.getInstallArgs();
- final Uri fromUri = Uri.fromFile(args.fromFile);
+ final Uri originUri = Uri.fromFile(args.originFile);
- Slog.i(TAG, "Verification timed out for " + fromUri);
+ Slog.i(TAG, "Verification timed out for " + originUri);
mPendingVerification.remove(verificationId);
int ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
if (getDefaultVerificationResponse() == PackageManager.VERIFICATION_ALLOW) {
- Slog.i(TAG, "Continuing with installation of " + fromUri);
+ Slog.i(TAG, "Continuing with installation of " + originUri);
state.setVerifierResponse(Binder.getCallingUid(),
PackageManager.VERIFICATION_ALLOW_WITHOUT_SUFFICIENT);
- broadcastPackageVerified(verificationId, fromUri,
+ broadcastPackageVerified(verificationId, originUri,
PackageManager.VERIFICATION_ALLOW,
state.getInstallArgs().getUser());
try {
@@ -1168,7 +1175,7 @@
Slog.e(TAG, "Could not contact the ContainerService");
}
} else {
- broadcastPackageVerified(verificationId, fromUri,
+ broadcastPackageVerified(verificationId, originUri,
PackageManager.VERIFICATION_REJECT,
state.getInstallArgs().getUser());
}
@@ -1195,12 +1202,12 @@
mPendingVerification.remove(verificationId);
final InstallArgs args = state.getInstallArgs();
- final Uri fromUri = Uri.fromFile(args.fromFile);
+ final Uri originUri = Uri.fromFile(args.originFile);
int ret;
if (state.isInstallAllowed()) {
ret = PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
- broadcastPackageVerified(verificationId, fromUri,
+ broadcastPackageVerified(verificationId, originUri,
response.code, state.getInstallArgs().getUser());
try {
ret = args.copyApk(mContainerService, true);
@@ -4096,7 +4103,7 @@
}
for (File file : files) {
- if (!isPackageFilename(file)) {
+ if (!isApkFile(file)) {
// Ignore entries which are not apk's
continue;
}
@@ -5358,10 +5365,9 @@
* only for non-system apps and system app upgrades.
*/
if (pkg.applicationInfo.nativeLibraryDir != null) {
- // TODO: extend to extract native code from split APKs
- ApkHandle handle = null;
+ NativeLibraryHelper.Handle handle = null;
try {
- handle = ApkHandle.create(scanFile.getPath());
+ handle = NativeLibraryHelper.Handle.create(scanFile);
// Enable gross and lame hacks for apps that are built with old
// SDK tools. We must scan their APKs for renderscript bitcode and
// not launch them if it's present. Don't bother checking on devices
@@ -6178,7 +6184,7 @@
}
}
- private static int copyNativeLibrariesForInternalApp(ApkHandle handle,
+ private static int copyNativeLibrariesForInternalApp(NativeLibraryHelper.Handle handle,
final File nativeLibraryDir, String[] abiList) throws IOException {
if (!nativeLibraryDir.isDirectory()) {
nativeLibraryDir.delete();
@@ -7486,7 +7492,7 @@
if (DEBUG_APP_DIR_OBSERVER)
Log.v(TAG, "File " + fullPathStr + " changed: " + Integer.toHexString(event));
- if (!isPackageFilename(path)) {
+ if (!isApkFile(fullPath)) {
if (DEBUG_APP_DIR_OBSERVER)
Log.v(TAG, "Ignoring change of non-package file: " + fullPathStr);
return;
@@ -7707,10 +7713,13 @@
}
final File fromFile = new File(packageURI.getPath());
+ if (encryptionParams != null) {
+ throw new UnsupportedOperationException("ContainerEncryptionParams not supported");
+ }
+
final Message msg = mHandler.obtainMessage(INIT_COPY);
msg.obj = new InstallParams(fromFile, observer, observer2, filteredFlags,
- installerPackageName, verificationParams, encryptionParams, user,
- packageAbiOverride);
+ installerPackageName, verificationParams, user, packageAbiOverride);
mHandler.sendMessage(msg);
}
@@ -8419,12 +8428,13 @@
* copied/renamed into place. This could be a single monolithic APK
* file, or a cluster directory. This location may be untrusted.
*/
- private final File mFromFile;
+ final File originFile;
/**
- * Local copy of {@link #mFromFile}, if generated.
+ * Flag indicating that {@link #originFile} lives in a trusted location,
+ * meaning downstream users don't need to defensively copy the contents.
*/
- private File mLocalFromFile;
+ boolean originTrusted;
final IPackageInstallObserver observer;
final IPackageInstallObserver2 observer2;
@@ -8433,22 +8443,20 @@
final VerificationParams verificationParams;
private InstallArgs mArgs;
private int mRet;
- final ContainerEncryptionParams encryptionParams;
final String packageAbiOverride;
final String packageInstructionSetOverride;
- InstallParams(File fromFile, IPackageInstallObserver observer,
+ InstallParams(File originFile, IPackageInstallObserver observer,
IPackageInstallObserver2 observer2, int flags, String installerPackageName,
- VerificationParams verificationParams, ContainerEncryptionParams encryptionParams,
- UserHandle user, String packageAbiOverride) {
+ VerificationParams verificationParams, UserHandle user, String packageAbiOverride) {
super(user);
- mFromFile = Preconditions.checkNotNull(fromFile);
+ this.originFile = Preconditions.checkNotNull(originFile);
+ this.originTrusted = false;
this.observer = observer;
this.observer2 = observer2;
this.flags = flags;
this.installerPackageName = installerPackageName;
this.verificationParams = verificationParams;
- this.encryptionParams = encryptionParams;
this.packageAbiOverride = packageAbiOverride;
this.packageInstructionSetOverride = (packageAbiOverride == null) ?
packageAbiOverride : VMRuntime.getInstructionSet(packageAbiOverride);
@@ -8458,7 +8466,7 @@
public String toString() {
return "InstallParams{"
+ Integer.toHexString(System.identityHashCode(this))
- + " " + mFromFile + "}";
+ + " " + originFile + "}";
}
public ManifestDigest getManifestDigest() {
@@ -8558,29 +8566,9 @@
Log.w(TAG, "Couldn't get low memory threshold; no free limit imposed");
}
- if (encryptionParams != null) {
- // Make a temporary file for decryption.
- mLocalFromFile = createTempPackageFile(mDrmAppPrivateInstallDir);
- if (mLocalFromFile != null) {
- ParcelFileDescriptor out = null;
- try {
- out = ParcelFileDescriptor.open(mLocalFromFile,
- ParcelFileDescriptor.MODE_READ_WRITE);
- ret = mContainerService.copyResource(mFromFile.getAbsolutePath(),
- encryptionParams, out);
- } catch (FileNotFoundException e) {
- Slog.e(TAG, "Failed to create temporary file for: " + mFromFile);
- } finally {
- IoUtils.closeQuietly(out);
- }
-
- FileUtils.setPermissions(mLocalFromFile, 0644, -1, -1);
- }
- }
-
// Remote call to find out default install location
- final String fromPath = getFromFile().getAbsolutePath();
- pkgLite = mContainerService.getMinimalPackageInfo(fromPath, flags, lowThreshold,
+ final String originPath = originFile.getAbsolutePath();
+ pkgLite = mContainerService.getMinimalPackageInfo(originPath, flags, lowThreshold,
packageAbiOverride);
/*
@@ -8590,10 +8578,10 @@
if (pkgLite.recommendedInstallLocation
== PackageHelper.RECOMMEND_FAILED_INSUFFICIENT_STORAGE) {
final long size = mContainerService.calculateInstalledSize(
- fromPath, isForwardLocked(), packageAbiOverride);
+ originPath, isForwardLocked(), packageAbiOverride);
if (mInstaller.freeCache(size + lowThreshold) >= 0) {
- pkgLite = mContainerService.getMinimalPackageInfo(fromPath,
- flags, lowThreshold, packageAbiOverride);
+ pkgLite = mContainerService.getMinimalPackageInfo(originPath, flags,
+ lowThreshold, packageAbiOverride);
}
/*
* The cache free must have deleted the file we
@@ -8669,7 +8657,7 @@
// TODO: send verifier the install session instead of uri
final Intent verification = new Intent(
Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
- verification.setDataAndType(Uri.fromFile(getFromFile()), PACKAGE_MIME_TYPE);
+ verification.setDataAndType(Uri.fromFile(originFile), PACKAGE_MIME_TYPE);
verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
final List<ResolveInfo> receivers = queryIntentReceivers(verification,
@@ -8796,12 +8784,6 @@
// will succeed.
if (mArgs != null) {
processPendingInstall(mArgs, mRet);
-
- if (mLocalFromFile != null) {
- if (!mLocalFromFile.delete()) {
- Slog.w(TAG, "Couldn't delete temporary file: " + mLocalFromFile);
- }
- }
}
}
@@ -8814,14 +8796,6 @@
public boolean isForwardLocked() {
return (flags & PackageManager.INSTALL_FORWARD_LOCK) != 0;
}
-
- public File getFromFile() {
- if (mLocalFromFile != null) {
- return mLocalFromFile;
- } else {
- return mFromFile;
- }
- }
}
/*
@@ -8841,8 +8815,7 @@
int mRet;
MoveParams(InstallArgs srcArgs, IPackageMoveObserver observer, int flags,
- String packageName, String dataDir, String instructionSet,
- int uid, UserHandle user) {
+ String packageName, String instructionSet, int uid, UserHandle user) {
super(user);
this.srcArgs = srcArgs;
this.observer = observer;
@@ -8851,7 +8824,7 @@
this.uid = uid;
if (srcArgs != null) {
final String codePath = srcArgs.getCodePath();
- targetArgs = createInstallArgsForMoveTarget(codePath, flags, packageName, dataDir,
+ targetArgs = createInstallArgsForMoveTarget(codePath, flags, packageName,
instructionSet);
} else {
targetArgs = null;
@@ -8992,7 +8965,7 @@
}
private InstallArgs createInstallArgsForMoveTarget(String codePath, int flags, String pkgName,
- String dataDir, String instructionSet) {
+ String instructionSet) {
final File codeFile = new File(codePath);
if (installOnSd(flags) || installForwardLocked(flags)) {
String cid = getNextCodePath(codePath, pkgName, "/"
@@ -9000,17 +8973,17 @@
return new AsecInstallArgs(codeFile, cid, instructionSet, installOnSd(flags),
installForwardLocked(flags));
} else {
- return new FileInstallArgs(codeFile, pkgName, dataDir, instructionSet);
+ return new FileInstallArgs(codeFile, pkgName, instructionSet);
}
}
static abstract class InstallArgs {
- /**
- * Location where install is coming from, before it has been
- * copied/renamed into place. This could be a single monolithic APK
- * file, or a cluster directory. This location is typically untrusted.
- */
- final File fromFile;
+ /** @see InstallParams#originFile */
+ final File originFile;
+ /** @see InstallParams#originTrusted */
+ final boolean originTrusted;
+
+ // TODO: define inherit location
final IPackageInstallObserver observer;
final IPackageInstallObserver2 observer2;
@@ -9022,11 +8995,12 @@
final String instructionSet;
final String abiOverride;
- InstallArgs(File fromFile, IPackageInstallObserver observer,
+ InstallArgs(File originFile, boolean originTrusted, IPackageInstallObserver observer,
IPackageInstallObserver2 observer2, int flags, String installerPackageName,
ManifestDigest manifestDigest, UserHandle user, String instructionSet,
String abiOverride) {
- this.fromFile = fromFile;
+ this.originFile = originFile;
+ this.originTrusted = originTrusted;
this.flags = flags;
this.observer = observer;
this.observer2 = observer2;
@@ -9098,15 +9072,16 @@
/** New install */
FileInstallArgs(InstallParams params) {
- super(params.getFromFile(), params.observer, params.observer2, params.flags,
- params.installerPackageName, params.getManifestDigest(), params.getUser(),
- params.packageInstructionSetOverride, params.packageAbiOverride);
+ super(params.originFile, params.originTrusted, params.observer, params.observer2,
+ params.flags, params.installerPackageName, params.getManifestDigest(),
+ params.getUser(), params.packageInstructionSetOverride,
+ params.packageAbiOverride);
}
/** Existing install */
FileInstallArgs(String fullCodePath, String fullResourcePath, String nativeLibraryPath,
String instructionSet) {
- super(null, null, null, 0, null, null, null, instructionSet, null);
+ super(null, false, null, null, 0, null, null, null, instructionSet, null);
File codeFile = new File(fullCodePath);
installDir = codeFile.getParentFile();
codeFileName = fullCodePath;
@@ -9115,8 +9090,8 @@
}
/** New install from existing */
- FileInstallArgs(File fromFile, String pkgName, String dataDir, String instructionSet) {
- super(fromFile, null, null, 0, null, null, null, instructionSet, null);
+ FileInstallArgs(File originFile, String pkgName, String instructionSet) {
+ super(originFile, true, null, null, 0, null, null, null, instructionSet, null);
installDir = isFwdLocked() ? mDrmAppPrivateInstallDir : mAppInstallDir;
String apkName = getNextCodePath(null, pkgName, ".apk");
codeFileName = new File(installDir, apkName + ".apk").getPath();
@@ -9141,7 +9116,7 @@
lowThreshold = dsm.getMemoryLowThreshold();
}
- return imcs.checkInternalFreeStorage(fromFile.getAbsolutePath(), isFwdLocked(),
+ return imcs.checkInternalFreeStorage(originFile.getAbsolutePath(), isFwdLocked(),
lowThreshold);
}
@@ -9159,7 +9134,7 @@
createCopyFile();
}
// Get a ParcelFileDescriptor to write to the output file
- File codeFile = new File(codeFileName);
+ final File codeFile = new File(codeFileName);
if (!created) {
try {
codeFile.createNewFile();
@@ -9173,20 +9148,22 @@
return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
}
}
- ParcelFileDescriptor out = null;
- try {
- out = ParcelFileDescriptor.open(codeFile, ParcelFileDescriptor.MODE_READ_WRITE);
- } catch (FileNotFoundException e) {
- Slog.e(TAG, "Failed to create file descriptor for : " + codeFileName);
- return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
- }
+
+ // TODO: extend to support copying into clusters
+ final IParcelFileDescriptorFactory target = new IParcelFileDescriptorFactory.Stub() {
+ @Override
+ public ParcelFileDescriptor open(String name, int mode) throws RemoteException {
+ try {
+ return ParcelFileDescriptor.open(codeFile,
+ ParcelFileDescriptor.MODE_READ_WRITE);
+ } catch (FileNotFoundException e) {
+ throw new RemoteException(e.getMessage());
+ }
+ }
+ };
+
// Copy the resource now
- int ret = PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
- try {
- ret = imcs.copyResource(fromFile.getAbsolutePath(), null, out);
- } finally {
- IoUtils.closeQuietly(out);
- }
+ int ret = imcs.copyPackage(originFile.getAbsolutePath(), target);
if (isFwdLocked()) {
final File destResourceFile = new File(getResourcePath());
@@ -9211,9 +9188,9 @@
String[] abiList = (abiOverride != null) ?
new String[] { abiOverride } : Build.SUPPORTED_ABIS;
- ApkHandle handle = null;
+ NativeLibraryHelper.Handle handle = null;
try {
- handle = ApkHandle.create(codeFile);
+ handle = NativeLibraryHelper.Handle.create(codeFile);
if (Build.SUPPORTED_64_BIT_ABIS.length > 0 &&
abiOverride == null &&
NativeLibraryHelper.hasRenderscriptBitcode(handle)) {
@@ -9454,17 +9431,18 @@
/** New install */
AsecInstallArgs(InstallParams params) {
- super(params.getFromFile(), params.observer, params.observer2, params.flags,
- params.installerPackageName, params.getManifestDigest(), params.getUser(),
- params.packageInstructionSetOverride, params.packageAbiOverride);
+ super(params.originFile, params.originTrusted, params.observer, params.observer2,
+ params.flags, params.installerPackageName, params.getManifestDigest(),
+ params.getUser(), params.packageInstructionSetOverride,
+ params.packageAbiOverride);
}
/** Existing install */
AsecInstallArgs(String fullCodePath, String fullResourcePath, String nativeLibraryPath,
String instructionSet, boolean isExternal, boolean isForwardLocked) {
- super(null, null, null, (isExternal ? PackageManager.INSTALL_EXTERNAL : 0)
- | (isForwardLocked ? PackageManager.INSTALL_FORWARD_LOCK : 0),
- null, null, null, instructionSet, null);
+ super(null, false, null, null, (isExternal ? INSTALL_EXTERNAL : 0)
+ | (isForwardLocked ? INSTALL_FORWARD_LOCK : 0), null, null, null,
+ instructionSet, null);
// Extract cid from fullCodePath
int eidx = fullCodePath.lastIndexOf("/");
String subStr1 = fullCodePath.substring(0, eidx);
@@ -9474,19 +9452,19 @@
}
AsecInstallArgs(String cid, String instructionSet, boolean isForwardLocked) {
- super(null, null, null, (isAsecExternal(cid) ? PackageManager.INSTALL_EXTERNAL : 0)
- | (isForwardLocked ? PackageManager.INSTALL_FORWARD_LOCK : 0),
- null, null, null, instructionSet, null);
+ super(null, false, null, null, (isAsecExternal(cid) ? INSTALL_EXTERNAL : 0)
+ | (isForwardLocked ? INSTALL_FORWARD_LOCK : 0), null, null, null,
+ instructionSet, null);
this.cid = cid;
setCachePath(PackageHelper.getSdDir(cid));
}
/** New install from existing */
- AsecInstallArgs(File fromFile, String cid, String instructionSet,
+ AsecInstallArgs(File originPackageFile, String cid, String instructionSet,
boolean isExternal, boolean isForwardLocked) {
- super(fromFile, null, null, (isExternal ? PackageManager.INSTALL_EXTERNAL : 0)
- | (isForwardLocked ? PackageManager.INSTALL_FORWARD_LOCK : 0),
- null, null, null, instructionSet, null);
+ super(originPackageFile, true, null, null, (isExternal ? INSTALL_EXTERNAL : 0)
+ | (isForwardLocked ? INSTALL_FORWARD_LOCK : 0), null, null, null,
+ instructionSet, null);
this.cid = cid;
}
@@ -9495,7 +9473,7 @@
}
boolean checkFreeStorage(IMediaContainerService imcs) throws RemoteException {
- return imcs.checkExternalFreeStorage(fromFile.getAbsolutePath(), isFwdLocked(),
+ return imcs.checkExternalFreeStorage(originFile.getAbsolutePath(), isFwdLocked(),
abiOverride);
}
@@ -9514,8 +9492,8 @@
PackageHelper.destroySdDir(cid);
}
- final String newCachePath = imcs.copyResourceToContainer(fromFile.getAbsolutePath(),
- cid, getEncryptKey(), RES_FILE_NAME, PUBLIC_RES_FILE_NAME, isExternal(),
+ final String newCachePath = imcs.copyPackageToContainer(
+ originFile.getAbsolutePath(), cid, getEncryptKey(), isExternal(),
isFwdLocked(), abiOverride);
if (newCachePath != null) {
@@ -12878,8 +12856,7 @@
* anyway.
*/
if (returnCode != PackageManager.MOVE_SUCCEEDED) {
- processPendingMove(new MoveParams(null, observer, 0, packageName, null,
- null, -1, user),
+ processPendingMove(new MoveParams(null, observer, 0, packageName, null, -1, user),
returnCode);
} else {
Message msg = mHandler.obtainMessage(INIT_COPY);
@@ -12888,7 +12865,7 @@
pkg.applicationInfo.sourceDir, pkg.applicationInfo.publicSourceDir,
pkg.applicationInfo.nativeLibraryDir, instructionSet);
MoveParams mp = new MoveParams(srcArgs, observer, newFlags, packageName,
- pkg.applicationInfo.dataDir, instructionSet, pkg.applicationInfo.uid, user);
+ instructionSet, pkg.applicationInfo.uid, user);
msg.obj = mp;
mHandler.sendMessage(msg);
}
@@ -12955,9 +12932,10 @@
final File newNativeDir = new File(newNativePath);
if (!isForwardLocked(pkg) && !isExternal(pkg)) {
- ApkHandle handle = null;
+ NativeLibraryHelper.Handle handle = null;
try {
- handle = ApkHandle.create(newCodePath);
+ handle = NativeLibraryHelper.Handle.create(
+ new File(newCodePath));
final int abi = NativeLibraryHelper.findSupportedAbi(
handle, Build.SUPPORTED_ABIS);
if (abi >= 0) {