summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/ApplicationPackageManager.java11
-rw-r--r--core/java/android/app/DownloadManager.java40
-rw-r--r--core/java/android/content/pm/IPackageManager.aidl4
-rw-r--r--core/java/android/content/pm/PackageManager.java7
-rw-r--r--core/java/android/provider/Downloads.java5
-rw-r--r--core/java/android/util/DisplayMetrics.java6
-rw-r--r--core/jni/android_view_DisplayListCanvas.cpp6
-rw-r--r--core/res/AndroidManifest.xml6
-rw-r--r--core/res/res/drawable/stat_notify_protected.xml28
-rw-r--r--core/res/res/values-ca/cm_strings.xml2
-rw-r--r--core/res/res/values-cs/cm_strings.xml18
-rw-r--r--core/res/res/values-el/cm_strings.xml2
-rw-r--r--core/res/res/values-eu-rES/cm_strings.xml2
-rw-r--r--core/res/res/values-fr/cm_strings.xml1
-rw-r--r--core/res/res/values-hr/cm_strings.xml9
-rw-r--r--core/res/res/values-it/cm_strings.xml2
-rw-r--r--core/res/res/values-iw/cm_strings.xml8
-rw-r--r--core/res/res/values-ja/cm_strings.xml4
-rw-r--r--core/res/res/values-mcc214-mnc07/config.xml28
-rw-r--r--core/res/res/values-nl/cm_strings.xml2
-rw-r--r--core/res/res/values-pl/cm_strings.xml1
-rw-r--r--core/res/res/values-ro/cm_strings.xml10
-rw-r--r--core/res/res/values-ru/cm_strings.xml1
-rw-r--r--core/res/res/values-sl/cm_strings.xml28
-rw-r--r--core/res/res/values-sr/cm_strings.xml2
-rw-r--r--core/res/res/values-sv/cm_strings.xml1
-rw-r--r--core/res/res/values-uk/cm_strings.xml16
-rw-r--r--core/res/res/values-zh-rCN/cm_strings.xml1
-rw-r--r--core/res/res/values/cm_strings.xml3
-rw-r--r--core/res/res/values/cm_symbols.xml8
-rw-r--r--core/res/res/values/config.xml4
-rw-r--r--core/res/res/xml/default_zen_mode_config.xml2
-rw-r--r--core/tests/coretests/src/android/content/pm/PackageManagerTests.java18
-rw-r--r--libs/androidfw/ResourceTypes.cpp7
-rw-r--r--libs/androidfw/tests/Android.mk11
-rw-r--r--libs/androidfw/tests/data/basic/basic_arsc.h203
-rw-r--r--libs/hwui/OpenGLRenderer.cpp1
-rw-r--r--libs/hwui/renderstate/RenderState.cpp4
-rw-r--r--libs/hwui/renderthread/RenderProxy.cpp6
-rw-r--r--libs/hwui/renderthread/RenderProxy.h1
-rw-r--r--media/java/android/media/MediaFile.java4
-rw-r--r--media/java/android/media/ToneGenerator.java2
-rw-r--r--obex/javax/obex/ServerSession.java2
-rw-r--r--packages/Keyguard/res/values-ca/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-cs/cm_strings.xml7
-rw-r--r--packages/Keyguard/res/values-de/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-el/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-en-rIN/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-eu-rES/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-fr/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-gl-rES/cm_strings.xml2
-rw-r--r--packages/Keyguard/res/values-hr/cm_strings.xml6
-rw-r--r--packages/Keyguard/res/values-hu/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-it/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-iw/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-pl/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-pt-rBR/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-pt-rPT/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-ru/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-sl/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-sr/cm_strings.xml1
-rw-r--r--packages/Keyguard/res/values-uk/cm_strings.xml6
-rw-r--r--packages/Keyguard/res/values-zh-rCN/cm_strings.xml1
-rw-r--r--packages/SettingsLib/res/drawable-ldrtl-hdpi/ic_bt_cellphone.pngbin4349 -> 725 bytes
-rw-r--r--packages/SettingsLib/res/drawable-ldrtl-mdpi/ic_bt_cellphone.pngbin3872 -> 511 bytes
-rw-r--r--packages/SettingsLib/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.pngbin4781 -> 867 bytes
-rw-r--r--packages/SettingsLib/res/values-ca/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-cs/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-en-rIN/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-eu-rES/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-fi/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-gl-rES/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-hr/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-hu/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-iw/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-ja/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-lb/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-nb/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-nl/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-pl/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-pt-rBR/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-pt-rPT/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-ro/cm_strings.xml26
-rw-r--r--packages/SettingsLib/res/values-ru/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-sl/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-sr/cm_strings.xml27
-rw-r--r--packages/SettingsLib/res/values-uk/cm_strings.xml27
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java2
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java4
-rw-r--r--packages/SettingsProvider/res/values/defaults.xml3
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java6
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java22
-rw-r--r--packages/SystemUI/res/layout/navigation_bar.xml28
-rw-r--r--packages/SystemUI/res/layout/qs_settings.xml114
-rw-r--r--packages/SystemUI/res/layout/qs_tile_top.xml6
-rw-r--r--packages/SystemUI/res/values-af/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-ar/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-ast-rES/cm_strings.xml1
-rw-r--r--packages/SystemUI/res/values-az-rAZ/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-ca/cm_strings.xml15
-rw-r--r--packages/SystemUI/res/values-cs/cm_strings.xml30
-rw-r--r--packages/SystemUI/res/values-da/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-de/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-el/cm_strings.xml11
-rw-r--r--packages/SystemUI/res/values-en-rIN/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-eo/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values-es/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-et-rEE/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values-eu-rES/cm_strings.xml13
-rw-r--r--packages/SystemUI/res/values-fa/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-fi/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-fr/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-gl-rES/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-hi/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values-hr/cm_strings.xml28
-rw-r--r--packages/SystemUI/res/values-hu/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-in/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values-it/cm_strings.xml11
-rw-r--r--packages/SystemUI/res/values-iw/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-ja/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-kn-rIN/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-ko/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-ku/cm_strings.xml1
-rw-r--r--packages/SystemUI/res/values-lb/cm_strings.xml29
-rw-r--r--packages/SystemUI/res/values-lt/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-nb/cm_strings.xml13
-rw-r--r--packages/SystemUI/res/values-nl/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-pl/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-pt-rBR/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-pt-rPT/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-ro/cm_strings.xml2
-rw-r--r--packages/SystemUI/res/values-ru/cm_strings.xml12
-rw-r--r--packages/SystemUI/res/values-sk/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-sl/cm_strings.xml17
-rw-r--r--packages/SystemUI/res/values-sr/cm_strings.xml13
-rw-r--r--packages/SystemUI/res/values-sv/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values-th/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-tr/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-uk/cm_strings.xml35
-rw-r--r--packages/SystemUI/res/values-vi/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-zh-rCN/cm_strings.xml10
-rw-r--r--packages/SystemUI/res/values-zh-rHK/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values-zh-rTW/cm_strings.xml5
-rw-r--r--packages/SystemUI/res/values/cm_strings.xml4
-rwxr-xr-xpackages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java103
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPage.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java136
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSSettings.java12
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSViewPager.java31
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java19
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java41
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java25
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java26
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java46
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java26
-rw-r--r--services/core/java/com/android/server/BatteryService.java15
-rw-r--r--services/core/java/com/android/server/TelephonyRegistry.java17
-rw-r--r--services/core/java/com/android/server/ThemeService.java6
-rwxr-xr-xservices/core/java/com/android/server/am/ActivityManagerService.java64
-rw-r--r--services/core/java/com/android/server/am/ActivityStackSupervisor.java17
-rw-r--r--services/core/java/com/android/server/connectivity/Tethering.java7
-rw-r--r--services/core/java/com/android/server/fingerprint/FingerprintService.java20
-rw-r--r--services/core/java/com/android/server/pm/Installer.java4
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java58
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java23
-rw-r--r--telephony/java/android/telephony/SubscriptionManager.java8
-rw-r--r--test-runner/src/android/test/mock/MockPackageManager.java9
-rw-r--r--tools/aapt/ResourceTable.cpp18
-rw-r--r--wifi/java/android/net/wifi/WifiManager.java8
176 files changed, 2175 insertions, 490 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index c0cd9ec..db4e123 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -2046,6 +2046,17 @@ final class ApplicationPackageManager extends PackageManager {
}
}
+ /** @hide */
+ @Override
+ public boolean isComponentProtected(String callingPackage, ComponentName componentName) {
+ try {
+ return mPM.isComponentProtected(callingPackage, componentName, mContext.getUserId());
+ } catch (RemoteException re) {
+ Log.e(TAG, "Failed to get component protected setting", re);
+ return false;
+ }
+ }
+
@Override
public PackageInstaller getPackageInstaller() {
synchronized (mLock) {
diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java
index fb0e79b..682ab97 100644
--- a/core/java/android/app/DownloadManager.java
+++ b/core/java/android/app/DownloadManager.java
@@ -266,6 +266,13 @@ public class DownloadManager {
*/
public final static int PAUSED_UNKNOWN = 4;
+ /**
+ * Value of {@link #COLUMN_REASON} when the download is paused by manual.
+ *
+ * @hide
+ */
+ public final static int PAUSED_BY_MANUAL = 5;
+
/**
* Broadcast intent action sent by the download manager when a download completes.
*/
@@ -865,6 +872,7 @@ public class DownloadManager {
parts.add(statusClause("=", Downloads.Impl.STATUS_WAITING_TO_RETRY));
parts.add(statusClause("=", Downloads.Impl.STATUS_WAITING_FOR_NETWORK));
parts.add(statusClause("=", Downloads.Impl.STATUS_QUEUED_FOR_WIFI));
+ parts.add(statusClause("=", Downloads.Impl.STATUS_PAUSED_BY_MANUAL));
}
if ((mStatusFlags & STATUS_SUCCESSFUL) != 0) {
parts.add(statusClause("=", Downloads.Impl.STATUS_SUCCESS));
@@ -1100,6 +1108,34 @@ public class DownloadManager {
}
/**
+ * Pause the given running download by manual.
+ *
+ * @param id the ID of the download to be paused
+ * @return the number of downloads actually updated
+ * @hide
+ */
+ public int pauseDownload(long id) {
+ ContentValues values = new ContentValues();
+ values.put(Downloads.Impl.COLUMN_STATUS, Downloads.Impl.STATUS_PAUSED_BY_MANUAL);
+
+ return mResolver.update(ContentUris.withAppendedId(mBaseUri, id), values, null, null);
+ }
+
+ /**
+ * Resume the given paused download by manual.
+ *
+ * @param id the ID of the download to be resumed
+ * @return the number of downloads actually updated
+ * @hide
+ */
+ public int resumeDownload(long id) {
+ ContentValues values = new ContentValues();
+ values.put(Downloads.Impl.COLUMN_STATUS, Downloads.Impl.STATUS_RUNNING);
+
+ return mResolver.update(ContentUris.withAppendedId(mBaseUri, id), values, null, null);
+ }
+
+ /**
* Returns maximum size, in bytes, of downloads that may go over a mobile connection; or null if
* there's no limit
*
@@ -1335,6 +1371,9 @@ public class DownloadManager {
case Downloads.Impl.STATUS_QUEUED_FOR_WIFI:
return PAUSED_QUEUED_FOR_WIFI;
+ case Downloads.Impl.STATUS_PAUSED_BY_MANUAL:
+ return PAUSED_BY_MANUAL;
+
default:
return PAUSED_UNKNOWN;
}
@@ -1390,6 +1429,7 @@ public class DownloadManager {
case Downloads.Impl.STATUS_WAITING_TO_RETRY:
case Downloads.Impl.STATUS_WAITING_FOR_NETWORK:
case Downloads.Impl.STATUS_QUEUED_FOR_WIFI:
+ case Downloads.Impl.STATUS_PAUSED_BY_MANUAL:
return STATUS_PAUSED;
case Downloads.Impl.STATUS_SUCCESS:
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index 7c77f54..6d8b5cb 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -519,4 +519,8 @@ interface IPackageManager {
void updateIconMapping(String pkgName);
ComposedIconInfo getComposedIconInfo();
int processThemeResources(String themePkgName);
+
+ /** Protected Apps */
+ boolean isComponentProtected(in String callingPackage, in ComponentName componentName,
+ int userId);
}
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 8928ad3..529d641 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -4561,6 +4561,13 @@ public abstract class PackageManager {
public abstract void setComponentProtectedSetting(ComponentName componentName, boolean newState);
/**
+ * Return whether or not a specific component is protected
+ * @hide
+ */
+ public abstract boolean isComponentProtected(String callingPackage,
+ ComponentName componentName);
+
+ /**
* Adds a {@link CrossProfileIntentFilter}. After calling this method all intents sent from the
* user with id sourceUserId can also be be resolved by activities in the user with id
* targetUserId if they match the specified intent filter.
diff --git a/core/java/android/provider/Downloads.java b/core/java/android/provider/Downloads.java
index b2d9b93..961eb19 100644
--- a/core/java/android/provider/Downloads.java
+++ b/core/java/android/provider/Downloads.java
@@ -593,6 +593,11 @@ public final class Downloads {
public static final int STATUS_QUEUED_FOR_WIFI = 196;
/**
+ * This download is paused by manual.
+ */
+ public static final int STATUS_PAUSED_BY_MANUAL = 197;
+
+ /**
* This download couldn't be completed due to insufficient storage
* space. Typically, this is because the SD card is full.
*/
diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java
index 2b654ad..ee959e2 100644
--- a/core/java/android/util/DisplayMetrics.java
+++ b/core/java/android/util/DisplayMetrics.java
@@ -251,6 +251,12 @@ public class DisplayMetrics {
xdpi = inDensity;
ydpi = inDensity;
+ noncompatDensity = density;
+ noncompatDensityDpi = densityDpi;
+ noncompatScaledDensity = scaledDensity;
+ noncompatXdpi = xdpi;
+ noncompatYdpi = ydpi;
+
DENSITY_DEVICE = inDensity;
Bitmap.setDefaultDensity(inDensity);
}
diff --git a/core/jni/android_view_DisplayListCanvas.cpp b/core/jni/android_view_DisplayListCanvas.cpp
index 83dff0f..fedb37d 100644
--- a/core/jni/android_view_DisplayListCanvas.cpp
+++ b/core/jni/android_view_DisplayListCanvas.cpp
@@ -102,10 +102,16 @@ static void android_view_DisplayListCanvas_callDrawGLFunction(JNIEnv* env, jobje
// ----------------------------------------------------------------------------
static jint android_view_DisplayListCanvas_getMaxTextureWidth(JNIEnv* env, jobject clazz) {
+ if (!Caches::hasInstance()) {
+ android::uirenderer::renderthread::RenderProxy::staticFence();
+ }
return Caches::getInstance().maxTextureSize;
}
static jint android_view_DisplayListCanvas_getMaxTextureHeight(JNIEnv* env, jobject clazz) {
+ if (!Caches::hasInstance()) {
+ android::uirenderer::renderthread::RenderProxy::staticFence();
+ }
return Caches::getInstance().maxTextureSize;
}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 7bb2314..a9ec33b 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1271,7 +1271,8 @@
<!-- @SystemApi Allows read access to privileged phone state.
@hide Used internally. -->
<permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
- android:protectionLevel="signature|privileged" />
+ android:protectionLevel="signature|privileged"
+ androidprv:allowViaWhitelist="true" />
<!-- @SystemApi Protects the ability to register any PhoneAccount with
PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
@@ -2569,7 +2570,8 @@
<!-- Allows access to keyguard secure storage. Only allowed for system processes.
@hide -->
<permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
- android:protectionLevel="signature" />
+ android:protectionLevel="signature"
+ androidprv:allowViaWhitelist="true" />
<!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
<permission android:name="android.permission.MANAGE_FINGERPRINT"
diff --git a/core/res/res/drawable/stat_notify_protected.xml b/core/res/res/drawable/stat_notify_protected.xml
new file mode 100644
index 0000000..d67a348
--- /dev/null
+++ b/core/res/res/drawable/stat_notify_protected.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright (C) 2016 The CyanogenMod Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="26dp"
+ android:height="24dp"
+ android:viewportWidth="26"
+ android:viewportHeight="24">
+
+ <path
+ android:pathData="M0 0h24v24H0z" />
+ <path
+ android:fillColor="#000000"
+ android:pathData="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z" />
+</vector> \ No newline at end of file
diff --git a/core/res/res/values-ca/cm_strings.xml b/core/res/res/values-ca/cm_strings.xml
index dbfead7..7b86c46 100644
--- a/core/res/res/values-ca/cm_strings.xml
+++ b/core/res/res/values-ca/cm_strings.xml
@@ -154,4 +154,6 @@
<string name="tethered_notification_no_device_message">Cap dispositiu connectat</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> dispositiu connectat</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> dispositius connectats</string>
+ <string name="notify_package_component_protected_title">Execució de l\'activitat bloquejada</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> està protegit de ser executada. Clica per autentificar i executar l\'aplicació.</string>
</resources>
diff --git a/core/res/res/values-cs/cm_strings.xml b/core/res/res/values-cs/cm_strings.xml
index 7fab81b..874faf5 100644
--- a/core/res/res/values-cs/cm_strings.xml
+++ b/core/res/res/values-cs/cm_strings.xml
@@ -110,6 +110,7 @@
<string name="app_ops_toggle_bluetooth">přepnout Bluetooth</string>
<string name="app_ops_toggle_mobile_data">přepnout mobilní data</string>
<string name="app_ops_toggle_nfc">přepnout NFC</string>
+ <string name="app_ops_toggle_wifi">přepnout Wi-Fi</string>
<string name="app_ops_use_alarm_volume">ovládat hlasitost budíku</string>
<string name="app_ops_use_audio_focus">ovládat zvukové zdroje</string>
<string name="app_ops_use_bluetooth_volume">ovládat hlasitost Bluetooth</string>
@@ -122,6 +123,21 @@
<string name="app_ops_use_voice_volume">ovládat hlasitost hovoru</string>
<string name="app_ops_write_mms">zapsat zprávu MMS</string>
<string name="app_ops_write_sms">zapsat zprávu SMS</string>
+ <string name="app_ops_use_fingerprint">použít otisk prstu</string>
+ <string name="app_ops_add_voicemail">přidat hlasovou zprávu</string>
+ <string name="app_ops_read_phone_state">přístup ke stavu telefonu</string>
+ <string name="app_ops_scan_wifi">prohledávání Wi-Fi sítí</string>
+ <string name="app_ops_change_wallpaper">změnit tapetu</string>
+ <string name="app_ops_assist_structure">použít asistenční strukturu</string>
+ <string name="app_ops_assist_screenshot">sejmout obrazovku</string>
+ <string name="app_ops_use_body_sensors">použít senzory těla</string>
+ <string name="app_ops_read_cell_broadcasts">přečíst zprávy buněk GSM</string>
+ <string name="app_ops_mock_location">zfalšovat polohu</string>
+ <string name="app_ops_read_external_storage">přečíst externí úložiště</string>
+ <string name="app_ops_write_external_storage">zapsat na externí úložiště</string>
+ <string name="app_ops_turn_on_screen">zapnout obrazovku</string>
+ <string name="app_ops_get_accounts">získat účty zařízení</string>
+ <string name="app_ops_wifi_change">změna stavu Wi-Fi</string>
<string name="app_ops_su">získat root přístup</string>
<string name="lock_to_app_toast_no_navbar">Chcete-li odebrat tuto obrazovku, podržte tlačítko Zpět.</string>
<string name="live_display_auto">Automaticky</string>
@@ -138,4 +154,6 @@
<string name="tethered_notification_no_device_message">Žádné připojené zařízení</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> připojené zařízení</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> připojená zařízení</string>
+ <string name="notify_package_component_protected_title">Spuštění aktivity zablokováno</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> je chráněna před spuštěním. Dotykem autorizovat spuštění aplikace.</string>
</resources>
diff --git a/core/res/res/values-el/cm_strings.xml b/core/res/res/values-el/cm_strings.xml
index 405d929..26aabe6 100644
--- a/core/res/res/values-el/cm_strings.xml
+++ b/core/res/res/values-el/cm_strings.xml
@@ -154,4 +154,6 @@
<string name="tethered_notification_no_device_message">Καμία συνδεδεμένη συσκευή</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> συνδεδεμένη συσκευή</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> συνδεδεμένες συσκευές</string>
+ <string name="notify_package_component_protected_title">Η εκκίνηση της δραστηριότητας αποκλείστηκε</string>
+ <string name="notify_package_component_protected_text">Η εφαρμογή <xliff:g id="app_name">%1$s</xliff:g> είναι προστατευμένη. Πιέστε για έλεγχο ταυτότητας και εκκίνηση της εφαρμογής.</string>
</resources>
diff --git a/core/res/res/values-eu-rES/cm_strings.xml b/core/res/res/values-eu-rES/cm_strings.xml
index 0d3754d..0da9b44 100644
--- a/core/res/res/values-eu-rES/cm_strings.xml
+++ b/core/res/res/values-eu-rES/cm_strings.xml
@@ -154,4 +154,6 @@
<string name="tethered_notification_no_device_message">Ez da gailurik konektatu</string>
<string name="tethered_notification_one_device_message">gailu <xliff:g id="count">%1$s</xliff:g> konektatuta</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> gailu konektatuta</string>
+ <string name="notify_package_component_protected_title">Aktibitatea abiatzea blokeatu da</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> abiatzeko babestuta dago. Sakatu nortasuna egiaztatzeko eta aplikazioa abiatzeko.</string>
</resources>
diff --git a/core/res/res/values-fr/cm_strings.xml b/core/res/res/values-fr/cm_strings.xml
index 96ca1c2..6576a44 100644
--- a/core/res/res/values-fr/cm_strings.xml
+++ b/core/res/res/values-fr/cm_strings.xml
@@ -154,4 +154,5 @@
<string name="tethered_notification_no_device_message">Aucun appareil connecté</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> appareil connecté</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> appareils connectés</string>
+ <string name="notify_package_component_protected_title">Lancement d\'activité bloqué</string>
</resources>
diff --git a/core/res/res/values-hr/cm_strings.xml b/core/res/res/values-hr/cm_strings.xml
index c576414..2012313 100644
--- a/core/res/res/values-hr/cm_strings.xml
+++ b/core/res/res/values-hr/cm_strings.xml
@@ -18,8 +18,8 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="global_action_screenshot">Snimak zaslona</string>
- <string name="permlab_receiveProtectedSms">Primanje zaštićenih SMS poruka</string>
- <string name="permdesc_receiveProtectedSms">Dopušta aplikaciji primanje dolaznih zaštićenih SMS poruka.</string>
+ <string name="permlab_receiveProtectedSms">primaj zaštićeni SMS</string>
+ <string name="permdesc_receiveProtectedSms">Dopušta aplikaciji da prima dolazeći zaštićeni SMS.</string>
<string name="permlab_modifyProtectedSmsList">Izmjena popisa zaštićenih SMS poruka</string>
<string name="permdesc_modifyProtectedSmsList">Dozvoljava aplikaciji izmjenu popisa adresa zaštićenih SMS poruka.</string>
<string name="permgrouplab_security">Sigurnost</string>
@@ -110,7 +110,7 @@
<string name="app_ops_toggle_bluetooth">upravljati Bluetooth-om</string>
<string name="app_ops_toggle_mobile_data">upravljati mobilnim podacima</string>
<string name="app_ops_toggle_nfc">Uključi/isključi NFC</string>
- <string name="app_ops_toggle_wifi">upravljati WiFi-em</string>
+ <string name="app_ops_toggle_wifi">upravljati Wi-Fi-em</string>
<string name="app_ops_use_alarm_volume">kontrolirati glasnoću alarma</string>
<string name="app_ops_use_audio_focus">kontrolirati fokus zvuka</string>
<string name="app_ops_use_bluetooth_volume">kontrolirati glasnoću Bluetooth-a</string>
@@ -131,6 +131,8 @@
<string name="app_ops_assist_structure">koristi pomoćne strukture</string>
<string name="app_ops_assist_screenshot">snimak zaslona</string>
<string name="app_ops_use_body_sensors">koristi senzore</string>
+ <string name="app_ops_read_cell_broadcasts">pročitati signal odašiljača</string>
+ <string name="app_ops_mock_location">prikazivanje lažne lokacije</string>
<string name="app_ops_read_external_storage">čitaj vanjsku pohranu</string>
<string name="app_ops_write_external_storage">piši na vanjsku pohranu</string>
<string name="app_ops_turn_on_screen">uključite zaslon</string>
@@ -152,4 +154,5 @@
<string name="tethered_notification_no_device_message">Uređaj nije spojen</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> povezan uređaj</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> povezanih uređaja</string>
+ <string name="notify_package_component_protected_title">Blokirana aktivnost pokretanja</string>
</resources>
diff --git a/core/res/res/values-it/cm_strings.xml b/core/res/res/values-it/cm_strings.xml
index abab486..267d07c 100644
--- a/core/res/res/values-it/cm_strings.xml
+++ b/core/res/res/values-it/cm_strings.xml
@@ -154,4 +154,6 @@
<string name="tethered_notification_no_device_message">Nessun dispositivo connesso</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> dispositivo connesso</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> dispositivi connessi</string>
+ <string name="notify_package_component_protected_title">Lancio dell\'app bloccato</string>
+ <string name="notify_package_component_protected_text">L\'app <xliff:g id="app_name">%1$s</xliff:g> è protetta. Tocca qui per autenticarti e aprire l\'app.</string>
</resources>
diff --git a/core/res/res/values-iw/cm_strings.xml b/core/res/res/values-iw/cm_strings.xml
index 8a85e45..ddcb33b 100644
--- a/core/res/res/values-iw/cm_strings.xml
+++ b/core/res/res/values-iw/cm_strings.xml
@@ -129,14 +129,14 @@
<string name="app_ops_scan_wifi">סריקת רשתות Wi-Fi</string>
<string name="app_ops_change_wallpaper">החלפת טפט</string>
<string name="app_ops_assist_structure">שימוש במבנה סיוע</string>
- <string name="app_ops_assist_screenshot">לקיחת צילום מסך</string>
+ <string name="app_ops_assist_screenshot">צילום המסך</string>
<string name="app_ops_use_body_sensors">שימוש בחיישני גוף</string>
<string name="app_ops_read_cell_broadcasts">קריאת שידורי סלולר</string>
- <string name="app_ops_mock_location">הסוואת מיקומך</string>
+ <string name="app_ops_mock_location">הסוואת מיקום</string>
<string name="app_ops_read_external_storage">קריאת אחסון חיצוני</string>
<string name="app_ops_write_external_storage">כתיבה לאחסון חיצוני</string>
<string name="app_ops_turn_on_screen">הפעלת המסך</string>
- <string name="app_ops_get_accounts">קבלת חשבונות ההתקן</string>
+ <string name="app_ops_get_accounts">קבלת חשבונות המכשיר</string>
<string name="app_ops_wifi_change">שינוי מצב Wi-Fi</string>
<string name="app_ops_su">קבלת גישת שורש (Root)</string>
<string name="lock_to_app_toast_no_navbar">כדי לבטל נעיצת מסך זה, לחץ על כפתור \"חזור\" והחזק אותו.</string>
@@ -154,4 +154,6 @@
<string name="tethered_notification_no_device_message">אין מכשירים מחוברים</string>
<string name="tethered_notification_one_device_message">מכשיר <xliff:g id="count">%1$s</xliff:g> מחובר</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> מכשירים מחוברים</string>
+ <string name="notify_package_component_protected_title">הפעלת הפעולה נחסמה</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> מוגן מפני הפעלה. לחץ כדי להזדהות ולהפעיל את היישום.</string>
</resources>
diff --git a/core/res/res/values-ja/cm_strings.xml b/core/res/res/values-ja/cm_strings.xml
index 256357b..c69aff2 100644
--- a/core/res/res/values-ja/cm_strings.xml
+++ b/core/res/res/values-ja/cm_strings.xml
@@ -128,9 +128,9 @@
<string name="app_ops_read_phone_state">携帯電話の状態へのアクセス</string>
<string name="app_ops_scan_wifi">Wi-Fiネットワークのスキャン</string>
<string name="app_ops_change_wallpaper">壁紙の変更</string>
- <string name="app_ops_assist_structure">アシスト構造の使用</string>
+ <string name="app_ops_assist_structure">ストラクチャのアシストの使用</string>
<string name="app_ops_assist_screenshot">スクリーンショットの撮影</string>
- <string name="app_ops_use_body_sensors">身体センサーの使用</string>
+ <string name="app_ops_use_body_sensors">ボディセンサーの使用</string>
<string name="app_ops_read_cell_broadcasts">セルブロードキャストの読み取り</string>
<string name="app_ops_mock_location">位置情報の仮想</string>
<string name="app_ops_read_external_storage">外部ストレージの読み取り</string>
diff --git a/core/res/res/values-mcc214-mnc07/config.xml b/core/res/res/values-mcc214-mnc07/config.xml
index 91571a5..8384cf9 100644
--- a/core/res/res/values-mcc214-mnc07/config.xml
+++ b/core/res/res/values-mcc214-mnc07/config.xml
@@ -31,4 +31,32 @@
<item>[ApnSettingV3]Jazztel Internet,jazzinternet,,,,,,,,,214,07,,DUN,,,true,0,,,,,,,spn,JAZZTEL</item>
</string-array>
+ <!-- National Language Identifier codes for the following two config items.
+ (from 3GPP TS 23.038 V9.1.1 Table 6.2.1.2.4.1):
+ 0 - reserved
+ 1 - Turkish
+ 2 - Spanish (single shift table only)
+ 3 - Portuguese
+ 4 - Bengali
+ 5 - Gujarati
+ 6 - Hindi
+ 7 - Kannada
+ 8 - Malayalam
+ 9 - Oriya
+ 10 - Punjabi
+ 11 - Tamil
+ 12 - Telugu
+ 13 - Urdu
+ 14+ - reserved -->
+
+ <!-- National language single shift tables to enable for SMS encoding.
+ Decoding is always enabled. 3GPP TS 23.038 states that this feature
+ should not be enabled until a formal request is issued by the relevant
+ national regulatory body. Array elements are codes from the table above.
+ Example 1: devices sold in Turkey must include table 1 to conform with
+ By-Law Number 27230. (http://www.btk.gov.tr/eng/pdf/2009/BY-LAW_SMS.pdf)
+ Example 2: devices sold in India should include tables 4 through 13
+ to enable use of the new Release 9 tables for Indic languages. -->
+ <integer-array name="config_sms_enabled_single_shift_tables"><item>2</item></integer-array>
+
</resources>
diff --git a/core/res/res/values-nl/cm_strings.xml b/core/res/res/values-nl/cm_strings.xml
index 553b580..a54ed2e 100644
--- a/core/res/res/values-nl/cm_strings.xml
+++ b/core/res/res/values-nl/cm_strings.xml
@@ -83,7 +83,7 @@
<string name="app_ops_delete_mms">mms-berichten verwijderen</string>
<string name="app_ops_delete_sms">sms-berichten verwijderen</string>
<string name="app_ops_draw_on_top">bovenop tekenen</string>
- <string name="app_ops_get_usage_stats">app-gebruiksstatistieken verkrijgen</string>
+ <string name="app_ops_get_usage_stats">app-gebruiksstatistieken opvragen</string>
<string name="app_ops_keep_device_awake">apparaat wakker houden</string>
<string name="app_ops_make_phone_call">telefoongesprek starten</string>
<string name="app_ops_modify_calendar">agenda vernieuwen</string>
diff --git a/core/res/res/values-pl/cm_strings.xml b/core/res/res/values-pl/cm_strings.xml
index 7b0cb59..06fe72e 100644
--- a/core/res/res/values-pl/cm_strings.xml
+++ b/core/res/res/values-pl/cm_strings.xml
@@ -154,4 +154,5 @@
<string name="tethered_notification_no_device_message">Brak podłączonego urządzenia</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s </xliff:g> podłączone urządzenie</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s </xliff:g> podłączone urządzenia</string>
+ <string name="notify_package_component_protected_title">Aktywność uruchamiania zablokowana</string>
</resources>
diff --git a/core/res/res/values-ro/cm_strings.xml b/core/res/res/values-ro/cm_strings.xml
index aca6ebd..521a9a3 100644
--- a/core/res/res/values-ro/cm_strings.xml
+++ b/core/res/res/values-ro/cm_strings.xml
@@ -64,6 +64,7 @@
<string name="theme_reset_notification_body">Tema de sistem este restaurată datorită unor multiple erori.</string>
<string name="silent_mode_priority">Prioritate</string>
<string name="silent_mode_none">Nimic</string>
+ <string name="notify_turn_wifi_off_title">Oprește Wi-Fi</string>
<string name="permlab_changePrivacyGuardState">activează sau dezactivează Privacy Guard</string>
<string name="permdesc_changePrivacyGuardState">Permite aplicației să stabilească dacă o altă aplicație rulează cu garda de confidențialitate. Când o aplicație rulează cu garda de confidențialitate, nu va avea acces la date personale, cum ar fi contacte, jurnalul de apeluri sau mesaje.</string>
<string name="privacy_guard_notification">Protejarea datelor activată</string>
@@ -108,6 +109,7 @@
<string name="app_ops_toggle_bluetooth">comută Bluetooth</string>
<string name="app_ops_toggle_mobile_data">comută date mobile</string>
<string name="app_ops_toggle_nfc">Comutare NFC</string>
+ <string name="app_ops_toggle_wifi">comută Wi-Fi</string>
<string name="app_ops_use_alarm_volume">controlează volumul alarmei</string>
<string name="app_ops_use_audio_focus">controlează focalizarea audio</string>
<string name="app_ops_use_bluetooth_volume">controlează volumul Bluetooth</string>
@@ -120,6 +122,14 @@
<string name="app_ops_use_voice_volume">controlează volumul apelului de voce</string>
<string name="app_ops_write_mms">scrie un mesaj MMS</string>
<string name="app_ops_write_sms">scrie un mesaj SMS</string>
+ <string name="app_ops_read_phone_state">citește starea telefonului</string>
+ <string name="app_ops_scan_wifi">scanează rețelele Wi-Fi</string>
+ <string name="app_ops_change_wallpaper">schimbă imaginea de fundal</string>
+ <string name="app_ops_read_external_storage">citește stocare externă</string>
+ <string name="app_ops_write_external_storage">scrie stocare externă</string>
+ <string name="app_ops_turn_on_screen">pornește ecranul</string>
+ <string name="app_ops_get_accounts">obține conturile dispozitivului</string>
+ <string name="app_ops_wifi_change">schimbă starea Wi-Fi</string>
<string name="app_ops_su">obțină acces root</string>
<string name="lock_to_app_toast_no_navbar">Pentru a anula fixarea acestui ecran, atingeți și țineți apăsat butonul Înapoi.</string>
<string name="live_display_auto">Automat</string>
diff --git a/core/res/res/values-ru/cm_strings.xml b/core/res/res/values-ru/cm_strings.xml
index f8ff9d0..abd9671 100644
--- a/core/res/res/values-ru/cm_strings.xml
+++ b/core/res/res/values-ru/cm_strings.xml
@@ -154,4 +154,5 @@
<string name="tethered_notification_no_device_message">Нет подключенных устройств</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> подключенное устройство</string>
<string name="tethered_notification_multi_device_message">Подключено устройств: <xliff:g id="count">%1$s</xliff:g></string>
+ <string name="notify_package_component_protected_title">Запуск приложения запрещён</string>
</resources>
diff --git a/core/res/res/values-sl/cm_strings.xml b/core/res/res/values-sl/cm_strings.xml
index ce8b312..d00c3f4 100644
--- a/core/res/res/values-sl/cm_strings.xml
+++ b/core/res/res/values-sl/cm_strings.xml
@@ -19,18 +19,18 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="global_action_screenshot">Zaslonska slika</string>
<string name="permlab_receiveProtectedSms">prejemanje zaščitenih SMS-ov</string>
- <string name="permdesc_receiveProtectedSms">Dovoli programu prejemanje zaščitenih dohodnih SMS-ov.</string>
+ <string name="permdesc_receiveProtectedSms">Dovoli aplikaciji prejemanje zaščitenih dohodnih SMS-ov.</string>
<string name="permlab_modifyProtectedSmsList">spreminjanje seznama zaščitenih SMS-ov</string>
- <string name="permdesc_modifyProtectedSmsList">Dovoli programu spreminjanje seznama naslovov zaščitenih SMS-ov.</string>
+ <string name="permdesc_modifyProtectedSmsList">Dovoli aplikaciji spreminjanje seznama naslovov zaščitenih SMS-ov.</string>
<string name="permgrouplab_security">Varnost</string>
<string name="permgroupdesc_security">Dovoljenja, ki so povezana z varnostnimi podatki naprave.</string>
<string name="permlab_readPhoneBlacklist">branje črnega seznama telefona</string>
- <string name="permdesc_readPhoneBlacklist">Dovoli programu branje podatkov o blokiranih telefonskih številkah za dohodne klice in sporočila.</string>
+ <string name="permdesc_readPhoneBlacklist">Dovoli aplikaciji branje podatkov o blokiranih telefonskih številkah za dohodne klice in sporočila.</string>
<string name="permlab_changePhoneBlacklist">spreminjanje črnega seznama telefona</string>
- <string name="permdesc_changePhoneBlacklist">Dovoli programu spreminjanje blokiranih telefonskih številk za dohodne klice in sporočila.</string>
+ <string name="permdesc_changePhoneBlacklist">Dovoli aplikaciji spreminjanje blokiranih telefonskih številk za dohodne klice in sporočila.</string>
<string name="global_action_choose_profile">Profil</string>
<string name="permlab_setKeyguardWallpaper">nastavitev slike ozadja keyguard</string>
- <string name="permdesc_setKeyguardWallpaper">Dovoli programu spreminjanje slike ozadja zaslona za zaklepanje.</string>
+ <string name="permdesc_setKeyguardWallpaper">Dovoli aplikaciji spreminjanje slike ozadja zaslona za zaklepanje.</string>
<string name="global_action_reboot">Ponovno zaženi</string>
<string name="global_action_current_user">Trenutni</string>
<string name="reboot_reboot">Ponovno zaženi</string>
@@ -42,7 +42,7 @@
<string name="reboot_confirm" product="tablet">Tablica se bo ponovno zagnala.</string>
<string name="reboot_confirm" product="default">Telefon se bo ponovno zagnal.</string>
<string name="reboot_progress">Ponovno zaganjanje \u2026</string>
- <string name="app_killed_message">Program uničen</string>
+ <string name="app_killed_message">Aplikacija uničena</string>
<string name="adb_net_active_notification_title">ADB preko omrežja omogočen</string>
<string name="adb_both_active_notification_title">ADB preko USB-ja in omrežja omogočen</string>
<string name="adb_active_generic_notification_message">Dotaknite se, da onemogočite razhroščevanje.</string>
@@ -51,25 +51,25 @@
<string name="adb_active_custom_tile_usb">USB</string>
<string name="adb_active_custom_tile_net">Omrežje</string>
<string name="permlab_accessThemeService">dostop do storitev tem</string>
- <string name="permlab_interceptPackageLaunch">prestrezanje zagona programa</string>
- <string name="permdesc_accessThemeService">Dovoli programu dostop do storitve tem. Navadno ni potrebno za običajne programe.</string>
+ <string name="permlab_interceptPackageLaunch">prestrezanje zagona aplikacije</string>
+ <string name="permdesc_accessThemeService">Dovoli aplikaciji dostop do storitve tem. Navadno ni potrebno za običajne aplikacije.</string>
<string name="permlab_readThemes">branje podatkov o vaši temi</string>
- <string name="permdesc_readThemesDesc">Dovoli programu branje vaših tem in
+ <string name="permdesc_readThemesDesc">Dovoli aplikaciji branje vaših tem in
       določanje, katero temo uporabljate.</string>
<string name="permlab_writeThemes">spreminjanje tem</string>
- <string name="permdesc_writeThemesDesc">Dovoli programu vstavljanje novih tem in
+ <string name="permdesc_writeThemesDesc">Dovoli aplikaciji vstavljanje novih tem in
       spreminjanje uporabljene teme.</string>
<string name="theme_install_error_title">Namestitev teme je spodletela</string>
<string name="theme_install_error_message">Namestitev %s je spodletela</string>
<string name="stylus_app_not_installed">%s ni nameščen</string>
<string name="theme_reset_notification_title">Ponastavitev theme</string>
- <string name="theme_reset_notification_body">Sistemska tema obnovljena zaradi večkratnih sesutij programa.</string>
+ <string name="theme_reset_notification_body">Sistemska tema obnovljena zaradi večkratnih sesutij aplikacije.</string>
<string name="silent_mode_priority">Prednost</string>
<string name="silent_mode_none">Brez</string>
<string name="subscription_change_disabled_wifi_ap">Dostopna točka Wi-Fi je bila onemogočena zaradi spremembe naročnine SIM</string>
<string name="notify_turn_wifi_off_title">Izklopi Wi-Fi</string>
<string name="permlab_changePrivacyGuardState">omogočanje ali onemogočanje Privacy Guarda</string>
- <string name="permdesc_changePrivacyGuardState">Dovoli programu spreminjanje, ali se drug program izvaja s Privacy Guardom. Kadar se program izvaja s Privacy Guardom, ne bo imel dostopa do osebnih podatkov, kot so stiki, dnevniki klicev ali sporočila.</string>
+ <string name="permdesc_changePrivacyGuardState">Dovoli aplikaciji spreminjanje, ali se druga aplikacija izvaja s Privacy Guardom. Kadar se aplikacija izvaja s Privacy Guardom, ne bo imela dostopa do osebnih podatkov, kot so stiki, dnevniki klicev ali sporočila.</string>
<string name="privacy_guard_notification">Privacy Guard dejaven</string>
<string name="privacy_guard_notification_detail"><xliff:g id="app">%1$s</xliff:g> ne bo imel dostopa do osebnih podatkov</string>
<string name="privacy_guard_dialog_title">Privacy Guard</string>
@@ -85,7 +85,7 @@
<string name="app_ops_delete_mms">brisanje vaših sporočil MMS</string>
<string name="app_ops_delete_sms">brisanje vaših sporočil SMS</string>
<string name="app_ops_draw_on_top">risanje oken v ospredju</string>
- <string name="app_ops_get_usage_stats">pridobivanje uporabniške statistike programa</string>
+ <string name="app_ops_get_usage_stats">pridobivanje uporabniške statistike aplikacije</string>
<string name="app_ops_keep_device_awake">ohranjanje budnosti naprave</string>
<string name="app_ops_make_phone_call">opravljanje klicev</string>
<string name="app_ops_modify_calendar">posodabljanje koledarja</string>
@@ -156,4 +156,6 @@
<string name="tethered_notification_no_device_message">Nobene naprave ni povezane</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> povezana naprava</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> povezanih naprav</string>
+ <string name="notify_package_component_protected_title">Zagon dejavnosti blokiran</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> je zaščiten pred zagonom. Kliknite za overitev in zaženite aplikacijo.</string>
</resources>
diff --git a/core/res/res/values-sr/cm_strings.xml b/core/res/res/values-sr/cm_strings.xml
index 170465b..b87ff4a 100644
--- a/core/res/res/values-sr/cm_strings.xml
+++ b/core/res/res/values-sr/cm_strings.xml
@@ -154,4 +154,6 @@
<string name="tethered_notification_no_device_message">Нема повезаног уређаја</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> конектован уређај</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> конектовани уређаји</string>
+ <string name="notify_package_component_protected_title">Блокирана активност покретања</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> је заштићена од покретања. Додирни да потврдиш и покрени апликацију.</string>
</resources>
diff --git a/core/res/res/values-sv/cm_strings.xml b/core/res/res/values-sv/cm_strings.xml
index aff0212..d55e83a 100644
--- a/core/res/res/values-sv/cm_strings.xml
+++ b/core/res/res/values-sv/cm_strings.xml
@@ -65,6 +65,7 @@ modifiera det tema som du har tillämpat.</string>
<string name="theme_reset_notification_title">Återställning av tema</string>
<string name="theme_reset_notification_body">Systemtemat kommer återställas på grund av att appen kraschat flera gånger.</string>
<string name="silent_mode_priority">Prioritet</string>
+ <string name="silent_mode_none">Ingen</string>
<string name="permlab_changePrivacyGuardState">aktivera eller inaktivera integritetsskydd</string>
<string name="permdesc_changePrivacyGuardState">Tillåter appen att ändra huruvida en annan app körs med integritetsskydd. När en app körs med integritetsskydd har den ingen tillgång till personlig data som kontakter, samtalslistor och meddelanden.</string>
<string name="privacy_guard_notification">Integritetsskydd aktivt</string>
diff --git a/core/res/res/values-uk/cm_strings.xml b/core/res/res/values-uk/cm_strings.xml
index 4851196..d47d68f 100644
--- a/core/res/res/values-uk/cm_strings.xml
+++ b/core/res/res/values-uk/cm_strings.xml
@@ -66,6 +66,8 @@
<string name="theme_reset_notification_body">Через системні збої встановлена системна тема.</string>
<string name="silent_mode_priority">Пріоритет</string>
<string name="silent_mode_none">Немає</string>
+ <string name="subscription_change_disabled_wifi_ap">Точку доступу Wi-Fi вимкнено через зміну SIM-картки</string>
+ <string name="notify_turn_wifi_off_title">Вимкнути Wi-Fi</string>
<string name="permlab_changePrivacyGuardState">увімк. або вимк. Сторожа Приватності</string>
<string name="permdesc_changePrivacyGuardState">Програма може вибрати, чи буде друга програма працювати в захищеному режимі. Коли програму запущено в захищеному режимі, вона не отримає доступ до персональних даних, таких як контакти, повідомлення чи журнал дзвінків.</string>
<string name="privacy_guard_notification">Сторож Приватності активний</string>
@@ -110,6 +112,7 @@
<string name="app_ops_toggle_bluetooth">увімк. або вимк. Bluetooth</string>
<string name="app_ops_toggle_mobile_data">увімк. або вимк. мобільних даних</string>
<string name="app_ops_toggle_nfc">увімк. вимк. NFC</string>
+ <string name="app_ops_toggle_wifi">Переключити Wi-Fi</string>
<string name="app_ops_use_alarm_volume">керування гучністю будильника</string>
<string name="app_ops_use_audio_focus">керування аудіо-фокусом</string>
<string name="app_ops_use_bluetooth_volume">керування гучністю Bluetooth</string>
@@ -122,6 +125,19 @@
<string name="app_ops_use_voice_volume">отримати управління гучністю при розмові</string>
<string name="app_ops_write_mms">створити MMS-повідомлення</string>
<string name="app_ops_write_sms">створити SMS-повідомлення</string>
+ <string name="app_ops_use_fingerprint">використовувати відбитки пальців</string>
+ <string name="app_ops_add_voicemail">Додати голосове повідомлення</string>
+ <string name="app_ops_read_phone_state">Доступ до стану телефону</string>
+ <string name="app_ops_scan_wifi">Сканувати Wi-Fi мережі</string>
+ <string name="app_ops_change_wallpaper">зміна шпалер</string>
+ <string name="app_ops_assist_structure">Використовувати допоміжну структуру</string>
+ <string name="app_ops_assist_screenshot">Скріншот</string>
+ <string name="app_ops_mock_location">Фіктивне місцезнаходження</string>
+ <string name="app_ops_read_external_storage">Зчитати дані з карти пам\'яті</string>
+ <string name="app_ops_write_external_storage">Записати дані на карту пам\'яті</string>
+ <string name="app_ops_turn_on_screen">Увімкнути екран</string>
+ <string name="app_ops_get_accounts">Отримати інформацію про акаунти</string>
+ <string name="app_ops_wifi_change">Змінити стан Wi-Fi</string>
<string name="app_ops_su">отримати root-доступ</string>
<string name="lock_to_app_toast_no_navbar">Щоб відкріпити цей екран, торкніться й утримуйте кнопку назад.</string>
<string name="live_display_auto">Автоматично</string>
diff --git a/core/res/res/values-zh-rCN/cm_strings.xml b/core/res/res/values-zh-rCN/cm_strings.xml
index 7c201f1..2126f4c 100644
--- a/core/res/res/values-zh-rCN/cm_strings.xml
+++ b/core/res/res/values-zh-rCN/cm_strings.xml
@@ -154,4 +154,5 @@
<string name="tethered_notification_no_device_message">没有已连接设备</string>
<string name="tethered_notification_one_device_message"><xliff:g id="count">%1$s</xliff:g> 个已连接的设备</string>
<string name="tethered_notification_multi_device_message"><xliff:g id="count">%1$s</xliff:g> 个已连接的设备</string>
+ <string name="notify_package_component_protected_title">已阻止活动启动</string>
</resources>
diff --git a/core/res/res/values/cm_strings.xml b/core/res/res/values/cm_strings.xml
index 38b98c6..a77d370 100644
--- a/core/res/res/values/cm_strings.xml
+++ b/core/res/res/values/cm_strings.xml
@@ -246,4 +246,7 @@
with spaces on either side. [CHAR LIMIT=3] -->
<string name="kg_sub_separator" translatable="false">" | "</string>
+ <!-- Protected Apps Notification -->
+ <string name="notify_package_component_protected_title">Activity launch blocked</string>
+ <string name="notify_package_component_protected_text"><xliff:g id="app_name">%1$s</xliff:g> is protected from being launched. Tap to authenticate and launch the application.</string>
</resources>
diff --git a/core/res/res/values/cm_symbols.xml b/core/res/res/values/cm_symbols.xml
index b0a1105..5938060 100644
--- a/core/res/res/values/cm_symbols.xml
+++ b/core/res/res/values/cm_symbols.xml
@@ -149,4 +149,12 @@
<!-- KeyGuard -->
<java-symbol type="string" name="kg_sub_separator" />
+ <!-- Protected Apps -->
+ <java-symbol type="drawable" name="stat_notify_protected" />
+ <java-symbol type="string" name="notify_package_component_protected_title" />
+ <java-symbol type="string" name="notify_package_component_protected_text" />
+
+ <!-- Restricted fingerprint config -->
+ <java-symbol type="bool" name="config_fingerprintRestrictedToSystemAndOwner" />
+
</resources>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 0e2dafc..d153f88 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2393,6 +2393,10 @@
<!-- Keyguard component -->
<string name="config_keyguardComponent" translatable="false">com.android.systemui/com.android.systemui.keyguard.KeyguardService</string>
+ <!-- Set to true to disallow 3rd party apps access to the fingerprint reader, for older
+ hardware compatibility. This also disables fingerprints for secondary users. -->
+ <bool name="config_fingerprintRestrictedToSystemAndOwner">false</bool>
+
<!-- For performance and storage reasons, limit the number of fingerprints per user -->
<integer name="config_fingerprintMaxTemplatesPerUser">5</integer>
diff --git a/core/res/res/xml/default_zen_mode_config.xml b/core/res/res/xml/default_zen_mode_config.xml
index 5f4199a..40b5c15 100644
--- a/core/res/res/xml/default_zen_mode_config.xml
+++ b/core/res/res/xml/default_zen_mode_config.xml
@@ -19,5 +19,5 @@
<!-- Default configuration for zen mode. See android.service.notification.ZenModeConfig. -->
<zen version="2">
- <allow calls="true" messages="false" reminders="true" events="true" />
+ <allow calls="true" messages="true" from="2" reminders="true" events="true" />
</zen>
diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
index a4214cf..8b4030a 100644
--- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
+++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
@@ -27,6 +27,7 @@ import static android.system.OsConstants.S_IXOTH;
import android.app.PackageInstallObserver;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -3847,4 +3848,21 @@ public class PackageManagerTests extends AndroidTestCase {
* how to do tests on updated system apps?
* verify updates to system apps cannot be installed on the sdcard.
*/
+
+ //CM Tests
+ public void testIsComponentProtectedFromSamePackage() {
+ ComponentName testComponentName = new ComponentName("com.android.test",
+ "com.android.test.component.protected");
+ getPm().setComponentProtectedSetting(testComponentName, true);
+ assertFalse(getPm().isComponentProtected(testComponentName.getPackageName(),
+ testComponentName));
+ }
+
+ public void testIsComponentProtectedFromManagers() {
+ ComponentName testComponentName = new ComponentName("com.android.test",
+ "com.android.test.component.protected");
+ getPm().setComponentProtectedSetting(testComponentName, true);
+ assertFalse(getPm().isComponentProtected(testComponentName.getPackageName(),
+ testComponentName));
+ }
}
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index 818e1c5..5fe0d66 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -5290,6 +5290,13 @@ bool ResTable::stringToValue(Res_value* outValue, String16* outString,
identifierForName(name.string(), name.size(),
type.string(), type.size(),
package.string(), package.size(), &specFlags);
+// HACK
+// This allows themes to reference attributes that are app specific and
+// normally private. Only applies to aapt running on device not host
+// build systems.
+#ifdef HAVE_ANDROID_OS
+ enforcePrivate = false;
+#endif
if (rid != 0) {
if (enforcePrivate) {
if ((specFlags&ResTable_typeSpec::SPEC_PUBLIC) == 0) {
diff --git a/libs/androidfw/tests/Android.mk b/libs/androidfw/tests/Android.mk
index 2896af6..5fd17cc 100644
--- a/libs/androidfw/tests/Android.mk
+++ b/libs/androidfw/tests/Android.mk
@@ -35,15 +35,7 @@ testFiles := \
TypeWrappers_test.cpp \
ZipUtils_test.cpp
-androidfw_test_cflags := \
- -Wall \
- -Werror \
- -Wunused \
- -Wunreachable-code \
- -Wno-missing-field-initializers \
-# gtest is broken.
-androidfw_test_cflags += -Wno-unnamed-type-template-args
# ==========================================================
# Build the host tests: libandroidfw_tests
@@ -51,7 +43,7 @@ androidfw_test_cflags += -Wno-unnamed-type-template-args
include $(CLEAR_VARS)
LOCAL_MODULE := libandroidfw_tests
-LOCAL_CFLAGS := $(androidfw_test_cflags)
+
LOCAL_SRC_FILES := $(testFiles)
LOCAL_STATIC_LIBRARIES := \
libandroidfw \
@@ -69,7 +61,6 @@ ifneq ($(SDK_ONLY),true)
include $(CLEAR_VARS)
LOCAL_MODULE := libandroidfw_tests
-LOCAL_CFLAGS := $(androidfw_test_cflags)
LOCAL_SRC_FILES := $(testFiles) \
BackupData_test.cpp \
ObbFile_test.cpp \
diff --git a/libs/androidfw/tests/data/basic/basic_arsc.h b/libs/androidfw/tests/data/basic/basic_arsc.h
index 04712e0..13ab4fa 100644
--- a/libs/androidfw/tests/data/basic/basic_arsc.h
+++ b/libs/androidfw/tests/data/basic/basic_arsc.h
@@ -1,22 +1,9 @@
unsigned char basic_arsc[] = {
-<<<<<<< HEAD
0x02, 0x00, 0x0c, 0x00, 0x68, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x01, 0x00, 0x1c, 0x00, 0xbc, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
0x72, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x72, 0x00,
-=======
- 0x02, 0x00, 0x0c, 0x00, 0xf4, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x1c, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
- 0x62, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00,
- 0x1a, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2f, 0x00, 0x64, 0x00,
- 0x72, 0x00, 0x61, 0x00, 0x77, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6c, 0x00,
- 0x65, 0x00, 0x2f, 0x00, 0x64, 0x00, 0x72, 0x00, 0x61, 0x00, 0x77, 0x00,
- 0x61, 0x00, 0x62, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x31, 0x00, 0x2e, 0x00,
- 0x70, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x00, 0x00, 0x13, 0x00, 0x72, 0x00,
->>>>>>> 6e133f1... Themes: Port to CM12 [1/6]
0x65, 0x00, 0x73, 0x00, 0x2f, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x79, 0x00,
0x6f, 0x00, 0x75, 0x00, 0x74, 0x00, 0x2f, 0x00, 0x6d, 0x00, 0x61, 0x00,
0x69, 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x78, 0x00, 0x6d, 0x00, 0x6c, 0x00,
@@ -29,11 +16,7 @@ unsigned char basic_arsc[] = {
0x00, 0x00, 0x05, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00,
0x31, 0x00, 0x00, 0x00, 0x05, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00,
0x74, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x01,
-<<<<<<< HEAD
0xa0, 0x06, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x63, 0x00, 0x6f, 0x00,
-=======
- 0xf0, 0x07, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x63, 0x00, 0x6f, 0x00,
->>>>>>> 6e133f1... Themes: Port to CM12 [1/6]
0x6d, 0x00, 0x2e, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x72, 0x00,
0x6f, 0x00, 0x69, 0x00, 0x64, 0x00, 0x2e, 0x00, 0x74, 0x00, 0x65, 0x00,
0x73, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00,
@@ -55,129 +38,76 @@ unsigned char basic_arsc[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xd8, 0x01, 0x00, 0x00,
- 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 0x00,
- 0xb8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x30, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
- 0x60, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x61, 0x00,
- 0x74, 0x00, 0x74, 0x00, 0x72, 0x00, 0x00, 0x00, 0x08, 0x00, 0x64, 0x00,
- 0x72, 0x00, 0x61, 0x00, 0x77, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6c, 0x00,
- 0x65, 0x00, 0x00, 0x00, 0x06, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x79, 0x00,
- 0x6f, 0x00, 0x75, 0x00, 0x74, 0x00, 0x00, 0x00, 0x06, 0x00, 0x73, 0x00,
- 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x00, 0x00,
- 0x07, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x67, 0x00,
- 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x73, 0x00, 0x74, 0x00,
- 0x79, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x61, 0x00,
- 0x72, 0x00, 0x72, 0x00, 0x61, 0x00, 0x79, 0x00, 0x00, 0x00, 0x05, 0x00,
- 0x64, 0x00, 0x69, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x1c, 0x00, 0x2c, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
- 0x1c, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00,
- 0x4c, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
- 0x7e, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00,
- 0xbc, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x05, 0x00, 0x61, 0x00,
- 0x74, 0x00, 0x74, 0x00, 0x72, 0x00, 0x31, 0x00, 0x00, 0x00, 0x05, 0x00,
- 0x61, 0x00, 0x74, 0x00, 0x74, 0x00, 0x72, 0x00, 0x32, 0x00, 0x00, 0x00,
- 0x09, 0x00, 0x64, 0x00, 0x72, 0x00, 0x61, 0x00, 0x77, 0x00, 0x61, 0x00,
- 0x62, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x31, 0x00, 0x00, 0x00, 0x04, 0x00,
- 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00,
- 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x31, 0x00, 0x00, 0x00,
- 0x05, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x32, 0x00,
- 0x00, 0x00, 0x07, 0x00, 0x6e, 0x00, 0x75, 0x00, 0x6d, 0x00, 0x62, 0x00,
- 0x65, 0x00, 0x72, 0x00, 0x31, 0x00, 0x00, 0x00, 0x07, 0x00, 0x6e, 0x00,
- 0x75, 0x00, 0x6d, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x32, 0x00,
- 0x00, 0x00, 0x06, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x6d, 0x00,
- 0x65, 0x00, 0x31, 0x00, 0x00, 0x00, 0x06, 0x00, 0x54, 0x00, 0x68, 0x00,
- 0x65, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x32, 0x00, 0x00, 0x00, 0x0d, 0x00,
- 0x69, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x67, 0x00, 0x65, 0x00,
- 0x72, 0x00, 0x41, 0x00, 0x72, 0x00, 0x72, 0x00, 0x61, 0x00, 0x79, 0x00,
- 0x31, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6d, 0x00,
- 0x65, 0x00, 0x6e, 0x00, 0x31, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00,
- 0x69, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x32, 0x00, 0x00, 0x00,
- 0x02, 0x02, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x44, 0x00, 0x84, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xb0, 0x01, 0x00, 0x00,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 0x00,
+ 0x90, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
+ 0x2c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x61, 0x00, 0x74, 0x00, 0x74, 0x00, 0x72, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x79, 0x00, 0x6f, 0x00, 0x75, 0x00,
+ 0x74, 0x00, 0x00, 0x00, 0x06, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00,
+ 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x00, 0x00, 0x07, 0x00, 0x69, 0x00,
+ 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x67, 0x00, 0x65, 0x00, 0x72, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x73, 0x00, 0x74, 0x00, 0x79, 0x00, 0x6c, 0x00,
+ 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x61, 0x00, 0x72, 0x00, 0x72, 0x00,
+ 0x61, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 0x00,
+ 0xec, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
+ 0x28, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
+ 0x56, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
+ 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x61, 0x00, 0x74, 0x00, 0x74, 0x00,
+ 0x72, 0x00, 0x31, 0x00, 0x00, 0x00, 0x05, 0x00, 0x61, 0x00, 0x74, 0x00,
+ 0x74, 0x00, 0x72, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x6d, 0x00,
+ 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x74, 0x00,
+ 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x31, 0x00, 0x00, 0x00, 0x05, 0x00,
+ 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x32, 0x00, 0x00, 0x00,
+ 0x07, 0x00, 0x6e, 0x00, 0x75, 0x00, 0x6d, 0x00, 0x62, 0x00, 0x65, 0x00,
+ 0x72, 0x00, 0x31, 0x00, 0x00, 0x00, 0x07, 0x00, 0x6e, 0x00, 0x75, 0x00,
+ 0x6d, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x32, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x65, 0x00,
+ 0x31, 0x00, 0x00, 0x00, 0x06, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00,
+ 0x6d, 0x00, 0x65, 0x00, 0x32, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x69, 0x00,
+ 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x67, 0x00, 0x65, 0x00, 0x72, 0x00,
+ 0x41, 0x00, 0x72, 0x00, 0x72, 0x00, 0x61, 0x00, 0x79, 0x00, 0x31, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x84, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
+ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00,
- 0x02, 0x02, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
- 0x58, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x48, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x02, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x04, 0x24, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
- 0x58, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x48, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x44, 0x00, 0x58, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x10, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x10,
+ 0x05, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x24, 0x00, 0x00,
+ 0x01, 0x02, 0x44, 0x00, 0x58, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03,
- 0x02, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x6c, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
- 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03,
- 0x04, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00,
- 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x6c, 0x00, 0x00, 0x00,
- 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
- 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x58, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
+ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x72, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-<<<<<<< HEAD
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x00,
0x1c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x02, 0x44, 0x00, 0x70, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
-=======
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0xc8, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x07, 0x7f, 0x01, 0x02, 0x44, 0x00, 0x5c, 0x00, 0x00, 0x00,
- 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
- 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x76, 0x00, 0x00,
->>>>>>> 6e133f1... Themes: Port to CM12 [1/6]
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00,
- 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x90, 0x01, 0x00, 0x00,
- 0x02, 0x02, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x44, 0x00, 0x90, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00,
@@ -190,7 +120,6 @@ unsigned char basic_arsc[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-<<<<<<< HEAD
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0xc8, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01,
@@ -209,30 +138,6 @@ unsigned char basic_arsc[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-=======
- 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7f,
- 0x08, 0x00, 0x00, 0x10, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x7f,
- 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x05, 0x7f, 0x10, 0x00, 0x01, 0x00,
- 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x7f, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x7f, 0x08, 0x00, 0x00, 0x10, 0x2c, 0x01, 0x00, 0x00,
- 0x02, 0x02, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00,
- 0x7c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x48, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00,
- 0x02, 0x02, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x44, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
->>>>>>> 6e133f1... Themes: Port to CM12 [1/6]
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7f,
@@ -247,7 +152,6 @@ unsigned char basic_arsc[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-<<<<<<< HEAD
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00,
@@ -255,10 +159,3 @@ unsigned char basic_arsc[] = {
0x02, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00
};
unsigned int basic_arsc_len = 1896;
-=======
- 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x05, 0x01, 0x30, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00
-};
-unsigned int basic_arsc_len = 2292;
->>>>>>> 6e133f1... Themes: Port to CM12 [1/6]
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index c5e709e..773c6f5 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1710,6 +1710,7 @@ void OpenGLRenderer::drawPatch(const SkBitmap* bitmap, const Patch* mesh,
Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap);
if (!texture) return;
+ const AutoTexture autoCleanup(texture);
// 9 patches are built for stretching - always filter
int textureFillFlags = TextureFillFlags::ForceFilter;
diff --git a/libs/hwui/renderstate/RenderState.cpp b/libs/hwui/renderstate/RenderState.cpp
index 1e39bfa..84b6965 100644
--- a/libs/hwui/renderstate/RenderState.cpp
+++ b/libs/hwui/renderstate/RenderState.cpp
@@ -306,6 +306,10 @@ void RenderState::render(const Glop& glop) {
// Shader uniforms
SkiaShader::apply(*mCaches, fill.skiaShaderData);
+ Texture* texture = (fill.skiaShaderData.skiaShaderType & kBitmap_SkiaShaderType) ?
+ fill.skiaShaderData.bitmapData.bitmapTexture : nullptr;
+ const AutoTexture autoCleanup(texture);
+
// ------------------------------------
// ---------- GL state setup ----------
// ------------------------------------
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 939c0c7..2214091 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -389,6 +389,12 @@ void RenderProxy::fence() {
postAndWait(task);
}
+void RenderProxy::staticFence() {
+ SETUP_TASK(fence);
+ UNUSED(args);
+ staticPostAndWait(task);
+}
+
CREATE_BRIDGE1(stopDrawing, CanvasContext* context) {
args->context->stopDrawing();
return nullptr;
diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h
index db03b29..8a1f5bf 100644
--- a/libs/hwui/renderthread/RenderProxy.h
+++ b/libs/hwui/renderthread/RenderProxy.h
@@ -94,6 +94,7 @@ public:
ANDROID_API static void overrideProperty(const char* name, const char* value);
ANDROID_API void fence();
+ ANDROID_API static void staticFence();
ANDROID_API void stopDrawing();
ANDROID_API void notifyFramePending();
diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java
index e91548c..c6de463 100644
--- a/media/java/android/media/MediaFile.java
+++ b/media/java/android/media/MediaFile.java
@@ -108,8 +108,9 @@ public class MediaFile {
// Drm file types
public static final int FILE_TYPE_FL = 51;
+ public static final int FILE_TYPE_SD = 52;
private static final int FIRST_DRM_FILE_TYPE = FILE_TYPE_FL;
- private static final int LAST_DRM_FILE_TYPE = FILE_TYPE_FL;
+ private static final int LAST_DRM_FILE_TYPE = FILE_TYPE_SD;
// Other popular file types
public static final int FILE_TYPE_TEXT = 100;
@@ -243,6 +244,7 @@ public class MediaFile {
addFileType("M3U8", FILE_TYPE_HTTPLIVE, "audio/x-mpegurl");
addFileType("FL", FILE_TYPE_FL, "application/x-android-drm-fl");
+ addFileType("DCF", FILE_TYPE_SD, "application/vnd.oma.drm.content");
addFileType("TXT", FILE_TYPE_TEXT, "text/plain", MtpConstants.FORMAT_TEXT);
addFileType("HTM", FILE_TYPE_HTML, "text/html", MtpConstants.FORMAT_HTML);
diff --git a/media/java/android/media/ToneGenerator.java b/media/java/android/media/ToneGenerator.java
index 05e4471..08c49e7 100644
--- a/media/java/android/media/ToneGenerator.java
+++ b/media/java/android/media/ToneGenerator.java
@@ -739,7 +739,7 @@ public class ToneGenerator
*
* @hide #ToneGenerator(int, int)
*/
- public static final int TONE_HOLD_RECALL = 101;
+ public static final int TONE_HOLD_RECALL = 99;
/** Maximum volume, for use with {@link #ToneGenerator(int,int)} */
public static final int MAX_VOLUME = 100;
diff --git a/obex/javax/obex/ServerSession.java b/obex/javax/obex/ServerSession.java
index 34a75f4..33b0bde 100644
--- a/obex/javax/obex/ServerSession.java
+++ b/obex/javax/obex/ServerSession.java
@@ -104,7 +104,6 @@ public final class ServerSession extends ObexSession implements Runnable {
case ObexHelper.OBEX_OPCODE_DISCONNECT:
handleDisconnectRequest();
- done = true;
break;
case ObexHelper.OBEX_OPCODE_GET:
@@ -125,6 +124,7 @@ public final class ServerSession extends ObexSession implements Runnable {
break;
case -1:
+ Log.v(TAG, "Read request returned -1, exiting from loop");
done = true;
break;
diff --git a/packages/Keyguard/res/values-ca/cm_strings.xml b/packages/Keyguard/res/values-ca/cm_strings.xml
index 9e37642..1234e26 100644
--- a/packages/Keyguard/res/values-ca/cm_strings.xml
+++ b/packages/Keyguard/res/values-ca/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Introdueix el PIN de la SIM, tens <xliff:g id="number">%d</xliff:g> intent restant abans que hagis de contactar amb el teu operador per desbloquejar el teu dispositiu.</item>
<item quantity="other">Introdueix el PIN de la SIM, tens <xliff:g id="number">%d</xliff:g> intents restants.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Error: L\'entrada és més curta que la longitud mínima</string>
</resources>
diff --git a/packages/Keyguard/res/values-cs/cm_strings.xml b/packages/Keyguard/res/values-cs/cm_strings.xml
index bb5046f..20fae9d 100644
--- a/packages/Keyguard/res/values-cs/cm_strings.xml
+++ b/packages/Keyguard/res/values-cs/cm_strings.xml
@@ -16,5 +16,12 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="keyguard_perso_locked_message">SIM/RUIM je zamčená pomocí Perso</string>
<string name="lockscreen_sim_error_message_short">Neplatná SIM karta.</string>
+ <plurals name="kg_password_default_pin_message">
+ <item quantity="one">Zadejte PIN kód, máte <xliff:g id="number">%d</xliff:g> zbývající pokus než budete muset kontaktovat operátora pro odemčení zařízení.</item>
+ <item quantity="few">Zadejte PIN kód, máte <xliff:g id="number">%d</xliff:g> zbývající pokusy.</item>
+ <item quantity="other">Zadejte PIN kód, máte <xliff:g id="number">%d</xliff:g> zbývajících pokusů.</item>
+ </plurals>
+ <string name="kg_invalid_sim_length">Chyba: vstup je kratší než minimální délka</string>
</resources>
diff --git a/packages/Keyguard/res/values-de/cm_strings.xml b/packages/Keyguard/res/values-de/cm_strings.xml
index 87acef9..e8b0434 100644
--- a/packages/Keyguard/res/values-de/cm_strings.xml
+++ b/packages/Keyguard/res/values-de/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">SIM-PIN eingeben. Sie haben noch <xliff:g id="number">%d</xliff:g> Versuch übrig, bevor Sie den Netzbetreiber zum Entsperren des Gerätes kontaktieren müssen.</item>
<item quantity="other">SIM-PIN eingeben. Sie haben noch <xliff:g id="number">%d</xliff:g> Versuche übrig, bevor Sie den Netzbetreiber zum Entsperren des Gerätes kontaktieren müssen.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Fehler: Eingabe ist kürzer als die Mindestlänge</string>
</resources>
diff --git a/packages/Keyguard/res/values-el/cm_strings.xml b/packages/Keyguard/res/values-el/cm_strings.xml
index ef5e71f..6ea7b00 100644
--- a/packages/Keyguard/res/values-el/cm_strings.xml
+++ b/packages/Keyguard/res/values-el/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Εισάγετε το PIN, έχετε <xliff:g id="number">%d</xliff:g> προσπάθειες πριν χρειαστεί να επικοινωνήσετε με τον πάροχό σας για να ξεκλειδώσετε τη συσκευή σας.</item>
<item quantity="other">Εισάγετε το PIN, έχετε <xliff:g id="number">%d</xliff:g> προσπάθειες.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Σφάλμα: Το μήκος εισόδου είναι μικρότερο από το ελάχιστο μήκος</string>
</resources>
diff --git a/packages/Keyguard/res/values-en-rIN/cm_strings.xml b/packages/Keyguard/res/values-en-rIN/cm_strings.xml
index c6a7b7d..f737d9e 100644
--- a/packages/Keyguard/res/values-en-rIN/cm_strings.xml
+++ b/packages/Keyguard/res/values-en-rIN/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Enter SIM PIN, you have <xliff:g id="number">%d</xliff:g> remaining attempt before you must contact your carrier to unlock your device.</item>
<item quantity="other">Enter SIM PIN, you have <xliff:g id="number">%d</xliff:g> remaining attempts.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Error: Input shorter than minimum length</string>
</resources>
diff --git a/packages/Keyguard/res/values-eu-rES/cm_strings.xml b/packages/Keyguard/res/values-eu-rES/cm_strings.xml
index ad94255..41081c9 100644
--- a/packages/Keyguard/res/values-eu-rES/cm_strings.xml
+++ b/packages/Keyguard/res/values-eu-rES/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Sartu SIM txartelaren PIN kodea, saiakera <xliff:g id="number">%d</xliff:g> geratzen zaizu gailua desblokeatzeko zure operadorearekin kontaktuan jarri behar aurretik.</item>
<item quantity="other">Sartu SIM txartelaren PIN kodea, <xliff:g id="number">%d</xliff:g> saiakera geratzen zaizkizu.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Errorea: Sarrera gutxieneko luzera baino laburragoa da</string>
</resources>
diff --git a/packages/Keyguard/res/values-fr/cm_strings.xml b/packages/Keyguard/res/values-fr/cm_strings.xml
index d687ab6..4d3398e 100644
--- a/packages/Keyguard/res/values-fr/cm_strings.xml
+++ b/packages/Keyguard/res/values-fr/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Entrez le code PIN de la carte SIM, il vous reste <xliff:g id="number">%d</xliff:g> tentative avant d\'avoir à contacter votre opérateur pour déverrouiller votre appareil.</item>
<item quantity="other">Entrez le code PIN de la carte SIM, il vous reste <xliff:g id="number">%d</xliff:g> tentatives.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Erreur : code entré trop court</string>
</resources>
diff --git a/packages/Keyguard/res/values-gl-rES/cm_strings.xml b/packages/Keyguard/res/values-gl-rES/cm_strings.xml
index b0421e9..1e46e59 100644
--- a/packages/Keyguard/res/values-gl-rES/cm_strings.xml
+++ b/packages/Keyguard/res/values-gl-rES/cm_strings.xml
@@ -16,5 +16,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="keyguard_perso_locked_message">A SIM/RUIM personalizada está bloqueada</string>
<string name="lockscreen_sim_error_message_short">Esta tarxeta non é válida.</string>
+ <string name="kg_invalid_sim_length">Erro: O dato introducido é máis curto có mínimo esixido</string>
</resources>
diff --git a/packages/Keyguard/res/values-hr/cm_strings.xml b/packages/Keyguard/res/values-hr/cm_strings.xml
index c680bfb..b96db36 100644
--- a/packages/Keyguard/res/values-hr/cm_strings.xml
+++ b/packages/Keyguard/res/values-hr/cm_strings.xml
@@ -18,4 +18,10 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="keyguard_perso_locked_message">SIM kartica je Perso zaključana</string>
<string name="lockscreen_sim_error_message_short">Nevažeća kartica.</string>
+ <plurals name="kg_password_default_pin_message">
+ <item quantity="one">Upišite SIM PIN, preostao vam je <xliff:g id="number">%d</xliff:g> pokušaj nakon čega ćete morati kontaktirati svog pružatelja usluga da otključa vaš uređaj.</item>
+ <item quantity="few">Upišite SIM PIN, preostalo vam je <xliff:g id="number">%d</xliff:g> pokušaja.</item>
+ <item quantity="other">Upišite SIM PIN, preostalo vam je <xliff:g id="number">%d</xliff:g> pokušaja.</item>
+ </plurals>
+ <string name="kg_invalid_sim_length">Pogreška: Ulaz je kraći od minimalne potrebne duljine</string>
</resources>
diff --git a/packages/Keyguard/res/values-hu/cm_strings.xml b/packages/Keyguard/res/values-hu/cm_strings.xml
index e4c03f6..b985e02 100644
--- a/packages/Keyguard/res/values-hu/cm_strings.xml
+++ b/packages/Keyguard/res/values-hu/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Adja meg a SIM-kártya PIN-kódját. <xliff:g id="number">%d</xliff:g> kísérlete maradt mielőtt fel kell vennie a kapcsolatot a mobilszolgáltatójával a készülék feloldásához.</item>
<item quantity="other">Adja meg a SIM-kártya PIN-kódját. <xliff:g id="number">%d</xliff:g> kísérlete maradt.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Hiba: A bemeneti adat rövidebb, mint a minimális hossz</string>
</resources>
diff --git a/packages/Keyguard/res/values-it/cm_strings.xml b/packages/Keyguard/res/values-it/cm_strings.xml
index 10eba67..1c48611 100644
--- a/packages/Keyguard/res/values-it/cm_strings.xml
+++ b/packages/Keyguard/res/values-it/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Inserisci il PIN della SIM, hai ancora <xliff:g id="number">%d</xliff:g> tentativo rimanente prima di dover contattare l\'operatore per sbloccare il dispositivo.</item>
<item quantity="other">Inserisci il PIN della SIM, hai ancora <xliff:g id="number">%d</xliff:g> tentativi rimanenti.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Errore: input non sufficientemente lungo</string>
</resources>
diff --git a/packages/Keyguard/res/values-iw/cm_strings.xml b/packages/Keyguard/res/values-iw/cm_strings.xml
index f6e35a1..0cd676b 100644
--- a/packages/Keyguard/res/values-iw/cm_strings.xml
+++ b/packages/Keyguard/res/values-iw/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">הזן את קוד ה-PIN של כרטיס ה-SIM, נותר לך ניסיון <xliff:g id="number">%d</xliff:g> לפני שתיאלץ לפנות לספק הסלולרי שלך על מנת לבטל את נעילת המכשיר.</item>
<item quantity="other">הזן את קוד ה-PIN של כרטיס ה-SIM, נותרו לך <xliff:g id="number">%d</xliff:g> ניסיונות.</item>
</plurals>
+ <string name="kg_invalid_sim_length">שגיאה: הקלט קצר יותר מהאורך המינימלי</string>
</resources>
diff --git a/packages/Keyguard/res/values-pl/cm_strings.xml b/packages/Keyguard/res/values-pl/cm_strings.xml
index ad6603e..1a2563c 100644
--- a/packages/Keyguard/res/values-pl/cm_strings.xml
+++ b/packages/Keyguard/res/values-pl/cm_strings.xml
@@ -23,4 +23,5 @@
<item quantity="few">Wprowadź PIN karty SIM, masz <xliff:g id="number">%d</xliff:g> pozostałe próby.</item>
<item quantity="other">Wprowadź PIN karty SIM, masz <xliff:g id="number">%d</xliff:g> pozostałych prób.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Błąd: Podany kod jest za krótki</string>
</resources>
diff --git a/packages/Keyguard/res/values-pt-rBR/cm_strings.xml b/packages/Keyguard/res/values-pt-rBR/cm_strings.xml
index c490c87..5ebd5be 100644
--- a/packages/Keyguard/res/values-pt-rBR/cm_strings.xml
+++ b/packages/Keyguard/res/values-pt-rBR/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Digite o PIN do cartão SIM, você tem <xliff:g id="number">%d</xliff:g> tentativa restante antes de precisar contatar sua operadora para desbloquear seu aparelho.</item>
<item quantity="other">Digite o PIN do cartão SIM, você tem <xliff:g id="number">%d</xliff:g> tentativas restantes.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Erro: Entrada mais curta do que o comprimento mínimo</string>
</resources>
diff --git a/packages/Keyguard/res/values-pt-rPT/cm_strings.xml b/packages/Keyguard/res/values-pt-rPT/cm_strings.xml
index 7493317..bfa6b3a 100644
--- a/packages/Keyguard/res/values-pt-rPT/cm_strings.xml
+++ b/packages/Keyguard/res/values-pt-rPT/cm_strings.xml
@@ -22,4 +22,5 @@
<item quantity="one">Digite o código PIN do cartão SIM. Tem mais <xliff:g id="number">%d</xliff:g> tentativa antes de ter de contactar a sua operadora para desbloquear o dispositivo.</item>
<item quantity="other">Digite o código PIN do cartão SIM. Tem mais <xliff:g id="number">%d</xliff:g> tentativas.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Erro: o tamanho é menor que o requerido</string>
</resources>
diff --git a/packages/Keyguard/res/values-ru/cm_strings.xml b/packages/Keyguard/res/values-ru/cm_strings.xml
index 8532697..4d64761 100644
--- a/packages/Keyguard/res/values-ru/cm_strings.xml
+++ b/packages/Keyguard/res/values-ru/cm_strings.xml
@@ -23,4 +23,5 @@
<item quantity="few">Введите PIN-код. У вас осталось <xliff:g id="number">%d</xliff:g> попытки.</item>
<item quantity="other">Введите PIN-код. У вас осталось <xliff:g id="number">%d</xliff:g> попыток.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Ошибка: введено меньше минимальной длины</string>
</resources>
diff --git a/packages/Keyguard/res/values-sl/cm_strings.xml b/packages/Keyguard/res/values-sl/cm_strings.xml
index b3d5c41..84c794e 100644
--- a/packages/Keyguard/res/values-sl/cm_strings.xml
+++ b/packages/Keyguard/res/values-sl/cm_strings.xml
@@ -24,4 +24,5 @@
<item quantity="few">Vnesite PIN kartice SIM, imate še <xliff:g id="number">%d</xliff:g> preostale poskuse.</item>
<item quantity="other">Vnesite PIN kartice SIM, imate še <xliff:g id="number">%d</xliff:g> preostalih poskusov.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Napaka: Vnos je krajši od minimalne zahtevane dolžine</string>
</resources>
diff --git a/packages/Keyguard/res/values-sr/cm_strings.xml b/packages/Keyguard/res/values-sr/cm_strings.xml
index 3b6750c..33dc37f 100644
--- a/packages/Keyguard/res/values-sr/cm_strings.xml
+++ b/packages/Keyguard/res/values-sr/cm_strings.xml
@@ -23,4 +23,5 @@
<item quantity="few">Унеси SIM PIN, имаш <xliff:g id="number">%d</xliff:g> преостала покушаја пре него што мораш контактирати свог оператора да откључаш уређај.</item>
<item quantity="other">Унеси SIM PIN, имаш <xliff:g id="number">%d</xliff:g> преостала покушаја пре него што мораш контактирати свог оператора да откључаш уређај.</item>
</plurals>
+ <string name="kg_invalid_sim_length">Грешка: Унос је краћи од минималне дужине</string>
</resources>
diff --git a/packages/Keyguard/res/values-uk/cm_strings.xml b/packages/Keyguard/res/values-uk/cm_strings.xml
index 314fd26..5c1883b 100644
--- a/packages/Keyguard/res/values-uk/cm_strings.xml
+++ b/packages/Keyguard/res/values-uk/cm_strings.xml
@@ -16,5 +16,11 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="keyguard_perso_locked_message">SIM-карта заблокована оператором</string>
<string name="lockscreen_sim_error_message_short">Невірна картка.</string>
+ <plurals name="kg_password_default_pin_message">
+ <item quantity="one">Введіть PIN-код. У вас залишилася <xliff:g id="number">%d</xliff:g> спроба перед тим, як вам доведеться звернутися до оператора для розблокування.</item>
+ <item quantity="few">Введіть PIN-код. У вас залишилася <xliff:g id="number">%d</xliff:g> спроби перед тим, як вам доведеться звернутися до оператора для розблокування.</item>
+ <item quantity="other">Введіть PIN-код. У вас залишилася <xliff:g id="number">%d</xliff:g> спроб перед тим, як вам доведеться звернутися до оператора для розблокування.</item>
+ </plurals>
</resources>
diff --git a/packages/Keyguard/res/values-zh-rCN/cm_strings.xml b/packages/Keyguard/res/values-zh-rCN/cm_strings.xml
index 80240bf..56f8e18 100644
--- a/packages/Keyguard/res/values-zh-rCN/cm_strings.xml
+++ b/packages/Keyguard/res/values-zh-rCN/cm_strings.xml
@@ -21,4 +21,5 @@
<plurals name="kg_password_default_pin_message">
<item quantity="other">输入 SIM 卡 PIN。您还有 <xliff:g id="number">%d</xliff:g> 次尝试机会;若超出此次数,则必须联系运营商以解锁 SIM 卡。</item>
</plurals>
+ <string name="kg_invalid_sim_length">错误:输入长度小于最小长度</string>
</resources>
diff --git a/packages/SettingsLib/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png b/packages/SettingsLib/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png
index 2d9b75e..eebbe00 100644
--- a/packages/SettingsLib/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png
+++ b/packages/SettingsLib/res/drawable-ldrtl-hdpi/ic_bt_cellphone.png
Binary files differ
diff --git a/packages/SettingsLib/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png b/packages/SettingsLib/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png
index b6ebe34..92d7e51 100644
--- a/packages/SettingsLib/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png
+++ b/packages/SettingsLib/res/drawable-ldrtl-mdpi/ic_bt_cellphone.png
Binary files differ
diff --git a/packages/SettingsLib/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png b/packages/SettingsLib/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png
index 8b67b91..95f90bac 100644
--- a/packages/SettingsLib/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png
+++ b/packages/SettingsLib/res/drawable-ldrtl-xhdpi/ic_bt_cellphone.png
Binary files differ
diff --git a/packages/SettingsLib/res/values-ca/cm_strings.xml b/packages/SettingsLib/res/values-ca/cm_strings.xml
new file mode 100644
index 0000000..50933db
--- /dev/null
+++ b/packages/SettingsLib/res/values-ca/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplicacions</string>
+ <string name="picker_activities">Activitats</string>
+ <string name="select_custom_app_title">Selecciona una aplicació personalitzada</string>
+ <string name="select_custom_activity_title">Selecciona una activitat personalitzada</string>
+ <string name="lockscreen_targets_message">Dreceres de la pantalla de bloqueig</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-cs/cm_strings.xml b/packages/SettingsLib/res/values-cs/cm_strings.xml
new file mode 100644
index 0000000..faccd6f
--- /dev/null
+++ b/packages/SettingsLib/res/values-cs/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplikace</string>
+ <string name="picker_activities">Aktivity</string>
+ <string name="select_custom_app_title">Zvolte vlastní aplikaci</string>
+ <string name="select_custom_activity_title">Zvolte vlastní aktivitu</string>
+ <string name="lockscreen_targets_message">Ikony zámku obrazovky</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-en-rIN/cm_strings.xml b/packages/SettingsLib/res/values-en-rIN/cm_strings.xml
new file mode 100644
index 0000000..b311b85
--- /dev/null
+++ b/packages/SettingsLib/res/values-en-rIN/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Apps</string>
+ <string name="picker_activities">Activities</string>
+ <string name="select_custom_app_title">Select custom app</string>
+ <string name="select_custom_activity_title">Select custom activity</string>
+ <string name="lockscreen_targets_message">Lock screen shortcuts</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-eu-rES/cm_strings.xml b/packages/SettingsLib/res/values-eu-rES/cm_strings.xml
new file mode 100644
index 0000000..6f1cec3
--- /dev/null
+++ b/packages/SettingsLib/res/values-eu-rES/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplikazioak</string>
+ <string name="picker_activities">Aktibitateak</string>
+ <string name="select_custom_app_title">Hautatu aplikazio pertsonalizatua</string>
+ <string name="select_custom_activity_title">Hautatu aktibitate pertsonalizatua</string>
+ <string name="lockscreen_targets_message">Blokeo-pantailako lasterbideak</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-fi/cm_strings.xml b/packages/SettingsLib/res/values-fi/cm_strings.xml
new file mode 100644
index 0000000..fb10ac5
--- /dev/null
+++ b/packages/SettingsLib/res/values-fi/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Sovellukset</string>
+ <string name="picker_activities">Aktiviteetit</string>
+ <string name="select_custom_app_title">Valitse oma sovellus</string>
+ <string name="select_custom_activity_title">Valitse oma aktiviteetti</string>
+ <string name="lockscreen_targets_message">Lukitusnäytön pikakuvakkeet</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-gl-rES/cm_strings.xml b/packages/SettingsLib/res/values-gl-rES/cm_strings.xml
new file mode 100644
index 0000000..a98f4e9
--- /dev/null
+++ b/packages/SettingsLib/res/values-gl-rES/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplicacións</string>
+ <string name="picker_activities">Actividades</string>
+ <string name="select_custom_app_title">Seleccionar aplicación personalizada</string>
+ <string name="select_custom_activity_title">Seleccionar actividade personalizada</string>
+ <string name="lockscreen_targets_message">Atallos da pantalla de bloqueo</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-hr/cm_strings.xml b/packages/SettingsLib/res/values-hr/cm_strings.xml
new file mode 100644
index 0000000..dbf9958
--- /dev/null
+++ b/packages/SettingsLib/res/values-hr/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplikacije</string>
+ <string name="picker_activities">Aktivnosti</string>
+ <string name="select_custom_app_title">Odaberite aplikaciju</string>
+ <string name="select_custom_activity_title">Odaberite prilagođenu aktivnost</string>
+ <string name="lockscreen_targets_message">Prečaci zaključanog zaslona</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-hu/cm_strings.xml b/packages/SettingsLib/res/values-hu/cm_strings.xml
new file mode 100644
index 0000000..b2e364f
--- /dev/null
+++ b/packages/SettingsLib/res/values-hu/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Alkalmazások</string>
+ <string name="picker_activities">Tevékenységek</string>
+ <string name="select_custom_app_title">Válassz egyedi alkalmazást</string>
+ <string name="select_custom_activity_title">Válassz egyedi tevékenységet</string>
+ <string name="lockscreen_targets_message">Zárképernyő hivatkozások</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-iw/cm_strings.xml b/packages/SettingsLib/res/values-iw/cm_strings.xml
new file mode 100644
index 0000000..36ca0d2
--- /dev/null
+++ b/packages/SettingsLib/res/values-iw/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">יישומים</string>
+ <string name="picker_activities">פעילויות</string>
+ <string name="select_custom_app_title">בחר יישום מותאם אישית</string>
+ <string name="select_custom_activity_title">בחר פעילות מותאמת אישית</string>
+ <string name="lockscreen_targets_message">קיצורי דרך במסך הנעילה</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-ja/cm_strings.xml b/packages/SettingsLib/res/values-ja/cm_strings.xml
new file mode 100644
index 0000000..7a75cb0
--- /dev/null
+++ b/packages/SettingsLib/res/values-ja/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">アプリ</string>
+ <string name="picker_activities">アクティビティ</string>
+ <string name="select_custom_app_title">カスタムのアプリを選択</string>
+ <string name="select_custom_activity_title">カスタムのアクティビティを選択</string>
+ <string name="lockscreen_targets_message">ロック画面のショートカット</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-lb/cm_strings.xml b/packages/SettingsLib/res/values-lb/cm_strings.xml
new file mode 100644
index 0000000..84a7011
--- /dev/null
+++ b/packages/SettingsLib/res/values-lb/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Appen</string>
+ <string name="picker_activities">Aktivitéiten</string>
+ <string name="select_custom_app_title">Eegen App auswielen</string>
+ <string name="select_custom_activity_title">Eegen Aktivitéit auswielen</string>
+ <string name="lockscreen_targets_message">Spärschierm-Ofkierzungen</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-nb/cm_strings.xml b/packages/SettingsLib/res/values-nb/cm_strings.xml
new file mode 100644
index 0000000..e55d4a1
--- /dev/null
+++ b/packages/SettingsLib/res/values-nb/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Apps</string>
+ <string name="picker_activities">Aktiviteter</string>
+ <string name="select_custom_app_title">Velg egendefinert app</string>
+ <string name="select_custom_activity_title">Velg egendefinert aktivitet</string>
+ <string name="lockscreen_targets_message">Låseskjermsnarveier</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-nl/cm_strings.xml b/packages/SettingsLib/res/values-nl/cm_strings.xml
new file mode 100644
index 0000000..7dec7e0
--- /dev/null
+++ b/packages/SettingsLib/res/values-nl/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Apps</string>
+ <string name="picker_activities">Activiteiten</string>
+ <string name="select_custom_app_title">Aangepaste app kiezen</string>
+ <string name="select_custom_activity_title">Aangepaste activiteit kiezen</string>
+ <string name="lockscreen_targets_message">Snelkoppelingen vergrendelingsscherm</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-pl/cm_strings.xml b/packages/SettingsLib/res/values-pl/cm_strings.xml
new file mode 100644
index 0000000..ba5c4f9
--- /dev/null
+++ b/packages/SettingsLib/res/values-pl/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplikacje</string>
+ <string name="picker_activities">Aktywności</string>
+ <string name="select_custom_app_title">Wskaż aplikację</string>
+ <string name="select_custom_activity_title">Wskaż aktywność</string>
+ <string name="lockscreen_targets_message">Skróty ekranu blokady</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-pt-rBR/cm_strings.xml b/packages/SettingsLib/res/values-pt-rBR/cm_strings.xml
new file mode 100644
index 0000000..29ecbff
--- /dev/null
+++ b/packages/SettingsLib/res/values-pt-rBR/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Apps</string>
+ <string name="picker_activities">Atividades</string>
+ <string name="select_custom_app_title">Selecione o app personalizado</string>
+ <string name="select_custom_activity_title">Selecione a atividade personalizada</string>
+ <string name="lockscreen_targets_message">Atalhos da tela de bloqueio</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-pt-rPT/cm_strings.xml b/packages/SettingsLib/res/values-pt-rPT/cm_strings.xml
new file mode 100644
index 0000000..84f31d2
--- /dev/null
+++ b/packages/SettingsLib/res/values-pt-rPT/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplicações</string>
+ <string name="picker_activities">Atividades</string>
+ <string name="select_custom_app_title">Selecione uma aplicação personalizada</string>
+ <string name="select_custom_activity_title">Selecione uma atividade personalizada</string>
+ <string name="lockscreen_targets_message">Atalhos do ecrã de bloqueio</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-ro/cm_strings.xml b/packages/SettingsLib/res/values-ro/cm_strings.xml
new file mode 100644
index 0000000..26f8836
--- /dev/null
+++ b/packages/SettingsLib/res/values-ro/cm_strings.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplicații</string>
+ <string name="picker_activities">Activități</string>
+ <string name="select_custom_app_title">Selectați aplicație personalizată</string>
+ <string name="select_custom_activity_title">Selectați activitate personalizată</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-ru/cm_strings.xml b/packages/SettingsLib/res/values-ru/cm_strings.xml
new file mode 100644
index 0000000..b3a4c86
--- /dev/null
+++ b/packages/SettingsLib/res/values-ru/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Приложения</string>
+ <string name="picker_activities">Действия</string>
+ <string name="select_custom_app_title">Выбор приложения</string>
+ <string name="select_custom_activity_title">Выбор действия</string>
+ <string name="lockscreen_targets_message">Ярлыки экрана блокировки</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-sl/cm_strings.xml b/packages/SettingsLib/res/values-sl/cm_strings.xml
new file mode 100644
index 0000000..4a66c17
--- /dev/null
+++ b/packages/SettingsLib/res/values-sl/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Aplikacije</string>
+ <string name="picker_activities">Dejavnosti</string>
+ <string name="select_custom_app_title">Izberite aplikacijo po meri</string>
+ <string name="select_custom_activity_title">Izberite dejavnost po meri</string>
+ <string name="lockscreen_targets_message">Bližnjice zaslona za zaklepanje</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-sr/cm_strings.xml b/packages/SettingsLib/res/values-sr/cm_strings.xml
new file mode 100644
index 0000000..8078426
--- /dev/null
+++ b/packages/SettingsLib/res/values-sr/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Апликације</string>
+ <string name="picker_activities">Активности</string>
+ <string name="select_custom_app_title">Изабери прилагођену апликацију</string>
+ <string name="select_custom_activity_title">Изабери прилагођену активност</string>
+ <string name="lockscreen_targets_message">Пречица закључаног екрана</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-uk/cm_strings.xml b/packages/SettingsLib/res/values-uk/cm_strings.xml
new file mode 100644
index 0000000..00f95a7
--- /dev/null
+++ b/packages/SettingsLib/res/values-uk/cm_strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2015 The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="profile_applist_title">Додатки</string>
+ <string name="picker_activities">Дії</string>
+ <string name="select_custom_app_title">Вибрати власну програму</string>
+ <string name="select_custom_activity_title">Вибрати власну дію</string>
+ <string name="lockscreen_targets_message">Ярлики екрану блокування</string>
+</resources>
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index fca6318..f8bcc27 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -124,6 +124,8 @@ public class AccessPoint implements Comparable<AccessPoint> {
private Object mTag;
+ public boolean foundInScanResult = false;
+
public AccessPoint(Context context, Bundle savedState) {
mContext = context;
mConfig = savedState.getParcelable(KEY_CONFIG);
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index 4f51137..ed0371c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -319,7 +319,8 @@ public class WifiTracker {
if (config.selfAdded && config.numAssociation == 0) {
continue;
}
- AccessPoint accessPoint = new AccessPoint(mContext, config);
+ AccessPoint accessPoint = getCachedOrCreate(config, cachedAccessPoints);
+ accessPoint.foundInScanResult = false;
if (mLastInfo != null && mLastNetworkInfo != null) {
if (config.isPasspoint() == false) {
accessPoint.update(connectionConfig, mLastInfo, mLastNetworkInfo);
@@ -352,6 +353,7 @@ public class WifiTracker {
boolean found = false;
for (AccessPoint accessPoint : apMap.getAll(result.SSID)) {
if (accessPoint.update(result)) {
+ accessPoint.foundInScanResult = true;
found = true;
break;
}
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index afcd05e..210a096 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -185,6 +185,9 @@
>0 is milliseconds of screen-off time after which battery sounds will not play -->
<integer name="def_low_battery_sound_timeout">0</integer>
+ <!-- Default for Settings.System.VIBRATE_WHEN_RINGING enabled -->
+ <bool name="def_vibrate_when_ringing_enabled">false</bool>
+
<!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
which is a comma separated list of packages that no longer need confirmation
for immersive mode.
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index c70c8e3..fe7c986 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2515,7 +2515,11 @@ class DatabaseHelper extends SQLiteOpenHelper {
try {
stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
+ " VALUES(?,?);");
- loadSetting(stmt, Settings.System.VIBRATE_WHEN_RINGING, vibrateWhenRinging ? 1 : 0);
+ if (mContext.getResources().getBoolean(R.bool.def_vibrate_when_ringing_enabled)) {
+ loadSetting(stmt, Settings.System.VIBRATE_WHEN_RINGING, 1);
+ } else {
+ loadSetting(stmt, Settings.System.VIBRATE_WHEN_RINGING, vibrateWhenRinging ? 1 : 0);
+ }
} finally {
if (stmt != null) stmt.close();
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index c361c70..f55cead 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -27,6 +27,7 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -51,6 +52,7 @@ import android.os.Process;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
+import android.preference.PreferenceManager;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.ArrayMap;
@@ -127,6 +129,8 @@ public class SettingsProvider extends ContentProvider {
private static final String TABLE_BOOKMARKS = "bookmarks";
private static final String TABLE_ANDROID_METADATA = "android_metadata";
+ private static final String HAS_REPLAYED_DEFAULTS_FROM_L = "has_replayed_defaults_from_L";
+
// The set of removed legacy tables.
private static final Set<String> REMOVED_LEGACY_TABLES = new ArraySet<>();
static {
@@ -1983,6 +1987,9 @@ public class SettingsProvider extends ContentProvider {
private final class UpgradeController {
private static final int SETTINGS_VERSION = 122;
+ /**
+ * This is the 12.1 database version (DO NOT INCREMENT)
+ */
private static final int CM_SETTINGS_DB_VERSION = 125;
private final int mUserId;
@@ -2014,8 +2021,9 @@ public class SettingsProvider extends ContentProvider {
// force replay AOSP defaults as they get introduced
// once 125 is hit, we never have to maintain this again.
if ((oldVersion == newVersion || oldVersion == CM_SETTINGS_DB_VERSION)) {
- if (oldVersion == CM_SETTINGS_DB_VERSION) {
+ if (oldVersion == CM_SETTINGS_DB_VERSION && !hasReplayedDefaultsFromL()) {
forceReplayAOSPDefaults(mUserId);
+ setDefaultsReplayedFromLFlag();
}
return;
}
@@ -2056,6 +2064,18 @@ public class SettingsProvider extends ContentProvider {
systemSettings.setVersionLocked(newVersion);
}
+ private boolean hasReplayedDefaultsFromL() {
+ SharedPreferences sharedPreferences = PreferenceManager
+ .getDefaultSharedPreferences(getContext());
+ return sharedPreferences.getBoolean(HAS_REPLAYED_DEFAULTS_FROM_L, false);
+ }
+
+ private void setDefaultsReplayedFromLFlag() {
+ SharedPreferences sharedPreferences = PreferenceManager
+ .getDefaultSharedPreferences(getContext());
+ sharedPreferences.edit().putBoolean(HAS_REPLAYED_DEFAULTS_FROM_L, true).apply();
+ }
+
private SettingsState getGlobalSettingsLocked() {
return getSettingsLocked(SETTINGS_TYPE_GLOBAL, UserHandle.USER_OWNER);
}
diff --git a/packages/SystemUI/res/layout/navigation_bar.xml b/packages/SystemUI/res/layout/navigation_bar.xml
index 6a28ef6..f8f59da 100644
--- a/packages/SystemUI/res/layout/navigation_bar.xml
+++ b/packages/SystemUI/res/layout/navigation_bar.xml
@@ -59,7 +59,6 @@
<ImageView
android:layout_width="@dimen/navigation_key_width"
android:layout_height="match_parent"
- android:layout_marginStart="@dimen/navigation_side_padding"
android:src="@drawable/ic_sysbar_lights_out_dot_large"
android:scaleType="center"
/>
@@ -83,19 +82,6 @@
/>
<ImageView
android:layout_width="@dimen/navigation_key_width"
- android:layout_marginEnd="@dimen/navigation_side_padding"
- android:layout_height="match_parent"
- android:src="@drawable/ic_sysbar_lights_out_dot_large"
- android:scaleType="center"
- />
- <View
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:visibility="invisible"
- android:layout_weight="1"
- />
- <ImageView
- android:layout_width="80dp"
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_lights_out_dot_large"
android:scaleType="center"
@@ -151,7 +137,6 @@
>
<ImageView
android:layout_height="@dimen/navigation_key_width"
- android:layout_marginTop="@dimen/navigation_side_padding"
android:layout_width="match_parent"
android:src="@drawable/ic_sysbar_lights_out_dot_large"
android:scaleType="center"
@@ -176,19 +161,6 @@
/>
<ImageView
android:layout_height="@dimen/navigation_key_width"
- android:layout_marginBottom="@dimen/navigation_side_padding"
- android:layout_width="match_parent"
- android:src="@drawable/ic_sysbar_lights_out_dot_large"
- android:scaleType="center"
- />
- <View
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:visibility="invisible"
- android:layout_weight="1"
- />
- <ImageView
- android:layout_height="80dp"
android:layout_width="match_parent"
android:src="@drawable/ic_sysbar_lights_out_dot_large"
android:scaleType="center"
diff --git a/packages/SystemUI/res/layout/qs_settings.xml b/packages/SystemUI/res/layout/qs_settings.xml
index dcf04a4..b7c8d60 100644
--- a/packages/SystemUI/res/layout/qs_settings.xml
+++ b/packages/SystemUI/res/layout/qs_settings.xml
@@ -18,67 +18,79 @@
xmlns:systemui="http://schemas.android.com/apk/res-auto"
android:id="@+id/quick_settings_settings_recursion_container"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="16dp"
+ android:layout_height="match_parent"
android:orientation="vertical">
- <TextView
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="48dp"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
- android:gravity="center_vertical"
- android:textColor="@color/qs_title_text_color"
- android:text="@string/quick_settings_title_header"/>
-
- <!-- show weather -->
- <com.android.systemui.qs.QSBooleanSettingRow
- style="@style/SettingRow"
- android:key="status_bar_show_weather"
- android:title="@string/quick_settings_title_show_weather"
- systemui:defaultValue="1"
- systemui:table="cm_system"
- />
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <TextView
- android:layout_width="match_parent"
- android:layout_height="48dp"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
- android:gravity="center_vertical"
- android:textColor="@color/qs_title_text_color"
- android:text="@string/quick_settings_title_tiles"/>
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:gravity="center_vertical"
+ android:textColor="@color/qs_title_text_color"
+ android:text="@string/quick_settings_title_header"/>
- <!-- first row large -->
- <com.android.systemui.qs.QSBooleanSettingRow
- style="@style/SettingRow"
- android:title="@string/quick_settings_title_enlarge_first_row"
- android:key="sysui_qs_main_tiles"
- systemui:defaultValue="1"
- systemui:table="cm_secure" />
+ <!-- show weather -->
+ <com.android.systemui.qs.QSBooleanSettingRow
+ style="@style/SettingRow"
+ android:key="status_bar_show_weather"
+ android:title="@string/quick_settings_title_show_weather"
+ systemui:defaultValue="1"
+ systemui:table="cm_system"/>
- <com.android.systemui.qs.QSBooleanSettingRow
- style="@style/SettingRow"
- android:title="@string/quick_settings_title_advanced_location"
- android:key="qs_location_advanced"
- systemui:defaultValue="0"
- systemui:table="cm_secure" />
+ <!-- brightness slider -->
+ <com.android.systemui.qs.QSBooleanSettingRow
+ style="@style/SettingRow"
+ android:key="qs_show_brightness_slider"
+ android:title="@string/quick_settings_title_show_brightness_slider"
+ systemui:defaultValue="1"
+ systemui:table="cm_system"/>
- <LinearLayout
- android:id="@+id/reset_tiles"
- style="@style/SettingRow">
<TextView
- android:layout_width="0dp"
- android:layout_height="24dp"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
android:gravity="center_vertical"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:id="@+id/title"
- android:textColor="@color/qs_tile_reset_to_default_text_color"
- android:text="@string/quick_settings_tile_reset_to_default"
- android:contentDescription="@null"/>
+ android:textColor="@color/qs_title_text_color"
+ android:text="@string/quick_settings_title_tiles"/>
- </LinearLayout>
+ <!-- first row large -->
+ <com.android.systemui.qs.QSBooleanSettingRow
+ style="@style/SettingRow"
+ android:title="@string/quick_settings_title_enlarge_first_row"
+ android:key="sysui_qs_main_tiles"
+ systemui:defaultValue="1"
+ systemui:table="cm_secure"/>
+
+ <com.android.systemui.qs.QSBooleanSettingRow
+ style="@style/SettingRow"
+ android:title="@string/quick_settings_title_advanced_location"
+ android:key="qs_location_advanced"
+ systemui:defaultValue="0"
+ systemui:table="cm_secure"/>
+
+ <LinearLayout
+ android:id="@+id/reset_tiles"
+ style="@style/SettingRow">
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="24dp"
+ android:gravity="center_vertical"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+ android:id="@+id/title"
+ android:textColor="@color/qs_tile_reset_to_default_text_color"
+ android:text="@string/quick_settings_tile_reset_to_default"
+ android:contentDescription="@null"/>
+ </LinearLayout>
+
+ </LinearLayout>
</com.android.systemui.qs.QSSettings>
diff --git a/packages/SystemUI/res/layout/qs_tile_top.xml b/packages/SystemUI/res/layout/qs_tile_top.xml
index 4413ec3..a302c73 100644
--- a/packages/SystemUI/res/layout/qs_tile_top.xml
+++ b/packages/SystemUI/res/layout/qs_tile_top.xml
@@ -29,7 +29,7 @@
<LinearLayout
android:id="@+id/delete_container"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal">
@@ -48,7 +48,7 @@
<LinearLayout
android:id="@+id/edit_container"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal">
@@ -73,7 +73,7 @@
<TextView
android:id="@+id/qs_toast"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:gravity="center_vertical"
diff --git a/packages/SystemUI/res/values-af/cm_strings.xml b/packages/SystemUI/res/values-af/cm_strings.xml
index abfe144..f1202fc 100644
--- a/packages/SystemUI/res/values-af/cm_strings.xml
+++ b/packages/SystemUI/res/values-af/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Stelsel profiele</string>
<string name="quick_settings_profiles_off">Profiele is afgeskakel</string>
+ <string name="quick_settings_heads_up_label">Loer boodskap</string>
+ <string name="quick_settings_battery_saver_label">Battery bespaarder</string>
<string name="accessibility_quick_settings_sync_off">Sinchronisering af.</string>
<string name="accessibility_quick_settings_sync_on">Sinchronisering aan.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sinchronisering afgeskakel.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Omgewingstemperatuur vertoning aan.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Omgewingstemperatuur skerm vertoning is afgeskakel.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Omgewingstemperatuur skerm vertoning is aangeskakel.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Loer boodskap af.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Loer boodskap aan.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Loer boodskap is afgeskakel.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Loer boodskap is aangeskakel.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Battery bespaarder af.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Battery bespaarder aan.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Battery bespaarder afgeskakel.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Battery bespaarder aangeskakel.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinamiese teëls</string>
<string name="dynamic_qs_tile_next_alarm_label">Volgende alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">Kies IME</string>
diff --git a/packages/SystemUI/res/values-ar/cm_strings.xml b/packages/SystemUI/res/values-ar/cm_strings.xml
index 530e651..a59d14a 100644
--- a/packages/SystemUI/res/values-ar/cm_strings.xml
+++ b/packages/SystemUI/res/values-ar/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">ملفات تعريف النظام</string>
<string name="quick_settings_profiles_off">تعطيل ملفات التعريف</string>
+ <string name="quick_settings_heads_up_label">إنذار مسبق</string>
+ <string name="quick_settings_battery_saver_label">موفر البطارية</string>
<string name="accessibility_quick_settings_sync_off">تعطيل المزامنة. </string>
<string name="accessibility_quick_settings_sync_on">تشغيل المزامنة.</string>
<string name="accessibility_quick_settings_sync_changed_off">تم تعطيل المزامنة.</string>
@@ -83,6 +85,14 @@
<string name="accessibility_quick_settings_ambient_display_on">تشغيل العرض المحيط.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">تم تعطيل العرض المحيط.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">تم تشغيل العرض المحيط.</string>
+ <string name="accessibility_quick_settings_heads_up_off">تعطيل الإنذار المسبق.</string>
+ <string name="accessibility_quick_settings_heads_up_on">تشغيل الإنذار المسبق.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">تم تعطيل الإنذار المسبق.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">تم تشغيل الإنذار المسبق.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">إيقاف موفر البطارية.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">تشغيل موفر البطارية.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">تم ايقاف موفر البطارية.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">تشغيل موفر البطارية.</string>
<string name="quick_settings_dynamic_tile_detail_title">مربع ديناميكي</string>
<string name="dynamic_qs_tile_next_alarm_label">التنبيه المقبل</string>
<string name="dynamic_qs_tile_ime_selector_label">محدد IME</string>
diff --git a/packages/SystemUI/res/values-ast-rES/cm_strings.xml b/packages/SystemUI/res/values-ast-rES/cm_strings.xml
index 3ad2a27..9628bf6 100644
--- a/packages/SystemUI/res/values-ast-rES/cm_strings.xml
+++ b/packages/SystemUI/res/values-ast-rES/cm_strings.xml
@@ -42,6 +42,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Perfiles del sistema</string>
<string name="quick_settings_profiles_off">Perfiles deshabilitaos</string>
+ <string name="quick_settings_battery_saver_label">Aforrador d\'enerxía</string>
<string name="quick_settings_volume_panel_label">Panel de volume</string>
<string name="quick_settings_usb_tether_label">USB tethering</string>
<string name="quick_settings_screen_timeout_detail_title">Tiempu d\'espera</string>
diff --git a/packages/SystemUI/res/values-az-rAZ/cm_strings.xml b/packages/SystemUI/res/values-az-rAZ/cm_strings.xml
index 270e674..ac5ab8b 100644
--- a/packages/SystemUI/res/values-az-rAZ/cm_strings.xml
+++ b/packages/SystemUI/res/values-az-rAZ/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Sistem profilləri</string>
<string name="quick_settings_profiles_off">Profillər ləğv edildi</string>
+ <string name="quick_settings_heads_up_label">Açılan başlıqlar</string>
+ <string name="quick_settings_battery_saver_label">Batereyaya qənaət</string>
<string name="accessibility_quick_settings_sync_off">Eyniləşdirmə bağlıdır.</string>
<string name="accessibility_quick_settings_sync_on">Eyniləşdirmə açıqdır.</string>
<string name="accessibility_quick_settings_sync_changed_off">Eyniləşdirmə bağlanıldı.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Bildiriş ekranı açıqdır.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Bildiriş ekranı bağlanıldı.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Bildiriş ekranı açıldı.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Açılan başlıq bildirişi bağlıdır.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Açılan başlıq bildişi açıqdır.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Açılan başlıq bildirişi bağlanıldı.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Açılan başlıq bildirişi açıldı.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Batereyaya qənaət bağlıdır.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Batereyaya qənaət açıqdır.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Batereyaya qənaət bağlanıldı.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Batereyaya qənaət açıldı.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinamik kvadrat</string>
<string name="dynamic_qs_tile_next_alarm_label">Növbəti zəngli saat</string>
<string name="dynamic_qs_tile_ime_selector_label">IME seçici</string>
diff --git a/packages/SystemUI/res/values-ca/cm_strings.xml b/packages/SystemUI/res/values-ca/cm_strings.xml
index 156d380..6c16834 100644
--- a/packages/SystemUI/res/values-ca/cm_strings.xml
+++ b/packages/SystemUI/res/values-ca/cm_strings.xml
@@ -45,7 +45,7 @@
<string name="accessibility_quick_settings_profiles">Perfils: <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
<string name="accessibility_quick_settings_profiles_changed_off">S\'han desactivat els perfils.</string>
<string name="accessibility_quick_settings_profiles_changed">Perfil canviat a <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
- <string name="quick_settings_compass_init">Inicialitzant\u2026</string>
+ <string name="quick_settings_compass_init">S\'està inicialitzant\u2026</string>
<string name="led_notification_title">Ajustaments de llums</string>
<string name="led_notification_text">Llum LED habilitada per ajustos</string>
<string name="qs_tile_edit_header_instruction">Prem i aguanta les cel·les per reordenar-les</string>
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Perfils de sistema</string>
<string name="quick_settings_profiles_off">Perfils desactivats</string>
+ <string name="quick_settings_heads_up_label">Notificacions emergents</string>
+ <string name="quick_settings_battery_saver_label">Estalvi de bateria</string>
<string name="accessibility_quick_settings_sync_off">Sinc desactivada.</string>
<string name="accessibility_quick_settings_sync_on">Sinc activada.</string>
<string name="accessibility_quick_settings_sync_changed_off">S\'ha desactivat la sincronització.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Pantalla ambient activada.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">S\'ha desactivat la pantalla ambient.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">S\'ha activat la pantalla ambient.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Notificacions emergents apagades.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Notificacions emergents activades.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">S\'han apagat les notificacions emergents.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">S\'han encès les notificacions emergents.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Estalvi de bateria apagat.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Estalvi de bateria encès.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">S\'ha apagat l\'estalvi de bateria.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">S\'ha encès l\'estalvi de bateria.</string>
<string name="quick_settings_dynamic_tile_detail_title">Cel·la dinàmica</string>
<string name="dynamic_qs_tile_next_alarm_label">Propera alarma</string>
<string name="dynamic_qs_tile_ime_selector_label">Selector de l\'IME</string>
@@ -123,4 +133,7 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Informes d\'ubicació canviats al mode d\'estalvi d\'energia.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Informes d\'ubicació canviats al mode només sensors.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Informes d\'ubicació canviats al mode d\'alta precisió.</string>
+ <string name="quick_settings_tiles_category_system">Cel·les del sistema</string>
+ <string name="quick_settings_tiles_add_tiles">Afegeix una cel·la</string>
+ <string name="hotspot_apm_message">No es pot connectar a la xarxa mòbil mentre el mode Avió està habilitat. Deshabilita el mode Avió i intenta-ho de nou.</string>
</resources>
diff --git a/packages/SystemUI/res/values-cs/cm_strings.xml b/packages/SystemUI/res/values-cs/cm_strings.xml
index 3163ade..718a494 100644
--- a/packages/SystemUI/res/values-cs/cm_strings.xml
+++ b/packages/SystemUI/res/values-cs/cm_strings.xml
@@ -16,9 +16,13 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="accessibility_data_connection_hspap">HSPA+</string>
+ <string name="accessibility_data_connection_4g_plus">4G+</string>
<string name="status_bar_expanded_header_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string>
<string name="left_shortcut_hint">Přejeďte doprava pro %1$s</string>
<string name="right_shortcut_hint">Přejeďte doleva pro %1$s</string>
+ <string name="lockscreen_message">Dotykem na ikonu na levé nebo pravé straně zamykací obrazovky změňte zástupce.</string>
+ <string name="lockscreen_default_target">Výchozí</string>
<string name="select_application">Vybrat aplikaci</string>
<string name="lockscreen_choose_action_title">Zvolit akci</string>
<string name="lockscreen_none_target">Žádný</string>
@@ -36,11 +40,23 @@
<string name="advanced_dev_option_wipe_app">Vymazat data aplikací</string>
<string name="advanced_dev_option_force_stop">Vynutit ukončení</string>
<string name="advanced_dev_option_uninstall">Odinstalovat</string>
+ <string name="accessibility_notification_brightness">Jas podsvícení</string>
<string name="accessibility_quick_settings_profiles_off">Profily vyp.</string>
<string name="accessibility_quick_settings_profiles">Profil: <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
<string name="accessibility_quick_settings_profiles_changed_off">Profily vypnuty.</string>
<string name="accessibility_quick_settings_profiles_changed">Profil změněn na <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
<string name="quick_settings_compass_init">Inicializace\u2026</string>
+ <string name="led_notification_title">Nastavení jasu</string>
+ <string name="led_notification_text">LED světlo povoleno v nastavení</string>
+ <string name="qs_tile_edit_header_instruction">Stiskněte a podržte tlačítko dlaždice pro přeskupení</string>
+ <string name="quick_settings_edit_label">Úprava dlaždic</string>
+ <string name="quick_settings_cannot_delete_edit_tile">Dlaždici „Úprava dlaždic“ nelze odstranit</string>
+ <string name="qs_tiles_reset_confirmation">Obnovit výchozí dlaždice rychlého nastavení?</string>
+ <string name="quick_settings_tile_reset_to_default">Obnovit výchozí rozložení</string>
+ <string name="quick_settings_title_header">Záhlaví</string>
+ <string name="quick_settings_title_tiles">Dlaždice</string>
+ <string name="quick_settings_title_show_weather">Zobrazit počasí</string>
+ <string name="quick_settings_title_enlarge_first_row">Zvětšit první řádek</string>
<string name="screen_pinning_description_no_navbar">Zůstává zobrazeno, dokud není uvolněn. Dotykem a podržením tlačítka Zpět bude provedeno uvolnění.</string>
<string name="quick_settings_custom_tile_detail_title">Vlastní dlaždice</string>
<string name="quick_settings_remove">Odebrat dlaždici</string>
@@ -49,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systémové profily</string>
<string name="quick_settings_profiles_off">Profily zakázány</string>
+ <string name="quick_settings_heads_up_label">Plovoucí upozornění</string>
+ <string name="quick_settings_battery_saver_label">Spořič baterie</string>
<string name="accessibility_quick_settings_sync_off">Synch. vyp.</string>
<string name="accessibility_quick_settings_sync_on">Synch. zap.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synchronizace vypnuta.</string>
@@ -82,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambientní zobrazení zapnuto.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambientní zobrazení vypnuto.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambientní zobrazení zapnuto.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Plovoucí upozorněn vyp.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Plovoucí upozornění zap.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Plovoucí upozorněn vyp.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Plovoucí upozornění zap.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Spořič baterie vyp.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Spořič baterie zap.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Spořič baterie vypnut.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Spořič baterie zapnut.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamické dlaždice</string>
<string name="dynamic_qs_tile_next_alarm_label">Další budík</string>
<string name="dynamic_qs_tile_ime_selector_label">Výběr IME</string>
@@ -96,6 +122,7 @@
<string name="accessibility_quick_settings_live_display_changed_day">LiveDisplay změněn na režim ve dne.</string>
<string name="accessibility_quick_settings_live_display_changed_night">LiveDisplay změněn na režim v noci.</string>
<string name="accessibility_quick_settings_live_display_changed_outdoor">LiveDisplay změněn na režim venku.</string>
+ <string name="quick_settings_title_advanced_location">Třístavové nastavení určení polohy</string>
<string name="accessibility_quick_settings_location_battery_saving">Zjištění polohy: úsporný režim.</string>
<string name="accessibility_quick_settings_location_gps_only">Zjištění polohy: pouze GPS.</string>
<string name="accessibility_quick_settings_location_high_accuracy">Zjištění polohy: vysoká přesnost.</string>
@@ -106,4 +133,7 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Zjištění polohy změněno na úsporu baterie.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Zjištění polohy změněno na pouze GPS.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Zjištění polohy změněno na vysokou přesnost.</string>
+ <string name="quick_settings_tiles_category_system">Systémové dlaždice</string>
+ <string name="quick_settings_tiles_add_tiles">Přidat dlaždici</string>
+ <string name="hotspot_apm_message">Nelze se připojit k mobilním sítím při zapnutém režimu „V letadle“. Vypněte prosím tento režim a zkuste to znovu.</string>
</resources>
diff --git a/packages/SystemUI/res/values-da/cm_strings.xml b/packages/SystemUI/res/values-da/cm_strings.xml
index 3672bb7..b029398 100644
--- a/packages/SystemUI/res/values-da/cm_strings.xml
+++ b/packages/SystemUI/res/values-da/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systemprofiler</string>
<string name="quick_settings_profiles_off">Profiler deaktiveret</string>
+ <string name="quick_settings_heads_up_label">Svævende meddelelser</string>
+ <string name="quick_settings_battery_saver_label">Strømsparetilstand</string>
<string name="accessibility_quick_settings_sync_off">Synkr. fra.</string>
<string name="accessibility_quick_settings_sync_on">Synkr. til.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synkr. er slået fra.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Inaktivitetsvisning til.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Inaktivitetsvisning er slået fra.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Inaktivitetsvisning er slået til.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Svævende meddelelser fra.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Svævende meddelelser til.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Svævende meddelelser er slået fra.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Svævende meddelelser er slået til.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Strømsparetilstand fra.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Strømsparetilstand til.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Strømsparetilstand er slået fra.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Strømsparetilstand er slået til.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamisk flise</string>
<string name="dynamic_qs_tile_next_alarm_label">Næste alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME-vælger</string>
diff --git a/packages/SystemUI/res/values-de/cm_strings.xml b/packages/SystemUI/res/values-de/cm_strings.xml
index b3fc26f..b77a624 100644
--- a/packages/SystemUI/res/values-de/cm_strings.xml
+++ b/packages/SystemUI/res/values-de/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systemprofile</string>
<string name="quick_settings_profiles_off">Profile deaktiviert</string>
+ <string name="quick_settings_heads_up_label">Pop-up</string>
+ <string name="quick_settings_battery_saver_label">Akku-Sparmodus</string>
<string name="accessibility_quick_settings_sync_off">Sync aus.</string>
<string name="accessibility_quick_settings_sync_on">Sync an.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sync ausgeschaltet.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Inaktivitätsdisplay an.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Inaktivitätsdisplay ausgeschaltet.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Inaktivitätsdisplay eingeschaltet.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Pop-up aus.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Pop-up an.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Pop-up ausgeschaltet.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Pop-up eingeschaltet.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Akku-Sparmodus aus.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Akku-Sparmodus an.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Akku-Sparmodus ausgeschaltet.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Akku-Sparmodus eingeschaltet.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamische Kachel</string>
<string name="dynamic_qs_tile_next_alarm_label">Nächster Alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">Eingabemethode</string>
diff --git a/packages/SystemUI/res/values-el/cm_strings.xml b/packages/SystemUI/res/values-el/cm_strings.xml
index e8be8ff..4eff675 100644
--- a/packages/SystemUI/res/values-el/cm_strings.xml
+++ b/packages/SystemUI/res/values-el/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Προφίλ συστήματος</string>
<string name="quick_settings_profiles_off">Προφίλ απενεργοποιημένα</string>
+ <string name="quick_settings_heads_up_label">Αναδυόμενες ειδοποιήσεις</string>
+ <string name="quick_settings_battery_saver_label">Εξοικονόμηση μπαταρίας</string>
<string name="accessibility_quick_settings_sync_off">Ανενεργός συγχρονισμός.</string>
<string name="accessibility_quick_settings_sync_on">Ενεργός συγχρονισμός.</string>
<string name="accessibility_quick_settings_sync_changed_off">Ο συγχρονισμός απενεργοποιήθηκε.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ενεργή οθόνη ambient.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Η οθόνη ambient απενεργοποιήθηκε.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Η οθόνη ambient ενεργοποιήθηκε.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Ανενεργές αναδυόμενες ειδοποιήσεις.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Ενεργές αναδυόμενες ειδοποιήσεις.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Οι αναδυόμενες ειδοποιήσεις απενεργοποιήθηκαν.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Οι αναδυόμενες ειδοποιήσεις ενεργοποιήθηκαν.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Ανενεργή εξοικονόμηση μπαταρίας.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Ενεργή εξοικονόμηση μπαταρίας.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Η εξοικονόμηση μπαταρίας απενεργοποιήθηκε.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Η εξοικονόμηση μπαταρίας ενεργοποιήθηκε.</string>
<string name="quick_settings_dynamic_tile_detail_title">Δυναμικό πλακίδιο</string>
<string name="dynamic_qs_tile_next_alarm_label">Επόμενο ξυπνητήρι</string>
<string name="dynamic_qs_tile_ime_selector_label">Επιλογέας μεθόδου εισόδου</string>
@@ -125,4 +135,5 @@
<string name="accessibility_quick_settings_location_changed_high_accuracy">Η αναφορά τοποθεσίας άλλαξε σε λειτουργία υψηλής ακρίβειας.</string>
<string name="quick_settings_tiles_category_system">Πλακίδια συστήματος</string>
<string name="quick_settings_tiles_add_tiles">Προσθήκη πλακιδίου</string>
+ <string name="hotspot_apm_message">Δεν είναι δυνατή η σύνδεση με δίκτυα κινητής τηλεφωνίας ενώ είναι ενεργοποιημένη η λειτουργία πτήσης. Απενεργοποιήστε τη λειτουργία πτήσης και προσπαθήστε ξανά.</string>
</resources>
diff --git a/packages/SystemUI/res/values-en-rIN/cm_strings.xml b/packages/SystemUI/res/values-en-rIN/cm_strings.xml
index c4daae3..1e364db 100644
--- a/packages/SystemUI/res/values-en-rIN/cm_strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">System profiles</string>
<string name="quick_settings_profiles_off">Profiles disabled</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
+ <string name="quick_settings_battery_saver_label">Battery saver</string>
<string name="accessibility_quick_settings_sync_off">Sync off.</string>
<string name="accessibility_quick_settings_sync_on">Sync on.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sync turned off.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient display on.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient display turned off.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient display turned on.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up off.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up on.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up turned off.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up turned on.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Battery saver off.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Battery saver on.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Battery saver turned off.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Battery saver turned on.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamic tile</string>
<string name="dynamic_qs_tile_next_alarm_label">Next alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME selector</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Location reporting changed to battery saving mode.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Location reporting changed to sensors only mode.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Location reporting changed to high accuracy mode.</string>
+ <string name="quick_settings_tiles_category_system">System tiles</string>
+ <string name="quick_settings_tiles_add_tiles">Add a tile</string>
</resources>
diff --git a/packages/SystemUI/res/values-eo/cm_strings.xml b/packages/SystemUI/res/values-eo/cm_strings.xml
index 26ba687..e903d2b 100644
--- a/packages/SystemUI/res/values-eo/cm_strings.xml
+++ b/packages/SystemUI/res/values-eo/cm_strings.xml
@@ -49,6 +49,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Sistemaj profiloj</string>
<string name="quick_settings_profiles_off">Profiloj malŝaltitaj</string>
+ <string name="quick_settings_heads_up_label">Atentigoj</string>
<string name="accessibility_quick_settings_sync_off">Sinkronigado malaktiva.</string>
<string name="accessibility_quick_settings_sync_on">Sinkronigado aktiva.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sinkronigado malŝaltita.</string>
@@ -75,6 +76,10 @@
<string name="accessibility_quick_settings_ambient_display_on">Ĉirkaŭaĵa afiŝado aktiva.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ĉirkaŭaĵa afiŝado malŝaltita.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ĉirkaŭaĵa afiŝado ŝaltita.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Atentigoj malaktivaj.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Atentigoj aktivaj.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Atentigoj malŝaltitaj.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Atentigoj ŝaltitaj.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinamika kahelo</string>
<string name="dynamic_qs_tile_next_alarm_label">Venonta alarmo</string>
<string name="dynamic_qs_tile_ime_selector_label">IME elektilo</string>
diff --git a/packages/SystemUI/res/values-es/cm_strings.xml b/packages/SystemUI/res/values-es/cm_strings.xml
index bc72063..92425c1 100644
--- a/packages/SystemUI/res/values-es/cm_strings.xml
+++ b/packages/SystemUI/res/values-es/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Perfiles del sistema</string>
<string name="quick_settings_profiles_off">Perfiles desactivados</string>
+ <string name="quick_settings_heads_up_label">Notificaciones emergentes</string>
+ <string name="quick_settings_battery_saver_label">Modo de ahorro de batería</string>
<string name="accessibility_quick_settings_sync_off">Sincronización desactivada.</string>
<string name="accessibility_quick_settings_sync_on">Sincronización activada.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sincronización desactivada.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Pantalla ambiente activada.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Pantalla ambiente desactivada.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Pantalla ambiente activada.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Desactivar notificaciones emergentes.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Activar notificaciones emergentes.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Notificaciones emergentes desactivadas.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Notificaciones emergentes activadas.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Apagar modo de ahorro de batería.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Encender modo de ahorro de batería.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Modo de ahorro de batería apagado.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Modo de ahorro de batería encendido.</string>
<string name="quick_settings_dynamic_tile_detail_title">Control dinámico</string>
<string name="dynamic_qs_tile_next_alarm_label">Próxima alarma</string>
<string name="dynamic_qs_tile_ime_selector_label">Selector IME</string>
diff --git a/packages/SystemUI/res/values-et-rEE/cm_strings.xml b/packages/SystemUI/res/values-et-rEE/cm_strings.xml
index 4ff9808..2ba6e81 100644
--- a/packages/SystemUI/res/values-et-rEE/cm_strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/cm_strings.xml
@@ -49,6 +49,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Süsteemi profiilid</string>
<string name="quick_settings_profiles_off">Profiilid välja lülitatud</string>
+ <string name="quick_settings_heads_up_label">Etteteavitus</string>
<string name="accessibility_quick_settings_sync_off">Sünk väljas.</string>
<string name="accessibility_quick_settings_sync_on">Sünk sees.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sünk välja lülitatud.</string>
@@ -76,6 +77,10 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient kuva sees.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient kuva väljalülitatud.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient kuva sisselülitatud.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Etteteavitus väljas.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Etteteavitus sees.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Etteteavitus on väljalülitatud.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Etteteavitus on sisselülitatud.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dünaamiline plaat</string>
<string name="dynamic_qs_tile_next_alarm_label">Järgmine alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME valija</string>
diff --git a/packages/SystemUI/res/values-eu-rES/cm_strings.xml b/packages/SystemUI/res/values-eu-rES/cm_strings.xml
index 8b11af1c..ab852a1 100644
--- a/packages/SystemUI/res/values-eu-rES/cm_strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Sistema profilak</string>
<string name="quick_settings_profiles_off">Profilak ezgaituta</string>
+ <string name="quick_settings_heads_up_label">Jakinarazpen flotatzaileak</string>
+ <string name="quick_settings_battery_saver_label">Bateria aurrezlea</string>
<string name="accessibility_quick_settings_sync_off">Sinkronizazioa ezgaituta.</string>
<string name="accessibility_quick_settings_sync_on">Sinkronizazioa gaituta.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sinkronizazioa ezgaituta.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient display piztuta.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient display itzalita.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient display piztuta.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Jakinarazpen flotatzaileak ezgaituta.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Jakinarazpen flotatzaileak gaituta.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Jakinarazpen flotatzaileak ezgaituta.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Jakinarazpen flotatzaileak gaituta.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Bateria aurrezlea itzalita.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Bateria aurrezlea piztuta.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Bateria aurrezlea itzalita.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Bateria aurrezlea piztuta.</string>
<string name="quick_settings_dynamic_tile_detail_title">Lauza dinamikoa</string>
<string name="dynamic_qs_tile_next_alarm_label">Hurrengo alarma</string>
<string name="dynamic_qs_tile_ime_selector_label">IME hautatzailea</string>
@@ -123,4 +133,7 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Kokaleku txostena bateria aurrezteko modura aldatu da.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Kokaleku txostena sentsoreak besterik ez modura aldatu da.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Kokaleku txostena zehaztasun handiko modura aldatu da.</string>
+ <string name="quick_settings_tiles_category_system">Sistemaren lauzak</string>
+ <string name="quick_settings_tiles_add_tiles">Gehitu lauza bat</string>
+ <string name="hotspot_apm_message">Ezin da sare mugikorretara konektatu hegaldi modua gaituta dagoenean. Desgaitu hegaldi modua eta saiatu berriro.</string>
</resources>
diff --git a/packages/SystemUI/res/values-fa/cm_strings.xml b/packages/SystemUI/res/values-fa/cm_strings.xml
index 46df54b..030560e 100644
--- a/packages/SystemUI/res/values-fa/cm_strings.xml
+++ b/packages/SystemUI/res/values-fa/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">ان‌اف‌سی</string>
<string name="quick_settings_profiles">پروفایل‌ها</string>
<string name="quick_settings_profiles_off">پروفایل‌ها غیرفعالند</string>
+ <string name="quick_settings_heads_up_label">اعلان فوری</string>
+ <string name="quick_settings_battery_saver_label">بهینه‌ساز باتری</string>
<string name="accessibility_quick_settings_sync_off">همگام‌سازی خاموش.</string>
<string name="accessibility_quick_settings_sync_on">همگام‌سازی روشن.</string>
<string name="accessibility_quick_settings_sync_changed_off">همگام‌سازی خاموش شد.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">نمایش حساس به محیط روشن.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">نمایش حساس به محیط خاموش شد.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">نمایش حساس به محیط روشن شد.</string>
+ <string name="accessibility_quick_settings_heads_up_off">اعلان فوری خاموش.</string>
+ <string name="accessibility_quick_settings_heads_up_on">اعلان فوری روشن.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">اعلان فوری خاموش شد.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">اعلان فوری روشن شد.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">بهینه‌ساز باتری خاموش.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">بهینه‌ساز باتری روشن.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">بهینه‌ساز باتری خاموش شد.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">بهینه‌ساز باتری روشن شد.</string>
<string name="quick_settings_dynamic_tile_detail_title">کاشی پویا</string>
<string name="dynamic_qs_tile_next_alarm_label">هشدار بعدی</string>
<string name="dynamic_qs_tile_ime_selector_label">انتخابگر تغییر روش ورودی</string>
diff --git a/packages/SystemUI/res/values-fi/cm_strings.xml b/packages/SystemUI/res/values-fi/cm_strings.xml
index c7a44f9..0f9065c 100644
--- a/packages/SystemUI/res/values-fi/cm_strings.xml
+++ b/packages/SystemUI/res/values-fi/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Järjestelmäprofiilit</string>
<string name="quick_settings_profiles_off">Profiilit pois käytöstä</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
+ <string name="quick_settings_battery_saver_label">Virransäästö</string>
<string name="accessibility_quick_settings_sync_off">Synkronointi pois.</string>
<string name="accessibility_quick_settings_sync_on">Synkronointi päällä.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synkronointi pois päältä.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient-näyttö päällä.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient-näyttö pois päältä.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient-näyttö päällä.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up pois.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up päällä.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up pois päältä.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up päällä.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Virransäästö pois.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Virransäästö päällä.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Virransäästö pois käytöstä.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Virransäästö käytössä.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynaamiset tiilet</string>
<string name="dynamic_qs_tile_next_alarm_label">Seuraava hälytys</string>
<string name="dynamic_qs_tile_ime_selector_label">Syöttötavan valitsin</string>
diff --git a/packages/SystemUI/res/values-fr/cm_strings.xml b/packages/SystemUI/res/values-fr/cm_strings.xml
index cda12e5..fac0d72 100644
--- a/packages/SystemUI/res/values-fr/cm_strings.xml
+++ b/packages/SystemUI/res/values-fr/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Profils système</string>
<string name="quick_settings_profiles_off">Profils désactivés</string>
+ <string name="quick_settings_heads_up_label">Notifications flottantes</string>
+ <string name="quick_settings_battery_saver_label">Économiseur de batterie</string>
<string name="accessibility_quick_settings_sync_off">Synchronisation désactivée.</string>
<string name="accessibility_quick_settings_sync_on">Synchronisation activée.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synchronisation désactivée.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Affichage ambiant activé.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Affichage ambiant désactivé.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Affichage ambiant activé.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Notifications flottantes désactivées.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Notifications flottantes activées.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Notifications flottantes désactivées.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Notifications flottantes activées.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Économiseur de batterie désactivé.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Économiseur de batterie activé.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">L\'économiseur de batterie a été désactivé.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">L\'économiseur de batterie a été activé.</string>
<string name="quick_settings_dynamic_tile_detail_title">Raccourcis dynamiques</string>
<string name="dynamic_qs_tile_next_alarm_label">Prochaine alarme</string>
<string name="dynamic_qs_tile_ime_selector_label">Mode de saisie</string>
diff --git a/packages/SystemUI/res/values-gl-rES/cm_strings.xml b/packages/SystemUI/res/values-gl-rES/cm_strings.xml
index 1d0a344..d0d1af6 100644
--- a/packages/SystemUI/res/values-gl-rES/cm_strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Perfís do sistema</string>
<string name="quick_settings_profiles_off">Perfís desactivados</string>
+ <string name="quick_settings_heads_up_label">Notificacións emerxentes</string>
+ <string name="quick_settings_battery_saver_label">Economizador da bateria</string>
<string name="accessibility_quick_settings_sync_off">Sincronización apagada.</string>
<string name="accessibility_quick_settings_sync_on">Sincronización acesa.</string>
<string name="accessibility_quick_settings_sync_changed_off">A sincronización foi apagada.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Visualización de ambiente activada.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">A visualización de ambiente foi desactivada.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">A visualización de ambiente foi activada.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Notificacións emerxentes desactivadas.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Notificacións emerxentes activadas.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">As notificacións emerxentes foron desactivadas.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">As notificacións emerxentes foron activadas.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Economizador da batería apagado.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Economizador da bateria aceso.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">O economizador da batería foi apagado.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">O economizador da batería foi acendido.</string>
<string name="quick_settings_dynamic_tile_detail_title">Botón dinámico</string>
<string name="dynamic_qs_tile_next_alarm_label">Próxima alarma</string>
<string name="dynamic_qs_tile_ime_selector_label">Selector IME</string>
diff --git a/packages/SystemUI/res/values-hi/cm_strings.xml b/packages/SystemUI/res/values-hi/cm_strings.xml
index e1d0904..fd86432 100644
--- a/packages/SystemUI/res/values-hi/cm_strings.xml
+++ b/packages/SystemUI/res/values-hi/cm_strings.xml
@@ -49,6 +49,7 @@
<string name="quick_settings_nfc_label">एनएफसी</string>
<string name="quick_settings_profiles">सिस्टम प्रोफ़ाइलें</string>
<string name="quick_settings_profiles_off">प्रोफ़ाइलें अक्षम हैं</string>
+ <string name="quick_settings_heads_up_label">हेड्स अप।</string>
<string name="accessibility_quick_settings_sync_off">संकालन बंद है।</string>
<string name="accessibility_quick_settings_sync_on">संकालन चालू है।</string>
<string name="accessibility_quick_settings_sync_changed_off">संकालन को बंद किया गया है।</string>
@@ -75,6 +76,10 @@
<string name="accessibility_quick_settings_ambient_display_on">परिवेशी प्रदर्शन चालू है।</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">परिवेशी प्रदर्शन को बंद किया गया है।</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">परिवेशी प्रदर्शन को चालू किया गया।</string>
+ <string name="accessibility_quick_settings_heads_up_off">हेड्स अप बंद है।</string>
+ <string name="accessibility_quick_settings_heads_up_on">हेड्स अप चालू है।</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">हेड्स अप को बंद किया गया है।</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">हेड्स अप को चालू किया गया।</string>
<string name="quick_settings_dynamic_tile_detail_title">गतिशील टाइल</string>
<string name="dynamic_qs_tile_next_alarm_label">अलगा अलार्म</string>
<string name="dynamic_qs_tile_ime_selector_label">आईएमई चयनक</string>
diff --git a/packages/SystemUI/res/values-hr/cm_strings.xml b/packages/SystemUI/res/values-hr/cm_strings.xml
index 302eb54..87f1d25 100644
--- a/packages/SystemUI/res/values-hr/cm_strings.xml
+++ b/packages/SystemUI/res/values-hr/cm_strings.xml
@@ -18,14 +18,14 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="accessibility_data_connection_hspap">HSPA+</string>
<string name="accessibility_data_connection_4g_plus">4G+</string>
- <string name="status_bar_expanded_header_weather_format">%1$s - %2$s</string>
+ <string name="status_bar_expanded_header_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string>
<string name="left_shortcut_hint">Kliznite desno za %1$s</string>
<string name="right_shortcut_hint">Kliznite lijevo za %1$s</string>
- <string name="lockscreen_message">Dodirnite ikonu na lijevo ili desno kako bi preraspodijelili prečac zaključanog zaslona .</string>
+ <string name="lockscreen_message">Dodirnite ikonu na lijevo ili desno kako bi preraspodijelili prečac zaključanog zaslona.</string>
<string name="lockscreen_default_target">Zadano</string>
<string name="select_application">Odaberite aplikaciju</string>
<string name="lockscreen_choose_action_title">Odaberite radnju</string>
- <string name="lockscreen_none_target">Ništa</string>
+ <string name="lockscreen_none_target">Nijedan</string>
<string name="navbar_dialog_title">Odaberi radnju</string>
<string name="navbar_home_button">Home tipka</string>
<string name="navbar_recent_button">Tipka nedavno</string>
@@ -51,11 +51,11 @@
<string name="qs_tile_edit_header_instruction">Pritisnite i držite pločicu za uređivanje</string>
<string name="quick_settings_edit_label">Uredi pločice</string>
<string name="quick_settings_cannot_delete_edit_tile">Nije moguće obrisati Uredi pločice</string>
- <string name="qs_tiles_reset_confirmation">Resetirati pločice brzih postavki na zadano?</string>
+ <string name="qs_tiles_reset_confirmation">Vratiti pločice brzih postavki na zadano?</string>
<string name="quick_settings_tile_reset_to_default">Vraćanje na zadani izgled</string>
<string name="quick_settings_title_header">Zaglavlje</string>
<string name="quick_settings_title_tiles">Pločice</string>
- <string name="quick_settings_title_show_weather">Pokaži vrijeme</string>
+ <string name="quick_settings_title_show_weather">Pokaži prognozu</string>
<string name="quick_settings_title_enlarge_first_row">Povećaj prvi red</string>
<string name="screen_pinning_description_no_navbar">Ovo drži u pogledu dok ne otkvačite. Dodirnite i držite gumb natrag da bi otkvačili.</string>
<string name="quick_settings_custom_tile_detail_title">Prilagodljive pločice</string>
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Profili sustava</string>
<string name="quick_settings_profiles_off">Profili onemogućeni</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
+ <string name="quick_settings_battery_saver_label">Ušteda baterije</string>
<string name="accessibility_quick_settings_sync_off">Sinkronizacija isključena.</string>
<string name="accessibility_quick_settings_sync_on">Sinkronizacija uključena.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sinkronizacija je isključena.</string>
@@ -98,8 +100,16 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambijentni zaslon uključen.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambijentni zaslon je isključen.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambijentni zaslon je uključen.</string>
- <string name="quick_settings_dynamic_tile_detail_title">Dinamičke pločice</string>
- <string name="dynamic_qs_tile_next_alarm_label">Slijedeći alarm</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up isključen.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up uključen.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up je isključen.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up je uključen.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Ušteda baterije isključena.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Ušteda baterije uključena.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Ušteda baterije je isključena.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Ušteda baterije je uključena.</string>
+ <string name="quick_settings_dynamic_tile_detail_title">Dinamične pločice</string>
+ <string name="dynamic_qs_tile_next_alarm_label">Sljedeći alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME za odabir</string>
<string name="dynamic_qs_tile_su_label">Root pristup</string>
<string name="accessibility_quick_settings_live_display_off">LiveDisplay isključen.</string>
@@ -107,7 +117,7 @@
<string name="accessibility_quick_settings_live_display_day">LiveDisplay: dnevni način.</string>
<string name="accessibility_quick_settings_live_display_night">LiveDisplay: noćni način.</string>
<string name="accessibility_quick_settings_live_display_outdoor">LiveDisplay: vanjski način.</string>
- <string name="accessibility_quick_settings_live_display_changed_off">LiveDisplay isključeno.</string>
+ <string name="accessibility_quick_settings_live_display_changed_off">LiveDisplay isključen.</string>
<string name="accessibility_quick_settings_live_display_changed_auto">LiveDisplay promijenjen u auto.</string>
<string name="accessibility_quick_settings_live_display_changed_day">LiveDisplay promijenjen u dnevni način.</string>
<string name="accessibility_quick_settings_live_display_changed_night">LiveDisplay promijenjen u noćni način rada.</string>
@@ -120,7 +130,7 @@
<string name="quick_settings_location_battery_saving_label">Štednja baterije</string>
<string name="quick_settings_location_gps_only_label">Samo uređaj</string>
<string name="quick_settings_location_high_accuracy_label">Visoka preciznost</string>
- <string name="accessibility_quick_settings_location_changed_battery_saving">Prijavljivanje lokacije promijenjeno u način uštednje baterije.</string>
+ <string name="accessibility_quick_settings_location_changed_battery_saving">Prijavljivanje lokacije promijenjeno u način uštede baterije.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Prijavljivanje lokacije promijenjeno u samo senzori.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Prijavljivanje lokacije promijenjeno u način visoke preciznosti.</string>
<string name="quick_settings_tiles_category_system">Sistemske pločice</string>
diff --git a/packages/SystemUI/res/values-hu/cm_strings.xml b/packages/SystemUI/res/values-hu/cm_strings.xml
index d185af0..20dc86e 100644
--- a/packages/SystemUI/res/values-hu/cm_strings.xml
+++ b/packages/SystemUI/res/values-hu/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Rendszer profilok</string>
<string name="quick_settings_profiles_off">Profilok letiltva</string>
+ <string name="quick_settings_heads_up_label">Lebegő értesítés</string>
+ <string name="quick_settings_battery_saver_label">Akkumulátor kímélő</string>
<string name="accessibility_quick_settings_sync_off">Szinkronizálás ki.</string>
<string name="accessibility_quick_settings_sync_on">Szinkronizálás be.</string>
<string name="accessibility_quick_settings_sync_changed_off">Szinkronizálás kikapcsolva.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Környezeti kijelző be.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Környezeti kijelző kikapcsolva.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Környezeti kijelző bekapcsolva.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Lebegő értesítés ki.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Lebegő értesítés be.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Lebegő értesítés kikapcsolva.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Lebegő értesítés bekapcsolva.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Akkumulátor kímélő ki.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Akkumulátor kímélő be.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Akkumulátor kímélő kikapcsolva.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Akkumulátor kímélő bekapcsolva.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinamikus csempe</string>
<string name="dynamic_qs_tile_next_alarm_label">Következő riasztás</string>
<string name="dynamic_qs_tile_ime_selector_label">IME választó</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Helymeghatározás jelentése energiatakarékosra változtatva.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Helymeghatározás jelentése csak GPS-re változtatva.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Helymeghatározás jelentése nagyon pontosra változtatva.</string>
+ <string name="quick_settings_tiles_category_system">Rendszer csempék</string>
+ <string name="quick_settings_tiles_add_tiles">Csempe hozzáadása</string>
</resources>
diff --git a/packages/SystemUI/res/values-in/cm_strings.xml b/packages/SystemUI/res/values-in/cm_strings.xml
index 7ee285e..f7c1570 100644
--- a/packages/SystemUI/res/values-in/cm_strings.xml
+++ b/packages/SystemUI/res/values-in/cm_strings.xml
@@ -49,6 +49,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Profil sistem</string>
<string name="quick_settings_profiles_off">Profil dinonaktifkan</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
<string name="accessibility_quick_settings_sync_off">Singkron mati.</string>
<string name="accessibility_quick_settings_sync_on">Singkron aktif.</string>
<string name="accessibility_quick_settings_sync_changed_off">Singkron dimatikan.</string>
@@ -75,6 +76,10 @@
<string name="accessibility_quick_settings_ambient_display_on">Tampilan Ambient aktif.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Tampilan Ambient dinonaktifkan.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Tampilan Ambient diaktifkan.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up nonaktif.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up aktif.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up dinonaktifkan.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up diaktifkan.</string>
<string name="quick_settings_dynamic_tile_detail_title">Petak Dinamis</string>
<string name="dynamic_qs_tile_next_alarm_label">Alarm selanjutnya</string>
<string name="dynamic_qs_tile_ime_selector_label">Pemilih IME</string>
diff --git a/packages/SystemUI/res/values-it/cm_strings.xml b/packages/SystemUI/res/values-it/cm_strings.xml
index 94b0ab6..b0ff2b7 100644
--- a/packages/SystemUI/res/values-it/cm_strings.xml
+++ b/packages/SystemUI/res/values-it/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Profili di sistema</string>
<string name="quick_settings_profiles_off">Profili disattivati</string>
+ <string name="quick_settings_heads_up_label">Heads Up</string>
+ <string name="quick_settings_battery_saver_label">Risparmio batteria</string>
<string name="accessibility_quick_settings_sync_off">Sincronia OFF</string>
<string name="accessibility_quick_settings_sync_on">Sincronizzazione attiva.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sincronizzazione spenta.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient display attivato.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient display disattivato.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient display attivato.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads Up disattivo.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads Up attivo.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads Up disattivato.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads Up attivato.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Risparmio batteria OFF.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Risparmio batteria ON.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Risparmio batteria disattivato.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Risparmio batteria attivato.</string>
<string name="quick_settings_dynamic_tile_detail_title">Tile dinamici</string>
<string name="dynamic_qs_tile_next_alarm_label">Prossima sveglia</string>
<string name="dynamic_qs_tile_ime_selector_label">Selettore IME</string>
@@ -125,4 +135,5 @@
<string name="accessibility_quick_settings_location_changed_high_accuracy">Segnalatore posizione cambiato in modalità alta precisione.</string>
<string name="quick_settings_tiles_category_system">Tile di sistema</string>
<string name="quick_settings_tiles_add_tiles">Aggiungi tile</string>
+ <string name="hotspot_apm_message">Impossibile connettersi alle reti mobili quando la modalità aereo è attiva. Disattiva la modalità aereo e riprova.</string>
</resources>
diff --git a/packages/SystemUI/res/values-iw/cm_strings.xml b/packages/SystemUI/res/values-iw/cm_strings.xml
index fea5506..16b1276 100644
--- a/packages/SystemUI/res/values-iw/cm_strings.xml
+++ b/packages/SystemUI/res/values-iw/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">פרופילי מערכת</string>
<string name="quick_settings_profiles_off">פרופילים מושבתים</string>
+ <string name="quick_settings_heads_up_label">התראות קופצת</string>
+ <string name="quick_settings_battery_saver_label">שומר סוללה</string>
<string name="accessibility_quick_settings_sync_off">סנכרון כבוי.</string>
<string name="accessibility_quick_settings_sync_on">סנכרון פעיל.</string>
<string name="accessibility_quick_settings_sync_changed_off">סנכרון כובה.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">תצוגת התראות ברקע פעילה.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">תצוגת התראות ברקע כובתה.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">תצוגת התראות ברקע הופעלה.</string>
+ <string name="accessibility_quick_settings_heads_up_off">התראות קופצות כבויות.</string>
+ <string name="accessibility_quick_settings_heads_up_on">התראות קופצות פעילות.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">התראות קופצות כובו.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">התראות קופצות הופעלו.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">שומר סוללה כבוי.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">שומר סוללה פעיל.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">שומר סוללה כובה.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">שומר סוללה הופעל.</string>
<string name="quick_settings_dynamic_tile_detail_title">אריחים דינמיים</string>
<string name="dynamic_qs_tile_next_alarm_label">ההתראה הבאה</string>
<string name="dynamic_qs_tile_ime_selector_label">בורר שיטות קלט</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">דיווח מיקום השתנה למצב חיסכון סוללה.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">דיווח מיקום השתנה למצב חיישנים בלבד.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">דיווח מיקום השתנה למצב דיוק גבוה.</string>
+ <string name="quick_settings_tiles_category_system">אריחי מערכת</string>
+ <string name="quick_settings_tiles_add_tiles">הוסף אריח</string>
</resources>
diff --git a/packages/SystemUI/res/values-ja/cm_strings.xml b/packages/SystemUI/res/values-ja/cm_strings.xml
index 1220657..1733c31 100644
--- a/packages/SystemUI/res/values-ja/cm_strings.xml
+++ b/packages/SystemUI/res/values-ja/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">システムプロファイル</string>
<string name="quick_settings_profiles_off">プロファイル無効</string>
+ <string name="quick_settings_heads_up_label">ヘッドアップ</string>
+ <string name="quick_settings_battery_saver_label">バッテリーセーバー</string>
<string name="accessibility_quick_settings_sync_off">同期はOFFです。</string>
<string name="accessibility_quick_settings_sync_on">同期はONです。</string>
<string name="accessibility_quick_settings_sync_changed_off">同期がOFFになりました。</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">アンビエント表示はONです。</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">アンビエント表示がOFFになりました。</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">アンビエント表示がONになりました。</string>
+ <string name="accessibility_quick_settings_heads_up_off">ヘッドアップはOFFです。</string>
+ <string name="accessibility_quick_settings_heads_up_on">ヘッドアップはONです。</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">ヘッドアップがOFFになりました。</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">ヘッドアップがONになりました。</string>
+ <string name="accessibility_quick_settings_battery_saver_off">バッテリーセーバーはOFFです。</string>
+ <string name="accessibility_quick_settings_battery_saver_on">バッテリーセーバーはONです。</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">バッテリーセーバーがOFFになりました。</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">バッテリーセーバーがONになりました。</string>
<string name="quick_settings_dynamic_tile_detail_title">自動タイル</string>
<string name="dynamic_qs_tile_next_alarm_label">次のアラーム</string>
<string name="dynamic_qs_tile_ime_selector_label">入力方法の選択</string>
diff --git a/packages/SystemUI/res/values-kn-rIN/cm_strings.xml b/packages/SystemUI/res/values-kn-rIN/cm_strings.xml
index 8fd7e5e..396cb3a 100644
--- a/packages/SystemUI/res/values-kn-rIN/cm_strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">ಸಿಸ್ಟಂ ಪ್ರೊಫೈಲ್ಸ್</string>
<string name="quick_settings_profiles_off">ಪ್ರೊಫೈಲ್ಸ್ ನಿಷ್ಕ್ರೀಯಗೊಂಡಿದೆ</string>
+ <string name="quick_settings_heads_up_label">ಹೆಡ್ಸ್ ಅಪ್</string>
+ <string name="quick_settings_battery_saver_label">ಬ್ಯಾಟರಿ ಉಳಿತಾಯ</string>
<string name="accessibility_quick_settings_sync_off">ಸಿಂಕ್ ಆಫ್.</string>
<string name="accessibility_quick_settings_sync_on">ಸಿಂಕ್ ಆನ್.</string>
<string name="accessibility_quick_settings_sync_changed_off">ಸಿಂಕ್ ಆಫ್ ಆಗಿದೆ.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">ಆವರಿಸಿದ ಪರದೆ ಆನ್.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">ಆವರಿಸಿದ ಪರದೆ ಆಫ್ ಆಗಿದೆ.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">ಆವರಿಸಿದ ಪರದೆ ಆನ್ ಆಗಿದೆ.</string>
+ <string name="accessibility_quick_settings_heads_up_off">ಹೆಡ್ಸ್ ಅಪ್ ಆಫ್.</string>
+ <string name="accessibility_quick_settings_heads_up_on">ಹೆಡ್ಸ್ ಅಪ್ ಆನ್.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">ಹೆಡ್ಸ್ ಅಪ್ ಆಫ್ ಆಗಿದೆ.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">ಹೆಡ್ಸ್ ಅಪ್ ಆನ್ ಆಗಿದೆ.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">ಬ್ಯಾಟರಿ ಉಳಿತಾಯ ಆಫ್.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">ಬ್ಯಾಟರಿ ಉಳಿತಾಯ ಆನ್.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">ಬ್ಯಾಟರಿ ಉಳಿತಾಯ ಆಫ್ ಆಗಿದೆ.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">ಬ್ಯಾಟರಿ ಉಳಿತಾಯ ಆನ್ ಆಗಿದೆ.</string>
<string name="quick_settings_dynamic_tile_detail_title">ಕ್ರಿಯಾತ್ಮಕ ಟೈಲ್</string>
<string name="dynamic_qs_tile_next_alarm_label">ಮುಂದಿನ ಅಲಾರಂ</string>
<string name="dynamic_qs_tile_ime_selector_label">ಇಎಂಇ ಆಯ್ಕೆ</string>
diff --git a/packages/SystemUI/res/values-ko/cm_strings.xml b/packages/SystemUI/res/values-ko/cm_strings.xml
index cdd0792..35db63a 100644
--- a/packages/SystemUI/res/values-ko/cm_strings.xml
+++ b/packages/SystemUI/res/values-ko/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">시스템 프로필</string>
<string name="quick_settings_profiles_off">프로필 사용 안 함</string>
+ <string name="quick_settings_heads_up_label">헤드업 알림</string>
+ <string name="quick_settings_battery_saver_label">배터리 절약</string>
<string name="accessibility_quick_settings_sync_off">동기화 꺼짐</string>
<string name="accessibility_quick_settings_sync_on">동기화 켜짐</string>
<string name="accessibility_quick_settings_sync_changed_off">동기화가 해제되었습니다.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">절전 모드 자동 해제가 켜짐.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">절전 모드 자동 해제가 꺼졌습니다.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">절전 모드 자동 해제가 켜졌습니다.</string>
+ <string name="accessibility_quick_settings_heads_up_off">헤드업 알림이 꺼짐.</string>
+ <string name="accessibility_quick_settings_heads_up_on">헤드업 알림이 켜짐.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">헤드업 알림이 꺼졌습니다.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">헤드업 알림이 켜졌습니다.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">배터리 절약 끔.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">배터리 절약 킴.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">배터리 절약이 꺼졌습니다.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">배터리 절약이 켜졌습니다.</string>
<string name="quick_settings_dynamic_tile_detail_title">동적 타일</string>
<string name="dynamic_qs_tile_next_alarm_label">다음 알람</string>
<string name="dynamic_qs_tile_ime_selector_label">입력 방법 선택</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">위치 보고가 배터리 절약 모드로 바뀜.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">위치 보고가 기기 전용 모드로 바뀜.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">위치 보고가 높은 정확도 모드로 바뀜.</string>
+ <string name="quick_settings_tiles_category_system">시스템 타일</string>
+ <string name="quick_settings_tiles_add_tiles">타일 추가</string>
</resources>
diff --git a/packages/SystemUI/res/values-ku/cm_strings.xml b/packages/SystemUI/res/values-ku/cm_strings.xml
index 018c4c3..59f8c53 100644
--- a/packages/SystemUI/res/values-ku/cm_strings.xml
+++ b/packages/SystemUI/res/values-ku/cm_strings.xml
@@ -45,6 +45,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">زانیاری تایبەتیەکانی سیستەم</string>
<string name="quick_settings_profiles_off">زانیاری تایبەتی ناچالاکە</string>
+ <string name="quick_settings_heads_up_label">فه‌رمووه‌کان</string>
<string name="quick_settings_usb_tether_label">گرتنەدەستی USB</string>
<string name="quick_settings_screen_timeout_detail_title">کاتی شاشە</string>
<string name="quick_settings_lockscreen_label">قفڵی شاشە</string>
diff --git a/packages/SystemUI/res/values-lb/cm_strings.xml b/packages/SystemUI/res/values-lb/cm_strings.xml
index 9da6cb9..d69da04 100644
--- a/packages/SystemUI/res/values-lb/cm_strings.xml
+++ b/packages/SystemUI/res/values-lb/cm_strings.xml
@@ -16,9 +16,13 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="accessibility_data_connection_hspap">HSPA+</string>
+ <string name="accessibility_data_connection_4g_plus">4G+</string>
<string name="status_bar_expanded_header_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string>
<string name="left_shortcut_hint">No riets wësche fir %1$s</string>
<string name="right_shortcut_hint">No lénks wësche fir %1$s</string>
+ <string name="lockscreen_message">Dréck e Symbol op der lénkser oder rietser Säit fir d\'Spärschierm-Ofkierzungen nei ze definéieren.</string>
+ <string name="lockscreen_default_target">Standard</string>
<string name="select_application">App auswielen</string>
<string name="lockscreen_choose_action_title">Aktioun auswielen</string>
<string name="lockscreen_none_target">Keen</string>
@@ -36,11 +40,23 @@
<string name="advanced_dev_option_wipe_app">Applikatiounsdate läschen</string>
<string name="advanced_dev_option_force_stop">Zoumaachen zwéngen</string>
<string name="advanced_dev_option_uninstall">Desinstalléieren</string>
+ <string name="accessibility_notification_brightness">Hellegkeet</string>
<string name="accessibility_quick_settings_profiles_off">Profiller aus.</string>
<string name="accessibility_quick_settings_profiles">Profil: <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
<string name="accessibility_quick_settings_profiles_changed_off">Profiller ausgeschalt.</string>
<string name="accessibility_quick_settings_profiles_changed">Profil op <xliff:g id="profile" example="Default">%s</xliff:g> geännert.</string>
<string name="quick_settings_compass_init">Initialiséieren\u2026</string>
+ <string name="led_notification_title">Hellegkeetsastellungen</string>
+ <string name="led_notification_text">Notifikatiounsluucht duerch Astellungen aktivéieren</string>
+ <string name="qs_tile_edit_header_instruction">Dréck an haalt d\'Kachelen, fir se nei zouzeuerdnen</string>
+ <string name="quick_settings_edit_label">Kachelen änneren</string>
+ <string name="quick_settings_cannot_delete_edit_tile">\"Kachelen änneren\" kann net geläscht ginn</string>
+ <string name="qs_tiles_reset_confirmation">Kachele vun de Séieren Astellungen op de Standardlayout zrécksetzen?</string>
+ <string name="quick_settings_tile_reset_to_default">Zréck op den Standardlayout setzen</string>
+ <string name="quick_settings_title_header">Entête</string>
+ <string name="quick_settings_title_tiles">Kachelen</string>
+ <string name="quick_settings_title_show_weather">Wieder uweisen</string>
+ <string name="quick_settings_title_enlarge_first_row">Éischt Rei vergréisseren</string>
<string name="screen_pinning_description_no_navbar">Doduerch bleift d\'App visibel bis se lassgeléist gëtt. Dréck den Zréck-Knäppchen an hal e gedréckt fir d\'App lasszeléisen.</string>
<string name="quick_settings_custom_tile_detail_title">Eege Kachel</string>
<string name="quick_settings_remove">Kachel läschen</string>
@@ -49,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systemprofiller</string>
<string name="quick_settings_profiles_off">Profiller desaktivéiert</string>
+ <string name="quick_settings_heads_up_label">Pop-Up-Notifikatiounen</string>
+ <string name="quick_settings_battery_saver_label">Akkuschouner</string>
<string name="accessibility_quick_settings_sync_off">Synchronisatioun aus.</string>
<string name="accessibility_quick_settings_sync_on">Synchronisatioun un.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synchronisatioun ausgeschalt.</string>
@@ -82,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambiente Schierm un.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambiente Schierm ausgeschalt.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambiente Schierm ugeschalt.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Pop-Up-Notifikatiounen aus.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Pop-Up-Notifikatiounen un.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Pop-Up-Notifikatiounen ausgeschalt.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Pop-Up-Notifikatiounen ugeschalt.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Akkuschouner aus.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Akkuschouner un.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Akkuschouner ausgeschalt.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Akkuschouner ugeschalt.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamesch Kachelen</string>
<string name="dynamic_qs_tile_next_alarm_label">Nächste Wecker</string>
<string name="dynamic_qs_tile_ime_selector_label">Method fir anzeginn</string>
@@ -96,6 +122,7 @@
<string name="accessibility_quick_settings_live_display_changed_day">LiveDisplay-Modus op \"Dag\" geännert.</string>
<string name="accessibility_quick_settings_live_display_changed_night">LiveDisplay-Modus op \"Nuecht\" geännert.</string>
<string name="accessibility_quick_settings_live_display_changed_outdoor">LiveDisplay-Modus op \"Dobaussen\" geännert.</string>
+ <string name="quick_settings_title_advanced_location">Standuert mat dräi Zoustänn</string>
<string name="accessibility_quick_settings_location_battery_saving">Standuertbericht: Akku spueren.</string>
<string name="accessibility_quick_settings_location_gps_only">Standuertbericht: Just Sensoren.</string>
<string name="accessibility_quick_settings_location_high_accuracy">Standuertbericht: Héich Genauegkeet.</string>
@@ -106,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Standuertbericht op \"Akku spueren\" geännert.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Standuertbericht op \"Just Sensoren\" geännert.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Standuertbericht op \"Héich Genauegkeet\" geännert.</string>
+ <string name="quick_settings_tiles_category_system">System-Kachelen</string>
+ <string name="quick_settings_tiles_add_tiles">Kachelen dobäisetzen</string>
</resources>
diff --git a/packages/SystemUI/res/values-lt/cm_strings.xml b/packages/SystemUI/res/values-lt/cm_strings.xml
index 0af0aae..71a070b 100644
--- a/packages/SystemUI/res/values-lt/cm_strings.xml
+++ b/packages/SystemUI/res/values-lt/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Sistemos profiliai</string>
<string name="quick_settings_profiles_off">Profiliai neleidžiami</string>
+ <string name="quick_settings_heads_up_label">Iššokantys pranešimai</string>
+ <string name="quick_settings_battery_saver_label">Akumuliatoriaus tausojimas</string>
<string name="accessibility_quick_settings_sync_off">Sinchronizavimas išjungtas.</string>
<string name="accessibility_quick_settings_sync_on">Sinchronizavimas įjungtas.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sinchronizavimas išjungtas.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient display įjungta.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient display išjungta.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient display įjungta.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Iššokantys pranešimai išjungti.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Iššokantys pranešimai įjungti.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Iššokantys pranešimai išjungti.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Iššokantys pranešimai įjungti.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Akumuliatoriaus tausojimas išjungtas.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Akumuliatoriaus tausojimas įjungtas.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Akumuliatoriaus tausojimas išjungtas.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Akumuliatoriaus tausojimas įjungtas.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinaminė plytelė</string>
<string name="dynamic_qs_tile_next_alarm_label">Kitas signalas</string>
<string name="dynamic_qs_tile_ime_selector_label">Įvesties metodas</string>
diff --git a/packages/SystemUI/res/values-nb/cm_strings.xml b/packages/SystemUI/res/values-nb/cm_strings.xml
index d8630cf..51af5c6 100644
--- a/packages/SystemUI/res/values-nb/cm_strings.xml
+++ b/packages/SystemUI/res/values-nb/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">System profiler</string>
<string name="quick_settings_profiles_off">Profiler deaktivert</string>
+ <string name="quick_settings_heads_up_label">Flytende notifikasjoner</string>
+ <string name="quick_settings_battery_saver_label">Batterisparing</string>
<string name="accessibility_quick_settings_sync_off">Synkronisering av.</string>
<string name="accessibility_quick_settings_sync_on">Synkronisering på.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synkronisering avskrudd.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient visning på.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient visning er skrudd av.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient visning er skrudd på.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up notifikasjoner er av.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up notifikasjoner er på.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads-up ble deaktivert.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads-up ble aktivert.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Batterisparing av.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Batterisparing på.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Batterisparing slått av.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Batterisparing slått på.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamisk flis</string>
<string name="dynamic_qs_tile_next_alarm_label">Neste alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME-velger</string>
@@ -112,6 +122,7 @@
<string name="accessibility_quick_settings_live_display_changed_day">Direkteskjerm endret til dagsmodus.</string>
<string name="accessibility_quick_settings_live_display_changed_night">Direkteskjerm endret til nattmodus.</string>
<string name="accessibility_quick_settings_live_display_changed_outdoor">Direkteskjerm endret til utendørs.</string>
+ <string name="quick_settings_title_advanced_location">Tre nivåer stedsangivelse</string>
<string name="accessibility_quick_settings_location_battery_saving">Lokasjonsmodus: strømsparemodus.</string>
<string name="accessibility_quick_settings_location_gps_only">Lokasjonsmodus: kun sensorer.</string>
<string name="accessibility_quick_settings_location_high_accuracy">Lokasjonsmodus: høy nøyaktighet.</string>
@@ -122,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Lokasjonsmodus endret til batterisparing.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Lokasjonsmodus endret til bare sensorer.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Lokasjonsmodus endret til høy nøyaktighet.</string>
+ <string name="quick_settings_tiles_category_system">Systemet fliser</string>
+ <string name="quick_settings_tiles_add_tiles">Legge til en flis</string>
</resources>
diff --git a/packages/SystemUI/res/values-nl/cm_strings.xml b/packages/SystemUI/res/values-nl/cm_strings.xml
index f06cadf..4d0f2e3 100644
--- a/packages/SystemUI/res/values-nl/cm_strings.xml
+++ b/packages/SystemUI/res/values-nl/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systeemprofielen</string>
<string name="quick_settings_profiles_off">Profielen uitgeschakeld</string>
+ <string name="quick_settings_heads_up_label">Heads-up</string>
+ <string name="quick_settings_battery_saver_label">Accubesparing</string>
<string name="accessibility_quick_settings_sync_off">Synchr. uit.</string>
<string name="accessibility_quick_settings_sync_on">Synchr. aan.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synchr. uitgeschakeld.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Omgevingsdisplay aan.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Omgevingsdisplay uitgeschakeld.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Omgevingsdisplay ingeschakeld.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads-up uit.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads-up aan.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads-up uitgeschakeld.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads-up ingeschakeld.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Accubesparing uit.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Accubesparing aan.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Accubesparing uitgeschakeld.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Accubesparing ingeschakeld.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamische tegel</string>
<string name="dynamic_qs_tile_next_alarm_label">Volgend alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">Invoermethode</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Locatiemelding gewijzigd naar accubesparing.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Locatiemelding gewijzigd naar alleen apparaat.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Locatiemelding gewijzigd naar grote nauwkeurigheid.</string>
+ <string name="quick_settings_tiles_category_system">Systeemtegels</string>
+ <string name="quick_settings_tiles_add_tiles">Tegel toevoegen</string>
</resources>
diff --git a/packages/SystemUI/res/values-pl/cm_strings.xml b/packages/SystemUI/res/values-pl/cm_strings.xml
index 01ae7af..8570e2d 100644
--- a/packages/SystemUI/res/values-pl/cm_strings.xml
+++ b/packages/SystemUI/res/values-pl/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Profile systemowe</string>
<string name="quick_settings_profiles_off">Profile wyłączone</string>
+ <string name="quick_settings_heads_up_label">Wyskakujące powiadomienia</string>
+ <string name="quick_settings_battery_saver_label">Oszczędzanie baterii</string>
<string name="accessibility_quick_settings_sync_off">Synchronizacja wyłączona.</string>
<string name="accessibility_quick_settings_sync_on">Synchronizacja włączona.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synchronizacja została wyłączona.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Aktywny wyświetlacz włączony.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Aktywny wyświetlacz został wyłączony.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Aktywny wyświetlacz został włączony.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Wyskakujące powiadomienia wyłączone.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Wyskakujące powiadomienia włączone.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Wyskakujące powiadomienia zostały wyłączone.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Wyskakujące powiadomienia zostały włączone.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Oszczędzanie baterii wył.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Oszczędzanie baterii wł.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Oszczędzanie baterii zostało wył.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Oszczędzanie baterii zostało wł.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamiczne przełączniki</string>
<string name="dynamic_qs_tile_next_alarm_label">Następny alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">Przełącznik klawiatury</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Zgłaszanie lokalizacji przeszło w tryb oszczędzania energii.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Zgłaszanie lokalizacji przeszło w tryb \"tylko czujniki\".</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Zgłaszanie lokalizacji przeszło w tryb wysokiej dokładności.</string>
+ <string name="quick_settings_tiles_category_system">Kafelki systemowe</string>
+ <string name="quick_settings_tiles_add_tiles">Dodaj kafelek</string>
</resources>
diff --git a/packages/SystemUI/res/values-pt-rBR/cm_strings.xml b/packages/SystemUI/res/values-pt-rBR/cm_strings.xml
index 29548ec..454ca5c 100644
--- a/packages/SystemUI/res/values-pt-rBR/cm_strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Perfis de sistema</string>
<string name="quick_settings_profiles_off">Perfis desativados</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
+ <string name="quick_settings_battery_saver_label">Economizador de bateria</string>
<string name="accessibility_quick_settings_sync_off">Sincr. desl.</string>
<string name="accessibility_quick_settings_sync_on">Sincr. lig.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sincronização desligada.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Tela ambiente ativado.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Tela ambiente desligado.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Tela ambiente ligado.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up desativado.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up ativado.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up desligado.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up ligado.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Economizador de bateria desligado.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Economizador de bateria ligado.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">O economizador de bateria foi desligado.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">O economizador de bateria foi ligado.</string>
<string name="quick_settings_dynamic_tile_detail_title">Botões dinâmicos</string>
<string name="dynamic_qs_tile_next_alarm_label">Próximo alarme</string>
<string name="dynamic_qs_tile_ime_selector_label">Seletor de IME</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Modo de localização alterado para apenas Wi-Fi e redes móveis.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Modo de localização alterado para apenas GPS.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Modo de localização alterado para GPS, Wi-Fi e redes móveis.</string>
+ <string name="quick_settings_tiles_category_system">Botões de sistema</string>
+ <string name="quick_settings_tiles_add_tiles">Adicionar um botão</string>
</resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/cm_strings.xml b/packages/SystemUI/res/values-pt-rPT/cm_strings.xml
index 9962325..c60ba6d 100644
--- a/packages/SystemUI/res/values-pt-rPT/cm_strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Perfis de sistema</string>
<string name="quick_settings_profiles_off">Perfis desativados</string>
+ <string name="quick_settings_heads_up_label">Notificações pop-up</string>
+ <string name="quick_settings_battery_saver_label">Economizador de bateria</string>
<string name="accessibility_quick_settings_sync_off">Sincronização desligada.</string>
<string name="accessibility_quick_settings_sync_on">Sincronização ligada.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sincronização foi desligada.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Visualização de ambiente ligada.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Visualização de ambiente desligou.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Visualização de ambiente ligou.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Notificações pop-up desligadas.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Notificações pop-up ligadas.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Notificações pop-up desligaram.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Notificações pop-up ligaram.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Economizador de bateria desligado.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Economizador de bateria ligado.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">O economizador de bateria desligou.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">O economizador de bateria ligou.</string>
<string name="quick_settings_dynamic_tile_detail_title">Mosaicos dinâmicos</string>
<string name="dynamic_qs_tile_next_alarm_label">Próximo alarme</string>
<string name="dynamic_qs_tile_ime_selector_label">Seletor de IME</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Modo de localização alterado para poupança de bateria.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Modo de localização alterado para apenas no dispositivo.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Modo de localização alterado para alta precisão.</string>
+ <string name="quick_settings_tiles_category_system">Mosaicos do sistema</string>
+ <string name="quick_settings_tiles_add_tiles">Adicionar um mosaico</string>
</resources>
diff --git a/packages/SystemUI/res/values-ro/cm_strings.xml b/packages/SystemUI/res/values-ro/cm_strings.xml
index 83dcc8a..ef755f6 100644
--- a/packages/SystemUI/res/values-ro/cm_strings.xml
+++ b/packages/SystemUI/res/values-ro/cm_strings.xml
@@ -21,6 +21,7 @@
<string name="status_bar_expanded_header_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string>
<string name="left_shortcut_hint">Glisați dreapta pentru %1$s</string>
<string name="right_shortcut_hint">Glisați stânga pentru %1$s</string>
+ <string name="lockscreen_default_target">Implicit</string>
<string name="select_application">Selectați aplicația</string>
<string name="lockscreen_choose_action_title">Alege acțiunea</string>
<string name="lockscreen_none_target">Nimic</string>
@@ -53,6 +54,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Profile de sistem</string>
<string name="quick_settings_profiles_off">Profilele sunt dezactivate</string>
+ <string name="quick_settings_heads_up_label">Atenționare</string>
<string name="accessibility_quick_settings_sync_off">Sincronizare oprită.</string>
<string name="accessibility_quick_settings_sync_on">Sincronizare pornită.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sincronizare oprită.</string>
diff --git a/packages/SystemUI/res/values-ru/cm_strings.xml b/packages/SystemUI/res/values-ru/cm_strings.xml
index ee3b9a7..75c8f55 100644
--- a/packages/SystemUI/res/values-ru/cm_strings.xml
+++ b/packages/SystemUI/res/values-ru/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Системные профили</string>
<string name="quick_settings_profiles_off">Профили отключены</string>
+ <string name="quick_settings_heads_up_label">Всплывающие уведомления</string>
+ <string name="quick_settings_battery_saver_label">Энергосбережение</string>
<string name="accessibility_quick_settings_sync_off">Синхронизация отключена.</string>
<string name="accessibility_quick_settings_sync_on">Синхронизация включена.</string>
<string name="accessibility_quick_settings_sync_changed_off">Синхронизация отключена.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Индикация событий экраном включена.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Индикация событий экраном отключена.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Индикация событий экраном включена.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Всплывающие уведомления отключены.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Всплывающие уведомления включены.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Всплывающие уведомления отключены.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Всплывающие уведомления включены.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Режим энергосбережения выключен.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Режим энергосбережения включён.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Режим энергосбережения выключен.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Режим энергосбережения включён.</string>
<string name="quick_settings_dynamic_tile_detail_title">Динамическая плитка</string>
<string name="dynamic_qs_tile_next_alarm_label">Следующий будильник</string>
<string name="dynamic_qs_tile_ime_selector_label">Выбор метода ввода</string>
@@ -123,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Служба отправки местоположения переключена в режим экономии батареи.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Для отправки местоположения используются только данные GPS.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Служба отправки местоположения переключена в режим высокой точности.</string>
+ <string name="quick_settings_tiles_category_system">Системные плитки</string>
+ <string name="quick_settings_tiles_add_tiles">Добавление плитки</string>
</resources>
diff --git a/packages/SystemUI/res/values-sk/cm_strings.xml b/packages/SystemUI/res/values-sk/cm_strings.xml
index 9f3d042..6be4ea1 100644
--- a/packages/SystemUI/res/values-sk/cm_strings.xml
+++ b/packages/SystemUI/res/values-sk/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systémové profily</string>
<string name="quick_settings_profiles_off">Profily zakázané</string>
+ <string name="quick_settings_heads_up_label">Plávajúce oznámenia</string>
+ <string name="quick_settings_battery_saver_label">Šetrič batérie</string>
<string name="accessibility_quick_settings_sync_off">Synch. vyp.</string>
<string name="accessibility_quick_settings_sync_on">Synch. zap.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synchronizácia vypnutá.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambientné zobrazenie zakázané.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambientné zobrazenie povolené.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambientné zobrazenie zakázané.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Plávajúce oznámenia zakázané.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Plávajúce oznámenia povolené.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Plávajúce oznámenia zakázané.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Plávajúce oznámenia povolené.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Šetrič batérie vypnutý.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Šetrič batérie zapnutý.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Šetrič batérie vypnutý.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Šetrič batérie zapnutý.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamické dlaždice</string>
<string name="dynamic_qs_tile_next_alarm_label">Ďalší budík</string>
<string name="dynamic_qs_tile_ime_selector_label">Výber IME</string>
diff --git a/packages/SystemUI/res/values-sl/cm_strings.xml b/packages/SystemUI/res/values-sl/cm_strings.xml
index b081eac..0668c43 100644
--- a/packages/SystemUI/res/values-sl/cm_strings.xml
+++ b/packages/SystemUI/res/values-sl/cm_strings.xml
@@ -23,7 +23,7 @@
<string name="right_shortcut_hint">Povlecite levo za %1$s</string>
<string name="lockscreen_message">Tapnite ikono na levi ali desni, da ponovno dodelite bližnjico zaslona za zaklepanje.</string>
<string name="lockscreen_default_target">Privzeto</string>
- <string name="select_application">Izberite program</string>
+ <string name="select_application">Izberite aplikacijo</string>
<string name="lockscreen_choose_action_title">Izberite dejanje</string>
<string name="lockscreen_none_target">Brez</string>
<string name="navbar_dialog_title">Izberite dejanje za dodelitev</string>
@@ -37,7 +37,7 @@
<string name="navbar_menu_big_button">Menijski gumb</string>
<string name="accessibility_dpad_left">Kazalec levo</string>
<string name="accessibility_dpad_right">Kazalec desno</string>
- <string name="advanced_dev_option_wipe_app">Izbriši podatke programe</string>
+ <string name="advanced_dev_option_wipe_app">Izbriši podatke aplikacije</string>
<string name="advanced_dev_option_force_stop">Vsili ustavitev</string>
<string name="advanced_dev_option_uninstall">Odstrani</string>
<string name="accessibility_notification_brightness">Svetlost lučke</string>
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Sistemski profili</string>
<string name="quick_settings_profiles_off">Profili onemogočeni</string>
+ <string name="quick_settings_heads_up_label">Obvestila na zaslonu</string>
+ <string name="quick_settings_battery_saver_label">Ohranjevalnik baterije</string>
<string name="accessibility_quick_settings_sync_off">Sinhronizacija izklopljena.</string>
<string name="accessibility_quick_settings_sync_on">Sinhronizacija vklopljena.</string>
<string name="accessibility_quick_settings_sync_changed_off">Sinhronizacija izklopljena.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Okoliški zaslon vklopljen.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Okoliški zaslon izklopljen.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Okoliški zaslon vklopljen.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Obvestila na zas. izk.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Obvestila na zas. vkl.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Obvestila na zaslonu izklopljena.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Obvestila na zaslonu vklopljena.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Ohranjevalnik baterije izklopljen.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Ohranjevalnik baterije vklopljen.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Ohranjevalnik baterije izklopljen.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Ohranjevalnik baterije vklopljen.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinamične ploščice</string>
<string name="dynamic_qs_tile_next_alarm_label">Naslednja budilka</string>
<string name="dynamic_qs_tile_ime_selector_label">Izbirnik IME</string>
@@ -123,4 +133,7 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Poročanje o lokaciji spremenjeno v način varčevanja energije.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Poročanje o lokaciji spremenjeno v način \'samo tipala\'.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Poročanje o lokaciji spremenjen v način visoke natančnosti.</string>
+ <string name="quick_settings_tiles_category_system">Sistemske ploščice</string>
+ <string name="quick_settings_tiles_add_tiles">Dodaj ploščico</string>
+ <string name="hotspot_apm_message">Povezava z mobilnimi omrežji ni možna v načinu za letalo. Onemogočite način za letalo in poskusite znova.</string>
</resources>
diff --git a/packages/SystemUI/res/values-sr/cm_strings.xml b/packages/SystemUI/res/values-sr/cm_strings.xml
index 37a8f69..8b41c34 100644
--- a/packages/SystemUI/res/values-sr/cm_strings.xml
+++ b/packages/SystemUI/res/values-sr/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Профили система</string>
<string name="quick_settings_profiles_off">Профили онемогућени</string>
+ <string name="quick_settings_heads_up_label">Искачуће поруке</string>
+ <string name="quick_settings_battery_saver_label">Уштеда батерије</string>
<string name="accessibility_quick_settings_sync_off">Синхрон. искључено.</string>
<string name="accessibility_quick_settings_sync_on">Синхрон. укључено.</string>
<string name="accessibility_quick_settings_sync_changed_off">Синхронизација је искључена.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Амбијент приказ укључен.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Амбијент приказ ће бити искључен.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Амбијент приказ ће бити укључен.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Искачуће поруке искључене.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Искачуће поруке укључене.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Искачуће поруке ће бити искључене.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Искачуће поруке ће бити укључене.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Уштеда батерије искључена.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Уштеда батерије укључена.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Уштеда батерије је искључена.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Уштеда батерије је укључена.</string>
<string name="quick_settings_dynamic_tile_detail_title">Динамичне плочице</string>
<string name="dynamic_qs_tile_next_alarm_label">Следећи аларм</string>
<string name="dynamic_qs_tile_ime_selector_label">IME бирач</string>
@@ -123,4 +133,7 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Извештај о локацији промењен у режим уштеде батерије.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Извештај о локацији промењен у режим само сензора.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Извештај о локацији промењен у режим високе прецизности.</string>
+ <string name="quick_settings_tiles_category_system">Плочице система</string>
+ <string name="quick_settings_tiles_add_tiles">Додај плочицу</string>
+ <string name="hotspot_apm_message">Није се могуће конектовати на мобилне мреже док је режим авиона омогућен. Онемогући режим авиона и пробај поново.</string>
</resources>
diff --git a/packages/SystemUI/res/values-sv/cm_strings.xml b/packages/SystemUI/res/values-sv/cm_strings.xml
index 7d0f40b..9577a38 100644
--- a/packages/SystemUI/res/values-sv/cm_strings.xml
+++ b/packages/SystemUI/res/values-sv/cm_strings.xml
@@ -52,6 +52,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Systemprofiler</string>
<string name="quick_settings_profiles_off">Profiler inaktiverad</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
<string name="accessibility_quick_settings_sync_off">Synk av.</string>
<string name="accessibility_quick_settings_sync_on">Synk på.</string>
<string name="accessibility_quick_settings_sync_changed_off">Synk inaktiverad.</string>
@@ -78,6 +79,10 @@
<string name="accessibility_quick_settings_ambient_display_on">Omgivande skärm på.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Omgivande skärm avslagen.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Omgivande skärm påslagen.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up av.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up på.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up avslaget.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up påslaget.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dynamiska bricka</string>
<string name="dynamic_qs_tile_next_alarm_label">Nästa alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME-väljare</string>
diff --git a/packages/SystemUI/res/values-th/cm_strings.xml b/packages/SystemUI/res/values-th/cm_strings.xml
index fba34af..2651986 100644
--- a/packages/SystemUI/res/values-th/cm_strings.xml
+++ b/packages/SystemUI/res/values-th/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">โปรไฟล์ระบบ</string>
<string name="quick_settings_profiles_off">โปรไฟล์ถูกปิดอยู่</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
+ <string name="quick_settings_battery_saver_label">ประหยัดแบตเตอรี่</string>
<string name="accessibility_quick_settings_sync_off">ปิดการซิงค์</string>
<string name="accessibility_quick_settings_sync_on">การซิงค์เปิดอยู่</string>
<string name="accessibility_quick_settings_sync_changed_off">การซิงค์ปิดอยู่</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">เปิดหน้าจอแวดล้อม</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">หน้าจอแวดล้อมปิดอยู่</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">หน้าจอแวดล้อมเปิดอยู่</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up ปิดอยู่</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up เปิดอยู่</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up ปิดอยู่</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up เปิดอยู่</string>
+ <string name="accessibility_quick_settings_battery_saver_off">ตัวประหยัดแบตเตอรี่ปิดอยู่</string>
+ <string name="accessibility_quick_settings_battery_saver_on">ตัวประหยัดแบตเตอรี่เปิดอยู่</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">ตัวประหยัดแบตเตอรีถูกปิด</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">ตัวประหยัดแบตเตอรีถูกเปิด</string>
<string name="quick_settings_dynamic_tile_detail_title">ไทล์แบบไดนามิก</string>
<string name="dynamic_qs_tile_next_alarm_label">การปลุกครั้งต่อไป</string>
<string name="dynamic_qs_tile_ime_selector_label">ตัวเลือก IME</string>
diff --git a/packages/SystemUI/res/values-tr/cm_strings.xml b/packages/SystemUI/res/values-tr/cm_strings.xml
index ebf75e0..a70ea9e 100644
--- a/packages/SystemUI/res/values-tr/cm_strings.xml
+++ b/packages/SystemUI/res/values-tr/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Sistem profilleri</string>
<string name="quick_settings_profiles_off">Profiller devre dışı</string>
+ <string name="quick_settings_heads_up_label">Bildirim pencereleri</string>
+ <string name="quick_settings_battery_saver_label">Pil tasarrufu</string>
<string name="accessibility_quick_settings_sync_off">Eşitleme kapalı.</string>
<string name="accessibility_quick_settings_sync_on">Eşitleme açık.</string>
<string name="accessibility_quick_settings_sync_changed_off">Eşitleme kapatıldı.</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Bildirim ekranı açık.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Bildirim ekranı kapatıldı.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Bildirim ekranı açıldı.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Bildirim pencereleri kapalı.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Bildirim pencereleri açık.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Bildirim pencereleri kapatıldı.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Bildirim pencereleri açıldı.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Pil tasarrufu kapalı.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Pil tasarrufu açık.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Pil tasarrufu kapatıldı.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Pil tasarrufu açıldı.</string>
<string name="quick_settings_dynamic_tile_detail_title">Dinamik kare</string>
<string name="dynamic_qs_tile_next_alarm_label">Sonraki alarm</string>
<string name="dynamic_qs_tile_ime_selector_label">IME seçici</string>
diff --git a/packages/SystemUI/res/values-uk/cm_strings.xml b/packages/SystemUI/res/values-uk/cm_strings.xml
index 05e3d4e..7168559 100644
--- a/packages/SystemUI/res/values-uk/cm_strings.xml
+++ b/packages/SystemUI/res/values-uk/cm_strings.xml
@@ -16,9 +16,13 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="accessibility_data_connection_hspap">HSPA+</string>
+ <string name="accessibility_data_connection_4g_plus">4G+</string>
<string name="status_bar_expanded_header_weather_format"><xliff:g id="temp">%1$s</xliff:g> - <xliff:g id="condition">%2$s</xliff:g></string>
<string name="left_shortcut_hint">Проведіть вправо для %1$s</string>
<string name="right_shortcut_hint">Проведіть вліво для %1$s</string>
+ <string name="lockscreen_message">Натисніть на іконку ліворуч або праворуч для зміни ярлика екрану блокування.</string>
+ <string name="lockscreen_default_target">За замовчуванням</string>
<string name="select_application">Вибрати програму</string>
<string name="lockscreen_choose_action_title">Виберіть дію</string>
<string name="lockscreen_none_target">НІчого</string>
@@ -36,11 +40,23 @@
<string name="advanced_dev_option_wipe_app">Стерти дані програм</string>
<string name="advanced_dev_option_force_stop">Примусово зупинити</string>
<string name="advanced_dev_option_uninstall">Деінсталювати</string>
+ <string name="accessibility_notification_brightness">Яскравість</string>
<string name="accessibility_quick_settings_profiles_off">Профілі вимкнено.</string>
<string name="accessibility_quick_settings_profiles">Профіль: <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
<string name="accessibility_quick_settings_profiles_changed_off">Профілі вимкнено.</string>
<string name="accessibility_quick_settings_profiles_changed">Профіль змінено на <xliff:g id="profile" example="Default">%s</xliff:g>.</string>
<string name="quick_settings_compass_init">Ініціалізація\u2026</string>
+ <string name="led_notification_title">Індикатор подій</string>
+ <string name="led_notification_text">Світлодіод увімкнено параметрами</string>
+ <string name="qs_tile_edit_header_instruction">Натисніть і утримуйте плитку, щоб змінити</string>
+ <string name="quick_settings_edit_label">Редагувати плитки</string>
+ <string name="quick_settings_cannot_delete_edit_tile">Не вдалося видалити кнопку редагування</string>
+ <string name="qs_tiles_reset_confirmation">Відновити налаштування плиток за замовчуванням?</string>
+ <string name="quick_settings_tile_reset_to_default">Відновити за замовчуванням</string>
+ <string name="quick_settings_title_header">Заголовок</string>
+ <string name="quick_settings_title_tiles">Плитки</string>
+ <string name="quick_settings_title_show_weather">Показати погоду</string>
+ <string name="quick_settings_title_enlarge_first_row">Збільшити перший рядок</string>
<string name="screen_pinning_description_no_navbar">Триматиме це перед Вами, доки не відкріпите. Торкніться й утримуйте кнопку «Назад», щоб відкріпити.</string>
<string name="quick_settings_custom_tile_detail_title">Власна плитка</string>
<string name="quick_settings_remove">Видалити плитку</string>
@@ -49,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Системні профілі</string>
<string name="quick_settings_profiles_off">Профілі вимкнуто</string>
+ <string name="quick_settings_heads_up_label">Спливаючі сповіщення</string>
+ <string name="quick_settings_battery_saver_label">Енергозбереження</string>
<string name="accessibility_quick_settings_sync_off">Синхронізацію вимкнено.</string>
<string name="accessibility_quick_settings_sync_on">Синхронізацію увімкнено.</string>
<string name="accessibility_quick_settings_sync_changed_off">Синхронізацію вимкнено.</string>
@@ -62,12 +80,18 @@
<string name="quick_settings_lockscreen_label_enforced">Блокування екрану ввімкнено</string>
<string name="accessibility_quick_settings_screen_timeout">Вимкнення екрана через: <xliff:g id="timeout" example="30 seconds">%s</xliff:g> секунд.</string>
<string name="accessibility_quick_settings_screen_timeout_changed">Вимкнення екрана відбувається через <xliff:g id="timeout" example="30 seconds">%s</xliff:g> секунд бездіяльності.</string>
+ <string name="qs_tile_performance">Енергоспоживання</string>
<string name="accessibility_quick_settings_perf_profile_pwrsv">Режим батареї: збереження енергії.</string>
<string name="accessibility_quick_settings_perf_profile_bal">Режим батареї: збалансований режим.</string>
<string name="accessibility_quick_settings_perf_profile_perf">Режим батареї: висока продуктивність.</string>
+ <string name="accessibility_quick_settings_perf_profile_bias_power">Енергоспоживання: енергоефективне.</string>
+ <string name="accessibility_quick_settings_perf_profile_bias_perf">Енергоспоживання: продуктивне.</string>
<string name="accessibility_quick_settings_perf_profile_changed_pwrsv">Акумулятор тепер в режимі економії енергії.</string>
<string name="accessibility_quick_settings_perf_profile_changed_bal">Режим акумулятора змінено на збалансований.</string>
<string name="accessibility_quick_settings_perf_profile_changed_perf">Режим акумулятора змінено для високої продуктивності.</string>
+ <string name="accessibility_quick_settings_perf_profile_changed_bias_power">Енергоспоживання змінено на ефективне.</string>
+ <string name="accessibility_quick_settings_perf_profile_changed_bias_perf">Енергоспоживання змінено на продуктивне.</string>
+ <string name="quick_settings_performance_profile_detail_title">Енергоспоживання</string>
<string name="accessibility_quick_settings_lock_screen_off">Блокування екрана вимкнено.</string>
<string name="accessibility_quick_settings_lock_screen_on">Блокування екрана увімкнено.</string>
<string name="accessibility_quick_settings_lock_screen_changed_off">Блокування екрана вимкнено.</string>
@@ -76,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Ambient display увімкнено.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Ambient дисплей вимкнено.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Ambient display увімкнено.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Спливаючі сповіщення вимкнено.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Спливаючі сповіщення увімкнено.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Спливаючі сповіщення вимкнено.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Спливаючі сповіщення увімкнено.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Енергозбереження вимкнено.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Енергозбереження увімкнено.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Енергозбереження вимкнено.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Енергозбереження увімкнено.</string>
<string name="quick_settings_dynamic_tile_detail_title">Динамічні плитки</string>
<string name="dynamic_qs_tile_next_alarm_label">Наступний сигнал</string>
<string name="dynamic_qs_tile_ime_selector_label">Вибір способу вводу</string>
@@ -90,6 +122,7 @@
<string name="accessibility_quick_settings_live_display_changed_day">LiveDisplay у денному режимі.</string>
<string name="accessibility_quick_settings_live_display_changed_night">LiveDisplay у нічному режимі.</string>
<string name="accessibility_quick_settings_live_display_changed_outdoor">LiveDisplay у режимі «На вулиці».</string>
+ <string name="quick_settings_title_advanced_location">Параметри відправки геоданих</string>
<string name="accessibility_quick_settings_location_battery_saving">Надсилання місця розташування: економія батареї.</string>
<string name="accessibility_quick_settings_location_gps_only">Надсилання місця розташування: тільки датчики.</string>
<string name="accessibility_quick_settings_location_high_accuracy">Надсилання місця розташування: висока точність.</string>
@@ -100,4 +133,6 @@
<string name="accessibility_quick_settings_location_changed_battery_saving">Визначення місцезнаходження у режимі економії батареї.</string>
<string name="accessibility_quick_settings_location_changed_gps_only">Визначення місцезнаходження тепер використовує лише датчики пристрою.</string>
<string name="accessibility_quick_settings_location_changed_high_accuracy">Визначення місцезнаходження у режимі високої точності.</string>
+ <string name="quick_settings_tiles_category_system">Системні плитки</string>
+ <string name="quick_settings_tiles_add_tiles">Додати плитку</string>
</resources>
diff --git a/packages/SystemUI/res/values-vi/cm_strings.xml b/packages/SystemUI/res/values-vi/cm_strings.xml
index f343c99..d094a3e 100644
--- a/packages/SystemUI/res/values-vi/cm_strings.xml
+++ b/packages/SystemUI/res/values-vi/cm_strings.xml
@@ -49,6 +49,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">Cấu hình hệ thống</string>
<string name="quick_settings_profiles_off">Cấu hình bị vô hiệu hóa</string>
+ <string name="quick_settings_heads_up_label">Heads up</string>
+ <string name="quick_settings_battery_saver_label">Trình tiết kiệm pin</string>
<string name="accessibility_quick_settings_sync_off">Tắt đồng bộ.</string>
<string name="accessibility_quick_settings_sync_on">Bật đồng bộ.</string>
<string name="accessibility_quick_settings_sync_changed_off">Đã tắt đồng bộ.</string>
@@ -82,6 +84,14 @@
<string name="accessibility_quick_settings_ambient_display_on">Hiển thị môi trường xung quanh bật.</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">Hiển thị môi trường xung quanh đã tắt.</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">Hiển thị môi trường xung quanh đã bật.</string>
+ <string name="accessibility_quick_settings_heads_up_off">Heads up tắt.</string>
+ <string name="accessibility_quick_settings_heads_up_on">Heads up bật.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">Heads up đã tắt.</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">Heads up đã bật.</string>
+ <string name="accessibility_quick_settings_battery_saver_off">Trình tiết kiệm pin: Tắt.</string>
+ <string name="accessibility_quick_settings_battery_saver_on">Trình tiết kiệm pin: Bật.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">Đã tắt Trinh tiết kiệm pin.</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">Đã bật Trình tiết kiệm pin.</string>
<string name="quick_settings_dynamic_tile_detail_title">Kiểu xếp cạnh nhau động</string>
<string name="dynamic_qs_tile_next_alarm_label">Báo thức tiếp theo</string>
<string name="dynamic_qs_tile_ime_selector_label">Trình chọn IME</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/cm_strings.xml b/packages/SystemUI/res/values-zh-rCN/cm_strings.xml
index 184413e..085d8ae 100644
--- a/packages/SystemUI/res/values-zh-rCN/cm_strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/cm_strings.xml
@@ -65,6 +65,8 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">情景模式</string>
<string name="quick_settings_profiles_off">已禁用情景模式</string>
+ <string name="quick_settings_heads_up_label">浮动通知</string>
+ <string name="quick_settings_battery_saver_label">省电模式</string>
<string name="accessibility_quick_settings_sync_off">同步关闭。</string>
<string name="accessibility_quick_settings_sync_on">同步开启。</string>
<string name="accessibility_quick_settings_sync_changed_off">同步已关闭。</string>
@@ -98,6 +100,14 @@
<string name="accessibility_quick_settings_ambient_display_on">开启环境显示。</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">环境显示已关闭。</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">环境显示已开启。</string>
+ <string name="accessibility_quick_settings_heads_up_off">浮动通知关。</string>
+ <string name="accessibility_quick_settings_heads_up_on">浮动通知开。</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">浮动通知已关闭。</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">浮动通知已开启。</string>
+ <string name="accessibility_quick_settings_battery_saver_off">省电模式关闭。</string>
+ <string name="accessibility_quick_settings_battery_saver_on">省电模式开启。</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_off">已关闭省电模式。</string>
+ <string name="accessibility_quick_settings_battery_saver_changed_on">已开启省电模式。</string>
<string name="quick_settings_dynamic_tile_detail_title">动态按钮</string>
<string name="dynamic_qs_tile_next_alarm_label">下一个闹铃</string>
<string name="dynamic_qs_tile_ime_selector_label">输入法选择器</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/cm_strings.xml b/packages/SystemUI/res/values-zh-rHK/cm_strings.xml
index 4ade399..9d6d7ed 100644
--- a/packages/SystemUI/res/values-zh-rHK/cm_strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/cm_strings.xml
@@ -43,6 +43,7 @@
<string name="quick_settings_compass_label">指南針</string>
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">系統設定檔</string>
+ <string name="quick_settings_heads_up_label">浮動通知</string>
<string name="accessibility_quick_settings_sync_off">已關閉同步。</string>
<string name="accessibility_quick_settings_sync_on">已開啟同步。</string>
<string name="accessibility_quick_settings_sync_changed_off">同步已關閉。</string>
@@ -65,6 +66,10 @@
<string name="accessibility_quick_settings_lock_screen_on">已開啟鎖定螢幕功能。</string>
<string name="accessibility_quick_settings_lock_screen_changed_off">已關閉鎖定螢幕功能。</string>
<string name="accessibility_quick_settings_lock_screen_changed_on">已開啟鎖定螢幕功能。</string>
+ <string name="accessibility_quick_settings_heads_up_off">已關閉浮動通知。</string>
+ <string name="accessibility_quick_settings_heads_up_on">已開啟浮動通知。</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">已關閉浮動通知。</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">已開啟浮動通知。</string>
<string name="quick_settings_dynamic_tile_detail_title">動態方塊</string>
<string name="dynamic_qs_tile_next_alarm_label">下一個鬧鐘</string>
<string name="dynamic_qs_tile_ime_selector_label">輸入法選擇器</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/cm_strings.xml b/packages/SystemUI/res/values-zh-rTW/cm_strings.xml
index 8d46c24..b0953db 100644
--- a/packages/SystemUI/res/values-zh-rTW/cm_strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/cm_strings.xml
@@ -44,6 +44,7 @@
<string name="quick_settings_nfc_label">NFC</string>
<string name="quick_settings_profiles">系統設定檔</string>
<string name="quick_settings_profiles_off">已停用設定檔</string>
+ <string name="quick_settings_heads_up_label">浮動通知</string>
<string name="accessibility_quick_settings_sync_off">同步關閉</string>
<string name="accessibility_quick_settings_sync_on">同步開啟</string>
<string name="accessibility_quick_settings_sync_changed_off">同步已關閉</string>
@@ -58,6 +59,10 @@
<string name="accessibility_quick_settings_ambient_display_on">環境顯示開啟</string>
<string name="accessibility_quick_settings_ambient_display_changed_off">環境顯示已關閉</string>
<string name="accessibility_quick_settings_ambient_display_changed_on">環境顯示已開啟</string>
+ <string name="accessibility_quick_settings_heads_up_off">浮動通知關閉</string>
+ <string name="accessibility_quick_settings_heads_up_on">浮動通知開啟</string>
+ <string name="accessibility_quick_settings_heads_up_changed_off">浮動通知已關閉</string>
+ <string name="accessibility_quick_settings_heads_up_changed_on">浮動通知已開啟</string>
<string name="quick_settings_dynamic_tile_detail_title">動態磚</string>
<string name="dynamic_qs_tile_next_alarm_label">下一個鬧鐘</string>
<string name="dynamic_qs_tile_ime_selector_label">輸入法選擇器</string>
diff --git a/packages/SystemUI/res/values/cm_strings.xml b/packages/SystemUI/res/values/cm_strings.xml
index cfad226..86b87e4 100644
--- a/packages/SystemUI/res/values/cm_strings.xml
+++ b/packages/SystemUI/res/values/cm_strings.xml
@@ -89,6 +89,7 @@
<string name="quick_settings_title_header">Header</string>
<string name="quick_settings_title_tiles">Tiles</string>
<string name="quick_settings_title_show_weather">Show weather</string>
+ <string name="quick_settings_title_show_brightness_slider">Show brightness slider</string>
<string name="quick_settings_title_enlarge_first_row">Enlarge first row</string>
<!-- Screen pinning dialog description (for devices without navbar) -->
@@ -237,4 +238,7 @@
<string name="quick_settings_tiles_category_system">System tiles</string>
<!-- detail header when adding a tile -->
<string name="quick_settings_tiles_add_tiles">Add a tile</string>
+
+ <!-- Hotspot dialog message -->
+ <string name="hotspot_apm_message">Unable to connect to mobile networks while Airplane mode is enabled. Disable Airplane mode and try again.</string>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 563dfa1..17fadbd 100755
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -1671,7 +1671,9 @@ public class KeyguardViewMediator extends SystemUI {
// only play "unlock" noises if not on a call (since the incall UI
// disables the keyguard)
if (TelephonyManager.EXTRA_STATE_IDLE.equals(mPhoneState)) {
- playSounds(false);
+ if (mShowing && mDeviceInteractive) {
+ playSounds(false);
+ }
}
setShowingLocked(false);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java
index 5769f58..0c5b71b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java
@@ -202,8 +202,7 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
} else {
final int adjustedPosition = mEditing ? position - 1 : position;
QSPage page = mPages.get(adjustedPosition);
-
- container.addView(page, position);
+ container.addView(page);
return page;
}
}
@@ -376,6 +375,7 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
r.tile.setListening(mListening);
}
mFooter.setListening(mListening);
+ mQsPanelTop.setListening(mListening);
if (mListening) {
refreshAllTiles();
}
@@ -512,6 +512,8 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
+ tiles + "]");
}
+ int currentViewPagerPage = mViewPager.getCurrentItem();
+
if (mLastDragRecord != null && mRecords.indexOf(mLastDragRecord) == -1) {
// the last removed record might be stored in mLastDragRecord if we just shifted
// re-add it to the list so we'll clean it up below
@@ -527,6 +529,11 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
while (iterator.hasPrevious()) {
DragTileRecord dr = (DragTileRecord) iterator.previous();
+ if (dr.page >= 0) {
+ // clean up view
+ mPages.get(dr.page).removeView(dr.tileView);
+ }
+
if (tiles.contains(dr.tile)) {
if (DEBUG_TILES) {
Log.i(TAG, "caching tile: " + dr.tile);
@@ -536,8 +543,6 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
if (DEBUG_TILES) {
Log.i(TAG, "removing tile: " + dr.tile);
}
- // clean up view
- mPages.get(dr.page).removeView(dr.tileView);
// remove record
iterator.remove();
@@ -547,19 +552,21 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
final int childCount = mPages.get(dr.page).getChildCount();
if (childCount == 0) {
- // if current page is the current max page COUNT (off by 1) then move back
final int currentIndex = mViewPager.getCurrentItem();
- if (currentIndex == (getCurrentMaxPageCount()) + (mEditing ? 1 : 0)) {
- mViewPager.setCurrentItem(currentIndex - 1, false);
- mPagerAdapter.startUpdate(mViewPager);
- final int pageIndex = mEditing ? currentIndex - 1 : currentIndex;
- mPages.remove(pageIndex);
- mPagerAdapter.finishUpdate(mViewPager);
- mPagerAdapter.notifyDataSetChanged();
+ if (currentIndex > 0 && currentViewPagerPage == currentIndex) {
+ // if we are about to remove the page we are currently on, move back
+ currentViewPagerPage--;
}
+ final int pageIndex = dr.page + (mEditing ? 1 : 0);
+ mPagerAdapter.startUpdate(mViewPager);
+ mPagerAdapter.destroyItem(mViewPager, pageIndex, mPages.get(dr.page));
+ mPagerAdapter.finishUpdate(mViewPager);
+ mPagerAdapter.notifyDataSetChanged();
}
}
}
+ dr.page = -1;
+ dr.destinationPage = -1;
}
// at this point recordMap should have all retained tiles, no new or old tiles
@@ -568,8 +575,14 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
Log.i(TAG, "record map delta: " + delta);
}
mRecords.ensureCapacity(tiles.size());
+
mPagerAdapter.notifyDataSetChanged();
+ // even though we explicitly destroy old pages, without this call,
+ // the viewpager doesn't seem to want to pick up the fact that we have less pages
+ // and allows "empty" scrolls to the right where there is no page.
+ mViewPager.setAdapter(mPagerAdapter);
+
// add new tiles
for (int i = 0; i < tiles.size(); i++) {
QSTile<?> tile = tiles.get(i);
@@ -601,10 +614,8 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
}
Collections.swap(mRecords, indexOf, i);
- record.destinationPage = tileDestPage;
- ensureDestinationPage(record);
}
-
+ record.destinationPage = tileDestPage;
}
if (record.page == -1) {
// add the view
@@ -616,6 +627,9 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
}
}
+ // restore the visible page
+ mViewPager.setCurrentItem(currentViewPagerPage, false);
+
if (isShowingDetail()) {
mDetail.bringToFront();
}
@@ -625,16 +639,6 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
requestLayout();
}
- private void ensureDestinationPage(DragTileRecord record) {
- if (record.destinationPage != record.page) {
- if (record.page >= 0) {
- getPage(record.page).removeView(record.tileView);
- }
- getPage(record.destinationPage).addView(record.tileView);
- record.page = record.destinationPage;
- }
- }
-
private DragTileRecord makeRecord(final QSTile<?> tile) {
if (DEBUG_TILES) {
Log.d(TAG, "+++ makeRecord() called with " + "tile = [" + tile + "]");
@@ -729,13 +733,6 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
mHost.remove(spec);
}
- public void ensurePagerState() {
- if (!isShowingDetail()) {
- final boolean pagingEnabled = getVisibleTilePageCount() > 1 || mDragging || mEditing;
- mViewPager.setPagingEnabled(pagingEnabled);
- }
- }
-
public int getTilesPerPage(boolean firstPage) {
if ((!mFirstRowLarge && firstPage) || !firstPage) {
return QSTileHost.TILES_PER_PAGE + 1;
@@ -759,7 +756,8 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
mPageIndicator.measure(exactly(width), atMost(mPageIndicatorHeight));
mFooter.getView().measure(exactly(width), MeasureSpec.UNSPECIFIED);
- int h = mViewPager.getMeasuredHeight() + mPageIndicatorHeight;
+ int h = getRowTop(getCurrentMaxRow() + 1) + mPanelPaddingBottom;
+
if (mFooter.hasFooter()) {
h += mFooter.getView().getMeasuredHeight();
}
@@ -854,12 +852,10 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
if (!isShowingDetail() && !isClosingDetail()) {
mQsPanelTop.bringToFront();
}
-
- ensurePagerState();
}
protected int getRowTop(int row) {
- int baseHeight = mBrightnessView.getMeasuredHeight();
+ int baseHeight = mQsPanelTop.getMeasuredHeight();
if (row <= 0) return baseHeight;
return baseHeight + mLargeCellHeight - mDualTileUnderlap + (row - 1) * mCellHeight;
}
@@ -1728,22 +1724,6 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
}
}
- @Override
- protected void setGridContentVisibility(boolean visible) {
- int newVis = visible ? VISIBLE : INVISIBLE;
- for (int i = 0; i < mRecords.size(); i++) {
- TileRecord tileRecord = mRecords.get(i);
- if (tileRecord.tileView.getVisibility() != GONE) {
- tileRecord.tileView.setVisibility(newVis);
- }
- }
- mQsPanelTop.setVisibility(showBrightnessSlider() ? newVis : GONE);
- if (mGridContentVisible != visible) {
- MetricsLogger.visibility(mContext, MetricsLogger.QS_PANEL, newVis);
- }
- mGridContentVisible = visible;
- }
-
public void updateResources() {
final Resources res = mContext.getResources();
final int columns = Math.max(1, res.getInteger(R.integer.quick_settings_num_columns));
@@ -1755,11 +1735,11 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
mDualTileUnderlap = res.getDimensionPixelSize(R.dimen.qs_dual_tile_padding_vertical);
mBrightnessPaddingTop = res.getDimensionPixelSize(R.dimen.qs_brightness_padding_top);
mPageIndicatorHeight = res.getDimensionPixelSize(R.dimen.qs_panel_page_indicator_height);
+ if (mColumns != columns) {
+ mColumns = columns;
+ if (isLaidOut()) postInvalidate();
+ }
if (isLaidOut()) {
- if (mColumns != columns) {
- mColumns = columns;
- postInvalidate();
- }
for (TileRecord r : mRecords) {
r.tile.clearState();
}
@@ -1774,6 +1754,12 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
return mCurrentlyAnimating.contains(t);
}
+ public void cleanup() {
+ if (mSettingsObserver != null) {
+ mSettingsObserver.unobserve();
+ }
+ }
+
public static class TilesListAdapter extends BaseExpandableListAdapter
implements QSTile.DetailAdapter {
@@ -2107,6 +2093,10 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
return mRecords.indexOf(mDraggingRecord) >= 0;
}
+ public boolean isOnSettingsPage() {
+ return mEditing && mViewPager.getCurrentItem() == 0;
+ }
+
public void goToSettingsPage() {
if (mEditing) {
mViewPager.setCurrentItem(0, true);
@@ -2144,6 +2134,7 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On
CMSettings.Secure.QS_USE_MAIN_TILES, 1, currentUserId) == 1;
if (firstRowLarge != mFirstRowLarge) {
mFirstRowLarge = firstRowLarge;
+ setTiles(new ArrayList<QSTile<?>>()); // clear out states
setTiles(mHost.getTiles());
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPage.java b/packages/SystemUI/src/com/android/systemui/qs/QSPage.java
index 57b559e..b06ad35 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPage.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPage.java
@@ -97,7 +97,7 @@ public class QSPage extends ViewGroup {
record.tileView.measure(exactly(cw), exactly(ch));
previousView = record.tileView.updateAccessibilityOrder(previousView);
}
- setMeasuredDimension(width, exactly(mGridHeight));
+ setMeasuredDimension(width, mGridHeight);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
index bfff5f2..35cd929 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
@@ -20,7 +20,11 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.annotation.Nullable;
+import android.app.ActivityManager;
+import android.content.ContentResolver;
import android.content.Context;
+import android.os.Handler;
+import android.os.UserHandle;
import android.support.v4.view.animation.FastOutSlowInInterpolator;
import android.util.AttributeSet;
import android.util.Log;
@@ -29,6 +33,10 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.systemui.R;
+import com.android.systemui.cm.UserContentObserver;
+import com.android.systemui.settings.ToggleSlider;
+
+import cyanogenmod.providers.CMSettings;
public class QSPanelTopView extends FrameLayout {
@@ -46,10 +54,14 @@ public class QSPanelTopView extends FrameLayout {
private boolean mDisplayingInstructions = false;
private boolean mDisplayingTrash = false;
private boolean mDisplayingToast = false;
+ public boolean mHasBrightnessSliderToDisplay = true;
private AnimatorSet mAnimator;
private ImageView mDropTargetIcon;
+ private SettingsObserver mSettingsObserver;
+ private boolean mListening;
+
public QSPanelTopView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
@@ -62,6 +74,7 @@ public class QSPanelTopView extends FrameLayout {
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setFocusable(true);
+ mSettingsObserver = new SettingsObserver(new Handler());
}
@Override
@@ -100,13 +113,19 @@ public class QSPanelTopView extends FrameLayout {
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int width = MeasureSpec.getSize(widthMeasureSpec);
mBrightnessView.measure(QSDragPanel.exactly(width), MeasureSpec.UNSPECIFIED);
- int dh = mBrightnessView.getMeasuredHeight();
+ mEditTileInstructionView.measure(QSDragPanel.exactly(width), MeasureSpec.UNSPECIFIED);
+ mToastView.measure(QSDragPanel.exactly(width), MeasureSpec.UNSPECIFIED);
+
+ // if we are showing a brightness slider, always fit to that, otherwise only
+ // declare a height when editing.
+ int dh = mHasBrightnessSliderToDisplay ? mBrightnessView.getMeasuredHeight()
+ : mEditing ? mEditTileInstructionView.getMeasuredHeight() : 0;
mDropTarget.measure(QSDragPanel.exactly(width), QSDragPanel.atMost(dh));
mEditTileInstructionView.measure(QSDragPanel.exactly(width), QSDragPanel.atMost(dh));
mToastView.measure(QSDragPanel.exactly(width), QSDragPanel.atMost(dh));
- setMeasuredDimension(width, QSDragPanel.exactly(mBrightnessView.getMeasuredHeight()));
+ setMeasuredDimension(width, dh);
}
@Override
@@ -178,38 +197,36 @@ public class QSPanelTopView extends FrameLayout {
mAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
- setLayerType(LAYER_TYPE_HARDWARE, null);
-
- mDropTarget.setLayerType(LAYER_TYPE_HARDWARE, null);
- mEditTileInstructionView.setLayerType(LAYER_TYPE_HARDWARE, null);
- mBrightnessView.setLayerType(LAYER_TYPE_HARDWARE, null);
- mToastView.setLayerType(LAYER_TYPE_HARDWARE, null);
-
- mDropTarget.setVisibility(View.VISIBLE);
- mEditTileInstructionView.setVisibility(View.VISIBLE);
- mBrightnessView.setVisibility(View.VISIBLE);
- mToastView.setVisibility(View.VISIBLE);
-
- if (showToast) {
- mToastView.bringToFront();
+ // if the view is already visible, keep it visible on animation start
+ // to animate it out, otherwise set it as invisible (to not affect view height)
+ mEditTileInstructionView.setVisibility(
+ getVisibilityForAnimation(mEditTileInstructionView, showInstructions));
+ mDropTarget.setVisibility(
+ getVisibilityForAnimation(mDropTarget, showTrash));
+ mToastView.setVisibility(
+ getVisibilityForAnimation(mToastView, showToast));
+ if (mHasBrightnessSliderToDisplay) {
+ mBrightnessView.setVisibility(
+ getVisibilityForAnimation(mBrightnessView, showBrightness));
}
}
@Override
public void onAnimationEnd(Animator animation) {
mToastView.setVisibility(showToast ? View.VISIBLE : View.GONE);
- mEditTileInstructionView.setVisibility(showInstructions ? View.VISIBLE : View.GONE);
+ mEditTileInstructionView.setVisibility(showInstructions
+ ? View.VISIBLE : View.GONE);
mDropTarget.setVisibility(showTrash ? View.VISIBLE : View.GONE);
- mBrightnessView.setVisibility(showBrightness ? View.VISIBLE : View.GONE);
+ if (mHasBrightnessSliderToDisplay) {
+ mBrightnessView.setVisibility(showBrightness ? View.VISIBLE : View.GONE);
+ }
- setLayerType(LAYER_TYPE_NONE, null);
+ mAnimator = null;
- mDropTarget.setLayerType(LAYER_TYPE_NONE, null);
- mEditTileInstructionView.setLayerType(LAYER_TYPE_NONE, null);
- mBrightnessView.setLayerType(LAYER_TYPE_NONE, null);
- mToastView.setLayerType(LAYER_TYPE_NONE, null);
+ requestLayout();
if (showToast) {
+ mToastView.bringToFront();
mToastView.postDelayed(new Runnable() {
@Override
public void run() {
@@ -230,12 +247,19 @@ public class QSPanelTopView extends FrameLayout {
}
};
+ private int getVisibilityForAnimation(View view, boolean show) {
+ if (show || view.getVisibility() != View.GONE) {
+ return View.VISIBLE;
+ }
+ return View.INVISIBLE;
+ }
+
private void animateToState() {
post(mAnimateRunnable);
}
+
private Animator animateView(View v, boolean show) {
- return ObjectAnimator.ofFloat(v, "translationY",
- show ? 0 : -mBrightnessView.getMeasuredHeight());
+ return ObjectAnimator.ofFloat(v, "translationY", show ? 0 : -getMeasuredHeight());
}
private Animator showBrightnessSlider(boolean show) {
@@ -253,4 +277,66 @@ public class QSPanelTopView extends FrameLayout {
private Animator showToast(boolean show) {
return animateView(mToastView, show);
}
+
+ public void setListening(boolean listening) {
+ if (mListening == listening) return;
+ mListening = listening;
+ if (mListening) {
+ mSettingsObserver.observe();
+ } else {
+ mSettingsObserver.unobserve();
+ }
+
+ }
+
+ class SettingsObserver extends UserContentObserver {
+ SettingsObserver(Handler handler) {
+ super(handler);
+ }
+
+ @Override
+ protected void observe() {
+ super.observe();
+
+ ContentResolver resolver = mContext.getContentResolver();
+ resolver.registerContentObserver(CMSettings.System.getUriFor(
+ CMSettings.System.QS_SHOW_BRIGHTNESS_SLIDER), false, this, UserHandle.USER_ALL);
+ update();
+ }
+
+ @Override
+ protected void unobserve() {
+ super.unobserve();
+
+ ContentResolver resolver = mContext.getContentResolver();
+ resolver.unregisterContentObserver(this);
+ }
+
+ @Override
+ public void update() {
+ ContentResolver resolver = mContext.getContentResolver();
+ int currentUserId = ActivityManager.getCurrentUser();
+ boolean showSlider = CMSettings.System.getIntForUser(resolver,
+ CMSettings.System.QS_SHOW_BRIGHTNESS_SLIDER, 1, currentUserId) == 1;
+ if (showSlider != mHasBrightnessSliderToDisplay) {
+ if (mAnimator != null) {
+ mAnimator.cancel(); // cancel everything we're animating
+ mAnimator = null;
+ }
+ mHasBrightnessSliderToDisplay = showSlider;
+ if (mBrightnessView != null) {
+ mBrightnessView.setVisibility(showSlider ? View.VISIBLE : View.GONE);
+
+ // as per showBrightnessSlider() in QSPanel.java, we look it up on-the-go
+ ToggleSlider brightnessSlider = (ToggleSlider) findViewById(R.id.brightness_slider);
+ if (brightnessSlider != null) {
+ brightnessSlider.setVisibility(showSlider ? View.VISIBLE : View.GONE);
+ }
+
+ }
+ getParent().requestLayout();
+ animateToState();
+ }
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSSettings.java b/packages/SystemUI/src/com/android/systemui/qs/QSSettings.java
index d90c991..7766ca4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSSettings.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSSettings.java
@@ -20,23 +20,25 @@ import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.util.AttributeSet;
+import android.util.Log;
+import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
+import android.widget.ScrollView;
+
import com.android.systemui.R;
import com.android.systemui.statusbar.phone.QSTileHost;
import com.android.systemui.statusbar.phone.SystemUIDialog;
-public class QSSettings extends LinearLayout {
+public class QSSettings extends ScrollView {
+
private QSTileHost mHost;
private boolean mAdapterEditingState;
- public QSSettings(Context context) {
- super(context);
- }
-
public QSSettings(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
+ setFillViewport(true);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSViewPager.java b/packages/SystemUI/src/com/android/systemui/qs/QSViewPager.java
index 01c48b1..3dc5d27 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSViewPager.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSViewPager.java
@@ -14,7 +14,7 @@ public class QSViewPager extends ViewPager {
private static final String TAG = "QSViewPager";
protected static final float SCROLL_PERCENT = .10f;
- private boolean mPagingEnabled;
+
QSDragPanel mDragPanel;
public QSViewPager(Context context) {
@@ -34,7 +34,6 @@ public class QSViewPager extends ViewPager {
public boolean canScrollHorizontally(int direction) {
if (direction < 0
&& mDragPanel.isDragging()
- && mPagingEnabled
&& getCurrentItem() == 1) {
// can't scroll left while not editing, OR dragging on the first page
return false;
@@ -49,7 +48,7 @@ public class QSViewPager extends ViewPager {
View child = getChildAt(i);
child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
int h = child.getMeasuredHeight();
- if (h > height) height = h;
+ if (h > height && !(child instanceof QSSettings)) height = h;
}
heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
@@ -103,30 +102,4 @@ public class QSViewPager extends ViewPager {
Log.e(TAG, "can't start fake drag?");
}
}
-
- @Override
- public boolean onInterceptTouchEvent(MotionEvent event) {
- if (mPagingEnabled) {
- return super.onInterceptTouchEvent(event);
- }
- return false;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- if (mPagingEnabled) {
- return super.onTouchEvent(event);
- }
- return false;
- }
-
- public void setPagingEnabled(boolean enabled) {
- if (mPagingEnabled == enabled) return;
- mPagingEnabled = enabled;
- //Log.i(TAG, "setPagingEnabled() called with " + "enabled = [" + enabled + "]");
- if (getCurrentItem() > 0 && !mPagingEnabled) {
- //Log.w(TAG, "resetting to item 0 because paging is disabled.");
- setCurrentItem(0, true);
- }
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index 4173efc..d1b167e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -21,12 +21,14 @@ import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.provider.Settings;
import com.android.internal.logging.MetricsLogger;
import com.android.systemui.Prefs;
import com.android.systemui.R;
import com.android.systemui.qs.QSTile;
import com.android.systemui.qs.UsageTracker;
+import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.HotspotController;
/** Quick settings tile: Hotspot **/
@@ -72,6 +74,17 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {
@Override
protected void handleClick() {
+ boolean airplaneMode = (Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.AIRPLANE_MODE_ON, 0) == 1);
+ if (airplaneMode) {
+ SystemUIDialog d = new SystemUIDialog(mContext);
+ d.setTitle(R.string.quick_settings_hotspot_label);
+ d.setMessage(R.string.hotspot_apm_message);
+ d.setPositiveButton(com.android.internal.R.string.ok, null);
+ d.setShowForAllUsers(true);
+ d.show();
+ return;
+ }
final boolean isEnabled = (Boolean) mState.value;
MetricsLogger.action(mContext, getMetricsCategory(), !isEnabled);
mController.setHotspotEnabled(!isEnabled);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
index b25390e..abc9acd 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
@@ -20,6 +20,7 @@ package com.android.systemui.qs.tiles;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
+import android.os.Looper;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
@@ -131,16 +132,28 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
protected void handleUpdateState(SignalState state, Object arg) {
state.visible = true;
if (DEBUG) Log.d(TAG, "handleUpdateState arg=" + arg);
- CallbackInfo cb = (CallbackInfo) arg;
- if (cb == null) {
+ final CallbackInfo cb;
+ if (arg == null) {
cb = mSignalCallback.mInfo;
+ } else {
+ cb = (CallbackInfo) arg;
}
boolean wifiConnected = cb.enabled && (cb.wifiSignalIconId > 0) && (cb.enabledDesc != null);
boolean wifiNotConnected = (cb.wifiSignalIconId > 0) && (cb.enabledDesc == null);
boolean enabledChanging = state.enabled != cb.enabled;
if (enabledChanging) {
- mDetailAdapter.setItemsVisible(cb.enabled);
+ if (Looper.myLooper() == Looper.getMainLooper()) {
+ // on main thread, bypass the handler
+ mDetailAdapter.setItemsVisible(cb.enabled);
+ } else {
+ mUiHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ mDetailAdapter.setItemsVisible(cb.enabled);
+ }
+ });
+ }
fireToggleStateChanged(cb.enabled);
}
state.enabled = cb.enabled;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
index d38c704..2233d13 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -203,8 +203,10 @@ public class SignalClusterView
post(new Runnable() {
@Override
public void run() {
- mVpnVisible = mSC.isVpnEnabled();
- apply();
+ if (mSC != null) {
+ mVpnVisible = mSC.isVpnEnabled();
+ apply();
+ }
}
});
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index bac835c..db5446e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -63,7 +63,7 @@ import com.android.systemui.EventLogConstants;
import com.android.systemui.EventLogTags;
import com.android.systemui.R;
import com.android.systemui.qs.QSContainer;
-import com.android.systemui.qs.QSPanel;
+import com.android.systemui.qs.QSDragPanel;
import com.android.systemui.statusbar.ExpandableNotificationRow;
import com.android.systemui.statusbar.ExpandableView;
import com.android.systemui.statusbar.FlingAnimationUtils;
@@ -119,7 +119,7 @@ public class NotificationPanelView extends PanelView implements
private KeyguardUserSwitcher mKeyguardUserSwitcher;
private KeyguardStatusBarView mKeyguardStatusBar;
private QSContainer mQsContainer;
- private QSPanel mQsPanel;
+ private QSDragPanel mQsPanel;
private KeyguardStatusView mKeyguardStatusView;
private ObservableScrollView mScrollView;
private TextView mClockView;
@@ -248,7 +248,7 @@ public class NotificationPanelView extends PanelView implements
private Handler mHandler = new Handler();
private SettingsObserver mSettingsObserver;
- private boolean mOneFingerQuickSettingsIntercept;
+ private int mOneFingerQuickSettingsIntercept;
private boolean mDoubleTapToSleepEnabled;
private int mStatusBarHeaderHeight;
private GestureDetector mDoubleTapGesture;
@@ -281,7 +281,7 @@ public class NotificationPanelView extends PanelView implements
mKeyguardStatusBar = (KeyguardStatusBarView) findViewById(R.id.keyguard_header);
mKeyguardStatusView = (KeyguardStatusView) findViewById(R.id.keyguard_status_view);
mQsContainer = (QSContainer) findViewById(R.id.quick_settings_container);
- mQsPanel = (QSPanel) findViewById(R.id.quick_settings_panel);
+ mQsPanel = (QSDragPanel) findViewById(R.id.quick_settings_panel);
mClockView = (TextView) findViewById(R.id.clock_view);
mScrollView = (ObservableScrollView) findViewById(R.id.scroll_view);
mScrollView.setFocusable(false);
@@ -628,6 +628,14 @@ public class NotificationPanelView extends PanelView implements
MetricsLogger.count(mContext, COUNTER_PANEL_OPEN_PEEK, 1);
return true;
}
+ if (mQsPanel.isOnSettingsPage() && isInQsArea(event.getX(), event.getY(), false)
+ && mQsExpanded) {
+ mIntercepting = false;
+ // we explicitly do not intercept the touch event here to let the qs settings page
+ // scroll as necessary while not blocking horizontal swipes and allowing the panel
+ // to be collapsed when grabbed below the qs settings page as well.
+ return false;
+ }
if (!isFullyCollapsed() && onQsIntercept(event)) {
return true;
}
@@ -861,9 +869,14 @@ public class NotificationPanelView extends PanelView implements
}
private boolean isInQsArea(float x, float y) {
+ return isInQsArea(x, y, true);
+ }
+
+ private boolean isInQsArea(float x, float y, boolean includeNotifications) {
return (x >= mScrollView.getX() && x <= mScrollView.getX() + mScrollView.getWidth()) &&
- (y <= mNotificationStackScroller.getBottomMostNotificationBottom()
- || y <= mQsContainer.getY() + mQsContainer.getHeight());
+ ((includeNotifications
+ && y <= mNotificationStackScroller.getBottomMostNotificationBottom())
+ || y <= mQsContainer.getY() + mQsContainer.getHeight());
}
private boolean isOpenQsEvent(MotionEvent event) {
@@ -884,9 +897,17 @@ public class NotificationPanelView extends PanelView implements
final float w = getMeasuredWidth();
final float x = event.getX();
float region = (w * (1.f/4.f)); // TODO overlay region fraction?
- final boolean showQsOverride = mOneFingerQuickSettingsIntercept &&
- (isLayoutRtl() ? (x < region) : (w - region < x)
- && mStatusBarState == StatusBarState.SHADE);
+ boolean showQsOverride = false;
+
+ switch (mOneFingerQuickSettingsIntercept) {
+ case 1: // Right side pulldown
+ showQsOverride = isLayoutRtl() ? (x < region) : (w - region < x);
+ break;
+ case 2: // Left side pulldown
+ showQsOverride = isLayoutRtl() ? (w - region < x) : (x < region);
+ break;
+ }
+ showQsOverride &= mStatusBarState == StatusBarState.SHADE;
return twoFingerDrag || showQsOverride || stylusButtonClickDrag || mouseButtonClickDrag;
}
@@ -2592,7 +2613,7 @@ public class NotificationPanelView extends PanelView implements
public void update() {
ContentResolver resolver = mContext.getContentResolver();
mOneFingerQuickSettingsIntercept = CMSettings.System.getInt(
- resolver, CMSettings.System.STATUS_BAR_QUICK_QS_PULLDOWN, 1) == 1;
+ resolver, CMSettings.System.STATUS_BAR_QUICK_QS_PULLDOWN, 1);
mDoubleTapToSleepEnabled = CMSettings.System.getInt(
resolver, CMSettings.System.DOUBLE_TAP_SLEEP_GESTURE, 1) == 1;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
index 9a8fa98..f5cdcd1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
+import android.animation.PropertyValuesHolder;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.Configuration;
@@ -26,6 +27,7 @@ import android.content.res.Resources;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
+import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewTreeObserver;
import android.view.animation.AnimationUtils;
@@ -90,6 +92,20 @@ public abstract class PanelView extends FrameLayout {
private final PerformanceManager mPerf;
+ private boolean mUpdateExpandOnLayout;
+ private View.OnLayoutChangeListener mLayoutChangeListener = new OnLayoutChangeListener() {
+ @Override
+ public void onLayoutChange(View v, int left, int top, int right, int bottom,
+ int oldLeft, int oldTop, int oldRight, int oldBottom) {
+ // update expand height
+ if (mHeightAnimator != null && mExpanding && mUpdateExpandOnLayout) {
+ final int maxPanelHeight = getMaxPanelHeight();
+ final PropertyValuesHolder[] values = mHeightAnimator.getValues();
+ values[0].setFloatValues(maxPanelHeight);
+ }
+ }
+ };
+
/**
* Whether an instant expand request is currently pending and we are just waiting for layout.
*/
@@ -641,7 +657,7 @@ public abstract class PanelView extends FrameLayout {
flingToHeight(vel, expand, target, collapseSpeedUpFactor, expandBecauseOfFalsing);
}
- protected void flingToHeight(float vel, boolean expand, float target,
+ protected void flingToHeight(float vel, final boolean expand, float target,
float collapseSpeedUpFactor, boolean expandBecauseOfFalsing) {
// Hack to make the expand transition look nice when clear all button is visible - we make
// the animation only to the last notification, and then jump to the maximum panel height so
@@ -662,6 +678,7 @@ public abstract class PanelView extends FrameLayout {
if (expandBecauseOfFalsing) {
vel = 0;
}
+ mUpdateExpandOnLayout = isFullyCollapsed();
mFlingAnimationUtils.apply(animator, mExpandedHeight, target, vel, getHeight());
if (expandBecauseOfFalsing) {
animator.setDuration(350);
@@ -684,12 +701,18 @@ public abstract class PanelView extends FrameLayout {
private boolean mCancelled;
@Override
+ public void onAnimationStart(Animator animation) {
+ if (expand) PanelView.this.addOnLayoutChangeListener(mLayoutChangeListener);
+ }
+
+ @Override
public void onAnimationCancel(Animator animation) {
mCancelled = true;
}
@Override
public void onAnimationEnd(Animator animation) {
+ if (expand) PanelView.this.removeOnLayoutChangeListener(mLayoutChangeListener);
if (clearAllExpandHack && !mCancelled) {
setExpandedHeightInternal(getMaxPanelHeight());
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 6e104ad..41fd86a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -1168,6 +1168,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
mBrightnessMirrorController = new BrightnessMirrorController(mStatusBarWindowContent);
}
mQSPanel.setBrightnessMirror(mBrightnessMirrorController);
+ mQSPanel.setTiles(mQSTileHost.getTiles());
mHeader.setQSPanel(mQSPanel);
mQSTileHost.setCallback(new QSTileHost.Callback() {
@Override
@@ -1182,6 +1183,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
@Override
public void setEditing(final boolean editing) {
+ if (mState != StatusBarState.SHADE) {
+ return;
+ }
mHandler.post(new Runnable() {
@Override
public void run() {
@@ -1198,6 +1202,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
@Override
public void goToSettingsPage() {
+ if (mState != StatusBarState.SHADE) {
+ return;
+ }
setEditing(true);
mHandler.postDelayed(new Runnable() {
@Override
@@ -1223,9 +1230,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
Log.e(TAG, "Unable to unregister custom tile listener", e);
}
- // clear out old tile states and views
- mQSPanel.setTiles(new ArrayList<QSTile<?>>());
-
mQSTileHost.resetTiles();
// reregister service
@@ -3734,7 +3738,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
}
mQSPanel.getHost().setCustomTileListenerService(null);
- mQSPanel.setTiles(new ArrayList<QSTile<?>>());
+ mQSPanel.setListening(false);
makeStatusBarView();
repositionNavigationBar();
@@ -3772,7 +3776,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
@Override
public void onGlobalLayout() {
mStatusBarWindow.getViewTreeObserver().removeOnGlobalLayoutListener(this);
- mQSPanel.setTiles(mQSTileHost.getTiles());
mCommandQueue.resume();
mRecreating = false;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index 1b17899..ed4880b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -182,6 +182,9 @@ public class PhoneStatusBarPolicy implements Callback {
// bluetooth status
updateBluetooth();
+ //Update initial tty mode
+ updateTTYMode();
+
// Alarm clock
mService.setIcon(SLOT_ALARM_CLOCK, R.drawable.stat_sys_alarm, 0, null);
mService.setIconVisibility(SLOT_ALARM_CLOCK, false);
@@ -391,6 +394,29 @@ public class PhoneStatusBarPolicy implements Callback {
}
}
+ private boolean isWiredHeadsetOn() {
+ AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+ return audioManager.isWiredHeadsetOn();
+ }
+
+ private final void updateTTYMode() {
+ int ttyMode = Settings.Secure.getInt(mContext.getContentResolver(),
+ Settings.Secure.PREFERRED_TTY_MODE, TelecomManager.TTY_MODE_OFF);
+ boolean enabled = ttyMode != TelecomManager.TTY_MODE_OFF;
+ if (DEBUG) Log.v(TAG, "updateTTYMode: enabled: " + enabled);
+ if (enabled && isWiredHeadsetOn()) {
+ // TTY is on
+ if (DEBUG) Log.v(TAG, "updateTTYMode: set TTY on");
+ mService.setIcon(SLOT_TTY, R.drawable.stat_sys_tty_mode, 0,
+ mContext.getString(R.string.accessibility_tty_enabled));
+ mService.setIconVisibility(SLOT_TTY, true);
+ } else {
+ // TTY is off
+ if (DEBUG) Log.v(TAG, "updateTTYMode: set TTY off");
+ mService.setIconVisibility(SLOT_TTY, false);
+ }
+ }
+
private void updateCast() {
boolean isCasting = false;
for (CastDevice device : mCast.getCastDevices()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
index a6593f5..5fbf46e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
@@ -231,9 +231,18 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
// RenderThread is doing more harm than good when touching the header (to expand quick
// settings), so disable it for this view
- ((RippleDrawable) getBackground()).setForceSoftware(true);
- ((RippleDrawable) mSettingsButton.getBackground()).setForceSoftware(true);
- ((RippleDrawable) mSystemIconsSuperContainer.getBackground()).setForceSoftware(true);
+ Drawable d = getBackground();
+ if (d instanceof RippleDrawable) {
+ ((RippleDrawable) d).setForceSoftware(true);
+ }
+ d = mSettingsButton.getBackground();
+ if (d instanceof RippleDrawable) {
+ ((RippleDrawable) d).setForceSoftware(true);
+ }
+ d = mSystemIconsSuperContainer.getBackground();
+ if (d instanceof RippleDrawable) {
+ ((RippleDrawable) d).setForceSoftware(true);
+ }
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
index aa2f0d3..3ed18c9 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
@@ -959,6 +959,12 @@ public class VolumeDialog {
}
};
+ public void cleanup() {
+ mController.removeCallback(mControllerCallbackH);
+ mZenFooter.cleanup();
+ mAccessibility.cleanup();
+ }
+
private final class H extends Handler {
private static final int SHOW = 1;
private static final int DISMISS = 2;
@@ -1081,26 +1087,7 @@ public class VolumeDialog {
public void init() {
mMgr = (AccessibilityManager) mContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
- mDialogView.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {
- @Override
- public void onViewDetachedFromWindow(View v) {
- if (D.BUG) Log.d(TAG, "onViewDetachedFromWindow");
- // noop
- }
-
- @Override
- public void onViewAttachedToWindow(View v) {
- if (D.BUG) Log.d(TAG, "onViewAttachedToWindow");
- updateFeedbackEnabled();
- }
- });
- mDialogView.setAccessibilityDelegate(this);
- mMgr.addAccessibilityStateChangeListener(new AccessibilityStateChangeListener() {
- @Override
- public void onAccessibilityStateChanged(boolean enabled) {
- updateFeedbackEnabled();
- }
- });
+ mDialogView.addOnAttachStateChangeListener(mOnAttachStateChangeListener);
updateFeedbackEnabled();
}
@@ -1111,6 +1098,10 @@ public class VolumeDialog {
return super.onRequestSendAccessibilityEvent(host, child, event);
}
+ public void cleanup() {
+ mDialogView.removeOnAttachStateChangeListener(mOnAttachStateChangeListener);
+ }
+
private void updateFeedbackEnabled() {
mFeedbackEnabled = computeFeedbackEnabled();
}
@@ -1126,6 +1117,21 @@ public class VolumeDialog {
}
return false;
}
+
+ private OnAttachStateChangeListener mOnAttachStateChangeListener =
+ new OnAttachStateChangeListener() {
+ @Override
+ public void onViewDetachedFromWindow(View v) {
+ if (D.BUG) Log.d(TAG, "onViewDetachedFromWindow");
+ // noop
+ }
+
+ @Override
+ public void onViewAttachedToWindow(View v) {
+ if (D.BUG) Log.d(TAG, "onViewAttachedToWindow");
+ updateFeedbackEnabled();
+ }
+ };
}
private static class VolumeRow {
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
index 1083f40..742b18b 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
@@ -43,7 +43,7 @@ public class VolumeDialogComponent implements VolumeComponent {
private final Context mContext;
private final VolumeDialogController mController;
private final ZenModeController mZenModeController;
- private final VolumeDialog mDialog;
+ private VolumeDialog mDialog;
private final VolumePolicy mVolumePolicy = new VolumePolicy(
true, // volumeDownToEnterSilent
true, // volumeUpToExitSilent
@@ -138,4 +138,11 @@ public class VolumeDialogComponent implements VolumeComponent {
}
};
+ public void recreateDialog() {
+ if (mDialog != null) mDialog.cleanup();
+
+ mDialog = new VolumeDialog(mContext, WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY,
+ mController, mZenModeController, mVolumeDialogCallback);
+ applyConfiguration();
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
index e49ff50..fa0de7d 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
@@ -97,9 +97,8 @@ public class VolumeUI extends SystemUI {
getVolumeComponent().onConfigurationChanged(newConfig);
if (isThemeChange(newConfig)) {
- // TODO: implement initPanel() if needed
- //initPanel();
mContext.recreateTheme();
+ mVolumeComponent.recreateDialog();
}
mConfiguration.setTo(newConfig);
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
index af7ee08..0fb80c0 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
@@ -69,17 +69,19 @@ public class ZenFooter extends LinearLayout {
mSpTexts.add(mEndNowButton);
}
+ private ZenModeController.Callback mZenModeCallback = new ZenModeController.Callback() {
+ @Override
+ public void onZenChanged(int zen) {
+ setZen(zen);
+ }
+ @Override
+ public void onConfigChanged(ZenModeConfig config) {
+ setConfig(config);
+ }
+ };
+
public void init(final ZenModeController controller) {
- controller.addCallback(new ZenModeController.Callback() {
- @Override
- public void onZenChanged(int zen) {
- setZen(zen);
- }
- @Override
- public void onConfigChanged(ZenModeConfig config) {
- setConfig(config);
- }
- });
+ controller.addCallback(mZenModeCallback);
mEndNowButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@@ -142,4 +144,8 @@ public class ZenFooter extends LinearLayout {
mSpTexts.update();
}
+ public void cleanup() {
+ mController.removeCallback(mZenModeCallback);
+ }
+
}
diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java
index 238e9c9..43cd475 100644
--- a/services/core/java/com/android/server/BatteryService.java
+++ b/services/core/java/com/android/server/BatteryService.java
@@ -49,7 +49,6 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.util.EventLog;
import android.util.Slog;
-import cyanogenmod.providers.CMSettings;
import java.io.File;
import java.io.FileDescriptor;
@@ -58,7 +57,6 @@ import java.io.FileReader;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
@@ -786,7 +784,12 @@ public final class BatteryService extends SystemService {
FileReader fileReader;
BufferedReader br;
String type;
- boolean ret;
+ boolean ret = false;
+
+ if (!mChargerTypeFile.exists()) {
+ // Device does not support HVDCP
+ return ret;
+ }
try {
fileReader = new FileReader(mChargerTypeFile);
@@ -794,15 +797,9 @@ public final class BatteryService extends SystemService {
type = br.readLine();
if (type.regionMatches(true, 0, "USB_HVDCP", 0, 9))
ret = true;
- else
- ret = false;
br.close();
fileReader.close();
- } catch (FileNotFoundException e) {
- ret = false;
- Slog.e(TAG, "Failure in reading charger type", e);
} catch (IOException e) {
- ret = false;
Slog.e(TAG, "Failure in reading charger type", e);
}
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 19a4851..71ff6e9 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -159,7 +159,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
private String[] mDataConnectionApn;
- private ArrayList<String> mConnectedApns;
+ private ArrayList<String>[] mConnectedApns;
private LinkProperties[] mDataConnectionLinkProperties;
@@ -292,11 +292,11 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
mContext = context;
mBatteryStats = BatteryStatsService.getService();
- mConnectedApns = new ArrayList<String>();
int numPhones = TelephonyManager.getDefault().getPhoneCount();
if (DBG) log("TelephonyRegistor: ctor numPhones=" + numPhones);
mNumPhones = numPhones;
+ mConnectedApns = new ArrayList[numPhones];
mCallState = new int[numPhones];
mDataActivity = new int[numPhones];
mDataConnectionState = new int[numPhones];
@@ -314,6 +314,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
mDataConnectionNetworkCapabilities = new NetworkCapabilities[numPhones];
mCellInfo = new ArrayList<List<CellInfo>>();
for (int i = 0; i < numPhones; i++) {
+ mConnectedApns[i] = new ArrayList<String>();
mCallState[i] = TelephonyManager.CALL_STATE_IDLE;
mDataActivity[i] = TelephonyManager.DATA_ACTIVITY_NONE;
mDataConnectionState[i] = TelephonyManager.DATA_UNKNOWN;
@@ -336,7 +337,6 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
location.fillInNotifierBundle(mCellLocation[i]);
}
}
- mConnectedApns = new ArrayList<String>();
mAppOps = mContext.getSystemService(AppOpsManager.class);
}
@@ -1057,18 +1057,21 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
synchronized (mRecords) {
int phoneId = SubscriptionManager.getPhoneId(subId);
if (validatePhoneId(phoneId)) {
+ if (VDBG) {
+ log(" mConnectedApns[" + phoneId + "]=" + mConnectedApns[phoneId].toString());
+ }
boolean modified = false;
if (state == TelephonyManager.DATA_CONNECTED) {
- if (!mConnectedApns.contains(apnType)) {
- mConnectedApns.add(apnType);
+ if (!mConnectedApns[phoneId].contains(apnType)) {
+ mConnectedApns[phoneId].add(apnType);
if (mDataConnectionState[phoneId] != state) {
mDataConnectionState[phoneId] = state;
modified = true;
}
}
} else {
- if (mConnectedApns.remove(apnType)) {
- if (mConnectedApns.isEmpty()) {
+ if (mConnectedApns[phoneId].remove(apnType)) {
+ if (mConnectedApns[phoneId].isEmpty()) {
mDataConnectionState[phoneId] = state;
modified = true;
} else {
diff --git a/services/core/java/com/android/server/ThemeService.java b/services/core/java/com/android/server/ThemeService.java
index 106bd85..6cdb8ab 100644
--- a/services/core/java/com/android/server/ThemeService.java
+++ b/services/core/java/com/android/server/ThemeService.java
@@ -96,7 +96,7 @@ public class ThemeService extends IThemeService.Stub {
private static final boolean DEBUG = false;
private static final String GOOGLE_SETUPWIZARD_PACKAGE = "com.google.android.setupwizard";
- private static final String CM_SETUPWIZARD_PACKAGE = "com.cyanogenmod.account";
+ private static final String CM_SETUPWIZARD_PACKAGE = "com.cyanogenmod.setupwizard";
private static final String MANAGED_PROVISIONING_PACKAGE = "com.android.managedprovisioning";
private static final long MAX_ICON_CACHE_SIZE = 33554432L; // 32MB
@@ -453,8 +453,8 @@ public class ThemeService extends IThemeService.Stub {
private void doApplyDefaultTheme() {
final ContentResolver resolver = mContext.getContentResolver();
- final String defaultThemePkg = Settings.Secure.getString(resolver,
- Settings.Secure.DEFAULT_THEME_PACKAGE);
+ final String defaultThemePkg = CMSettings.Secure.getString(resolver,
+ CMSettings.Secure.DEFAULT_THEME_PACKAGE);
if (!TextUtils.isEmpty(defaultThemePkg)) {
String defaultThemeComponents = CMSettings.Secure.getString(resolver,
CMSettings.Secure.DEFAULT_THEME_COMPONENTS);
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index bb61149..b40882d 100755
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -1399,6 +1399,7 @@ public final class ActivityManagerService extends ActivityManagerNative
static final int CONTENT_PROVIDER_PUBLISH_TIMEOUT_MSG = 59;
static final int POST_PRIVACY_NOTIFICATION_MSG = 60;
static final int CANCEL_PRIVACY_NOTIFICATION_MSG = 61;
+ static final int POST_COMPONENT_PROTECTED_MSG = 62;
static final int FIRST_ACTIVITY_STACK_MSG = 100;
static final int FIRST_BROADCAST_QUEUE_MSG = 200;
@@ -2167,6 +2168,69 @@ public final class ActivityManagerService extends ActivityManagerNative
} catch (RemoteException e) {
}
} break;
+ case POST_COMPONENT_PROTECTED_MSG: {
+ INotificationManager inm = NotificationManager.getService();
+ if (inm == null) {
+ return;
+ }
+
+ Intent targetIntent = (Intent) msg.obj;
+ if (targetIntent == null) {
+ return;
+ }
+
+ int targetUserId = targetIntent.getIntExtra(
+ "com.android.settings.PROTECTED_APPS_USER_ID", mCurrentUserId);
+ // Resolve for labels and whatnot
+ ActivityInfo root = resolveActivityInfo(targetIntent, targetIntent.getFlags(),
+ targetUserId);
+
+ try {
+ Intent protectedAppIntent = new Intent();
+ protectedAppIntent.setComponent(
+ new ComponentName("com.android.settings",
+ "com.android.settings.applications.ProtectedAppsActivity"));
+ protectedAppIntent.putExtra(
+ "com.android.settings.PROTECTED_APP_TARGET_INTENT",
+ targetIntent);
+ Context context = mContext.createPackageContext("com.android.settings", 0);
+ String title = mContext.getString(
+ com.android.internal.R.string
+ .notify_package_component_protected_title);
+ String text = mContext.getString(
+ com.android.internal.R.string
+ .notify_package_component_protected_text,
+ root.applicationInfo.loadLabel(mContext.getPackageManager()));
+ Notification notification = new Notification.Builder(context)
+ .setSmallIcon(com.android.internal.R.drawable.stat_notify_protected)
+ .setWhen(0)
+ .setTicker(title)
+ .setColor(mContext.getColor(
+ com.android.internal.R.color
+ .system_notification_accent_color))
+ .setContentTitle(title)
+ .setContentText(text)
+ .setDefaults(Notification.DEFAULT_VIBRATE)
+ .setPriority(Notification.PRIORITY_MAX)
+ .setStyle(new Notification.BigTextStyle().bigText(text))
+ .setContentIntent(PendingIntent.getActivityAsUser(mContext, 0,
+ protectedAppIntent, PendingIntent.FLAG_CANCEL_CURRENT, null,
+ new UserHandle(mCurrentUserId)))
+ .build();
+ try {
+ int[] outId = new int[1];
+ inm.enqueueNotificationWithTag("android", "android", null,
+ R.string.notify_package_component_protected_title,
+ notification, outId, mCurrentUserId);
+ } catch (RuntimeException e) {
+ Slog.w(ActivityManagerService.TAG,
+ "Error showing notification for protected app component", e);
+ } catch (RemoteException e) {
+ }
+ } catch (NameNotFoundException e) {
+ Slog.w(TAG, "Unable to create context for protected app notification", e);
+ }
+ } break;
}
}
};
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index be90dc8..cf49e15 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -971,6 +971,23 @@ public final class ActivityStackSupervisor implements DisplayListener {
// Cannot start a child activity if the parent is not resumed.
return ActivityManager.START_CANCELED;
}
+
+ try {
+ //TODO: This needs to be a flushed out API in the future.
+ if (intent.getComponent() != null && AppGlobals.getPackageManager()
+ .isComponentProtected(callingPackage, intent.getComponent(), userId)) {
+ Message msg = mService.mHandler.obtainMessage(
+ ActivityManagerService.POST_COMPONENT_PROTECTED_MSG);
+ //Store start flags, userid
+ intent.setFlags(startFlags);
+ intent.putExtra("com.android.settings.PROTECTED_APPS_USER_ID", userId);
+ msg.obj = intent;
+ mService.mHandler.sendMessage(msg);
+ return ActivityManager.START_NOT_CURRENT_USER_ACTIVITY;
+ }
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
final int realCallingPid = Binder.getCallingPid();
final int realCallingUid = Binder.getCallingUid();
int callingPid;
diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java
index 9ead529..38712ba 100644
--- a/services/core/java/com/android/server/connectivity/Tethering.java
+++ b/services/core/java/com/android/server/connectivity/Tethering.java
@@ -650,7 +650,12 @@ public class Tethering extends BaseNetworkObserver {
if (mLastNotificationId != 0) {
if (mLastNotificationId == icon) {
- return;
+ if (!mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_softap_extention)
+ || icon != com.android.internal.R.drawable.stat_sys_tether_wifi) {
+ // if softap extension feature is on, allow to update icon else return.
+ return;
+ }
}
notificationManager.cancelAsUser(null, mLastNotificationId,
UserHandle.ALL);
diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java
index ec7c1c4..6612218 100644
--- a/services/core/java/com/android/server/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java
@@ -19,7 +19,6 @@ package com.android.server.fingerprint;
import android.Manifest;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningAppProcessInfo;
-import android.app.ActivityManager.RunningTaskInfo;
import android.app.ActivityManagerNative;
import android.app.AlarmManager;
import android.app.AppOpsManager;
@@ -30,6 +29,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.hardware.fingerprint.IFingerprintServiceLockoutResetCallback;
@@ -143,12 +143,15 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
resetFailedAttempts();
}
};
+ private boolean mFingerprintManagerRestrictedToSystemAndOwner;
public FingerprintService(Context context) {
super(context);
mContext = context;
mKeyguardPackage = ComponentName.unflattenFromString(context.getResources().getString(
com.android.internal.R.string.config_keyguardComponent)).getPackageName();
+ mFingerprintManagerRestrictedToSystemAndOwner = mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_fingerprintRestrictedToSystemAndOwner);
mAppOps = context.getSystemService(AppOpsManager.class);
mPowerManager = mContext.getSystemService(PowerManager.class);
mAlarmManager = mContext.getSystemService(AlarmManager.class);
@@ -582,6 +585,21 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
Slog.w(TAG, "Rejecting " + opPackageName + " ; not in foreground");
return false;
}
+ if (mFingerprintManagerRestrictedToSystemAndOwner) {
+ try {
+ ApplicationInfo ai = mContext.getPackageManager()
+ .getApplicationInfo(opPackageName, PackageManager.GET_META_DATA);
+ if (ai != null && ai.isSystemApp() && Binder.getCallingUserHandle().isOwner()) {
+ return true;
+ }
+ Slog.w(TAG, "Rejecting " + opPackageName
+ + "(uid: " + uid + ") ; fingerprint restricted to system apps.");
+ } catch (PackageManager.NameNotFoundException e) {
+ Slog.e(TAG, opPackageName + " package not found, not allowing fingerprint access.");
+ return false;
+ }
+ return false;
+ }
return true;
}
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index 5f183a2..4be7e25 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -129,7 +129,7 @@ public final class Installer extends SystemService {
}
public int aapt(String themeApkPath, String internalPath, String resTablePath, int uid,
- int pkgId, int minSdkVersion, String commonResourcesPath) {
+ int pkgId, int minSdkVersion, String appResourcesPath, String commonResourcesPath) {
StringBuilder builder = new StringBuilder();
if (TextUtils.isEmpty(commonResourcesPath)) {
@@ -149,6 +149,8 @@ public final class Installer extends SystemService {
builder.append(pkgId);
builder.append(' ');
builder.append(minSdkVersion);
+ builder.append(' ');
+ builder.append(appResourcesPath);
if (!TextUtils.isEmpty(commonResourcesPath)) {
builder.append(' ');
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 07a627b..f69ed7d 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -336,6 +336,7 @@ public class PackageManagerService extends IPackageManager.Stub {
private static final boolean DEBUG_DEXOPT = false;
private static final boolean DEBUG_ABI_SELECTION = false;
private static final boolean DEBUG_PREBUNDLED_SCAN = false;
+ private static final boolean DEBUG_PROTECTED = false;
static final boolean CLEAR_RUNTIME_PERMISSIONS_ON_UPGRADE = false;
@@ -8267,8 +8268,12 @@ public class PackageManagerService extends IPackageManager.Stub {
}
boolean hasCommonResources = (hasCommonResources(pkg) && !COMMON_OVERLAY.equals(target));
+ PackageParser.Package targetPkg = mPackages.get(target);
+ String appPath = targetPkg != null ? targetPkg.baseCodePath : "";
+
if (mInstaller.aapt(pkg.baseCodePath, internalPath, resPath, sharedGid, pkgId,
pkg.applicationInfo.targetSdkVersion,
+ appPath,
hasCommonResources ? ThemeUtils.getTargetCacheDir(COMMON_OVERLAY, pkg)
+ File.separator + "resources.apk" : "") != 0) {
throw new AaptException("Failed to run aapt");
@@ -8282,7 +8287,7 @@ public class PackageManagerService extends IPackageManager.Stub {
if (mInstaller.aapt(pkg.baseCodePath, APK_PATH_TO_ICONS, resPath, sharedGid,
Resources.THEME_ICON_PKG_ID,
pkg.applicationInfo.targetSdkVersion,
- "") != 0) {
+ "", "") != 0) {
throw new AaptException("Failed to run aapt");
}
}
@@ -10277,8 +10282,8 @@ public class PackageManagerService extends IPackageManager.Stub {
Bundle extras = new Bundle(1);
extras.putInt(Intent.EXTRA_UID, UserHandle.getUid(userId, pkgSetting.appId));
- sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, null,
- packageName, extras, null, null, new int[] {userId});
+ sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName,
+ null, extras, null, null, new int[] {userId});
try {
IActivityManager am = ActivityManagerNative.getDefault();
final boolean isSystem =
@@ -17191,6 +17196,53 @@ public class PackageManagerService extends IPackageManager.Stub {
}
@Override
+ public boolean isComponentProtected(String callingPackage,
+ ComponentName componentName, int userId) {
+ if (DEBUG_PROTECTED) Log.d(TAG, "Checking if component is protected "
+ + componentName.flattenToShortString() + " from calling package " + callingPackage);
+ enforceCrossUserPermission(Binder.getCallingUid(), userId, false, false, "set protected");
+
+ //Allow managers full access
+ List<String> protectedComponentManagers =
+ CMSettings.Secure.getDelimitedStringAsList(mContext.getContentResolver(),
+ CMSettings.Secure.PROTECTED_COMPONENT_MANAGERS, "|");
+ if (protectedComponentManagers.contains(callingPackage)) {
+ if (DEBUG_PROTECTED) Log.d(TAG, "Calling package is a protected manager, allow");
+ return false;
+ }
+
+ String packageName = componentName.getPackageName();
+ String className = componentName.getClassName();
+
+ //If this component is launched from the same package, allow it.
+ if (TextUtils.equals(packageName, callingPackage)) {
+ if (DEBUG_PROTECTED) Log.d(TAG, "Calling package is same as target, allow");
+ return false;
+ }
+
+ PackageSetting pkgSetting;
+ ArraySet<String> components;
+
+ synchronized (mPackages) {
+ pkgSetting = mSettings.mPackages.get(packageName);
+
+ if (pkgSetting == null) {
+ if (className == null) {
+ throw new IllegalArgumentException(
+ "Unknown package: " + packageName);
+ }
+ throw new IllegalArgumentException(
+ "Unknown component: " + packageName
+ + "/" + className);
+ }
+ // Get all the protected components
+ components = pkgSetting.getProtectedComponents(userId);
+ if (DEBUG_PROTECTED) Log.d(TAG, "Got " + components.size() + " protected components");
+ return components.size() > 0;
+ }
+ }
+
+ @Override
public boolean isStorageLow() {
final long token = Binder.clearCallingIdentity();
try {
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index cddf631..1b70b2e 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -656,6 +656,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// (See Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR.)
int mIncallPowerBehavior;
+ // Behavior of HOME button during incomming call ring.
+ // (See Settings.Secure.RING_HOME_BUTTON_BEHAVIOR.)
+ int mRingHomeBehavior;
+
Display mDisplay;
private int mDisplayRotation;
@@ -834,6 +838,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR), false, this,
UserHandle.USER_ALL);
+ resolver.registerContentObserver(CMSettings.Secure.getUriFor(
+ CMSettings.Secure.RING_HOME_BUTTON_BEHAVIOR), false, this,
+ UserHandle.USER_ALL);
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.WAKE_GESTURE_ENABLED), false, this,
UserHandle.USER_ALL);
@@ -2138,6 +2145,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT,
UserHandle.USER_CURRENT);
+ mRingHomeBehavior = CMSettings.Secure.getIntForUser(resolver,
+ CMSettings.Secure.RING_HOME_BUTTON_BEHAVIOR,
+ CMSettings.Secure.RING_HOME_BUTTON_BEHAVIOR_DEFAULT,
+ UserHandle.USER_CURRENT);
mHomeWakeScreen = (CMSettings.System.getIntForUser(resolver,
CMSettings.System.HOME_WAKE_SCREEN, 1, UserHandle.USER_CURRENT) == 1) &&
((mDeviceHardwareWakeKeys & KEY_MASK_HOME) != 0);
@@ -3229,8 +3240,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// and his ONLY options are to answer or reject the call.)
TelecomManager telecomManager = getTelecommService();
if (telecomManager != null && telecomManager.isRinging()) {
- Log.i(TAG, "Ignoring HOME; there's a ringing incoming call.");
- return -1;
+ if ((mRingHomeBehavior
+ & CMSettings.Secure.RING_HOME_BUTTON_BEHAVIOR_ANSWER) != 0) {
+ Log.i(TAG, "Answering with HOME button.");
+ telecomManager.acceptRingingCall();
+ return -1;
+ } else {
+ Log.i(TAG, "Ignoring HOME; there's a ringing incoming call.");
+ return -1;
+ }
}
// Delay handling home if a double-tap is possible.
@@ -7828,6 +7846,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
pw.print(prefix);
pw.print("mShortPressOnPowerBehavior="); pw.print(mShortPressOnPowerBehavior);
pw.print(" mLongPressOnPowerBehavior="); pw.println(mLongPressOnPowerBehavior);
+ pw.print(" mRingHomeBehavior="); pw.print(mRingHomeBehavior);
pw.print(prefix);
pw.print("mDoublePressOnPowerBehavior="); pw.print(mDoublePressOnPowerBehavior);
pw.print(" mTriplePressOnPowerBehavior="); pw.println(mTriplePressOnPowerBehavior);
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 1578b43..86021e0 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -343,6 +343,14 @@ public class SubscriptionManager {
*/
public static final String CB_CHANNEL_50_ALERT = "enable_channel_50_alerts";
+
+
+ /**
+ * TelephonyProvider column name for enable channel60 alert in CB settings
+ *@hide
+ */
+ public static final String CB_CHANNEL_60_ALERT = "enable_channel_60_alerts";
+
/**
* TelephonyProvider column name for CMAS test alert in CB settings
*@hide
diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java
index 7aacb23..d3e2bfd 100644
--- a/test-runner/src/android/test/mock/MockPackageManager.java
+++ b/test-runner/src/android/test/mock/MockPackageManager.java
@@ -891,6 +891,7 @@ public class MockPackageManager extends PackageManager {
public boolean isUpgrade() {
throw new UnsupportedOperationException();
}
+
/**
* @hide
*/
@@ -903,6 +904,14 @@ public class MockPackageManager extends PackageManager {
* @hide
*/
@Override
+ public boolean isComponentProtected(String callingPackage, ComponentName componentName) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @hide
+ */
+ @Override
public void installPackage(Uri packageURI, PackageInstallObserver observer,
int flags, String installerPackageName) {
throw new UnsupportedOperationException();
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 889883a..fb0299e 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -1467,6 +1467,11 @@ status_t compileResourceFile(Bundle* bundle,
}
}
} else if (strcmp16(block.getElementName(&len), string_array16.string()) == 0) {
+ // Note the existence and locale of every string array we process
+ char rawLocale[RESTABLE_MAX_LOCALE_LEN];
+ curParams.getBcp47Locale(rawLocale);
+ String8 locale(rawLocale);
+ String16 name;
// Check whether these strings need valid formats.
// (simplified form of what string16 does above)
bool isTranslatable = false;
@@ -1477,7 +1482,9 @@ status_t compileResourceFile(Bundle* bundle,
for (size_t i = 0; i < n; i++) {
size_t length;
const char16_t* attr = block.getAttributeName(i, &length);
- if (strcmp16(attr, formatted16.string()) == 0) {
+ if (strcmp16(attr, name16.string()) == 0) {
+ name.setTo(block.getAttributeStringValue(i, &length));
+ } else if (strcmp16(attr, formatted16.string()) == 0) {
const char16_t* value = block.getAttributeStringValue(i, &length);
if (strcmp16(value, false16.string()) == 0) {
curIsFormatted = false;
@@ -1486,6 +1493,15 @@ status_t compileResourceFile(Bundle* bundle,
const char16_t* value = block.getAttributeStringValue(i, &length);
if (strcmp16(value, false16.string()) == 0) {
isTranslatable = false;
+ // Untranslatable string arrays must only exist
+ // in the default [empty] locale
+ if (locale.size() > 0) {
+ SourcePos(in->getPrintableSource(), block.getLineNumber()).warning(
+ "string-array '%s' marked untranslatable but exists"
+ " in locale '%s'\n", String8(name).string(),
+ locale.string());
+ // hasErrors = localHasErrors = true;
+ }
}
}
}
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 056ede1..a832c93 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -188,6 +188,14 @@ public class WifiManager {
public static final int WIFI_STATE_UNKNOWN = 4;
/**
+ * Wi-Fi is in failed state. This state will occur when load driver failed or start
+ * supplicant failed.
+ *
+ * @hide
+ */
+ public static final int WIFI_STATE_FAILED = 5;
+
+ /**
* Broadcast intent action indicating that Wi-Fi AP has been enabled, disabled,
* enabling, disabling, or failed.
*